Vous êtes sur la page 1sur 5

SIMUROB.

SIMULADOR DEL ROBOT IRB-1400

Autores: Marina Beltrn Blanco, Jorge J. Feliu Batlle y Jos Manuel Cano Izquierdo
Direccin: Dpto. Ingeniera de Sistemas y Automtica. ETSII (Universidad Politcnica de Cartagena)
c/ Doctor Fleming s/n Cartagena 30202 (Murcia)
email: marinabb28@hotmail.com; jorge.feliu@upct.es; josem.cano@upct.es

Resumen teniendo la calidad de representacin grfica


suficiente para ser atractiva a los alumnos.
SimuRob es un simulador bajo Windows del robot Ejemplos de lo expuesto son:
antropomrfico IRB-1400. Dicho robot es el
empleado en la ETSII de la Universidad Move Master Mitsubishi Simulator [6]
Politcnica de Cartagena (UPCT) para sus clases SimRobot [11]
de prcticas. El programa SimuRob, realizado en Camelot [4]
Visual C++, permite a los alumnos aprender el EasyRob [5]
manejo del robot y la programacin de sus Robot3D [10]
movimientos, el conocimiento en profundidad de su RoboSim [9]
cinemtica directa e inversa, alineacin de ejes,
QuickTeach [8]
configuraciones singulares, etc.
SimuRob soluciona estas deficiencias y permite
Palabras clave: simulador, robot, programacin,
programar movimientos y trayectorias que a
docencia.
posteriori pueden ser ejecutados en el robot real. En
este sentido el simulador incluye herramientas
virtuales como pinzas y pistola de soldadura que
1 INTRODUCCIN. permiten operar de forma similar a cmo lo hara el
robot IRB-1400.
El robot IRB-1400 es un robot antropomrfico de 6 El cdigo de SimuRob es abierto y accesible a los
grados de libertad empleado en la industria de la programadores, siendo posible crear nuevos robots,
automocin para tareas de soldadura, montar una pequea clula de fabricacin flexible,
recubrimientos, manipulacin de objetos, etc. probar nuevos algoritmos en la generacin de
Actualmente la UPCT cuenta con uno para tareas trayectorias, etc.
docentes.
La forma ms sencilla de programar el robot es
mediante una consola que lleva incorporado [2], por
tanto condiciona que no pueda haber ms de un
usuario trabajando con l.
Debido a ello surge el programa SimuRob,
realizado como Proyecto Fin de Carrera [12] y que
permite el acceso simultneo de los alumnos a un
robot virtual que emula el comportamiento del
robot IRB-1400 (figura 1).
El simulador ha sido elaborado en Visual C++, y
permite el conocimiento en profundidad de los
aspectos ms relevantes relativos a la programacin
del robot, siendo una de sus caractersticas
principales la incorporacin de una consola virtual
(Figura 2) que imita a la del IRB-1400. Figura 1: Robot IRB-1400 y robot virtual.
En la actualidad existen diferentes simuladores,
unos de tipo comercial y otros no. Los primeros En el presente trabajo se abordarn los aspectos
adolecen de ciertas deficiencias como por ejemplo relativos al robot IRB-1400 que han sido
que son programas cuyo manejo no es intuitivo, no considerados en el diseo del simulador as como
estn enfocados a la docencia, ninguno presenta un las caractersticas ms importantes de ste.
joystick 3D y su cdigo no es abierto, no pudiendo El artculo est estructurado en cuatro apartados: el
adaptarse a posibilidades nuevas. Por otra parte primero corresponde a esta introduccin, en el
entre los no comerciales se ha visto que presentan segundo se describe la cinemtica (directa e
parpadeos a cada movimiento del robot, no inversa) del robot IRB-1400, en el tercero se
describen las principales caractersticas del
simulador SimuRob y por ltimo en el cuarto se coordenadas articulares. Existen dos problemas
exponen las conclusiones. fundamentales a resolver en la cinemtica del
robot. El primero de ellos se conoce como el
problema cinemtico directo [3] y consiste en
determinar, conocidos los valores de las
articulaciones, cul es la posicin y orientacin del
extremo final del robot con respecto a un sistema de
coordenadas que se toma como referencia. El
segundo, denominado problema cinemtico inverso
[3] resuelve la configuracin que debe adoptar el
robot para que su extremo alcance una posicin y
orientacin conocida.

