Red de conocimientos sobre prescripción popular - Cuidado de la salud en otoño - Lenguaje de programación para lenguaje de robot

Lenguaje de programación para lenguaje de robot

1. Lenguaje y características VAL

El lenguaje VAL es un lenguaje de programación de robots lanzado por la American Unimation Company en 1979. Está configurado principalmente en robots PUMA y UNIMATION. lenguaje de descripción de acciones dedicado. El lenguaje VAL se desarrolló sobre la base del lenguaje BASIC, por lo que su estructura es muy similar al lenguaje BASIC. Basado en VAL, Unimation lanzó el lenguaje VALⅡ.

El lenguaje VAL se puede aplicar a sistemas robóticos superiores e inferiores controlados por computadora. La computadora superior es LSI-11/23, la programación se realiza en la computadora superior y la computadora superior administra el sistema; la computadora inferior es un microprocesador 6503, que controla principalmente el movimiento en tiempo real de cada articulación; Al programar, el lenguaje VAL y el lenguaje ensamblador 6503 se pueden mezclar para la programación.

Los comandos del lenguaje VAL son simples, claros y fáciles de entender. Es conveniente describir las acciones operativas del robot y comunicarse con la computadora host. Tiene potentes funciones en tiempo real y se puede programar en línea. y fuera de línea, y es adecuado para una variedad de computadoras, el robot controlado puede calcular rápidamente las trayectorias continuas de movimientos complejos en diferentes sistemas de coordenadas, puede generar continuamente señales de control para el robot y puede modificar y generar programas en línea de forma interactiva con el operador. El lenguaje VAL contiene algunas bibliotecas de subrutinas. Mediante la llamada, varias subrutinas se pueden combinar rápidamente en un control de operación complejo y se pueden transferir datos rápidamente a la memoria externa para guardar programas y datos.

El sistema de lenguaje VAL incluye tres partes: edición de texto, comandos del sistema y lenguaje de programación.

Puede ingresar un programa de texto a través del teclado en el estado de edición de texto, o puede ingresar el programa en el modo de enseñanza a través del cuadro de enseñanza. Durante el proceso de entrada, el programa se puede modificar, editar, generar y finalmente guardar en la memoria. En este estado también se pueden llamar programas existentes.

Los comandos del sistema incluyen definición de ubicación, lista de programas y datos, almacenamiento de programas y datos, configuración y control del estado del sistema, control de interruptores del sistema, diagnóstico y modificación del sistema.

El lenguaje de programación convierte y ejecuta las sentencias del programa una a una.

2. Instrucciones del lenguaje VAL

El lenguaje VAL incluye instrucciones de monitoreo e instrucciones del programa. Hay seis tipos de instrucciones de monitoreo, a saber, instrucciones de definición de posición y actitud, instrucciones de edición de programas, instrucciones de lista, instrucciones de almacenamiento, instrucciones de ejecución de programas de control e instrucciones de control de estado del sistema. Las formas y funciones específicas de varias instrucciones son las siguientes:

1. Instrucciones de seguimiento

1) Instrucciones de definición de posición y actitud

Instrucción de PUNTO: realizar una transformación homogénea de la posición y actitud terminal o una asignación precisa de puntos representados por posiciones conjuntas.

Hay dos formatos:

PUNTO lt; variable gt [=lt; variable 2gt; variable ngt;]

lt ;Punto preciso gt;[=lt;Punto preciso 2gt;]

Por ejemplo:

POINT PICK1=PICK2

La función de la instrucción es establezca el valor de la variable PICK1 igual al valor de PICK2.

Otro ejemplo:

PUNTO #PARK

consiste en definir o modificar el punto preciso PARQUE.

Comando DPOINT: elimina cualquier número de variables de posición, incluidos puntos o variables precisos.

Instrucción AQUÍ: Esta instrucción iguala el valor de una variable o punto preciso a la posición actual del robot.

