Sei sulla pagina 1di 35

Introducción a la Robótica Industrial

Dr. Angel D. Sappa

1
Presentación General
Unidades
1 Introducción y conceptualización del manipulador robótico

2 Representación matemática de los manipuladores

3 Cinemática del manipulador

4 Dinámica del manipulador

5 Generación de trayectorias

6 Programación de robots industriales


2
Recap
Programación de Robots

 Métodos de programación: clasificación

 Requerimientos de un sistema de programación

 Ejemplo de programación

3
Recap
Métodos de Programación

CLASIFICACIÓN

1. Programación por guiado o directa

2. Programación textual o indirecta


Programación de Robots

3. Auto-aprendizaje….

4
Recap
1) Programación por guiado o directa

• La programación por guiado o aprendizaje consiste


en hacer realizar al robot, o a una maqueta del
mismo, la tarea, registrando las configuraciones
adoptadas para su posterior repetición en forma
automática.
• Para guiar al robot por los puntos deseados se
utilizan distintas soluciones:
Programación de Robots

A. Guiado Activo
B. Guiado Pasivo

5
Recap
1) Programación por guiado o directa

A. Guiado Activo

• Esta posibilidad permite emplear el propio sistema


de accionamiento del robot, controlado desde una
botonera o bastón de mando (conocido
como joystick) para que sea éste el que mueva sus
articulaciones

Programación de Robots

Ejemplos de este tipo se encuentran en los robots de


ABB (ARLA) o en los Cincinnati Milacron (T3).
• Atendiendo a la potencia del sistema, se habla de
guiado básico y guiado extendido

6
Recap
1) Programación por guiado o directa

A. Guiado Activo

B. Guiado Pasivo
Programación de Robots

7
Recap
1) Programación por guiado o directa

B. Guiado Pasivo

Si los actuadores del robot están desconectados y el


programador aporta en forma directa la energía para
mover el robot, se habla de un guiado pasivo

Existe distintos tipos de guiado pasivo:


Programación de Robots

• Guiado pasivo directo


• Guiado pasivo por maniquí
• Guiado pasivo por demostración

8
Recap
Métodos de Programación

CLASIFICACIÓN

1. Programación por guiado o directa

2. Programación textual o indirecta


Programación de Robots

3. Auto-aprendizaje….

9
Recap
2) Programación textual o indirecta

• Indicar la tarea al robot a través de un lenguaje de


programación específico
• Un programa se entiende como una serie de órdenes
que son editadas y posteriormente ejecutadas, por lo
tanto, existe un texto para el programa
• La programación textual se puede clasificar en tres
niveles:
Programación de Robots

• Nivel objeto, si las órdenes se refieren al estado en


que deben ir quedando los objetos
• Nivel robot, si las órdenes se refieren a los
movimientos a realizar por el robot
• Nivel tarea, si las órdenes se refieren al objetivo a
conseguir
10
Recap
2) Programación textual o indirecta

• Indicar la tarea al robot a través de un lenguaje de


programación específico
• Un programa se entiende como una serie de órdenes
que son editadas y posteriormente ejecutadas, por lo
tanto, existe un texto para el programa
• La programación textual se puede clasificar en tres
niveles:
Programación de Robots

• Nivel objeto, si las órdenes se refieren al estado en


que deben ir quedando los objetos
• Nivel robot, si las órdenes se refieren a los
movimientos a realizar por el robot
• Nivel tarea, si las órdenes se refieren al objetivo a
conseguir
11
Recap
Métodos de Programación

CLASIFICACIÓN

1. Programación por guiado o directa

2. Programación textual o indirecta


Programación de Robots

3. Auto-aprendizaje….

12
Recap
3) Auto-aprendizaje

El robot (imitando el proceso de aprendizaje del humano)


aprende los pasos a seguir para realizar una tarea.

Distintas técnicas de aprendizaje se han propuesto para que


un robot pueda aprender en forma eficiente. Entre las más
destacada se encuentran:

 Aprendizaje por reforzamiento



Programación de Robots

Algoritmos genéticos
 Aprendizaje profundo (Deep learning)
 Etc.

13
Recap
3) Auto-aprendizaje

Ejemplo de robot industrial (FANUC) durante el proceso de


“pick & place”
Programación de Robots

https://youtu.be/ydh_AdWZflA
14
Recap
Programación de Robots

 Métodos de programación: clasificación

 Requerimientos de un sistema de programación

 Ejemplo de programación

15
Recap
Requerimientos de un sistema de programación

• Si bien no hay una normalización  los requerimientos


comunes han originado un cierto paralelismo y afinidad
entre todos los métodos de programación.
• Características generales para un sistema de
programación de robots:

 Entorno de Programación
 Modelado del Entorno
Programación de Robots

 Tipo de Datos
 Manejo de Entradas/Salidas (digital y análoga)
 Control del Movimiento del Robot
 Control del flujo de ejecución del programa
16
Programación de Robots

 Métodos de programación: clasificación

 Requerimientos de un sistema de programación

 Ejemplo de programación

17
Ejemplo de programación de un robot industrial

Características básicas de los lenguajes de programación


comerciales: RAPID y V+

RAPID  ABB

V+  Adept Technologies
Programación de Robots

18
Lenguaje de programación RAPID

• Lenguaje desarrollado por la empresa ABB (1994)


• Lenguaje de programación textual de alto nivel
• Incluye características tales como:
• Utilización de funciones y procedimientos
• Posibilidad de usar rutinas parametrizables
• Estructura del programa completamente modular
• Posibilidad de declarar rutinas y datos como locales y
Programación de Robots