2.1.1 Cinemtica directa del IRB 1400

Un robot manipulador puede considerarse una


cadena cinemtica formada por objetos rgidos o
eslabones unidos entre s mediante articulaciones.
Figura 2: Consola virtual de programacin Se puede establecer un sistema de referencia fijo
situado en la base del robot y describir la
localizacin de cada uno de los eslabones con
2 SISTEMA FSICO respecto a dicho sistema de referencia.
Las herramientas matemticas que se han utilizado
El robot IRB 1400 es un robot industrial de 6 ejes para describir la configuracin del robot son las
diseado por la casa ABB Robotics AB, matrices de transformacin homogneas, los
especialmente diseado para tareas de soldadura y cuaternios y el algoritmo de Denavit-Hartenberg
manipulacin de objetos en ciclos rpidos de [3]. En la Tabla 2 se muestran los parmetros de
trabajo. El robot ha sido concebido como una DenavitHartenberg asociados a la cinemtica
estructura abierta capaz de establecer comunicacin directa del robot IRB-1400. En la Figura 3 se puede
con sistemas externos, con la finalidad de formar observar el esquema de situacin de ejes en el
parte de clulas de fabricacin flexibles. robot.
El IRB 1400 est equipado con el sistema operativo
BaseWare OS [1], que controla todos los aspectos Parmetros
del robot, tales como el control de movimientos, i i di ai i
desarrollo y ejecucin de programas de aplicacin,
comunicacin, etc. Este sistema operativo se
1 1+90 475 150 90
localiza en las tarjetas de su armario controlador 2 2+90 0 600 0
S4. Los movimientos que puede ejecutar el robot 3 3 0 120 90
son los que se resumen a continuacin: 4 4 720 0 -90

Eje Movimiento angular


5 5 0 0 90
1 170 -170 6 6 85 0 0
2 70 -70
3 70 -65 Tabla 2: Tabla de Denavit-Hartenberg
4 150 -150 correspondiente al IRB-1400
5 115 -115
6 300 -300 2.1.2 Cinemtica inversa

Tabla 1: Alcance de movimientos del robot. El objetivo de la cinemtica inversa, consiste en


encontrar los ngulos que deben girar las
2.1 CINEMTICA DEL ROBOT articulaciones del robot para que su extremo se
posicione y oriente de una forma determinada.
La cinemtica del robot estudia el movimiento del La solucin de la cinemtica inversa del robot se ha
mismo con respecto a un sistema de referencia. As obtenido aplicando el mtodo del desacoplo
la cinemtica se interesa por la descripcin analtica cinemtico en el cual primero se resuelve para los
del movimiento espacial del robot como una tres primeros ejes (los que posicionan) y
funcin del tiempo y en particular por las relaciones posteriormente para los tres finales (los que
entre la posicin y la orientacin del extremo final orientan).
del robot con los valores que toman sus
del robot virtual mediante la consola virtual y su
joystick 3D.
Estos programas pueden ser testeados para realizar
una comprobacin de errores. Tambin es factible
la ejecucin de los programas realizados en el robot
real, puesto que presentan una compatibilidad total
con el mismo (figura 5).

Figura 5: Prestaciones de SimuRob

Figura 3: Situacin de articulaciones en el robot En los siguientes subapartados se aborda con


IRB-1400 detalle las prestaciones de SimuRob.

La cinemtica inversa que emplea SimuRob est 3.1.1 PROGRAMACIN