Por ejemplo:

AQUÍ PLACK

Se define que la variable PLACK es igual a la posición actual del robot.

Instrucción WHERE: esta instrucción se utiliza para mostrar la posición actual y los valores de las variables conjuntas del robot en el espacio de coordenadas cartesianas.

Comando BASE: se utiliza para establecer el sistema de coordenadas de referencia. El sistema estipula que el origen del sistema de referencia está en la intersección de los ejes 1 y 2, y la dirección es a lo largo de la dirección del eje fijo. .

Formato:

BASE [lt;dXgt;], [lt;dYgt;], [lt;dZgt;], [lt;Dirección de rotación Z]

Por ejemplo:

BASE 300, –50, 30

es para redefinir la posición del sistema de coordenadas base. Se mueve 300 desde la posición inicial a la dirección X. a lo largo de la Z Se movió 50 en la dirección negativa y se giró 30° alrededor del eje Z.

Comando TOOLI: La función de este comando es asignar la posición y actitud del terminal de herramienta con respecto a la superficie de apoyo de la herramienta.

2) Comando de edición de programa

Comando EDITAR: Este comando permite al usuario crear o modificar un programa con un nombre específico y puede especificar el número de línea inicial del programa editado. El formato es

EDITAR [lt; nombre del programa>], [lt; número de línea>]

Si no se especifica ningún número de línea, la edición comienza desde la primera línea del programa; Si no se especifica ningún nombre de programa, se responde el último programa editado la última vez.

Después de ingresar al estado de edición con el comando EDITAR, puede usar C, D, E, I, L, P, R, S, T y otros comandos para realizar más ediciones. Por ejemplo:

Comando C: cambie el programa de edición y reemplácelo con un programa nuevo.

Comando D: elimina n líneas de programa a partir de la línea actual. De forma predeterminada, n elimina la línea actual.

Comando E: Salir de la edición y volver al modo monitorización.

Yo comando: Mueve la instrucción actual una línea hacia abajo para insertar una instrucción.

Comando P: muestra el contenido del texto del programa n líneas hacia abajo desde la línea actual.

Comando T: Inicializa el modo de enseñanza del programa de interpolación conjunta. En este modo, presiona el botón "RECODE" en el cuadro de enseñanza una vez para insertar la instrucción MOVE en el programa.

3) Comando Lista

Comando DIRECTORIO: La función de este comando es mostrar los nombres de todos los programas de usuario en la memoria.

Instrucción LISTL: La función es mostrar cualquier valor de variable de posición.

Comando LISTP: La función es mostrar todos los programas de cualquier usuario.

4) Comando de almacenamiento

Comando FORMAT: realiza el formateo del disco.

Instrucción STOREP: La función es almacenar el programa especificado en el archivo de disco especificado.

Instrucción STOREL: Esta instrucción almacena todos los nombres de variables de posición y valores de variables anotados en el programa de usuario.

Comando LISTF: La función del comando es mostrar el directorio del archivo de entrada actual en el disquete.

Instrucción LOADP: Su función es enviar el programa del archivo a la memoria.

Instrucción LOADL: Su función es enviar la variable de ubicación especificada en el archivo a la memoria del sistema.

Comando DELETE: Este comando elimina el archivo especificado en el disco.

Comando COMPRESS: sólo se utiliza para comprimir espacio en disco.

Comando BORRAR: Borra el contenido magnético e inicializa.

5) Comando de ejecución del programa de control

Comando ABORT: Parada de emergencia (parada de emergencia) tras ejecutar este comando.

Instrucción DO: ejecuta una instrucción de un solo paso.

Instrucción EXECUTE: esta instrucción ejecuta el programa especificado por el usuario n veces. n puede variar entre –32 768 y 32 767. Cuando se omite n, el programa se ejecuta una vez.

Comando NEXT: Este comando controla la ejecución del programa en modo de un solo paso.

