Programacion de Un Robot Manipulador
Programacion de Un Robot Manipulador
- Fundamentos de
robtica de manipulacin
Prctica 1. Programacin bsica de un robot manipulador
A. Gimnez ([email protected])
rea de Ingeniera Mecnica
Departamento de Ingeniera
Indice
Lenguajes de programacin.
1. Introduccin General
2. Robot IRB 140 y Sistema IRC5
3. Lenguaje RAPID
Estructuras de Datos
Instrucciones de movimiento
Instrucciones lgicas
Referencias
Bibliogrficas:
1.
2.
El sistema de programacin es la
herramienta con que cuenta el usuario para
acceder a las prestaciones del robot
Programacin
de robots
PROGRAMA
PROGRAMA
Punto de destino
Tipo de trayectoria
Velocidad media y tiempo
Precisin
Herramienta
Velocidad y aceleracin
mxima de la articulacin
GENERACIN
CALCULO
DE
TRAYECTORIAS
TRAYECTORIAS
MODELO
MODELO
CINEMTICO
CINEMTICO
MUESTREO
MUESTREO
Referencias para el control dinmico qi(kT)
CONTROL
CONTROL
DINMICO
DINMICO
MODELO
MODELO
DINMICO
DINMICO
(Barrientos [1])
SENSORES
EXTERNOS
ARLA (1981)
RAPID (1994)
S4
S5
(IRC5)
Paletas de ARLA
Programacin textual
Se basa en la existencia
de un lenguaje formal de
programacin para
indicar los comandos al
robot
PROGRAMA:
Secuencia de ordenes
10
Ordenador
Sistema de control
Manipulador
11
12
13
Creacin de un programa
Requerimientos de un sistema
de programacin de robots
14
Entorno de programacin
Modelado del entorno
Tipos de datos avanzados
Control del flujo de ejecucin del programa
Manejo de E/S: digitales y analgicas
Control de movimiento
Auto-acomodacin segn informacin sensorial
externa
Caractersticas fsicas
15
Mundo
No rgida
No rgida
Robot
Rgida
Pinza
Rgida
Pieza A
16
Cinta
No rgida
Pieza B
Mesa
No rgida
Pieza C
Rgida
Pieza D
70 mm
80 mm
6 kg
Carga
6 kg
Alcance
0.81 m
Repetibilidad 0.03 mm
17
Carga suplementaria
en la mueca 0.5 kg
Carga
suplemtaria en
el antebrazo
1 kg
y [mm]
340
330
320
310
300
290
518
18
520
522
524
x [mm]
526
528
530
19
Principales aplicaciones
Otras
Embalaje/Pintura
Ensamblaje
20
Controlador IRC5
Controlador del Robot.
Igual para cualquier modelo IRB
Ligero
Conexiones industriales
Robot PC
Seta de emergencia
Motores ON/OFF
Contador de programas
21
22
Unidad de programacin
Partes
23
Partes de la pantalla
pantalla
24
Lenguaje de
programacin RAPID
El 60% de los robot en el mundo son ABB
RAPID (Robotics Application Programming
Interactive Dialogue)
Caractersticas ms importantes
25
Lenguaje de
programacin RAPID
Robotics - 8 -
26
Simuladores (RobotStudio)
Paletas de Programacin (TeachPendant)
Ordenador (Editor ASCII)
Estructura de un programa
Instrucciones
Acaban en ;
Comentarios !
Asignacin :=
Unidades:
milmetros
Grados
sexagesimales
Funcin Principal
27
PROC main()
Expresiones del
lenguaje
Aritmticas:
Lgicas:
28
DInput(di1) = 1
num1 < num2;
nombre1 = nombre2;
Doutput(do1) = 0 AND pos1.x > 100
Tipos de datos en
RAPID
Alcance
Globales
Locales
Variabilidad
Constantes
CONST
Variables
VAR
num veces_repetidas;
Persistentes
PERS
29
num repeticion;
num pinza_cogida;
Tipos de datos en
RAPID
Atmicos
Un solo dato
Num
Bool
Registro
Pos
Orient
30
Guarda la orientacin q1, q2, q3, q4 (los cuatro son tipo num)
Tipos de datos
Datos
de posicin y
orientacin
nx
n
T y
nz
0
31
ox
ax
oy
ay
oz
az
px
p y
pz
32
Tipos de datos en
RAPID
pose
trans pos
rot orient
Var
confdata
confdata configuracion:=[-1,0,1,0];
extjoint
33
pose sitio:=[[1000,200,3500],[0.7,0,0.7,0]];
Tipos de datos
(ROBTARGET)
34
Tipos de datos
(JOINTARGET)
35
Tipos de datos
(Velocidad)
v_tcp num
v_ori num
v_leax num
v_reax num
finep num
Es un punto de precisin fino
pzone_tcp num en mm
zone_ori num
pzone_ori num en
zone_leax num
pzone_eax num en mm en
zone_reax num
Tipos de datos
(Herramienta)
Contiene la informacin de la herramienta que se
usa.
tooldata
robothold bool
La herramienta est sujeta por el
robot
tframe pose en mm
tload loaddata
en mm
Tipos de datos
Datos
Datos
(TCP)
Posicin
39
Carga
Tipos de datos
Matriz TCP (posicin y orientacin)
Z
Z
Y
r
Carga
Y
Iz
Y
X
40
Iy
Xr
c.d.g Ix
Py
Pz
q1 q 2
q3
q4
41
mass num
cog pos
aom orient
ix num
iy num
iz num
Masa de la pieza
centro de gravedad de la pieza
orientacion de los ejes principales de inercia
momento de inercia eje x
momento de inercia eje y
momento de inercia eje z
load1
Lenguaje de
programacin RAPID
Declaracin
de datos:
Puntos:
Herramientas:
42
Control del
movimiento del robot
Hay
43
Lenguaje de
programacin RAPID
Instrucciones
de movimento:
Articulares:
MoveJ C1,v100,z5,pinza;
Opciones
[\T
MoveJ C1,v100\T:=5,z5,pinza;
Articulares absolutas:
44
MoveAbsJ punto,v100,z3,pinza;
Lenguaje de
programacin RAPID
Instrucciones
de movimento:
MoveL P2,v80,fine,Tool0;
Opciones
Offs()
MoveL Offs(P2,0,0,100),v80,fine,Tool0;
45
Lenguaje de
programacin RAPID
Instrucciones
de movimento:
Interpolacin circular:
MoveC P2,P3,v150,z15,Tool;
P3
P0
P1
P2
P0
46
Control del
movimiento del robot
Especificacin
Precisin
Punto
de paso
Punto
destino
47
Lenguaje de
programacin RAPID
Zonedata:
Z50
fine
Esfera de
precisin
Punto
de paso
50 mm
48
Punto
destino
Lenguaje de
programacin RAPID
Instrucciones
de movimento:
Trayectoria circular:
MoveC Pto_int, pto_final,v80,fine,Tool0;
49
Control del
movimiento del robot
tacc
Vnominal
Pendiente
q
50
qf
tf
Lenguaje de
programacin RAPID
Speeddata:
v100
VelSet
tacc
100 mm/s
Pendiente
q
51
qf
tf
tradicionales:
Procesamiento
en paralelo multitarea
La ejecucin correcta del programa en sentido
inverso no est garantizada!
52
ENDIF
IF <condicion> THEN
ELSE
ENDIF
53
IF <condicion> THEN
ELSEIF <condicion>
ELSE
ENDIF
ENDWHILE
FOR <contador> FROM <valor inicial> TO <valor final>
[STEP incremento] DO
.
ENDFOR
54
Manejo de
Entradas/Salidas
Robot de proyeccin
Bombeo
Transporte de moldes
OFICINA
FACTORIA
Red SINEC-L1
Com. serie RS-232
55
PC control
Manejo de
Entradas/Salidas
56
Goutput(go2)
Ginput(gi1)
Instrucciones de
espera
ej: WaitTime 5;
WaitUntil Dinput(di3)
57
WaitTime <tiempo>
Rutinas
Procedimientos
Funciones
TRAP
58
Interrupciones
Main()
0.- Connect TRAP Inp 1
1.- Move P1
2.- Move P2
3.- Grip On
4.- Wait 0.5
5.- Move P3
6.- Grip Off
7.- Move P4
8.- Set Output1
9.- Wait 2
10.- ~ ~ ~ ~ ~
TRAP Inp 1
1.- Reset Output1
2.- Reset Output2
3.- Move P100
4.- Write Reparar Pinza
5.- Wait Input20
6.- ~ ~ ~ ~ ~
Dosificacin y mezcla Transporte de mortero
Robot de proyeccin
Bombeo
Transporte de moldes
OFICINA
59
FACTORIA
Red SINEC-L1
Com. serie RS-232
PC control
Manejo de
Entradas/Salidas
Comunicaciones
avanzadas:
y descarga de programas
Monitorizacin y supervisin
Control directo del robot (Computer Link)
Impresora lnea serie
60
Manejo de
Entradas/Salidas (II)
61
Protegidos
PROGRAMA EJEMPLO
El robot se encuentra esperando en un punto de
reposo (punto A) la activacin de la entrada digital 1
En cuanto la entrada digital 1 pasa al estado UNO,
el robot se aproxima al punto B para coger la pieza.
El robot lleva la pieza al punto C pasando por una
zona segura
El ciclo finaliza en el punto de reposo
62
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE EJEMPLO
CONST robtarget A:=[[200,100,500],[0.7,0.7,0,0],
[0,-1,0,0], [9E+09,...]];
.
CONST tooldata pinza:= [TRUE, [[0,0,10],
[1,0,0,0]], [0,[0,0,0],[1,0,0,0],0,0,0]];
PROC cerrar_pinza()
WaitTime 0.5;
Set spinza;
ENDPROC
PROC coger_pieza()
MoveJ B1,v100,z5,pinza;
MoveL B,v80,fine,pinza;
cerrar_pinza;
ENDPROC
63
PROC main()
abrir_pinza;
MoveJ A,v100,fine,pinza;
WaitDI econtrol,1;
coger_pieza;
MoveL B1,v80,z5,pinza;
MoveJ D,v100,z100,pinza;
MoveJ C1,v100,z5,pinza;
MoveL C,v80,fine,pinza;
abrir_pinza;
MoveL C1,v80,z5,pinza;
ENDPROC
ENDMODULE
64