globales

19
Lenguaje de programación RAPID

• Un programa escrito en RAPID consiste en una serie de


instrucciones que describen el trabajo del robot
• Cada instrucción tiene una serie de parámetros que definen
de forma completa la acción a realizar
• Estos parámetros específicos a cada instrucción pueden ser
valores numéricos, referencias a un dato, expresiones de
datos, llamadas a una función e incluso en algunos casos
cadenas de caracteres
Programación de Robots

20
Lenguaje de programación RAPID

• Los programas se desarrollan en la paleta de programación


bajo un entorno de menús dirigidos
• Los programas también pueden ser escritos directamente
en un PC con un editor de texto convencional, para ser
posteriormente volcados en la memoria del robot
• Es un lenguaje altamente estructurado
• Los programas en RAPID se denominan tareas; el programa
puede ser dividido en varios módulos, uno de los cuales ha
Programación de Robots

de ser el principal
• La definición de módulos se realiza especificando su nombre
y sus atributos, como por ejemplo se trata de un módulo del
sistema (SYSMODE) o que no se puede modificar
(VIEWONLY)

21
Lenguaje de programación RAPID

Existen tres tipo diferentes de rutinas o subprogramas:


• Procedimiento: rutina que no devuelve ningún valor y se
utiliza como una instrucción
• Función: rutina que devuelve un dato de tipo específico y que
se utiliza como una expresión
• Rutina TRAP: rutina que se asocia a interrupciones y se
ejecuta cuando éstas se activan. No pueden llamarse nunca
de forma explícita
Programación de Robots

22
Lenguaje de programación RAPID

Los datos a manejar pueden ser de dos tipos:


• Tipo de dato atómico: no se define en función de otro tipo y
no se puede dividir en diferentes componentes
• Tipo de dato registro: está compuesto por una serie
ordenada de componentes con sus respectivos nombres. Los
componentes pueden ser a su vez de tipo atómico o de tipo
registro
Programación de Robots

23
Lenguaje de programación RAPID

Los datos se pueden definir como globales o locales, tanto en


módulos como en subrutinas, pueden a su vez ser definidos
como :
• Constantes: (CONS) representan datos de un valor fijo a los
que no se puede reasignar un nuevo valor
• Variables: (VAR) son datos a los que se les puede asignar un
nuevo valor durante la ejecución del programa
• Persistentes: (PERS) se trata de variables en las que cada
Programación de Robots

vez que se cambia su valor durante la ejecución del


programa, también se cambia el valor de su inicialización

24
Lenguaje de programación RAPID

Los tres tipos básicos de datos habituales con los que se trabaja
son:
• Numérico: num
• Lógico: bool
• Cadena: string
Programación de Robots

25
Lenguaje de programación RAPID

RAPID ofrece estructuras predefinidas de datos con distintos


campos para la utilización por parte del usuario
• confdata: estructura para especificar la configuración del
robot
Campos: cf1: cuadrante del eje 1
cf4: cuadrante del eje 4
cf6: cuadrante del eje 6
Programación de Robots

Ejemplo: VAR confdata conf10 := [1, -1, 0]

26
Lenguaje de programación RAPID

RAPID ofrece estructuras predefinidas de datos con distintos


campos para la utilización por parte del usuario
• Loaddata: describe la carga colocada en la muñeca del robot
Campos: mass: peso de la carga en kilogramos
cog: centro de gravedad de la carga
aom: orientación de los ejes de inercia en el
centro de gravedad expresada como cuaternios
Programación de Robots

ix, iy, iz: momentos de inercia de la carga


alrededor del eje x, eje y y del eje z expresado en
kgm2
Ejemplo: PERS loaddata pieza := [5,[50,0,50],[1,0,0,0],0,0,0];

27
Lenguaje de programación RAPID

RAPID ofrece estructuras predefinidas de datos con distintos


campos para la utilización por parte del usuario
• Tooldata: estructura para especificar las características de una
herramienta
Campos: robhold: define si el robot tiene la herramienta o no.
tframe: sistema de coordenadas de la herramienta
(posición y orientación de la herramineta)
Programación de Robots

Tooload: dato tipo loaddata


Ejemplo: PERS tooldata pinza := [TRUE, [[97, 0, 220], [0.924, 0,
0.383, 0]] [5,[-23,0,75],[1,0,0,0],0,0,0];;

28
Lenguaje de programación RAPID

RAPID posee una variada gama de instrucciones para controlar


el flujo de ejecución del programa
Instrucciones de repetición tipo: FOR, IF, WHILE;
Operaciones aritméticas tales como: +, -, *, /
Funciones matemáticas como: ADD, Clear, Incr, Decr, Abs
Programación de Robots

29
Lenguaje de programación RAPID

En cuanto al control del movimiento, RAPID ofrece los siguientes


parámetros:
AccSet: máxima aceleración permitida
SingArea: método de interpolación en puntos singulares
GripLoad: peso de la pieza a manipular
VelSet: velocidad máxima y sobrevelocidad
Programación de Robots

30
Lenguaje de programación RAPID
Juego de instrucciones de RAPID
Programación de Robots

31
Lenguaje de programación RAPID
Juego de instrucciones de RAPID
Programación de Robots

32
Lenguaje de programación RAPID
Juego de instrucciones de RAPID
Programación de Robots

33
Lenguaje de programación RAPID
Trayectoria resultante según el tipo de movimiento definido
Programación de Robots

34
Introducción a la Robótica Industrial

Dr. Angel D. Sappa

39

Potrebbero piacerti anche