Instrucción PROCEED: Esta instrucción permite que el programa continúe ejecutándose desde el siguiente paso después de una pausa, parada de emergencia o error de operación en un determinado paso.

Instrucción RETRY: La función de la instrucción es volver a ejecutar el programa desde ese paso después de que ocurre un error de operación en un determinado paso.

Instrucción SPEED: La función de la instrucción es especificar la velocidad de movimiento del robot bajo el control del programa. Su valor oscila entre 0,01 y 327,67. Generalmente, la velocidad normal es 100.

6) Comando de control de estado del sistema

Comando CALIB: Este comando calibra el sensor de posición de la articulación.

Comando STATUS: se utiliza para mostrar el estado del programa de usuario.

Comando FREE: se utiliza para mostrar la capacidad de almacenamiento no utilizada actualmente.

Instrucción ENABL: se utiliza para encender y apagar el hardware del sistema.

Instrucción CERO: La función de esta instrucción es borrar todos los programas de usuario y ubicaciones definidas y reinicializarlos.

DONE: Este comando detiene el programa de monitoreo y entra en el estado de depuración del hardware.

2. Instrucciones del programa

1) Instrucciones de movimiento

Las instrucciones incluyen GO, MOVE, MOVEI, MOVES, DRAW, APPRO, APPROS, DEPART, DRIVE, READY, OPEN, OPENI, CLOSE, CLOSEI, RELAJARSE, AGARRAR y RETRASAR, etc.

La mayoría de estas instrucciones tienen la función de hacer que el robot se mueva de una postura a otra de una manera específica, y algunas instrucciones representan la apertura y cierre de las garras del robot. Por ejemplo:

¡MOVER #PICK!

Indica que el robot se desplaza por interpolación de articulaciones hasta la posición definida por el PICK preciso. "!" indica que la variable de posición ya tiene su propio valor.

MOVET lt; posición gt;, lt; apertura de mano gt;

La función es generar movimiento de interpolación articular para hacer que el robot alcance la pose dada por la variable de posición. movimiento, si la mano es control Servo, la mano cambia de cerrada al valor dado por la variable de apertura de la mano.

Otro ejemplo:

OPEN [lt; grado de apertura de la mano gt;]

Significa abrir la garra del robot hasta el grado de apertura especificado.

2) Instrucciones de control de postura del robot

Estas instrucciones incluyen DERECHA, IZQUIERDA, ARRIBA, ABAJO, FLIP y NOFLIP, etc.

3) Instrucciones de asignación

Las instrucciones de asignación incluyen SETI, TYPEI, HERE, SET, SHIFT, TOOL, INVERSE y FRAME.

4) Instrucciones de control

Las instrucciones de control incluyen GOTO, GOSUB, RETURN, IF, IFSIG, REACT, REACTI, IGNORE, SIGNAL, WAIT, PAUSE y STOP.

Entre ellos, GOTO y GOSUB implementan la transferencia incondicional del programa, mientras que la instrucción IF ejecuta la transferencia condicional. El formato de la instrucción IF es

IF lt; variable entera 1gt; lt; expresión relacional gt;

Esta instrucción compara los valores de dos variables enteras. Si el estado de la relación es verdadero, el programa va a la línea especificada por el identificador para su ejecución; de lo contrario, continúa a la siguiente línea. Las expresiones relacionales incluyen EQ (igual a), NE (distinto de), LT (menor que), GT (mayor que), LE (menor o igual que) y GE (mayor o igual que).

5) Instrucciones de asignación de valor de interruptor

Las instrucciones incluyen SPEED, COARSE, FINE, NONULL, NULL, INTOFF e INTON.

6) Otros comandos

Otros comandos incluyen OBSERVACIÓN y TIPO.

Lenguaje SIGLA

SIGLA es un lenguaje de programación utilizado únicamente para el control de movimiento de robots de ensamblaje SIGMA de coordenadas cartesianas. Fue desarrollado por la empresa italiana Olivetti a finales de los años 1970. lenguaje textual.

