Anda di halaman 1dari 7

Simulador de un Robot SCARA de 4 Grados de Libertad

Basado en Realidad Virtual



Diego Checa
Universidad del Cauca
Calle 5 No. 4-70
5728209820 Ext. 2120
dcheca@unicauca.edu.co

Diana Luna
Universidad del Cauca
Calle 5 No. 4-70
5728209820 Ext. 2120
dluna@unicauca.edu.co

Victor Mosquera
Universidad del Cauca
Calle 5 No. 4-70
5728209820 Ext. 2120
mosquera@unicauca.edu.co


ABSTRACT
Este artculo describe las fases de la construccin de una
simulacin virtual de un robot SCARA de 4 grados de libertad. Se
us un modelo matemtico realizado mediante el software
SYMORO con los parmetros fsicos de robot Adept Cobra 800i.
El simulador construido permite usar 4 tipos de trayectorias
predefinidas (circular, lineal, triangular, pick-up) usando dos tipos
de control (PID, CTC). La implementacin del simulador se
realiz en Easy Java Simulations (EJS). La aplicacin obtenida
fue validada con la simulacin desarrollada en Matlab 7.

Keywords
Robtica, control de robots, ambientes colaborativos de
aprendizaje.
1. INTRODUCTION
La exploracin en el campo de la realidad virtual se remonta a
fines de los aos sesenta con los avances obtenidos por el grupo
de investigacin en Harvard, liderado por Ian Suterland, dando
como resultado el primer casco de realidad virtual el cual poda
determinar el ngulo y posicin de la cabeza para entregar la
imagen correspondiente, generando as la sensacin de un mundo
diferente al real [1-4].

Desde aquel entonces los avances en cuanto a la simulacin
virtual han sido realmente grandiosos [1]. Gracias al continuo
aumento en la capacidad de cmputo y las nuevas tcnicas para
generar grficos en computador, han permitido generar novedosas
aplicaciones para el desarrollo e investigacin en distintas reas
de la ciencia.

No obstante ciencias como la robtica, tambin avanzan a pasos
agigantados en la obtencin de nuevos y mejores sistemas que
permitan optimizar los procesos productivos e incrementar la
seguridad en situaciones crticas. Ahora es posible entrenar
pilotos de aviacin sin siquiera dejar el suelo [2], manejar
maquinaria en ambientes peligrosos mediante control remoto,
realizar una operacin quirrgica en un paciente virtual [3], etc.

Los costos en la robtica son bastantes altos debido a la gran
cantidad de elementos de alta precisin y el tiempo de
construccin que tienen los prototipos, es por eso que muchas
empresas vienen adelantando procesos de simulacin
computarizada para disminuir los factores de construccin antes
mencionados [4], [5]. Es en este punto donde la realidad virtual
juega un papel importante dentro de la robtica, ya que, permite
acelerar el proceso de desarrollo, adems de permitir optimizar los
resultados obtenidos. Sin embargo en muchas instituciones
educativas no se dispone de suficientes recursos como para
comprar las licencias del software de simulacin o para disponer
de una sala de cmputo con altas capacidades de procesamiento
para ejecutar dichas aplicaciones.

La idea de este proyecto es mostrar una forma de utilizar la
realidad virtual no inmersiva en el proceso educativo de la
robtica optimizando los costos tanto econmicos como
computacionales. Para eso, este escrito ha sido organizado de la
siguiente manera: el tem 2 contiene los elementos necesarios para
tener en cuenta en la construccin de la simulacin virtual, el tem
3 contiene un resumen de las caractersticas de las herramientas
que se tuvieron en cuenta para la seleccin del software en el cual
se realizara este proyecto, el tem 4 presenta la descripcin de
aplicacin construida, el tem 5 trata la validacin del simulador
mediante la comparacin con una simulacin del mismo modelo
pero en el ambiente de trabajo Matlab 7. En el tem 6 se presentan
las conclusiones del presente trabajo.
2. ROBOT SCARA
Para el control de un manipulador robtico, como es el caso del
SCARA, es necesario disponer de los siguientes elementos:

Modelo matemtico del robot.
Caractersticas fsicas del robot SCARA modelo.
Seleccin de los controladores y especificacin de sus
modelos.
Especificar las trayectorias a seguir.

