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 Industriales
Lenguajes 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 Industriales
Lenguajes de programación
Seminario AADECA Dr.Ing Bauer Jorge
4
Enseñanza y repetición
Robots Industriales
Lenguajes 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 Industriales
Lenguajes 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ón
Algunos 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ón
Robots 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ón
Robots Industriales
ACL
Advanced Control Language
(Eshed Robotec)
Seminario AADECA Dr.Ing Bauer Jorge
10
Lenguajes de programación
Robots Industriales
ACL
Robot ER IX
Robot MK
Seminario AADECA Dr.Ing Bauer Jorge
11
Lenguajes de programación
Robots Industriales
ACL
Algunos comando >>>>
a modo de ejemplo
ControladorPC
Teach
Seminario AADECA Dr.Ing Bauer Jorge
12
Lenguajes de programación
Robots 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ón
Robots 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ón
Robots 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ón
Robots 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ón
Robots 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ón
Robots 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ón
Robots 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 trabajo
Donde “n” es un número de 0 a 100, que representa el porcentaje.
.
SPEEDL n ↵
“n” es el valor de velocidad .
Lenguajes de programación
Robots 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 programa↵
DEFINE a b c d ... ↵
SET i = número / variable ↵
FOR i=1 to número ↵ >>>>>ENDFOR.
PROGRAM CURSO-a
DEFINE i
FOR i=1 to 10
OPEN
CLOSE
ENDFOR
PROGRAM CURSO-b
DEFINE i
FOR i=1 to 10
GOUSUB CURSO 2
ENDFOR
Lenguajes de programación
Robots Industriales
Seminario AADECA Dr.Ing Bauer Jorge
21
Lenguajes de programación
Robots 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

Lenguajes de programación en robótica

  • 1.
    Seminario AADECA Dr.IngBauer Jorge 1 Sistemas Roboticos y Manipuladores Industriales Lenguajes de programación en robótica
  • 2.
    Seminario AADECA Dr.IngBauer Jorge 2 Robots Industriales Lenguajes 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
  • 3.
    Seminario AADECA Dr.IngBauer 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 Industriales Lenguajes de programación
  • 4.
    Seminario AADECA Dr.IngBauer Jorge 4 Enseñanza y repetición Robots Industriales Lenguajes 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
  • 5.
    Seminario AADECA Dr.IngBauer Jorge 5 Lenguajes - Codificados Robots Industriales Lenguajes 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
  • 6.
    Seminario AADECA Dr.IngBauer 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
  • 7.
    Seminario AADECA Dr.IngBauer Jorge 7 Lenguajes de programación Algunos 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
  • 8.
    Seminario AADECA Dr.IngBauer Jorge 8 Lenguajes de programación Robots 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.
  • 9.
    Seminario AADECA Dr.IngBauer Jorge 9 Lenguajes de programación Robots Industriales ACL Advanced Control Language (Eshed Robotec)
  • 10.
    Seminario AADECA Dr.IngBauer Jorge 10 Lenguajes de programación Robots Industriales ACL Robot ER IX Robot MK
  • 11.
    Seminario AADECA Dr.IngBauer Jorge 11 Lenguajes de programación Robots Industriales ACL Algunos comando >>>> a modo de ejemplo ControladorPC Teach
  • 12.
    Seminario AADECA Dr.IngBauer Jorge 12 Lenguajes de programación Robots 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
  • 13.
    Seminario AADECA Dr.IngBauer Jorge 13 Lenguajes de programación Robots 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.
  • 14.
    Seminario AADECA Dr.IngBauer 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ón Robots Industriales
  • 15.
    Seminario AADECA Dr.IngBauer 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ón Robots Industriales
  • 16.
    Seminario AADECA Dr.IngBauer 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ón Robots Industriales
  • 17.
    Seminario AADECA Dr.IngBauer 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ón Robots Industriales
  • 18.
    Seminario AADECA Dr.IngBauer 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ón Robots Industriales
  • 19.
    Seminario AADECA Dr.IngBauer 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 trabajo Donde “n” es un número de 0 a 100, que representa el porcentaje. . SPEEDL n ↵ “n” es el valor de velocidad . Lenguajes de programación Robots Industriales
  • 20.
    Seminario AADECA Dr.IngBauer 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 programa↵ DEFINE a b c d ... ↵ SET i = número / variable ↵ FOR i=1 to número ↵ >>>>>ENDFOR. PROGRAM CURSO-a DEFINE i FOR i=1 to 10 OPEN CLOSE ENDFOR PROGRAM CURSO-b DEFINE i FOR i=1 to 10 GOUSUB CURSO 2 ENDFOR Lenguajes de programación Robots Industriales
  • 21.
    Seminario AADECA Dr.IngBauer Jorge 21 Lenguajes de programación Robots Industriales Visita y practica al Lab CIM-UNLZ
  • 22.
    Seminario AADECA Dr.IngBauer 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