Académique Documents
Professionnel Documents
Culture Documents
Programacin de
Robots
Programacin del Robot
ndice
1.
2.
3.
4.
Requerimientos de un sistema de
programacin
Estandarizacin
Ejemplo de 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
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
IRL (Norma DIN-96 )
Criterios de Clasificacin
Procedimiento utilizado
Potencia del sistema
Mtodos de programacin de
un robot
Programacin por guiado o aprendizaje
Pasivo
directo
por maniqu
Activo
Programacin textual
Nivel robot
Nivel objeto
Nivel tarea
Es frecuente la utilizacin conjunta de programacin por
guiado y textual
Programacin del Robot
Clasificacin de la
programacin por guiado:
Guiado Activo
Ventajas e inconvenientes de
la programacin por guiado
Ventajas
Son los ms adecuados para programar determinadas tareas (p.e.:pintura).
No precisan disponer de las coordenadas de los elementos relevantes del entorno de
trabajo
No se producen errores de posicionamiento por una incorrecta calibracin del robot o su
entorno
No se precisa de las funciones del modelado y control cinemtico (en particular en el
Guiado Directo), desapareciendo los problemas asociados (existencia de soluciones
mltiples y puntos singulares).
Inconvenientes
Necesidad de utilizar al propio robot y su entorno para realizar la programacin,
obligando a sacar al robot de la lnea de produccin e interrumpiendo sta.
Dificultad de documentar el programa.
Dificultad de realizar modificaciones en el programa (particularmente en el Guiado
Directo)
Dificultad en la depuracin y puesta a punto de las aplicaciones.
10
Programacin textual
La tarea queda especificada mediante una serie
de instrucciones textuales (Lenguaje formal)
Similar a un programa informtico
El texto del programa es editado en un sistema
informtico, que puede ser independiente del
robot, no precisando la presencia de ste
durante la fase de desarrollo del programa
(programacin fuera de lnea).
Diferentes sintaxis, con mayor o menor grado
de abstraccin
Programacin del Robot
11
Niveles de programacin
textual
Nivel robot (movimientos a realizar por el robot)
AS
KAREL
KRL
RAPID
V+
VAL II
(KAWASAKI)
(FANUC)
(KUKA)
(ABB)
(ADEPT)
(UNIMATION).
(MIT - 1976).
(IBM - 1977).
(Universidad de Edimburgo - 1978).
12
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.
13
14
15
16
Programacin hbrida
(guiado+textual)
En la prctica actual, se utilizan ambos mtodos de
manera combinada, permitindose desarrollar el
programa mediante la escritura de las instrucciones
(textual) y utilizando la posibilidad de guiado en
lnea para adquirir los puntos del entorno.
Los puntos se definen por guiado y se edita el
programa.
Sistemas como RAPID de ABB, VAL II de Stabli y
V+ de Adept Technology son ejemplos de este modo
de programacin.
Programacin del Robot
17
Resumen modos de
programacin de un robot
Programacin de robots
Conjunto de instrucciones de
movimiento y funciones
auxiliares que definen el
trabajo a realizar por el robot
Aprendizaje
Textual
Pasivo
Activo
El robot se mueve utilizando
sus propios actuadores , en
funcin de lsa rdenes dadas
por el usuario desde el panel
de programacin .
Directo
S
Se mueve directamente
al
robot, venciendo la
resistencia de sus sistemas
de transmisin y su peso
Robot
Objeto
Las instrucciones hacen
referencia al modo en que
deben quedar los objetos
manipulados por el robot
Tarea
Maniqu
Se utiliza una estructura
M
ligera con la misma
cinemtica que el robot ,
registrndose sus
movimientos .
18
Requerimientos de un sistema
de programacin de robots
Cada fabricante de robot ha desarrollado su propio
modo de programacin, pero las necesidades
comunes en todos ellos han originado un cierto
paralelismo y afinidad
Entorno de desarrollo.
Modelado del entorno.
Tipo de datos.
Manejo de entradas/salidas (digital y analgica).
Comunicaciones.
Control de movimiento.
Control del flujo de ejecucin del programa.
Programacin del Robot
19
Entorno de desarrollo
Importante para incrementar la productividad
Complejidad debido a la interaccin con el entorno
(procedimiento de prueba-error)
Permite mover al robot en lnea en coordenadas
articulares, del mundo y de la herramienta
Mayora de lenguajes interpretados
Capacidad de depuracin y ejecucin paso a paso
Capacidad de monitorizacin
En la actualidad se utilizan sistemas multitarea que
permiten control simultneo y sincronizado de
varios elementos (robots, sistemas de visin o
transporte)
Programacin del Robot
20
No
21
Tipos de datos
Tipos convencionales (enteros, reales, booleanos)
Especificacin de la localizacin (posicin y orientacin)
Coordenadas articulares (q1,, qn)
Coordenadas cartesianas
Posicin (px, py, pz)
Orientacin
ngulos de Euler
Cuaternios
Matriz de cosenos directores
Matrices de transformacin homogneas
Programacin del Robot
22
Manejo de entradas/salidas
Nivel ms sencillo de comunicacin con otras mquinas o procesos
que cooperan con el robot.
Habitualmente digitales
Objetivo: integracin y sincronizacin con el proceso
Modos:
Activacin o desactivacin de salidas. Control del flujo del programa en
funcin de las entradas
Tratamiento de interrupciones: Ante la seal se ejecuta la rutina de
interrupcin. La interrupcin del flujo normal del programa. puede realizarse
inmediatamente (incluso en mitad del movimiento del robot), cuando
finaliza la ejecucin de la instruccin en curso (al finalizar el movimiento), o
cuando finaliza el ciclo de trabajo fijado por el programa (al finalizar la
secuencia).
Integracin de sensores (digitales o analgicos):
Modificacin de la trayectoria
Eleccin entre alternativas
Obtencin de identidad, posicin y caractersticas de objetos
Cumplimiento de restricciones externas
23
Comunicaciones
Comunicacin con otros robots, mquinas equivalentes o sistemas
informticos responsables de la planificacin y gestin de la produccin.
Permite:
La adaptacin de los movimientos del robot a situaciones cambiantes
en la lnea
La carga o actualizacin del programa del robot en funcin de nuevas
ordenes de produccin
La monitorizacin o supervisin del estado de la clula
El control del estado de la produccin.
Modos de comunicacin acordes con el estado actual de la tecnolga:
(RS232, Devicenet, CanBus, Profibus, Ethernet, etc.).
En caso de necesidad se puede recurrir a las entradas/salidas digitales
(solucin de compromiso)
Uso de controladores abiertos bajo buses y S.O. estndares permite una
gran flexibilidad de adaptacin a futuros estndares de comunicaciones.
24
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
25
26
Movimiento monitorizado o
protegido
Interrupcin del movimiento del robot por verificarse algn
tipo de condicin externa programada.
Moverse a P1, hasta que D=1
(o tambin)
Moverse a P1
Si D=1 entonces PARAR
P1
Z?
Programacin del Robot
27
Movimiento acomodaticio
El movimiento (trayectoria, velocidad
o destino) se ve modificado por la
medida de un sensor.
Seguimiento de cordn de
soldadura
Ensamblado mediante sensor de
fuerza
Destino y trayectoria fijado por
sistema de visin
28
29
Estandarizacin
Varios intentos sin el suficiente xito
IRL (Industrial Robot Language)
Norma DIN (DIN-66312 Industrial Robot Language (IRL).
Septiembre 1996)
En su definicin se consider el ISO/TR Manipulating
industrial Robot. Intermediate Code for Roobts (anulado en
el 2004)
Asumido por algunos robots como opcin (Festo)
Concepto de cdigo intermedio
30
31
BEGIN
IF NOT pieza THEN HALT; ENDIF;
R_ACC:= 300.0;
R_SPEED:= 100.0;
Bucle:
MOVE LIN p_sb_pieza;
MOVE LIN p_pieza;
electrm:=TRUE;
{especifica la aceleracin}
{especifica la velocidad}
IF repetir = TRUE THEN GOTO bucle; ENDIF; {Repetir coger nueva pieza?}
MOVE LIN home;
HALT;
END PROGRAM
32
Ejemplo de programacin
Clula de verificacin y empaquetado
de componentes.
Los componentes llegan a la clula
a travs de un alimentador, de
donde el robot ha de cogerlos y
realizar un test especfico de
validacin sobre ellos.
Si el test resulta positivo, se coloca
el componente en el primer agujero
libre del pallet de 3x5 situado en una
cinta de transporte contigua. Esta
cinta se mueve mediante un motor
controlado por el propio robot.
Si el test resultase negativo
(componente defectuoso), se
colocar el componente en una caja
de componentes desechados.
33
Ejemplo de programacin
Seales de Entrada-Salida
Entradas digitales :
Salidas digitales:
34
Ejemplo de programacin
Instrucciones bsicas
Nom.
Parmetros
Descripcin
Ejemplo
POS$
POS$ Pa
SBR
BUC
REP
OPE
SAL*
SAL
EST
GPZ
ESE
RET
VEL
MON
N1 Subrutina
N1rep.,identificador
Identificador de bucle
Var,Operacion,Var
N1 de lnea, condicin
N1 de lnea
Valor numrico
Variable orientacin
Id. Entrada = valor
tipo y velocidad
Id entrada = valor, lnea de
salto, tiempo de espera
Id.variable = posicin
Id.variable = orientacin
Id.Salida = valor,tiempo
VAR
VARa
SUB
BAJ
SLD
Bucle de repeticin.
Fin de bucle.
Realizacin de una operacin entre variables.
Salto condicional.
Salto incondicional.
Esperar un tiempo en segundos.
Girar pinza a una orient.
Esperar entrada.
Retorno de subrutina.
Asignar velocidad.
Monitoriza el valor de una seal un tiempo, si
la seal toma el valor indicado salta a lnea.
Definicin de var. de posicin.
Definicin de var. de orientacin.
Subir la pinza.
Bajar la pinza.
Activar salida durante un tiempo.
Por defecto es siempre.
SBR 300
BUC 5, 1
REP 1
OPE Pv=Pa+Pi
SAL* 100, Ea=1
SAL 104
EST 2
GPZ Oa
ESE Ea=1
RET
VEL a=2000
MON Ea=1,506,30
VARPa= 100,100
VARa Op = 100
SUB
BAJ
SLD Sn=1,10
35
Ejemplo de programacin
Macroinstrucciones
MAC COG
PINZA = ABRIR
BAJ
EST 0.5
PINZA = CERRAR
SUBIR
END MAC
MAC DEJ
BAJ
PINZA = ABRIR
EST 0.5
SUB
PINZA = CERRAR
END MAC
36
Ejemplo de programacin
Inicializacin de variables
Se definen velocidad lineal y angular del efector final y variables con posiciones y
orientaciones a utilizar durante el desarrollo de la aplicacin.
1 VEL =2000
2 VELa =100
3 VAR Pa = -450,275
4 VAR Pt = 0,450
5 VAR Pi = 330,-30
6 VAR Pd = -250,450
7 VAR Pv = 330,-30
8 VAR Pf = 330,-30
10 VAR Ic = 80, 0
11 VAR If = 0, 80
12 VARa Op = 100
13 VARa Oa = 0
16 VARa Ot = 50
37
Ejemplo de programacin
Proceso de llenado de pallet
Se pide un nuevo pallet, se recoger el componente, se realiza el test.
Si el test resulta positivo, se coloca el componente en el pallet y se actualiza la variable de primera posicin
libre
Si el test es negativo, se desecha el componente y se deja en la zona de componentes defectuosos.
Si desaparece el pallet durante el llenado, se pedir un nuevo pallet y se reiniciar el proceso.
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
SBR 300
BUC 5,filas
OPE Pv=Pf
BUC 3,columnas
SAL* 100,Ep=0
SBR 500
SBR 600
SAL* 110,Et=1
SBR 700
SAL 104
SLD St=0
SUB
SBR 400
OPE Pv=Pv+Ic
REP columnas
OPE Pf=Pf+If
REP filas
SAL 100
38
Ejemplo de programacin
Subrutina de nuevo pallet
Verificacin de que el pallet nuevo est posicionado en la
posicin de llenado, inicializando las variables Pv y Pf a la
primera posicin del pallet (Activacin de la salida que controla
el motor de movimiento de la cinta).
300
301
302
303
304
305
306
OPE
OPE
SLD
EST
ESE
SLD
RET
Pv=Pi
Pf=Pi
Sm=1
2
Ep=1
Sm=0
; Inicializacin de Pv
; Inicializacin de Pf
; Pedir nuevo ballet. Activar cinta
; Tiempo de evacuacin pallet anterior
; Espera llegada de pallet nuevo
; Parar cinta
; Fin de nuevo pallet
39
Ejemplo de programacin
Subrutina de colocar en pallet
Colocar un componente en la primera posicin libre en
el pallet.
400 POS$ Pv
401 GPZ Op
402 DEJ
403 RET
40
Ejemplo de programacin
Subrutina colocar componente
Espera un mximo de 30 segundos la llegada de un componente al alimentador.
Si no llega, emite una alarma durante 10 segundos y lo vuelve a intentar.
Si llega, lo recoge, verificando que est en la pinza del robot.
Si no est (por ejemplo, porque ha resbalado) emite una alarma y trata de realizar la operacin
de nuevo.
500
501
502
503
504
505
506
507
508
510
511
POS$ Pa
GPZ Oa
MON Ea=1,506,30
EST 30
SLD Sn=1,10
SAL 502
COG
SAL* 510,Eh=0
RET
SLD Sh=1,5
SAL 500
41
Ejemplo de programacin
Subrutina de test
Coloca el componente en el dispositivo de test y lo
activa.
600
601
602
603
604
POS$ Pt
GPZ Ot
BAJ
SLD St=1
RET
42
Ejemplo de programacin
Subrutina de rechazo componente
Rechaza los componentes que no pasan el test y los
deja en el almacn de componentes defectuosos.
700
701
702
703
705
SLD St=0
SUB
POS$ Pd
DEJ
RET
; Componente defectuoso
; Sacarlo del dispositivo de test
; Posicionar en almacn defectuosos
; Dejar componente
; Fin de rechazar componente
43