Este lenguaje se utiliza principalmente para el control de tareas de ensamblaje. Puede dividir las tareas de ensamblaje en algunas subtareas de ensamblaje, como tomar el destornillador, tomar el tornillo A del cargador de tornillos, transportar el tornillo A y posicionar. Tornillo A, tornillo de carga A, tornillo de fijación, etc.

Al programar, los subprogramas se preprograman y luego se completan llamando a los subprogramas.

Lenguaje IML

IML también es un lenguaje a nivel de acción centrado en efectores finales, desarrollado por la Universidad de Kyushu en Japón. Las características del lenguaje IML son programación simple, diálogo hombre-máquina y adecuado para operaciones en el sitio. Muchas acciones complejas se pueden realizar mediante instrucciones simples y los operadores pueden dominarlas fácilmente.

IML utiliza un sistema de coordenadas rectangulares para describir la posición y actitud del robot y el objeto objetivo. Hay dos tipos de sistemas de coordenadas, uno es el sistema de coordenadas base y el otro es el sistema de coordenadas de trabajo fijado en el espacio de trabajo del robot. El lenguaje se programa en forma de instrucciones, que pueden expresar información como el punto de trabajo del robot, la trayectoria de movimiento, la posición y actitud del objetivo, etc., para que pueda programarse directamente. No es necesario describir la operación de ida y vuelta mediante una declaración de bucle. La trayectoria de enseñanza se puede definir como instrucciones insertadas en la declaración, y también se puede completar la aplicación de ciertas fuerzas.

Los principales comandos del lenguaje IML son: comando de movimiento MOVE, comando de velocidad SPEED, comando de parada STOP, comandos de apertura y cierre con los dedos OPEN y CLOSE, comando de definición del sistema de coordenadas COORD, comando de definición de trayectoria TRAJ, definición de posición comando AQUÍ, instrucciones de control del programa SI...ENTONCES, PARA CADA declaración, declaración CASE y DEFINE, etc.

Lenguaje AL

1. Descripción general del lenguaje AL

El lenguaje AL es un lenguaje robótico desarrollado por el Instituto de Inteligencia Artificial de la Universidad de Stanford en Estados Unidos en A mediados de la década de 1970, se desarrolló sobre la base de WAVE. También es un lenguaje de programación a nivel de acción, pero tiene algunas características de los lenguajes de programación a nivel de objetos y se utiliza para operaciones de ensamblaje. Su estructura y características son similares al lenguaje PASCAL. Puede compilarse en lenguaje de máquina y ejecutarse en una máquina de control en tiempo real. Tiene la estructura y características de un lenguaje compilado en tiempo real, como operaciones sincrónicas, operaciones condicionales. etc. El propósito original del diseño del lenguaje AL es la programación de control coordinada o paralela de múltiples robots o manipuladores con retroalimentación de información del sensor.

El entorno de hardware del sistema que ejecuta el lenguaje AL incluye niveles de control de computadora maestro y esclavo, como se muestra en la figura. El host es PDP-10. El administrador en el host es responsable de administrar y coordinar el trabajo de cada parte. El compilador es responsable de compilar las instrucciones del lenguaje AL y verificar el programa. Conexión de interfaz entre el maestro y el esclavo, y el cargador es responsable de la distribución del programa. La máquina esclava es PDP-11/45.

La función del host es compilar el lenguaje AL y planificar las acciones del robot; el esclavo acepta los comandos de planificación de acciones emitidos por el host, realiza cálculos en tiempo real de trayectorias y parámetros conjuntos, y finalmente emite. acciones específicas a la instrucción del robot.

2. Formato de programación del lenguaje AL

(1) El programa comienza con BEGIN y termina con END.

(2) Separe las declaraciones con punto y coma.