2.1. Modelado del robot.
El robot SCARA es un manipulador serial de 4 grados de libertad
[6] ver Figura 1, en esta figura de puede observar los ejes de
rotacin de las articulaciones rotides (z
i
), las distancia entre las
articulaciones (D
i
) y el desplazamiento de la articulacin
prismtica (R4). El robot tiene como principales caractersticas:
ser un sistema no lineal, altamente acoplado y variable en el
tiempo (la dinmica del brazo cambia con el peso de la carga) [7].
El Modelo Geomtrico Directo (MGD) permite determinar la
posicin cartesiana del rgano terminal con base en las posiciones
de las otras articulaciones [8]. Para determinar la posicin del
rgano terminal del robot en referencia con la base del
manipulador, se debe usar la matriz de transformacin
0
T
4
que se
presenta en la Ecuacin 1 [8].
Cuarto Congreso Colombiano de Computacin 4CCC
Sociedad Colombiana de Computacin
UNAB - UIS
2009 Los Autores. Todos los Derechos Reservados.




Figura 1. Parmetros del manipulador SCARA.

0
4
123 123 0 1 2 3 1 2 1 2 3
123 123 0 1 2 3 1 2 1 2 3
0 0 1 4
0 0 0 1
C S CC D C D S S D
S C S C D S D C S D
T
r
+

+ +

=



(1)

Donde las variables D2, D3 y r4 representan la distancia entre las
articulaciones 1-2, 2-3 y la posicin de la cuarta articulacin.
Estas medidas dependen del tipo de manipulador que se escogi,
en este caso es el robot Adept Cobra 800i.(ver tabla I, II, III, IV
para ver los valores de estos parmetros). C123 = Cos(q1+q2+q3),
S(123)=Sin(q1+q2+q3), donde qi son los ngulos de cada
articulacin [8].

El Modelo Geomtrico Inverso (MGI) se puede obtener mediante
el mtodo de Paul [8] utilizando una de las ecuaciones
dependiendo del tipo de manipulador. De esta manera es posible
obtener las posiciones en coordenadas articulares de cada
articulacin a partir de la ubicacin cartesiana de cada
articulacin. Los dos modelos geomtricos son los que permiten
ubicar al robot en el espacio cartesiano, necesario para mostrar
una simulacin en 3D del robot [8].

El Modelo Dinmico Directo (MDD) permite expresar el
comportamiento del manipulador ante las seales de entrada. El
Modelo Dinmico Inverso (MDI) permite expresar los torques del
sistema () en funcin de la posicin (q), velocidad ( ) y
aceleracin ( ) articular y las fuerzas externas (f
e
) [8].

( , , , )
e
f q q q f = & &&
(2)
Para obtener el modelo dinmico existen 2 mtodos comnmente
conocidos, el de Lagrange y el de Newton-Euler. Para el presente
trabajo se utilizar el mtodo de Lagrange [8].

Este modelo es el que normalmente se utiliza para realizar las
simulaciones del robot ya que entrega la aceleracin en funcin de
los torques entregados al sistema.

1
( ) [ ( , ) ( )] q A q C q q q Q q

= && & & (3)



La matriz A representa la matriz de inercias del sistema, C
representa la matriz de fuerzas centrpetas y de coriolis y Q el
vector de fuerzas gravitacionales. As, al calcular la inversa de la
matriz A y aplicando la ecuacin 3 se obtiene la aceleracin del
sistema. Al integrar la aceleracin obtenida es posible obtener la
velocidad y con una segunda integracin la trayectoria en
coordenadas articulares [8].

2.2. Caractersticas fsicas del robot.
Se escogi el robot Adept Cobra 800i para ser representado
virtualmente en nuestra simulacin [9]. Las caractersticas de este
manipulador son las siguientes.

Tabla 1. Paramtros geomtricos del SCARA.
j
j

j
d
j

j
r
j
1 0 0 0
1
0
2 0 0 0.425m
2
0
3 0 0 0.375m
3
0
4 1 0 0 0 r
4

Tabla 2. Valores mximos de posicin articular.
Articulacin Posicin articular mxima
1 105 grados
2 175.5 grados
3 360 grados
4 0.21metros

Tabla 3. Valores mximos de velocidad articular.
Articulacin
Velocidad articular
mxima
1 386 / g seg

