Вы находитесь на странице: 1из 8

Asociacin Espaola de

Ingeniera Mecnica

XIX CONGRESO NACIONAL
DE INGENIERA MECNICA

Resolucin del problema cinemtico inverso en un robot
SCARA mediante grupos de Assur
A. Noriega Gonzlez, A. Garca Martnez, M. Muiz Calvente
Dpto. de Construccin e Ingeniera de Fabricacin. Universidad de Oviedo
noriegaalvaro@uniovi.es

Este artculo presenta una nueva formulacin para la resolucin de la cinemtica inversa de un robot
SCARA mediante grupos de Assur. Dicha formulacin minimiza el tiempo de resolucin del problema
cinemtico y permite definir, de manera inequvoca, el modo de trabajo del robot en cualquier instante de
la simulacin. Tambin permite identificar posibles configuraciones singulares del problema inverso.
Debido a las caractersticas comentadas, esta formulacin est especialmente indicada para utilizarse
en algoritmos automticos de planificacin de trayectorias en entornos cambiantes donde se deban
evitar colisiones.

1. INTRODUCCIN
Los grupos de Assur son bien conocidos en cinemtica. Sin embargo su uso en cinemtica
computacional no est muy extendido y casi siempre est centrado en el problema de la
posicin, siendo los problemas de la velocidad y la aceleracin escasamente tratados en la
bibliografa conocida [1]. Adems, sus formulaciones cinemticas suelen estar restringidas a
mecanismos planos.
En el caso de la robtica, su utilizacin ha estado centrada, casi siempre, en el anlisis
directo de desplazamientos [2,3,4] con el fin de estudiar la movilidad del robot o
manipulador, siendo la resolucin de la cinemtica directa e inversa muy poco habitual
[5,6].
La resolucin de la cinemtica directa e inversa tiene gran inters para la planificacin de
trayectorias, sobre todo, cuando se trata de conseguir trayectorias libres de configuraciones
singulares del robot. Por dicha razn, en este campo hay multitud de trabajos y enfoques.
Una variante interesante del problema de planificacin de trayectorias es el caso donde hay
que planificar la trayectoria de un robot para pasar por una serie de puntos de control
mviles a la vez que se evitan colisiones con otros cuerpos mviles dentro del espacio de
trabajo del robot [7]. Los algoritmos que resuelven este problema en cada instante del
movimiento necesitan probar y valorar muchas posibles trayectorias. Para que este proceso
sea lo ms rpido posible, se necesita que la simulacin cinemtica inversa de cada
trayectoria probada por el algoritmo tarde el menor tiempo posible. Una vez resuelto el
problema de la posicin en cada instante de la simulacin cinemtica inversa, se debe
analizar si dicha posicin constituye una configuracin singular del problema directo donde
se perdera el control del robot.
En este artculo se presentar una formulacin para la cinemtica inversa de un robot
SCARA basada en grupos de Assur. Dicha formulacin se derivar de la mostrada en [8] y
buscar minimizar el tiempo necesario para resolver el problema cinemtico e identificar
configuraciones singulares del robot. Para ello, se describir en primer lugar la cinemtica
del grupo de Assur RRR y, a continuacin, la del robot SCARA.
A. Noriega et al. XIX Congreso Nacional de Ingeniera Mecnica 2
2. CINEMTICA DEL GRUPO RRR
El grupo de Assur formado por dos eslabones y tres pares de revolucin se suele denominar
RRR y es de uso muy comn en cinemtica plana. El esquema de dicho grupo con sus dos
modos de ensamblaje posibles se puede ver en la figura 1.

A
B
C

x
y

A
B
C

x
y

Modo de ensamblaje 1 Modo de ensamblaje 2



Figura 1. Modos de ensamblaje del grupo RRR
La resolucin de la cinemtica del grupo RRR consiste en calcular la posicin del punto C
( e
C C
x y ), su velocidad ( e
C C
x y & & ) y su aceleracin ( e
C C
x y && && ) as como el ngulo formado por
el eslabn AC con el semieje X positivo ( ) y sus dos primeras derivadas temporales ( y & &&)
a partir de la posicin, velocidad y aceleracin de los puntos A ( , , , , e
A A A A A A
x y x y x y & & && && ) y B
( , , , , e
B B B B B B
x y x y x y & & && && ), las longitudes
AC
l y
BC
l y el modo de ensamblaje deseado.
En primer lugar, se debe calcular el ngulo que forma el segmento AB con el semieje X
positivo as como sus dos primeras derivadas temporales ( y
& &&
). Para ello se utilizar la
funcin cuyo diagrama de flujo y casos se muestran en la figura 2. Tambin se debe calcular
la distancia
AB
l y sus dos primeras derivadas temporales ( y
AB AB
l l
& &&
) con la funcin cuyo
diagrama de flujo y casos se muestran en la figura 3.
arctan
y
x