(3) Las variables deben definirse primero y luego usarse. El nombre de la variable comienza con una letra inglesa y consta de letras, números y guiones bajos. No se distinguen las letras mayúsculas y minúsculas.

Figura del entorno de hardware para la ejecución del lenguaje AL

(4) Los comentarios del programa están entre llaves.

(5) Si el contenido asignado en la declaración de asignación de variable es una expresión, primero se calcula el valor de la expresión y luego se asigna el valor a la variable en el lado izquierdo de la ecuación.

3. Tipos de datos en lenguaje AL

(1) Escalar: puede ser tiempo, distancia, ángulo, fuerza, etc., y se puede sumar, restar, multiplicar, etc. También se pueden realizar operaciones de división y exponenciales, así como funciones trigonométricas, logaritmos naturales y conversiones exponenciales.

(2) Vector: similar a los vectores en matemáticas, un vector se puede construir a partir de varios escalares con las mismas dimensiones.

(3) Rotación (rot): se utiliza para describir la rotación de un eje o la rotación alrededor de un eje para expresar la postura. La variable ROT se utiliza para representar la variable de rotación con dos parámetros, uno que representa un vector simple del eje de rotación y el otro que representa el ángulo de rotación.

(4) Sistema de coordenadas (marco): se utiliza para establecer un sistema de coordenadas. El valor de la variable representa la posición relativa y la actitud entre el sistema de coordenadas fijo del objeto y el sistema de coordenadas de referencia de la operación espacial.

(5) Transformación (trans): se utiliza para la transformación de coordenadas, con dos parámetros: rotación y vector. Al ejecutarse, primero gira y luego se traslada.

4. Introducción a las declaraciones del lenguaje AL

1. La declaración MOVE

se utiliza para describir el movimiento de la pinza del robot, como el movimiento de la pinza de una posición a otra. El formato de la declaración MOVE es

MOVE lt; HANDgt; TO lt destino gt; Declaración de control de la pata

OPEN: Declaración de apertura de la pata.

CLOSE: Declaración de cierre de garra.

El formato de la declaración es

OPEN lt; TO SVALgt;

CLOSE lt; >

donde SVAL es el valor de la distancia de apertura, que ha sido preespecificado en el programa.

3. Declaraciones de control

Similar al lenguaje PASCAL, existen los siguientes tipos de declaraciones de control:

IF lt; condition gt; /p>

MIENTRAS lt; condición gt; DO lt; declaración gt;

CASE lt; declaración gt;

PARA…EL PASO…HASTA…

4. Declaraciones AFFIX y UNFIX

En el proceso de ensamblaje, a menudo ocurre la operación de pegar un objeto a otro o despegar un objeto de otro. La declaración AFFIX es una operación para combinar dos objetos y la declaración AFFIX es una operación para separar dos objetos.

Por ejemplo: BEAM_BORE y BEAM son dos sistemas de coordenadas respectivamente. Después de ejecutar la instrucción

AFFIX BEAM_BORE TO BEAM

, los dos sistemas de coordenadas se unen. Es decir, el movimiento de un sistema de coordenadas también provocará el mismo movimiento de otro sistema de coordenadas. Luego ejecute la siguiente declaración

UNFIX BEAM_BORE FROM BEAM

Se libera la relación de unión entre los dos sistemas de coordenadas.

5. Procesamiento del sentido de fuerza

El uso de subdeclaraciones de monitoreo condicional en la declaración MOVE puede usar información del sensor para completar ciertas acciones.

Subdeclaraciones de seguimiento como:

ON lt; condition gt; DO lt; action gt; MOVER LA BARRA A ⊕-0,1*PULGADAS EN FUERZA(Z)gt; 10*ONZAS PARAR

significa moverse hacia abajo 0,1 pulgadas a lo largo del eje Z en la posición actual si la fuerza en la dirección del eje Z excede. 10 onzas, ordene inmediatamente al robot que deje de moverse.