2 720 / g seg

3 1200 / g seg
4 1.1 / m seg

Tabla 4. Parmetros inerciales de base del SCARA.
Parmetro Valor
ZZR1 3.38
ZZR2 0.063
ZZR3 0.1
MXR2 0.242
MXR3 0.2
MY2 0.001


MYR3 0.1
I
a2
0.045
I
a3
0.045
I
a4
0.045
M4 0.5

Las unidades para los elementos del tensor de inercia son Kg.m
2
,
para el primer momento de inercia son Kg.m, para la inercia del
accionador Kg.m
2
y para las masas Kg.

2.3. Tcnicas de control.
El problema de control consiste en: dados unos vectores deseados
de posicin
d
q y velocidad

d
q&
, determinar los pares necesarios
para llevarlos a cabo [9], [10], [11]. Existen diferentes maneras de
disear el sistema de control y de ajustar sus parmetros. Para
desarrollar la simulacin se escogieron 2 de los controladores ms
comunes en las aplicaciones industriales, estos son PID y CTC
[12], [13].

La estructura del controlador PID se muestra en la Figura 1.


Figura 2. Esquema del control PID en el espacio articular.

Cuya ley de control est definida por:

( ) ( ) ( )
d d d
p v i
k q q k q q k q q dt =

& & (4)



Donde es el par de control,
d
q y
d
q& son la posicin y
velocidad deseadas respectivamente, q y q& son la posicin y
velocidad medidas, k
p
, k
d
, k
i
son matrices diagonales de (nxn)
cuyos elementos genricos son las ganancias k
pj
proporcional, k
dj

derivativa y k
ij
integral [4], [8], [9], [13].

La sintonizacin del controlador PID se realiz por medio del
bloque de Simulink Signal Constrain. El resultado de dicha
sintonizacin se puede observar en la tabla 5.


Tabla 5. Sintonizacin control PID.
Kp Ki Kv
Art 1 210000 1000 1500
Art 2 80000 1000 200
Art 3 40000 1000 60
Art 4 70000 1000 500

El controlador CTC o Control por Par Calculado permite obtener
una mejor precisin dinmica a altas velocidades en comparacin
con el controlador PID [14].

La implementacin de este tipo de controlador requiere disponer
del modelo dinmico inverso del manipulador [15]. La estructura
del CTC implementado es mostrada en la Figura 2.



Figura 3. Esquema para el control CTC articular.

La ley de control del CTC est dada por:

( ) ( )
d d d
v p
q k q q k q q = && & & (5)

De igual forma que se sintoniz el controlador PID, se procedi
para el CTC. El resultado de la sintonizacin se presenta en la
tabla 6.

Tabla 6. Sintonizacin del control CTC.
Kp Kv
Art 1 320000 1200
Art 2 280000 850
Art 3 200000 1200
Art 4 120000 1500

3. DESCRIPCIN DE LA APLICACIN
DESARROLLADA
Easy Java es un ambiente que permite simular de forma discreta, o
simplemente realizar una simulacin por computador, con fines
pedaggicos o cientficos, un fenmeno natural a travs de la
visualizacin de los diferentes estados que ste puede presentar.
Cada uno de estos estados est descrito por un conjunto de
variables que cambia en el tiempo debido a la iteracin de un
cierto algoritmo.

El programa desarrollado para realizar la simulacin del robot
Scara se bas en la clsica programacin estructurada, al igual
como se desarroll en Matlab; definiendo funciones que realicen
un trabajo especifico como por ejemplo calcular el modelo
dinmico directo e inverso del robot, calcular la ley de control,
etc. Las cuales se ejecutan de acuerdo al proceso de simulacin.



La interfaz de simulacin desarrollada con el entorno de
simulacin, se dise de tal forma que el usuario pueda deducir
con facilidad cuales son las opciones que presenta la aplicacin y
en donde acceder a estas. El resultado de la aplicacin est
compuesto por diferentes ventanas.

La Figura 4 muestra la ventana de simulacin de la aplicacin, en
donde se encuentra representado el modelo virtual del robot
SCARA realizando la trayectoria triangular. Como esta ventana es
la ventana principal de la aplicacin, es de esperarse que cada vez
que se cierre esta ventana se dar por terminada la simulacin,
esto no sucede con las dems ventanas y dilogos que posee la
simulacin.


