lenguajes de programación en robótica
TRANSCRIPT
Seminario AADECA Dr.Ing Bauer Jorge
1
Sistemas Roboticos
y Manipuladores Industriales
Lenguajes de programación en robótica
Seminario AADECA Dr.Ing Bauer Jorge
2
Robots IndustrialesLenguajes de programación
El lenguaje de programación tiene la función generar la comunicación entre el manipulador automático (equipo) y el operador – programador para transferir al sistema las ordenes y tareas que debera desarrollar el equipo
Vía el programa el operador es el responsable de las acciones de control, de las instrucciones adecuadas que están basada en la modelación del mundo exterior, la descripción formal de la tarea y del entorno
Seminario AADECA Dr.Ing Bauer Jorge
3
Entre las formas que existen de comunicación con los robots se encuentran:
•Enseñanza y repetición
• Lenguajes de programación
Robots IndustrialesLenguajes de programación
Seminario AADECA Dr.Ing Bauer Jorge
4
Enseñanza y repetición
Robots IndustrialesLenguajes de programación
Implica el enseñar al robot todos los movimientos que necesita realizar. Normalmente la enseñanza se lleva atendiendo a los siguientes pasos:
• Dirigiendo al robot con un movimiento lento utilizando el control manual (joystick, conjunto de botones, uno para cada movimiento, o un sistema de manipulación maestro esclavo) para realizar la tarea completa y grabando los ángulos del movimiento del robot en los lugares adecuados para que vuelva a repetir el movimiento.
• Reproduciendo y repitiendo el movimiento enseñado.
• Si el movimiento enseñado es correcto, entonces se hace funcionar al robot a la velocidad correcta en el modo repetitivo
Seminario AADECA Dr.Ing Bauer Jorge
5
Lenguajes - Codificados
Robots IndustrialesLenguajes de programación
Suministran una solución más general en la comunicación hombre-robot.
• Los lenguajes clásicos (FORTRAN, BASIC, PASCAL) no disponen de los comandos e instrucciones específicas que se necesitan para la programación en la robótica.
• Hasta ahora los lenguajes utilizados han sido diseñados para un modelo específico de manipulador, una tarea concreta, por lo que en estos momentos no existe ningún lenguaje universal
Seminario AADECA Dr.Ing Bauer Jorge
6
Lenguajes de programación
La programación explícita es la más utilizada en las aplicaciones industriales y consta de dos técnicas fundamentales:
Programación Gestual. Este tipo de programación, exige el empleo del manipulador en la fase de enseñanza, o sea, trabaja "on-line".
Programación Textual. En esta labor no participa el brazo robótica (off-line). Las trayectorias del manipulador se calculan matemáticamente con gran precisión (y se evita el posicionamiento a ojo)
Robots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
7
Lenguajes de programaciónAlgunos nombres, tomados de la literatura:
• ANORAD• EMILY• RCL• RPL• SIGLA• VAL
Todos ellos mantienen el énfasis en los movimientos primitivos, ya sea en coordenadas articulares, o cartesianas. En comparación, tienen, como ventajas destacables, los saltos condicionales y a subrutina, además de un aumento de las operaciones con sensores, aunque siguen manteniendo pocas posibilidades de programación "off-line".
Robots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
8
Lenguajes de programaciónRobots Industriales
KUKA.Sim Pro
Desarrollado para la programacion Offline de equipamiento KUKA-Robotern entworfen.
El producto admite un acoplamiento en tiempo real con Robots-KUKA y con el simulador Robotico para el analisis de tiempos, ciclos etc.
Seminario AADECA Dr.Ing Bauer Jorge
9
Lenguajes de programaciónRobots Industriales
ACL
Advanced Control Language(Eshed Robotec)
Seminario AADECA Dr.Ing Bauer Jorge
10
Lenguajes de programaciónRobots Industriales
ACL
Robot ER IX Robot MK
Seminario AADECA Dr.Ing Bauer Jorge
11
Lenguajes de programaciónRobots Industriales
ACL Algunos comando >>>>
a modo de ejemplo
ControladorPC
Teach
Seminario AADECA Dr.Ing Bauer Jorge
12
Lenguajes de programaciónRobots Industriales
Inicio (encoder relativos)
RUN HOMES Este programa mueve uno por uno los motores del brazo robótico hasta que encuentre en cada uno una posición inicial de referencia. De este modo, independientemente de la posición que se encuentre el brazo robótico al energizarlo, reencontrara su posiciones de referencia para los encoders relativos
Seminario AADECA Dr.Ing Bauer Jorge
13
Lenguajes de programaciónRobots Industriales
Organizar la memoria y Guardar puntos definidos en la memoria del controlador
Antes de guardar un punto del espacio en la memoria del controlador, debemos indicarle al mismo donde guardarlo y cuantos puntos aproximadamente guardaré (para la aplicación).
DIMP nombre del vector[n]
“n” es la cantidad de puntos y el nombre del vector debe tener como máximo 4 letras.
Seminario AADECA Dr.Ing Bauer Jorge
14
Teóricamente, podríamos guardar un punto en la memoria del controlador ingresando los 5 valores de los encoders o los 3 valores cartesianos.
En la practica, se lleva manualmente el brazo robótico a la posición de trabajo deseada y se guarda la posición directamente. El controlador será el encargado de registrar - calcular los valores antes descriptos.
Tipeamos en el ATS:
HERE nombre del vector[m] m= número de punto
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
15
Otra manera de almacenar puntos en la memoria del controlador, es con los llamados puntos relativos.. Tipeamos en el ATS:
TEACHR punto 1 punto 2
Donde punto1 es el nuevo punto que quiero definir y punto 2 es el definido o de referencia.
Ejemplo:TEACHR curs[24] curs[23] Incremento en x=0 , Incremento en y=0, Incremento en z=10
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
16
EJEMPLOS de >> Comandos de visualización
Los comandos de visualización, son aquellos que permiten ver los puntos, programas, vectores, etc que estén guardados en la memoria del controlador.
LIST Me permite visualizar todos los programas que estén guardados en la memoria del controlador.LIST nombre del programa Me permite visualizar las sentencias del programa seleccionado.LISTP Me permite visualizar una lista con todos los vectores cargados.LISTPV nombre del vector Me permite visualizar todos los puntos cargados, así como las posiciones relativas de cada eje y las coordenadas cartesianas de cada punto.SHOW SPEED Me permite visualizar las diferentes velocidades de trabajo, tanto en manual como en automático, en mm/seg y en % de la velocidad máxima.
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
17
Comandos de acción
Los comandos de acción son los utilizados para realizar las sentencias del programa y son los que me permiten relacionar puntos entre sí o mover simplemente de un punto a otro el brazo robótica.
Cabe aclarar que estas sentencias son usadas de la misma manera en el ATS, para realizar acciones individuales como en la edición de un programa, para automatizar los movimientos.
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
18
EJEMPLOS de >> Comandos de acción
MOVE punto Mueve el brazo robótico al punto seleccionado, independientemente de la posición original que se encuentre. Cuando se lo utilice como sentencia de un programa, realizará la acción de moverse y como el controlador es multitarea al mismo tiempo inicia la sentencia inmediata inferior del codigo programado.MOVED punto Idem Move pero a diferencia del anterior al utilizar el comando MOVED en un programa, realizará la acción de moverse pero no pasará a la sentencia inferior hasta que el brazo no haya llegado al punto determinado.MOVEL punto Realiza la acción de moverse al punto seleccionado, pero lo hace en interpolando todo los ejes Puede traer problemas si utilizamos este comando entre 2 puntos cuya línea recta de unión sea imposible de describir por el brazo robótico.MOVELD Cumplirá la misma función que el MOVED pero se moverá en línea recta.
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
19
EJEMPLOS de >> Comandos de acción
OPEN Realiza la acción de abrir el gripper.
CLOSE Realiza la acción de cerrar el gripper.
SPEED n Fija la velocidad, como porcentaje de la velocidad máxima de trabajoDonde “n” es un número de 0 a 100, que representa el porcentaje.. SPEEDL n “n” es el valor de velocidad .
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
20
EJEMPLOS de >>Comandos de programación
Los comandos de programación, son los que se utilizan solo como sentencia de programa en el marco del codigo
PROGRAM nombre del programaDEFINE a b c d ... SET i = número / variable FOR i=1 to número >>>>>ENDFOR.
PROGRAM CURSO-aDEFINE iFOR i=1 to 10 OPEN CLOSEENDFOR
PROGRAM CURSO-bDEFINE iFOR i=1 to 10 GOUSUB CURSO 2 ENDFOR
Lenguajes de programaciónRobots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
21
Lenguajes de programaciónRobots Industriales
Visita y practica al Lab CIM-UNLZ
Seminario AADECA Dr.Ing Bauer Jorge
22
Programación en robótica
Estudio Analítico de la tarea
IDEM que en el estudio clásico de métodos y tiempos