Anda di halaman 1dari 27

TEMA 8: PROGRAMACIN DE

ROBOTS

Ingeniera de
Sistemas y
Automtica

Control de Robots y
Sistemas Sensoriales

Robtica Industrial
ISA.- Ingeniera de Sistemas y Automtica

Indice
Introduccin
Morfologa del robot
Herramientas matemticas para la localizacin espacial
Cinemtica del robot
Dinmica del robot
Control cinemtico
Control dinmico
Programacin de robots
Criterios de implantacin de un robot
Aplicaciones de los robots
Robotica Industrial- Programacin

Programacin de Robots
Mtodos de Programacin de robots
Clasificacin segn el procedimiento
Programacin por guiado
Programacin textual
Requerimientos de un sistema de programacin
Robotica Industrial- Programacin

Programacin de robots

Objetivo: indicar la secuencia de acciones a realizar durante


una tarea
Movimiento a puntos predefinidos
Manipulacin de objetos
Interaccin/sincronizacin con el entorno

Partes del robot involucradas en la ejecucin de un programa


Memoria
Sistema de control cinemtico/dinmico
E/S

Robotica Industrial- Programacin

Mtodos de programacin
de robots

Falta de normalizacin
No obstante hay orgenes y patrones comunes que dan
lugar a cierta semejanza
AL (Algol Like) Univ. Stanford 1974
Existen ciertos intentos de normalizacin
IRDATA Univ. Karlsruhe (Norma VDI)
Criterios de Clasificacin
Procedimiento utilizado
Potencia del sistema

Robotica Industrial- Programacin

Clasificacin segn el
procedimiento utilizado

Programacin por guiado


Pasivo
directo
por maniqu
Activo
Programacin textual
Nivel robot
Nivel objeto
Nivel tarea
Es frecuente la utilizacin conjunta de programacin por
guiado y textual
Robotica Industrial- Programacin

Programacin por guiado o


aprendizaje

consiste en hacer
realizar al robot, o a una
maqueta del mismo, la
tarea (llevndolo
manualmente por
ejemplo) al tiempo que
se registran las
configuraciones
adoptadas, para su
posterior repeticin de
manera automtica.

Robots de pintura Gaiotto de


programacin mediante guiado
pasivo directo

Robotica Industrial- Programacin

Clasificacin de la programacin
por guiado

Clasificacin segn modo en que se gua:


Pasivo (se lleva manualmente al robot)
Directo (Trallfa, Gaiotto)
Maniqu (Nordson, Acma-Cribier)
Activo (se utiliza el sistema de accionamiento del robot a travs de
una botonera o Joystick) (Asea)

Clasificacin segn potencia:


Guiado Bsico: 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- Programacin

Ejemplos de programacin
por guiado

Guiado pasivo directo


(Robot Gaiotto)

Guiado pasivo con maniqu


(Robot Nordson)

Robotica Industrial- Programacin

Paleta o botonera de
programacin

Robotica Industrial- Programacin

Tipos de programacin textual

Nivel robot (movimientos a realizar por el robot)

AL (Universidad de Stanford - 1974).


AML (IBM - 1979).
LM (Universidad de Grenoble, SCEMI - 1981).
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- Programacin

10

Ejemplo de tarea de
programacin

Se pretende situar la pieza A, sobre la que se apoya la pieza B, en el


interior del orificio de la pieza D. A continuacin se presenta el programa
en los tres niveles de manera simplificada y utilizando lenguajes
hipotticos.

Robotica Industrial- Programacin

11

Programacin a nivel robot.


Operacin 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 precisin
Mover_recta_a P3
; Descender verticalmente en lnea 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 lnea recta
Prec = MEDIA
; Decrementar la precisin
Vel = VELMAX
; Aumentar la velocidad
Mover_a P4 via P2
; Situarse sobre la pieza C
Prec = ALTA
; Aumentar la precisin
Vel = 0.2 * VELMAX ; Reducir velocidad
Mover_recta_a P5
; Descender verticalmente en lnea recta
Pinza = ABRIR

; Abrir pinza
Robotica Industrial- Programacin

12

Programacin a nivel objeto


Situar B sobre C haciendo coincidir
LADO_B1 con LADO_C1 y LADO_B2 con LADO_C2 ;
Situar A dentro D haciendo coincidir
EJE_A con EJE_HUECO_D y BASE_A con BASE_D ;