Figura 4. Trayectoria triangular en el espacio virtual.

La regin verde representa el rea de trabajo en condiciones
normales del manipulador. La regin roja representa un rea a la
cual el robot no puede acceder. Los ejes de la aplicacin (lneas
azules Figura 4) se dibujaron para permitir que el usuario pueda
navegar y cambiar la vista de la aplicacin teniendo en cuenta una
referencia espacial. En la parte superior de la ventana (ver Figura
5) se encuentran los mens que permiten configurar la simulacin
segn los requerimientos del usuario.

Men simulacin: Aqu se encuentran las opciones que
permiten detener, reanudar, reiniciar y detener la
simulacin.

Men trayectoria: Permite seleccionar entre las cuatro
trayectorias que trae la simulacin de manera
predeterminada, estas son circular, lineal, triangular y pick
and place que representa una trayectoria en la cual el
manipulador recoge un objeto, los transporta y luego lo
descarga.

Men Tipo de control: La simulacin soporta 2 tipos de
control para el robot, una es el clsico controlador PID y
la otra es el control CTC, mediante este men se puede
escoger el uso de cualquiera.

Men Ventanas: este men permite hacer visible o no los
resultados de la simulacin correspondientes a los errores
cartesiano y articular, la trayectoria, configuraciones del
PID, CTC, de la posicin y tamao de la trayectoria.

Como se mencion anteriormente, la aplicacin cuenta con varias
ventanas desde las cuales se puede configurar y visualizar
resultados. Estas son:



Figura 5. Mens de la ventana principal.

Ventana Error Cartesiano: Muestra el error o diferencia
entre la trayectoria deseada y la trayectoria obtenida luego
de la simulacin (ver Figura 6).



Figura 6. Ventana error cartesiano.




Ventana Error Articular: Muestra el error entre la
trayectoria articular deseada y la obtenida por cada una de las
articulaciones (ver Figura 7.



Figura 7. Ventana error articular.


Ventana Trayectoria: Muestra la trayectoria deseada en
verde y la obtenida en rojo para facilitar comparacin (ver
Figura 8.




Figura 8. Ventana trayectoria.

Ventana Configuracin del controlador: Son dos
ventanas la cuales permiten configurar la constantes de los
controladores, tanto PID como CTC (ver Figura 8).

La aplicacin tambin cuenta con mensajes de advertencia que se
activan cuando las trayectorias estn por fuera del rea de trabajo,
impidiendo as que se cometa algn error y falle la simulacin.
Cada vez que aparece un mensaje de error la simulacin toma los
valores por defecto.

Para cuantificar el error de seguimiento entre las trayectorias
deseadas y las obtenidas se agreg la capacidad de calcular el
promedio del error al cuadrado. Para calcular este valor de forma
nica se calcula primero el valor del promedio del ndice al
cuadrado, del promedio del error en espacio cartesiano de cada
uno de los ejes (X y Y) [9]. Luego, con los dos valores, se obtiene
un nico indicador por medio de un promedio (ver Figura 10).


a)


b)

Figura 8. Ventana configuracin del controlador,
a) PID, b) CTC

Ventana Tamao y posicin inicial: Permite configurar
el punto inicial de la trayectoria as como el tamao de la
misma (ver Figura 9).



Figura 9. Ventana tamao y posicin inicial.