| |
=
|
\
2 2
1
1
y x y x
x y
x


=
| |
+
|
\
& &
&
[ ] [ ] [ ] : , Entradas posicin x y velocidad x y y aceleracin x y & & && &&
Si 0 x <
Si 0 x <
Si 0 y arctan
y
x

| |
= +
|
\
Si no arctan
y
x

| |
=
|
\
2 2
1
1
y x y x
x y
x


=
| |
+
|
\
& &
&
Si 0 x =
Si 0 y <
y
2

=
x
y
=
&
& ,
Si 0 y <
2

=
x
y
=
&
&
Si 0 y = vector nulo
( ) ( ) ( ) ( )
( )
2 2
2
2 2
2 y x y x x y y x y x x x y y
x y

+ +
=
+
&& && & & & &
&&
2
x y x y
y


=
& & &&
&&
y
2
x y x y
y


=
&& & &
&& ,
y
( ) ( ) ( ) ( )
( )
2 2
2
2 2
2 y x y x x y y x y x x x y y
x y

+ +
=
+
&& && & & & &
&& ,
y

Figura 2. Clculo del ngulo respecto al semieje X formado por un vector y sus derivadas temporales
Resolucin del problema cinemtico inverso en un robot SCARA mediante grupos de Assur 3
[ ] [ ]
[ ] [ ]
: Punto A ,
Punto B ,
A A A A A A
B B B B B B
Entradas posicin x y velocidad x y y aceleracin x y
posicin x y velocidad x y y aceleracin x y
(

(

& & && &&
& & && &&
( ) ( )
2 2
B A B A
l x x y y = +
( ) ( ) ( ) ( )
B A B A B A B A
x x x x y y y y
l
l
+
=
& & & &
&
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 2
2
B A B A B A B A B A B A B A B A B A B A
x x x x x x y y y y y y l x x x x y y y y l
l
l
+ + + +
=
&
& & && && & & && && & & & &
&&
Si 0 l
Si 0 l = y no existen l l
& &&

Figura 3. Clculo de la distancia entre dos puntos A y B y sus derivadas temporales
A continuacin, se puede plantear el teorema del coseno en el tringulo ABC y despejar el
ngulo , obteniendo la ecuacin 1. Si se deriva la ecuacin 1 respecto al tiempo dos veces,
se obtienen las ecuaciones 2 y 3. Las ecuaciones 4 y 5 muestran las expresiones que
definen y A B as como sus derivadas temporales.

arccos
A
B

| |
=
|
\

(1)

2
2
1
1
A B A B
B
A
B


=
| |

|
\
& &
&

(2)

( ) ( )
2 2
2 2 4
2
2
1 1
1
1
A B A B B A B A B B B
A A B A B
B B B
A
A
B
B

(
(

| |
(
= +
|
(
| | \
| |

( |
|
\
\
&& & && & &
& &
&&

(3)

( )
2 2 2 2
2 2
AC AB BC AB AB AB AB AB
A l l l A l l A l l l = + = = +
& & && & &&
(4)

2 2 2
AC AB AC AB AC AB
B l l B l l B l l = = =
& && & &&
(5)
Para que la ecuacin 2 sea vlida, hay que asegurar que [ ] 1,1 A B . Si esto no se cumple,
el grupo RRR no se puede montar. Si ( ) 1,1 A B , se pueden calcular la posicin,
velocidad y aceleracin del punto C a partir de las del punto A con las ecuaciones 6, 7 y 8
respectivamente.

( )
( )
cos
sin
C A AC
C A AC
x x l
y y l

= +
= +
(6)

( )
( )
sin
cos
C A AC
C A AC
x x l
y y l


=
= +
& & &
& & &
(7)
A. Noriega et al. XIX Congreso Nacional de Ingeniera Mecnica 4

( ) ( ) ( )
( ) ( ) ( )
2
2
cos sin
sin cos
C A AC
C A AC
x x l
y y l


= +
= + +
& && && &&
& && && &&
(8)
La expresin del ngulo y sus derivadas temporales depende del modo de ensamblaje.
Para el modo de ensamblaje 1, se usarn las expresiones de la ecuacin 9 y para el modo de
ensamblaje 2, las de la ecuacin 10.

= + = + = +
& & && &&
& && (9)

= = =
& & && &&
& && (10)
Si 1 A B = , los puntos A, B y C estn alineados y se puede calcular la posicin del punto C
a partir de la del punto A con la ecuacin 6 teniendo en cuenta que 0 = . Si 1 A B = , los
puntos A, B y C tambin estn alineados y se puede calcular la posicin del punto C con la
ecuacin 6 teniendo en cuenta que = . Sin embargo, en estos dos ltimos casos,
&
y

&&
no estn definidas ya que se anula el denominador de las ecuaciones 2 y 3. De hecho,
ambas soluciones corresponden a una configuracin singular del grupo RRR. Existe un caso
adicional donde la diada se puede montar pero la posicin del punto C est indefinida
debido a que el grupo RRR se encuentra en una configuracin singular con incremento de
movilidad [9]. Este caso ocurre cuando los puntos A y B coinciden y las longitudes
AC
l y
BC
l
tambin coinciden.
El conocimiento de si el grupo RRR se encuentra en alguno de estos tres ltimos casos
permite identificar las configuraciones singulares del grupo y evitar errores y bloqueos
durante la simulacin cinemtica inversa del robot SCARA.
Se ha programado en Matlab la cinemtica del grupo RRR con la modelizacin mostrada
en este artculo as como en coordenadas relativas y coordenadas naturales [10]. En el caso
de las coordenadas relativas, el cdigo se ha implementado de manera que tambin permite
la eleccin previa del modo de ensamblaje. En el caso de las coordenadas naturales, se
genera la aproximacin inicial de la posicin, aadiendo a la solucin obtenida con la nueva
modelizacin, un vector de nmeros aleatorios generados segn una distribucin de Gauss
de media cero. Adems, como en el caso de las coordenadas naturales no se puede asegurar
la convergencia a la misma solucin, se repite la resolucin de la cinemtica con una nueva
aproximacin inicial de la solucin generada como se ha indicado ms arriba hasta que se
obtiene la misma solucin que con las otras dos modelizaciones.
El proceso descrito se repite 100 veces midiendo en cada repeticin el tiempo que se tarda
en resolver la cinemtica del grupo con cada una de las 3 modelizaciones. En la figura 4 se
muestran los resultados obtenidos.
Resolucin del problema cinemtico inverso en un robot SCARA mediante grupos de Assur 5

0 10 20 30 40 50 60 70 80 90 100
0
1
2
3
4
5
6
7
8
x 10
-4
Carreras
T
i
e
m
p
o

d
e

c

l
c
u
l
o

(
s
)


Grupos de elementos
Coordenadas relativas
Coordenadas naturales

Figura 4. Comparativa de tiempo de resolucin de las tres modelizaciones del grupo RRR
El tiempo empleado para la resolucin de la cinemtica del grupo RRR con la nueva
formulacin es, aproximadamente, un 17% del empleado cuando ese mismo grupo se
modeliza en coordenadas naturales y un 45% del empleado con las coordenadas relativas.
Se puede observar, adems, que la modelizacin propuesta en este artculo y la obtenida
con una modelizacin similar en coordenadas relativas no muestran casi variabilidad de
tiempos mientras que el tiempo de resolucin de la cinemtica modelizada en coordenadas
naturales depende de la aproximacin inicial.
3. CINEMTICA INVERSA DEL ROBOT SCARA
Para formular la cinemtica inversa del robot SCARA, se definir el sistema de referencia
que se puede ver en la Figura 5.
X
Y
Z
O
A
B
C
D
3
l
1

X
Y A
B
C
1

Vista en planta

Figura 5. Esquema del robot SCARA
Para realizar la modelizacin se considera que se conocen las longitudes
OA
l ,
AB
l y
BC
l as
como el modo de ensamblaje deseado para el robot. Como se va a resolver la cinemtica
inversa, se dispondr de la posicin ( , ,
D D D
x y z ), velocidad ( , ,
D D D
x y z & & & ) y aceleracin
( , ,
D D D
x y z && && && ) del punto D del robot SCARA y se desea calcular, en cada instante temporal, el
ngulo
1
y sus derivadas temporales (
1 1
y
& &&
), el ngulo
2
y sus derivadas temporales
(
2 2
y
& &&
) y la distancia
3
l y sus derivadas temporales (
3 3
y l l
& &&
).
A. Noriega et al. XIX Congreso Nacional de Ingeniera Mecnica 6
Las coordenadas del punto O y sus derivadas temporales son nulas por estar situado en el
origen y ser un punto fijo tal y como se muestra en la ecuacin 11.

0
0
0
O O O
O O O
O O O
x y z
x y z
x y z
= = =
= = =
= = =
& & &
&& && &&
(11)
Las coordenadas del punto A tambin son constantes y su expresin se muestra en la
ecuacin 12.


0
0
A O A O A O OA
A A A
A A A
x x y y z z l
x y z
x y z
= = = +
= = =
= = =
& & &
&& && &&
(12)
Las coordenadas del punto C se obtienen a partir de las de los puntos A y D y su expresin
se muestra en la ecuacin 13.

z
z 0
z 0
C D C D C A
C D C D C
C D C D C
x x y y z
x x y y
x x y y
= = =
= = =
= = =
& & & & &
&& && && && &&
(13)
Entonces, los valores de
3
l ,
3 3
y l l
& &&
se pueden calcular directamente como se muestra en la
ecuacin 14.

3
3
3
A D
D
D
l z z
l z
l z
=
=
=
&
&
&&
&&
(14)
Para obtener la posicin del punto B, se tiene en cuenta que A, B y C estn contenidos en
un mismo plano paralelo al XOY donde
B A
z z = . Adems, dicho plano no vara su
coordenada Z por lo que 0
B B
z z = = & && . Si se proyectan los eslabones AB y BC sobre el plano
XOY tal y como se muestra en la vista en planta de la figura 5, se puede apreciar que se
forma un grupo RRR en el cual se conocen la posicin, velocidad y aceleracin de los puntos
A y C. Si se aplica la formulacin mostrada en el apartado 2, se puede calcular la posicin
( e
B B
x y ), velocidad ( e
B B
x y & & ) y aceleracin ( e
B B
x y && && ) del punto B. Adems, tambin se
obtiene directamente el ngulo
1
y sus derivadas temporales (
1 1
y
& &&
).
Una vez conocidas la posicin, velocidad y aceleracin en X e Y de los puntos A y B, se
puede calcular el ngulo
BC
y sus dos primeras derivadas ( y
BC BC

& &&
) respecto del tiempo
con la funcin mostrada en la figura 3. Finalmente, el valor del ngulo
2
y sus derivadas
temporales (
2 2
y
& &&
) puede calcularse segn se muestra en la ecuacin 15.
Resolucin del problema cinemtico inverso en un robot SCARA mediante grupos de Assur 7

2 1
2 1
2 1
BC
BC
BC



=
=
=
& & &
&& && &&
(15)
Esta formulacin ser valida para cualquier configuracin del robot dentro de su espacio de
trabajo. Si se intenta aplicar a un punto fuera de su espacio de trabajo, el algoritmo que
resuelve la cinemtica del grupo ABC indicar dicha situacin. Lo mismo se puede aplicar a
la localizacin de configuraciones singulares con incremento de movilidad del robot.
El tiempo de resolucin de la cinemtica completa del robot es muy parecido al del grupo
RRR ya que solo se aaden operaciones de asignacin de variables, 5 operaciones de
adicin/sustraccin y una llamada a la funcin de la figura 3.
4. EJEMPLO
Se desea obtener la evolucin en el tiempo de los 3 GDL de un robot SCARA con
150
OA
l = mm, 80
AB
l = mm y 50
BC
l = mm mientras el extremo D del robot describe la
trayectoria espiral indicada en la ecuacin 16 manteniendo siempre el mismo modo de
ensamblaje.

[ ]
100 20 sin
2
20 cos 0,8
2
50 10
D
D
D
x t
y t t s
z t

| |
= +
|
\
| |
=
|
\
= +

(16)
0
50
100
150
-60
-40
-20
0
20
40
60
0
50
100
150
X(mm)
Tiempo = 8 s
Y (mm)
Z

(
m
m
)
0 1 2 3 4 5 6 7 8
0.2
0.4
0.6
0.8
1
Tiempo (s)
T
h
e
t
a
1

(
r
a
d
)
0 1 2 3 4 5 6 7 8
-0.5
0
0.5
Tiempo (s)
D
-
T
h
e
t
a
1

(
r
a
d
/
s
)
0 1 2 3 4 5 6 7 8
-1
-0.5
0
0.5
1
Tiempo (s)
D
2
-
T
h
e
t
a
1

(
r
a
d
/
s
2
)
0 1 2 3 4 5 6 7 8
-1
-0.5
0
0.5
1
Tiempo (s)
0

=

m
o
n
t
a
je

n
o
r
m
a
l


1

=

c
o
n
f
ig
.

s
i
n
g
u
la
r

Figura 6. Simulacin del robot SCARA
A. Noriega et al. XIX Congreso Nacional de Ingeniera Mecnica 8
En la figura 6 se representa el robot en el instante final de la simulacin as como la
evolucin temporal del
1
,
1

&
y
1

&&
. Tambin se representa un indicador de si se han
producido configuraciones singulares del grupo RRR durante la simulacin.
5. CONCLUSIONES
Se ha presentado una nueva formulacin para resolver la cinemtica (posicin, velocidad y
aceleracin) del grupo de Assur RRR que presenta una eficiencia computacional muy
elevada comparada con otras formulaciones muy conocidas como pueden ser las
coordenadas relativas o las naturales. A partir de esta formulacin cinemtica del grupo
RRR, se ha formulado la cinemtica inversa de un robot SCARA. Dicha formulacin permite
definir de manera inequvoca el modo de trabajo del robot en cualquier instante de la
simulacin y, debido a su gran eficiencia, est especialmente indicada para utilizarse en
algoritmos automticos de planificacin de trayectorias en entornos cambiantes donde se
deban evitar colisiones.
En este artculo se ha escogido un robot serie muy conocido (el robot SCARA) para
desarrollar un ejemplo de utilizacin de esta nueva formulacin pero su mayor potencial
est en el anlisis de robots y manipuladores paralelos ya que su formulacin con grupos de
Assur es muy flexible, sencilla y eficiente. Adems, tambin permite la identificacin y
clasificacin de las configuraciones singulares del problema directo que puedan surgir
durante la simulacin.
6. REFERENCIAS
[1] P. Fanghella, C. Galleti, A modular method for computational kinematics, En:
Computational Kinematics, Kluwer, (1993).
[2] S. Mitsi, K.D. Bouzakis, G. Mansour, I. Popescu, A method for forward displacement
analysis of 3-RRP and 3-PRP planar parallel manipulators, Romanian Review Precision
Mechanics, Optics and Mechatronics, 39 (2011), 137-140.
[3] Z. Ni, Q. Liao, S. Wei, New research of forward displacement analysis of 6-link Assur
group, 2nd International Conference on Information Science and Engineering,
Hangzhou, China, (2010).
[4] X. Kong, C.M. Gosselin, Forward displacement analysis of third-class analytic 3-RPR
planar parallel manipulators, Mech. Mach. Theory, 36-9 (2001), 10091018.
[5] P. Fanghella, C. Galletti, Kinematics of robot mechanisms with closed actuating loops,
International Journal of Robotics Research, 9-6 (1990), 19-24.
[6] H. Simas, R. Guenther, D.F.M. Da Cruz, D. Martins, A new method to solve robot inverse
kinematics using Assur virtual chains, Robotica, 27-7 (2009), 1017-1026.
[7] J. Lenari, P. Wenger, Advances in robot kinematics: analysis and design, Springer,
(2008).
[8] A. Noriega, M. Cadenas, R. Fernndez, Position problem in Assurs groups with revolute
pairs, 4th EUCOMES, Santander, Espaa, (2012).
[9] D. Zlatanov, R.G. Fenton, B. Benhabib, Identification and classification of the singular
configurations of mechanisms, Mech. Mach. Theory 33 (1998), 743-760.
[10] J. Garca de Jaln, E. Bayo, Kinematic and dynamic simulation of multibody systems.
The real-time challenge, Springer-Verlag, (1994).

Вам также может понравиться