Cinematica Robots

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Programación de

Robots
Métodos de Programación de robots
Clasificación según el procedimiento
Programación por guiado
Programación textual
Requerimientos de un sistema de
programación
Robotica Industrial- Programación 1

Programación de robots
 Objetivo: indicar la secuencia de acciones a realizar
durante una tarea
 Movimiento a puntos predefinidos
UPM-DISAM

 Manipulación de objetos
 Interacción/sincronización con el entorno

 Partes del robot involucradas en la ejecución de un


programa
 Memoria
 Sistema de control cinemático/dinámico
 E/S

Robotica Industrial- Programación 2


Métodos de programación
de robots
 Falta de normalización
 No obstante hay orígenes y patrones comunes
que dan lugar a cierta semejanza
UPM-DISAM

AL (Algol Like) Univ. Stanford 1974


 Existen ciertos intentos de normalización
IRDATA Univ. Karlsruhe (Norma VDI)
 Criterios de Clasificación
 Procedimiento utilizado
 Potencia del sistema

Robotica Industrial- Programación 3

Clasificación según el
procedimiento utilizado
 Programación por guiado
 Pasivo
• directo
UPM-DISAM

• por maniquí
 Activo
 Programación textual
 Nivel robot
 Nivel objeto
 Nivel tarea
 Es frecuente la utilización conjunta de programación
por guiado y textual

Robotica Industrial- Programación 4


Programación por guiado o
aprendizaje
 consiste en hacer
realizar al robot, o a
una maqueta del
mismo, la tarea
UPM-DISAM

(llevándolo
manualmente por
ejemplo) al tiempo
que se registran las
configuraciones
adoptadas, para su
posterior repetición de
manera automática. Robots de pintura Gaiotto de
programación mediante guiado
pasivo directo
Robotica Industrial- Programación 5

Clasificación de la
programación por guiado
 Clasificación según modo en que se guía:
 Pasivo (se lleva manualmente al robot)
• Directo (Trallfa, Gaiotto)
UPM-DISAM

• Maniquí (Nordson, Acma-Cribier)


 Activo (se utiliza el sistema de accionamiento del robot a
través de una botonera o Joystick) (Asea)
 Clasificación según potencia:
 Guiado Básico: únicamente se indican los puntos por los que
debe pasar el robot
 Guiado Extendido: admite velocidades, control de flujo del
programa, manejo de E/S… (Asea, Cincinatti-Milacron)

Robotica Industrial- Programación 6


Ejemplos de programación
por guiado
UPM-DISAM

Guiado pasivo directo Guiado pasivo con maniquí


(Robot Gaiotto) (Robot Nordson)

Robotica Industrial- Programación 7

Paleta o botonera de
programación
UPM-DISAM

Robotica Industrial- Programación 8


Tipos de programación
textual
 Nivel robot (movimientos a realizar por el robot)
 AL (Universidad de Stanford - 1974).
 AML (IBM - 1979).
 LM (Universidad de Grenoble, SCEMI - 1981).
UPM-DISAM

 VAL II (UNIMATION - 1983).


 V+ (ADEPT - 1989).
 RAPID (ABB -1994).
 Nivel objeto (estado de los objetos)
 LAMA (MIT - 1976).
 AUTOPASS (IBM - 1977).
 RAPT (Universidad de Edimburgo - 1978).
 Nivel tarea (objetivo o subojetivo a conseguir)

Robotica Industrial- Programación 9

Ejemplo de tarea de
programación
 Se pretende situar la pieza A, sobre la que se apoya la pieza B,
en el interior del orificio de la pieza D. A continuación se presenta
el programa en los tres niveles de manera simplificada y
utilizando lenguajes hipotéticos.
UPM-DISAM

Robotica Industrial- Programación 10


Programación a nivel robot.
Operación de colocar B sobre C
Mover_a P1 via P2 ; Situarse en un punto sobre la pieza B
Vel = 0.2 * VELMAX ; Reducir la velocidad
Pinza = ABRIR ; Abrir la pinza
Prec = ALTA ; Aumentar la precisión
UPM-DISAM

Mover_recta_a P3 ; Descender verticalmente en línea recta


Pinza = CERRAR ; Cerrar la pinza para coger la pieza B
Espera= 0.5 ; Esperar para garantizar cierre de pinza
Mover_recta_a P1 ; Ascender verticalmente en línea recta
Prec = MEDIA ; Decrementar la precisión
Vel = VELMAX ; Aumentar la velocidad
Mover_a P4 via P2 ; Situarse sobre la pieza C
Prec = ALTA ; Aumentar la precisión
Vel = 0.2 * VELMAX ; Reducir velocidad
Mover_recta_a P5 ; Descender verticalmente en línea recta
Pinza = ABRIR ; Abrir pinza

Robotica Industrial- Programación 11

Programación a nivel objeto


Situar B sobre C haciendo coincidir
LADO_B1 con LADO_C1 y LADO_B2 con LADO_C2 ;
UPM-DISAM

Situar A dentro D haciendo coincidir


EJE_A con EJE_HUECO_D y BASE_A con BASE_D ;

 Disminuye la complejidad del programa.


 La programacin se realiza de manera ms cmoda.
 Un planificador de la tarea se encargar de consultar
una base de datos y generar las instrucciones a nivel
de robot.

Robotica Industrial- Programación 12


Programación a nivel tarea
Ensamblar A con D
UPM-DISAM

 El programa se reduce a una única sentencia