=
=
N
i
x
k xo k xd
N
E
0
2
)) ( ) ( (
1
(9)

=
=
N
i
y
k yo k yd
N
E
0
2
)) ( ) ( (
1
(10)

El error total sera entonces:



2
y x
t
E E
E
+
=
(11)



Figura 10. Ventana del promedio del error cartesiano al
cuadrado.

Una de las grandes bondades de Easy Java (EJS) es la capacidad
de crear un laboratorio virtual de manera muy fcil. Esto es
posible gracias a que la herramienta genera dos archivos, uno, el
cual es un archivo jar, ejecutable desde cualquier computador que
disponga de la mquina virtual 6 de Java, el otro es un applet que
puede ser ejecutado desde cualquier navegador que permita ver
contenido java. El segundo archivo, como es evidente por ser un
applet, viene incluido en una pgina web, junto con una
introduccin o una explicacin de la simulacin, la cual debe ser
editada por la persona que crea la simulacin.

Mediante un servidor web es posible publicar la pagina que
contiene el applet y dejarlo a disposicin de cualquier computador
que pertenezca a la red interna en la que se encuentra el servidor,
inclusive sera posible publicarlo en internet, para que cualquier
persona pueda acceder al contenido de la simulacin.

La cantidad de clientes que puede soportar el servidor al mismo
momento depende en gran medida de las caractersticas del
servidor y de la velocidad de transmisin de datos de la red. Sin
embargo, la forma como trabajan los applets permite optimizar el
rendimiento del servidor, ya que son los clientes quienes ejecutan
la aplicacin con los propios recursos computacionales y no con
los del servidor.

Para el presente proyecto se utiliz el servidor Apache, el cual es
de libre distribucin para la conveniencia del presente trabajo.



Figura 11. Ventana principal de la aplicacin Web.


La figura 11 presenta la pgina web sobre la cual trabajo un
usuario remoto.

Se puede apreciar la ventana principal, la configuracin del
controlador, la trayectoria y la ventana que permite obtener el
promedio del error al cuadrado.

EJS es un programa realizado en lenguaje java, debido a esto para
poder ejecutar la aplicacin se debe tener instalado la maquina
virtual de java en el computador.


4. VALIDACIN DE LA SIMULACIN
Para determinar si la simulacin construida es en verdad una
herramienta confiable sobre la cual puedan trabajar profesores y
estudiantes de robtica, fue necesario comparar los resultados
obtenidos con una simulacin desarrollada en Matlab, usando la
misma implementacin del modelo utilizado en Easy Java. Para
realizar la validacin se utiliz como base de comparacin el
indicador descrito anteriormente (promedio del error al cuadrado).
En total se realizaron 8 pruebas con los siguientes resultados,
utilizando las trayectorias lineal y circular, adems se usaron dos
valores para el tiempo de muestreo: 1 y 0.1 milisegundo.

Tabla 6. Resultados de error de seguimiento para
el control PID.
Matlab Easy Java
Trayec.
h=0,001 h=0,0001 h=0,001 h=0,0001
Lineal 9,75E-11 6,35E-11 9,24E-11 5,17E-11
Circul. 9,74E-09 1,93E-11 1,12E-11 8,87E-12

Tabla 7. Resultados de error de seguimiento para
el control CTC.
Matlab Easy Java
Trayec.
h=0,001 h=0,0001 h=0,001 h=0,0001
Lineal 8,50E-11 4,47E-11 5,15E-11 2,32E-11
Circul. 8,50E-11 4,43E-10 1,34E-12 5,46E-13

Los resultados mostraron que el desempeo de Easy Java es
mayor que el obtenido en la simulacin construida en Matlab.
Aunque los resultados entre los controladores son tambin
diferentes, mostrando una mayor precisin cuando se uso el
controlador CTC, esto no permite desviar la atencin, siempre
hubo una superioridad de EJS sobre la simulacin de referencia
(Matlab). Esta diferencia radica en la longitud de palabra que
maneja las dos herramientas de simulacin. Para Matlab el error
de redondeo es de 2.2204e-16 mientras que la maquina virtual de
Java tiene un error de redondeo de 1.4e-45. Estos valores dan una
explicacin de la diferencia de precisin entre las simulaciones.

5. RESULTADOS OBTENIDOS
Finalmente del desarrollo del proyecto se obtuvo el resultado
esperado, una herramienta que permitiera simular un robot
SCARA de 4 grados de libertad usando realidad virtual no


inmersiva. La nueva herramienta est muy distante a las
capacidades y facilidades que ofrece la simulacin construida en
Matlab. La interfaz permite a los estudiantes y profesores del rea
de robtica interactuar con un modelo matemtico de manera
dinmica y directa, sin necesidad de editar el cdigo principal,
haciendo que la ejecucin de la simulacin pueda ser transparente
para el usuario.

La capacidad que tiene Easy Java de generar applets permite la
creacin de un laboratorio virtual web o distribuido, al cual
puedan acceder los estudiantes desde diferentes sitios, incluso
desde su propia casa, para realizar experimentos, sin ninguna
restriccin como sucedera si se tuvieran prcticas con los
costosos robot educativos.

Esto se pudo comprobar mediante la creacin de un sitio web
sencillo que sirviera de presentacin a la simulacin. Para esto se
instal el servidor web Apache dentro de un computador que
pertenece a una Intranet (La red de la Universidad del Cauca),
motivo por el cual cualquier persona tena acceso a la herramienta
de simulacin creada en este proyecto.


6. CONCLUSIONES
El proyecto permiti la creacin de una aplicacin que permitiera
simular y visualizar un robot SCARA de 4 grados de libertad,
permitiendo configurar el tipo de trayectoria, sintonizacin del
control y ubicacin inicial del rgano terminal.

El uso de Java para crear la simulacin fue un acierto en trminos
de precisin. Las pruebas mostraron que aunque Matlab es un
programa muy eficiente existen otro tipo herramientas que,
incluso, pueden superar sus capacidades de procesamiento.

Por ltimo y ms importante fue que, a pesar de disponer de bajos
recursos, fue posible crear un modelo que use la realidad virtual
no inmersita, es software libre. Adems la herramienta resultante
es bastante liviana, puede ser ejecutada en un ordenador de
capacidades de cmputo normales, facilita la creacin de
laboratorios virtuales econmicamente ms accesibles a las
instituciones educativas y matemticamente confiables como lo
demostr la validacin realizada.




7. REFERENCIAS
[1] K. Nagao y J. Rekimoto. The world through the computer:
Computer augmented interaction with real world objects.
Sony Computer Science Laboratory Inc. Tokyo, Japn.
1995.
[2] F. Chavez, J. Bernard, et al. Advancing the State of the Art
in Flight Simulation via the use of Synthetic Environments.
Iowa State University. Iowa, Estados Unidos. 2001.
[3] Y. Cohen, C. Mavroidis, et al. Virtual reality robotic
telesurgery simulations using MEMICA haptic system.
Proceedings of SPIE's 8th Annual International Symposium
on Smart Structures and Materials. Newport, Estados
Unidos. Marzo, 2001.
[4] L. Vajta y T. Juhasz. Cutting Edge Robotics: The Role of
3D Simulation in the Advanced Robotic Design, Test and
Control. Vedran Kordic. Viena, Austria. 2005.
[5] D. Mller, P. Eleftheriou, et al. MARVEL - Mechatronics
Training in Real and Virtual Environments: Concepts,
Practices, and Recommendations. Deiter Muller. Bremen,
Alemania. 2005.
[6] Robot Institute of America (RIA) (23 de Agosto de 2005).
Mathematics concepts for robot design [en lnea].
Recuperado el 19 de Octubre de 2006, de
http://www.roboticsonline.com/articles.
[7] R. Suarez. Programacin, Planificacin y Control en
Robtica. Instituto de Organizacin y Control de Sistemas
Industriales (UPC). Barcelona, Espaa. 2006.
[8] W. Khalil y E. Dombre. Modeling identification and
control of robots London. Hermes Penton Science. 2002.
[9] A. Meneses y A. Lpez. Tesis de Grado, Control Difuso de
un Manipulador de Cuatro Grados de Libertad.
Universidad del Cauca. Popayn, Colombia. 2007.
[10] L. Acosta y M. Sigut. Matemticas y Robtica. SCTM05:
Sociedad, Ciencia, Tecnologa y Matematicas. Universidad
de la Laguna. Mxico. 2005.
[11] J. Craig. Introduction to robotics: mechanics & control.
Addison, Wesley. Indiana, USA. 1989.
[12] M. Willis. Proportional-Integral-Derivative control.
University of Newcastle MNPERE Company. Minneapolis,
Estados Unidos. 2003.
[13] K. strm y B. Wittenmark. Computer Controlled
Systems. Prentice Hall. New Jersey, Estados Unidos. 1997.
[14] M. Mendes, W. Kraus Jr., et al. Variable Structure
Position Control of an Industrial Robotic Manipulator.
Journal of the Brazilian Society of Mechanical Sciences.
Vol. 24, No 6, pp 169-176. Brasil. 2002.
[15] A. Vivas, P. Poignet. Control Predictivo de un Robot
Paralelo. Revista Iberoamericana de Automtica e
Informtica Industrial. Vol. 3, No 4, pp 46-53. Espaa.
2006.

Anda mungkin juga menyukai