implementada en una funcin C++. Dicha funcin
puede ser modificada por futuros programadores. Mediante el panel de programacin disponible en la
consola virtual es factible escribir un programa
3 SIMUROB moviendo el joystick virtual, que se maneja con el
ratn, gracias al cual el usuario posicionar y
Como se ha mencionado en el apartado 1, la orientar el extremo del robot de manera anloga a
consola de programacin del robot IRB-1400 como procedera en la realidad.
solamente permite ser manejada por una persona, lo El lenguaje de programacin empleado es el
cual no resulta prctico para la docencia. lenguaje RAPID [1]. El lenguaje RAPID,
Para agilizar las clases surge el programa SimuRob, desarrollado por la empresa ABB Robotics,
permitiendo el acceso simultneo de todos los constituye uno de los ltimos lenguajes de
alumnos al manejo del robot virtual de manera programacin de robots aparecido en el mercado.
anloga al manejo del robot en la realidad. El Su lanzamiento en el ao 1994 supone un nuevo
programa realizado en Visual C++ consta paso adelante en el desarrollo de herramientas de
bsicamente de una consola de programacin, un programacin para robots comerciales.
robot virtual y una zona de edicin de programas Se trata de un lenguaje altamente estructurado que
(figura 4). recuerda a un lenguaje de propsito general que
incluye la utilizacin de procedimientos y
funciones. Un programa escrito en RAPID consiste
en una serie de instrucciones que describen el
trabajo del robot. Cada instruccin tiene asociada
una serie de parmetros que describen de forma
completa la accin a realizar.
SimuRob es capaz de escribir sencillos programas
RAPID mediante su consola de programacin y de
realizar una interpretacin y simulacin de los
mismos con su robot virtual. En este sentido
SimuRob es capaz de programar secuencias de
movimientos y de apertura y cierre de pinzas.

3.1.2 SIMULACIN

El software realizado permite la ejecucin de los


Figura 4: Captura de pantalla del programa programas. Durante la simulacin es factible
SimuRob visualizar los ejes de las articulaciones robticas
mediante la funcin Ejes, que hace transparente
al robot virtual, ser entonces posible ver el
SimuRob permite la programacin de movimientos movimiento relativo de los ejes en las diferentes
por el mtodo de guiado punto a punto del extremo articulaciones. Adems SimuRob permite
contemplar la escena desde varias perspectivas as Verificar y ejecutar los programas
como rotarla. Tambin se han incluido utilidades realizados, visualizado los movimientos
como zoom local (figura 6) y global para visualizar del robot virtual.
detalles. Ejecutar los programas realizados en el
robot real, introducindolos en su armario
de control.

Figura 6: Funcin de zoom local.

Entre las caractersticas del programa cabe destacar Figura 8: Funcin de traza.
la posibilidad de situar y manipular objetos
mediante la herramienta pinza (figura 7). Adems 3.1.3 COMPROBACIN
permite ver la trayectoria que sigue la herramienta
durante su movimiento (figura 8). Los programas escritos en RAPID son factibles de
ser grabados en un disco flexible e insertados en la
disquetera del armario de control del robot IRB-
1400 para su ejecucin en el sistema real. Esto
permitir a los alumnos programar trayectorias y
orientaciones con el robot virtual en sus
ordenadores para posteriormente poder
verificarlos y ejecutarlos en el laboratorio de
prcticas con el robot real.