ya que se especifica qué es lo que debe
hacer el robot en lugar de cómo debe
hacerlo.

Robotica Industrial- Programación 13

Requerimientos de un sistema
de programación de robots
 Entorno de programación.
 Modelado del entorno.
UPM-DISAM

 Tipo de datos.
 Manejo de entradas/salidas (digital y
analógica).
 Control de movimiento.
 Control del flujo de ejecución del programa

Robotica Industrial- Programación 14


Entorno de programación
 Importante para incrementar la productividad
 Complejidad debido a la interacción con el entorno
(procedimiento de prueba-error)
UPM-DISAM

 Mayoría de lenguajes interpretados


 Capacidad de depuración y ejecución paso a paso
 Capacidad de monitorización
 En la actualidad se utilizan sistemas multitarea que
permitan control simultáneo y sincronizado de varios
elementos (robots, sistemas de visión o transporte…)

Robotica Industrial- Programación 15

Modelado del entorno.


Modelo relacional
UPM-DISAM

Robotica Industrial- Programación 16


Tipos de datos
Tipos convencionales (enteros, reales,
booleanos…)
Especificación de posición y orientación
UPM-DISAM

 Coordenadas articulares (q1,…, qn)


 Coordenadas cartesianas
• Posición (px, py, pz)
• Orientación
– Angulos de Euler ()
– Cuaternios
– Matriz de cosenos directores
• Matrices de transformación homogéneas
Robotica Industrial- Programación 17

Manejo de entradas/salidas
 Nivel más sencillo de comunicación con otras
máquinas o procesos que cooperan con el robot
 Objetivo: integración y sincronización
UPM-DISAM

 Tratamiento de interrupciones
 Integración de sensores:
 Modificación de la trayectoria
 Elección entre alternativas
 Obtención de identidad, posición y características de objetos
 Cumplimiento de restricciones externas

Robotica Industrial- Programación 18


Control de movimiento
 Posibilidad de especificación de:
 Punto de destino
 Tipo de trayectoria (Punto a punto, trayectoria continua)
UPM-DISAM

 Velocidad y aceleración medias del recorrido


 Precisión de alcance del punto de destino (via points)
 Movimientos condicionados (medida de sensores)
• Movimiento protegido (guarded motion):
interrupción del movimiento
• Movimiento acomodaticio (compliant motion): modificación del
movimiento

Robotica Industrial- Programación 19

Puntos de paso o via points


UPM-DISAM

Robotica Industrial- Programación 20


Control de flujo de ejecución
del programa
 Empleo de bucles for, repeat, while,…
 Empleo de condiciones if, then,…
UPM-DISAM

 Capacidad de procesamiento en paralelo


 Control de varios robots bajo un sólo programa
 Control de un robot en una célula integrada
 Utilización de señales de sincronismo
(semáforos)
 Tratamiento de interrupciones/errores
 Fijación de prioridades

Robotica Industrial- Programación 21

Ejemplo de programación en
VAL II (Pick & Place) (I)
.PROGRAM robot()

;INICIALIZACION DE LAS VARIABLES


altura = 20 ;indica la altura de aproximación y salida en milímetros
UPM-DISAM

rapido = 150 ;indica la velocidad rápida


lento = 30 ;indica la velocidad lenta
;PUNTO DE REENTRADA TRAS SYST_ERR
TYPE "El programa de control ha sido relanzado"
REACTE errores ;habilita el proceso asíncrono de tratamiento de errores
20 WAIT(hay_cod_fun) ;espera hasta que esté disponible un código de
función
TYPE "Código recibido", cod_fun ;indica a través del monitor el código
recibido
CASE cod_fun OF
VALUE 1 : ;INICIALIZACION
;aquí se incluiría el código de inicialización
Robotica Industrial- Programación 22
Ejemplo de programación en
VAL II (Pick & Place) (II)
VALUE 2 : ;PARADA
;aquí se incluiría el código correspondiente a la parada
VALUE 3 : PICK & PLACE
TYPE "Recibida la orden de PICK & PLACE"
UPM-DISAM

SET pos_in = TRANS(431,610,523,0,180,45);indica el punto de


recogida SET pos_dej = TRANS(227,-548,712,0,180,45);indica el
punto de dejada ;comienza la operación de picking
SPEED rapida ALWAYS ;selecciona la velocidad
APPRO pos_in, altura ;se aproxima al punto de recogida a una
dist. "altura"
SPEED lenta ;reduce la velocidad
MOVE pos_in ;se mueve al punto de recogida
CLOSEI ;cierra la pinza
DEPARTS altura ;se separa hasta una distancia "altura"

Robotica Industrial- Programación 23

Ejemplo de programación en
VAL II (Pick & Place) (III)
;operación de dejada de la pieza
SPEED rapida ALWAYS ;selecciona la velocidad
APPRO pos_dej, altura ;se aproxima al punto de dejada a una
dist. "altura"
UPM-DISAM

SPEED lenta ;reduce la velocidad


MOVE pos_dej ;se mueve al punto de dejada
OPENI ;abre la pinza
DEPARTS altura ;se separa hasta una distancia "altura"
.END ;fin de la instrucción CASE
hay_cod_fun = FALSE ;indica que ya no hay código de
función
GOTO 20 ;regresa al estado de espera
.END ;fin del programa de control

Robotica Industrial- Programación 24

También podría gustarte