Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automtica
Universidad Politcnica de Valencia
PRCTICAS DE ROBTICA
NDICE
1. OBJETIVO.................................................................................................... 1
2. EL LENGUAJE RAPID.................................................................................... 1
3. PROGRAMACIN EN RAPID UTILIZANDO LA UNIDAD DE PROGRAMACIN
VIRTUAL.......................................................................................................... 7
4. UTILIZACIN DEL SOFTWARE DE SIMULACIN RobotStudio.......................7
4.1. Qu es RobotStudio?..........................................................................7
4.2. Primeros pasos en RobotStudio............................................................8
4.3. Generando un programa en RobotStudio...........................................10
4.3.1 Desde el editor de RobotStudio y FlexPendant Virtual..................10
4.4. Ejemplos de programas en RAPID......................................................26
4.4.1. Establecimiento de un tiempo de espera.....................................26
4.4.2. E/S digitales................................................................................. 26
4.4.2. Creacin de subrutinas................................................................33
4.4.3. Escritura de un bucle...................................................................34
4.4.4. Instruccin condicional................................................................34
4.4.5. Instrucciones de movimiento.......................................................35
Apndice: Relacin entre cuaterniones y matrices de rotacin
1. OBJETIVO
El objetivo de la prctica es introducir al alumno en la programacin
de brazos robot industriales. Para ello, se va a utilizar el robot ABB 140 y la
unidad de control IRC5 de ABB, como elementos fsicos y de la unidad de
programacin, el listado de instrucciones RAPID (lenguaje de programacin
de robots ABB) y un programa de simulacin, como elemento software.
2. EL LENGUAJE RAPID
El lenguaje RAPID, desarrollado por la empresa ABB para su nueva
generacin de robots, supuso un nuevo paso adelante en el desarrollo de
herramientas de programacin para robots comerciales.
Constituye un lenguaje de programacin textual de alto nivel
que incluye algunas caractersticas importantes como la utilizacin de
funciones
y
procedimientos,
la
posibilidad
de
utilizar
rutinas
parametrizables, la estructura completamente modular del programa, o la
posibilidad de declarar rutinas y datos como locales o globales.
Los programas se pueden implementar mediante cualquier
editor de texto o en la unidad de programacin bajo un entorno de mens
dirigidos. En las aplicaciones industriales es ms habitual la segunda forma
puesto que permite algunas facilidades como el guiado del robot por
joystick, un entorno de programacin basado en mens dirigidos, etc.
Sin embargo, en esta prctica, al menos en los primeros ejemplos, se
ha optado por la programacin textual puesto que permite comprender
mejor las instrucciones y la estructura del lenguaje de programacin.
El lenguaje RAPID es altamente estructurado de forma similar a un
lenguaje de programacin general. Los programas se denominan tareas en
incluyen el programa en s junto con varios mdulos del sistema. Un mdulo
contiene un conjunto de datos y declaraciones de rutinas. Los datos son
independientes del programa pero pueden ser utilizados por l en cualquier
momento. A su vez, el programa puede ser dividido en varios mdulos de
los cuales uno debe ser el principal. Cada uno de estos mdulos contiene
submdulos de datos, adems de diversas rutinas de ejecucin. La figura 1
representa el esquema de esta estructura.
Por otro lado, atendiendo al mbito de alcance, los datos pueden ser
locales o globales.
movimiento.
Campos:
vel.oride: velocidad como porcentaje de la programada.
vel.max: velocidad mxima en mm/s.
sing.wrist: desviacin de la orientacin de la herramienta para
evitar la singularidad de la mueca.
sing.ARM: desviacin de la orientacin de la herramienta para
evitar la singularidad del brazo.
conf.ax1: desviacin mxima del eje 1.
conf.ax4: desviacin mxima del eje 4.
conf.ax6: desviacin mxima del eje 6.
extax: posicin de los ejes externos.
Ejemplo:
VAR robtarget posicin:= [[600, 500, 225], [1, 0, 0, 0], [1, 1, 0, 0], [11,
12, 9E9, 9E9, 9E9, 9E9];
Zonedata: se utiliza para especificar cmo debe terminar una
instruccin de movimiento, es decir, a qu distancia de la posicin
programada deben encontrarse los ejes antes de iniciar un movimiento
hasta la posicin siguiente.
Una posicin puede ser un punto de paso o un punto de paro. Un punto
de paro significa habitualmente que los ejes del robot y los ejes externos
deben alcanzar la posicin especificada (detenindose) antes de que la
ejecucin del programa contine en la instruccin siguiente. El punto de
paso significa que la posicin programada no llega a alcanzarse nunca. En
su lugar, la direccin del movimiento cambia antes de que se alcance la
posicin. Es posible definir dos zonas (rangos) diferentes para cada posicin:
de
la
0,3 mm
Orientacin
0,3 mm
6
z5
1 mm
1 mm
z10
5 mm
8 mm
z15
10 mm
15 mm
z20
15 mm
23 mm
z30
20 mm
30 mm
z40
30 mm
45 mm
z50
40 mm
60 mm
z60
50 mm
75 mm
z80
60 mm
90 mm
z100
80 mm
120 mm
z150
100 mm
150 mm
z200
150 mm
225 mm
z0
200 mm
300
10
FlexPendant
Modo de
aplicacin: Fuera
de lnea
12
13
15
Modo de
funcionamiento
controlador
Modo de
funcionamiento
controlador
Modo Manual
16
17
Navegador de
Programas
18
19
20
21
Icono de aplicar
cambios
Figura 26: Indicacin en la Salida que el programa fue verificado sin errores.
23
Generado el puntero del programa debe volver a hacer clic sobre el icono
Aplicar Cambios (mostrado en la figura 26). Ahora no debern aparecer
las advertencias mostradas en las figuras 27 y 28.
Por ltimo, para que se pueda simular el programa en el robot virtual (o en
el FlexPendant) es necesario sincronizar el programa con la estacin. Para
ello, se seleccionar la opcin de Fuera de lnea -> Sincronizar con
estacin como se muestra en la figura 32.
Sincronizar con
Inicio de la simulacin
estacin
24
25
26
27
Con esto ya se puede ejecutar el programa, para esto debemos pulsar sobre
el botn de ejecucin continua como muestra la figura 39.
Botn de ejecucin
continua.
Botn de ejecucin
continua.
29
32
33
Una vez creado el sistema, hay que cargarlo desde RobotStudio, para
ello desde la etiqueta Posicin Inicial Sistema de Robot Existente...
(Figura 49) Esta opcin mostrar los sistemas instalados, y se deber
34
36
PROC main()
37
Incrementador variable;
ENDPROC
PROC Incrementador (PERS num variable)
Incr variable;
TPWrite "Contador= "\Num:=variable;
ENDPROC
FOR i FROM 1 TO 3 DO
numrico
WHILE (condicin) DO
IF (condicion=1) THEN
ENDIF
Se propone al alumno que realice un programa consistente en
incrementar una variable si otra variable (un flag) est a true.
MoveCp2,p3,v500,z20,tool1;
MoveCp4,p1,v500,fine,tool1;
La figura muestra cmo se realiza un crculo completo mediante dos
instrucciones MoveC.
Las unidades del robot y las externas se trasladan hacia el punto de destino
de la forma siguiente:
41
42
APNDICE
Existen mltiples formas de representar la orientacin de la
herramienta: matrices de rotacin, cuaterniones, ngulos de Euler,
etc
En los libros de teora de robtica se utilizan habitualmente las
matrices de rotacin puesto que permiten solucionar la cinemtica
directa del robot con facilidad.
Por otra parte, en el lenguaje RAPID la orientacin se representa
mediante cuaterniones.
Los cuaterniones se pueden obtener de la matriz de rotacin a partir de
la siguiente frmula:
1
(n x o y a z 1)
2
1
q1 sign (o z a y ) ( nx o y a z 1)
2
1
q2 sign ( a x nz ) ( n x o y a z 1)
2
1
q3 sign (n y ox ) ( nx o y a z 1)
2
q0
43