4 CONCLUSIONES
En el presente artculo se ha descrito el software
SimuRob. Simulador bajo Windows del robot
antropomrfico IRB 1400. El programa ha sido
realizado en Visual C++, lenguaje ampliamente
Figura 7: Ejemplo de manipulacin de objetos
empleado para la programacin de simuladores de
durante la simulacin de un programa.
robots, debido a su gestin automatizada de
memoria, adems de ser un lenguaje estructurado,
De forma sintetizada Simurob permite:
orientado a objetos, muy extendido entre los
programadores. Adems, Visual C++ es uno de los
Simular el comportamiento cinemtico del
lenguajes de programacin que propone la casa
robot IRB 1400, mediante un robot virtual.
ABB para una posible comunicacin con el IRB
Permitir el guiado del robot virtual 1400.
mediante un cuadro de dilogo en forma En el diseo y programacin de SimuRob no se han
de consola, que incluye un joystick 3D. utilizado libreras grficas externas. Todas sus
Colocar diferentes objetos en su entorno funciones para la representacin grfica estn
de trabajo, agarrarlos y cambiarlos de implementadas en los archivos fuente del programa
posicin y orientacin. y su comprensin es suficientemente accesible a
Programar los movimientos del robot futuros programadores que podrn utilizarlas o
virtual mediante guiado punto a punto de modificarlas como deseen.
su extremo, de manera similar a como se En la actualidad existe software de similares
programa el IRB-1400. caractersticas a SimuRob, tanto en forma de
programas comerciales como de programas de libre depositada en mi criterio durante la elaboracin del
distribucin. Ninguno de ellos incluye la facilidad mismo.
de un joystick para el guiado del robot, presentando
la mayora un manejo complicado. Adems los Referencias
programas de libre distribucin suelen presentar
parpadeos a cada secuencia de movimiento y su [1] ABB Robotics Products AB. Gua de
representacin grfica no tiene la calidad de Referencia RAPID. Baseware OS 2.1
SimuRob.
El programa realizado permite el manejo de un [2] ABB Robotics Products AB. Manual del
robot virtual semejante al IRB 1400 mediante una Producto IRB-1400.
consola virtual que incluye un joystick para el
guiado del robot. Ambos, consola y robot virtual [3] Barrientos A. et al. Fundamentos de
interactan y pueden visualizarse simultneamente Robtica. McGraw-Hill. 1997
en pantalla. Mediante la implementacin de
numerosas utilidades en la visualizacin de la [4] Camelot.
escena tales como diferentes perspectivas, www.camelot.dk
visualizacin de ejes de articulaciones, rotaciones
de puntos de vista, funciones de contraste de color, [5] EasyRob.
funciones de visualizacin de trayectorias, etc., www.easyrob.de
SimuRob consigue materializar la filosofa con la
cual fue diseado: permitir el conocimiento en [6] Move Master Mitsubishi Simulator.
profundidad de la cinemtica y los movimientos del http://sop.upv.es/srd/k1.html.
IRB-1400.
Con el empleo de herramientas por el robot tales [7] Petzold C., Yao P. Programacin en
como pinzas o pistolas de soldadura, y gracias a Windows 95. McGraw-Hill, 1996
sus funciones de manipulacin de objetos, a su
algoritmo de agarre de piezas, y su capacidad para [8] QuickTeach.
generar cdigo RAPID, SimuRob ofrece la www.abb.com/robotics.
posibilidad de realizar programas complejos que
posteriormente podrn ser ejecutados por el robot [9] RoboSim.
real. www.uco.es/~aromero/robosim/
SimuRob ha sido diseado para ofrecer un fcil
manejo del mismo, pudiendo ser manipulado por [10] Robot3d.
usuarios noveles, sin nociones en robtica, ni en el www.robot3d.com
lenguaje de programacin de robots RAPID,
pudiendo ser empleado para un aprendizaje de [11] SimRobot.
conceptos tales como cinemtica directa e inversa, www.informatik.uni-bremen.de/simrobot/
movimiento de eslabones, el concepto de cuaternio win16_e.htm
de orientacin, etc., adems de poder emplearse en
el aprendizaje del manejo de IRB 1400 debido a la [12] SimuRob. Simulador del robot IRB-1400.
similitud de su consola virtual con la consola real. Proyecto Fin de Carrera. Autora: M. Beltrn
Otra de las ventajas del software programado es la Blanco. UPCT. Marzo 2004.
de ofrecer un cdigo abierto, ofreciendo una lgica
de programacin verstil para la simulacin de
nuevos algoritmos y funciones, con la posibilidad
de ser ampliado en un futuro. Debida a esta
caracterstica, SimuRob podr incrementar sus
funciones, incorporar cintas transportadoras,
interaccionar con el entorno mediante algoritmos de
visin artificial, siendo posible la integracin del
robot virtual en una clula de fabricacin flexible.

Agradecimientos

Mis agradecimientos a los profesores que han


dirigido el diseo y la programacin de SimuRob,
los doctores D. Jorge Juan Feliu Batlle y D. Jos
Manuel Cano Izquierdo, por su inters y ayuda en
la elaboracin del proyecto y por la confianza

Vous aimerez peut-être aussi