Disminuye la complejidad del programa.


La programacin se realiza de manera ms cmoda.
Un planificador de la tarea se encargar de consultar una
base de datos y generar las instrucciones a nivel de robot.

Robotica Industrial- Programacin

13

Programacin a nivel tarea


Ensamblar A con D

El programa se reduce a una nica sentencia ya


que se especifica qu es lo que debe hacer el robot
en lugar de cmo debe hacerlo.

Robotica Industrial- Programacin

14

Requerimientos de un sistema de
programacin de robots

Entorno de programacin.
Modelado del entorno.
Tipo de datos.
Manejo de entradas/salidas (digital y analgica).
Control de movimiento.
Control del flujo de ejecucin del programa

Robotica Industrial- Programacin

15

Entorno de programacin

Importante para incrementar la productividad


Complejidad debido a la interaccin con el entorno
(procedimiento de prueba-error)
Mayora de lenguajes interpretados
Capacidad de depuracin y ejecucin paso a paso
Capacidad de monitorizacin
En la actualidad se utilizan sistemas multitarea que
permitan control simultneo y sincronizado de
varios elementos (robots, sistemas de visin o
transporte)
Robotica Industrial- Programacin

16

Modelado del entorno.


Modelo relacional

Robotica Industrial- Programacin

17

Tipos de datos

Tipos convencionales (enteros, reales, booleanos)


Especificacin de posicin y orientacin
Coordenadas articulares (q1,, qn)
Coordenadas cartesianas
Posicin (px, py, pz)
Orientacin
Angulos de Euler (, , )
Cuaternios
Matriz de cosenos directores
Matrices

de transformacin homogneas
Robotica Industrial- Programacin

18

Manejo de entradas/salidas

Nivel ms sencillo de comunicacin con otras


mquinas o procesos que cooperan con el robot
Objetivo: integracin y sincronizacin
Tratamiento de interrupciones
Integracin de sensores:
Modificacin de la trayectoria
Eleccin entre alternativas
Obtencin de identidad, posicin y caractersticas de
objetos
Cumplimiento de restricciones externas
Robotica Industrial- Programacin

19

Control de movimiento

Posibilidad de especificacin de:

Punto de destino
Tipo de trayectoria (Punto a punto, trayectoria continua)
Velocidad y aceleracin medias del recorrido
Precisin de alcance del punto de destino (via points)
Movimientos condicionados (medida de sensores)
Movimiento protegido (guarded motion):
interrupcin del movimiento
Movimiento acomodaticio (compliant motion):
modificacin del movimiento
Robotica Industrial- Programacin

20

Puntos de paso o via points

Robotica Industrial- Programacin

21

Control de flujo de ejecucin


del programa

Empleo de bucles for, repeat, while,


Empleo de condiciones if, then,
Capacidad de procesamiento en paralelo
Control de varios robots bajo un slo programa
Control de un robot en una clula integrada

Utilizacin de seales de sincronismo (semforos)


Tratamiento de interrupciones/errores
Fijacin de prioridades
Robotica Industrial- Programacin

22

Ejemplo de programacin en
VAL II (Pick & Place) (I)
.PROGRAM robot()
;INICIALIZACION DE LAS VARIABLES
altura = 20
;indica la altura de aproximacin y salida en milmetros
rapido = 150
;indica la velocidad rpida
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 asncrono de tratamiento de errores
20 WAIT(hay_cod_fun) ;espera hasta que est disponible un cdigo de funcin
TYPE "Cdigo recibido", cod_fun ;indica a travs del monitor el cdigo recibido
CASE cod_fun OF
VALUE 1 :
;INICIALIZACION
;aqu se incluira el cdigo de inicializacin
Robotica Industrial- Programacin

23

Ejemplo de programacin en
VAL II (Pick & Place) (II)
VALUE 2 :

;PARADA
;aqu se incluira el cdigo correspondiente a la parada
VALUE 3 :
PICK & PLACE
TYPE "Recibida la orden de PICK & PLACE"
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 operacin 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- Programacin

24

Ejemplo de programacin en
VAL II (Pick & Place) (III)
;operacin 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"
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 instruccin CASE
hay_cod_fun = FALSE
;indica que ya no hay cdigo de funcin
GOTO 20
;regresa al estado de espera
.END
;fin del programa de control

Robotica Industrial- Programacin

25