1 - Universidad La Salle

Anuncio
MEMORIAS DEL PRIMER CONCURSO DE INVESTIGACIÓN, DESARROLLO E INNOVACIÓN TECNOLÓGICA IDIT 2012
1
Análisis Cinemático Robot NAO Aldebaran
Contreras Tapia Luis M., Galicia Valdovinos Jesús A., Mayoral Baños José C., Parrales Salinas, Arturo.
Resumen—En este documento se puede observar el análisis
cinemático del robot NAO Aldebaran, el cual se desarrollo
usando la metodologı́a de Denavit-Hartenberg para la solución
de la cinemática directa y la teorı́a de tornillos para la solución
de la cinemática directa e inversa. Al final del documento
encontrará el código de MATLAB usado para las pruebas,
resultados y comprobación.
I.
INTRODUCCI ÓN
Actualmente se llevan a cabo diversos proyectos de investigación en cuanto a robots humanoides se refiere, debido a
la gran aportación que podrı́a tener el hecho de desarrollar
máquinas autónomas reprogramables capaces de ayudar al ser
humano a realizar distintas tareas, algunas incluso imposibles
por la naturaleza del mismo. El hecho de analizar el funcionamiento de robots humanoides también contribuye a la
innovación de nuevas tecnologı́as capaces de ser adaptables al
cuerpo humano, el mejor ejemplo es una protesis. En entornos
nucleares y de alta toxicidad, los humanoides puede presentar
una mayor ventaja y utilidad que un manipulador robótico,
puesto que podrı́a desplazarse y realizar actividades similares
a las de un ser humano, pero sin el peligro de sufrir alguna
intoxicación o enfermedad derivada de su contacto con estos
entornos.
II.
DESCRIPCI ÓN ROBOT NAO ALDEBARAN
El robot NAO Aldebaran [1] mostrado en la figura 1 es
un robot humanoide programable de 57 cm de altura que
posee 25 GDL, dos camaras, cuatro microfonos, un sonar, un
sensor de red, 9 sensores tatiles, 8 sensores de presion y un
sensor de inercia.
de Linux y soporta la plataforma desarrollada por Aldebaran
llamada NAOqi, éste procesador se encuentra ubicado en la
cabeza; y posee una bateria de 27.6 watts la cual le provee
dependiendo del uso que se le de al robot 1.5 horas.
Este robot posee un peculiar ángulo de 45◦ en la articulación entre la cadera y cada una de las piernas que
provoca movimiento en ambas piernas al momento de que
esta articulación lleva a cabo su movimiento, por lo que
esto genera un complicación al momento del análisis ya que
se debe considerar ese movimiento peculiar cosa que no se
presenta por ejemplo el robot Darwin-OP no presenta un
ángulo diferente de cero en esa articulación.
III.
CINEM ÁTICA DIRECTA CON
DENAVIT-HARTENBERG
Mediante la cinemática directa es posible conocer la posición y orientación del efector final de un robot, para ello
se conocen lo que son el espacio articular y los parámetros
geométricos del robot.
Para la solución de este problema de la cinemática se
pueden aplicar diferentes métodos, en este caso para la
obtención de la cinemática directa del robot NAO Aldebaran
se aplico la metodologı́a de Denavit-Hartenberg [2] la cuál
es una metodologı́a sistemática que permite que cada matriz
solo dependa de cuatro parámetros en lugar de seis para
definir la pose del robot.
III-A.
Tablas de DH
Cuadro I
PAR ÁMETROS DH DE LAS PIERNAS
i
0
1
2
3
4
5
6
7
8
Figura 1. Robot NAO Aldebaran
La nueva versión de este robot humanoide contiene un
procesador Intel ATOM 1,6GHz CPU el cual utiliza un kernel
A. Parrales, L.M. Contreras, J.A. Galicia y J.C. Mayoral estudiantes de la
carrera de Mecatrónica de la Facultada de Ingenierı́a de la Universidad La
Salle. El trabajo se realizó bajó la asesorı́a de M.E. Hunter y lo enseñado por
M. en C. R. Cisneros y M. en C. J. Lavı́n
θi
90◦
ξ90◦
θl1
θl2 + ξ135◦
θl3
θl4
θl5
θl6
0◦
di
0
ll1
0
0
0
0
0
0
ll5
ai
0
0
0
0
ll2
ll3
0
ll4
0
αi
90◦ − ξ45◦
180◦
−ξ90◦
−90◦
0◦
0
90◦
90◦
90◦
Para la obtención de la tabla I y la tabla II se uso como
base un modelo CAD 3D mostrado en la figura 2 el cual
representa el diagrama cinemático del robot.
En esta metodologı́a se especifı́ca que es necesario tener
un referencial base y asociar un referencial a cada uno de
los eslabones del robot, ésta asignación de referenciales debe
seguir ciertas reglas las cuales especifican que el referencial
2
MEMORIAS DEL PRIMER CONCURSO DE INVESTIGACIÓN, DESARROLLO E INNOVACIÓN TECNOLÓGICA IDIT 2012
Cuadro II
PAR ÁMETROS DH DE LOS BRAZOS
i
0
1
2
3
4
5
θi
0◦
180◦
θa1
θa2 − ξ90◦
θa3 + 90◦
θa4
di
0
ξla2
0
0
0
la4
ai
−la1
0
0
−la3
0
0
αi
180◦
−ξ90◦
−ξ90◦
0◦
−90◦
90◦

cθ
 sθ
i
T0 = 
 0
0
−sθ cα
cθ cα
sα
0
sθ sα
−cθ sα
cα
0

acθ
asθ 

d 
1
Usando la ecuación 1 se obtiene la matriz 2 en la cual se
sustituiran los valores obtenidos en la tabla I para el caso de
la cinemática directa de las piernas de robot y en la tabla II
para el caso de la cinemática directa de los brazos del robot.
T0i = A1 A2 ...Ai

r11
 r21
9
T0 = 
 r31
0

r11

r21
T05 = 
 r31
0
Figura 2. Diagrama Cinemático Robot NAO
base se coloca de manera arbitraria buscando una posición
conveniente para la realización del análisis, el eje zi−1
de cada referencial representa el eje de movimiento de la
articulación i, el eje xi debe cumplir las dos reglas principales
de DH las cuales son:
1. DH1:El eje xi debe ser perpendicular al eje zi−1
2. DH2:El eje xi debe intersecar al eje zi−1
Para la colocación del eje y se debe cumplir con la regla de
la mano derecha.
Los cuatro parámetros necesarios para la realización de
DH son di , éste representa la distancia de traslación a lo
largo del eje zi−1 ; θi representa el ángulo de rotación sobre
el eje zi−1 ; ai es la distacia de traslación a lo largo del eje
xi y αi representa el ángulo de rotación sobre el eje xi estos
parámetros están asociados al eslabón i y a la articulación i.
Una vez que se han asignado los referenciales se procede a
obtener las matrices de paso necesarias para la obtención de
la cinemática directa. Éstas matrices de paso están definidas
como:
Ai = TROT (z, θ) TT RAS (z, d) TT RAS (x, a))TROT (x, α)
(1)
(2)
(3)
r12
r22
r32
0
r13
r23
r33
0

dx
dy 

dz 
1
(4)
r12
r22
r32
0
r13
r23
r33
0

dx
dy 

dz 
1
(5)
De esta manera una vez obtenidas cada una de las matrices
de paso se realiza la multiplicación mostrada en la ecuación
3 para cada uno de los casos de piernas y brazos, obteniendo
asi la cinematica directa de las piernas del robot mostrada
en la ecuación 4, de manera similar se aplicó la ecuación
3 para obtener la cinemática directa de los brazos del robot
mostrada en la ecuación 5; en ambas soluciones dadas
en la ecuación 4 y en la ecuación 5 se toma en cuenta
una variable ξ la cual ayudará a determinar si se trata
del lado derecho o del lado izquierdo, la cual tomará el
valor de 1 si se trata del lado derecho y tomará el valor de −1.
Para fines prácticos se muestran los términos r11 y dx
correspondientes a las piernas:
r11
=
−cξ45 s−ξ90 (cθl6 (s(θl2 +ξ135◦ ) cθl3 (cθl4 cθl5 −
sθl4 sθl5 ) − s(θl2 +ξ135◦ ) sθl3 (sθl4 cθl5 + cθl4 sθl5 )) +
c(θl2 +135◦ ) sθl6 )
dx
=
−cξ45 s−ξ90 (ll5 sθl6 (s(θl2 +ξ135◦ ) cθl3 (cθl4 cθl5
sθl4 sθl5 ) − s(θl2 +ξ135◦ ) sθl3 (sθl4 cθl5 + cθl4 sθl5 ))
ll4 cθl6 (s(θl2 +135◦ ) cθl3 )((cθl4 cθl5
−
sθl4 sθl5 )
s(θl2 +135◦ ) sθl3 (sθl4 cθl3 + cθl4 sθl5 )) − ll5 cθl6 c(θl2 +135◦ )
ll4 sθl6 c(θl2 +135◦ ) s(θl2 +135◦ ) cθl3 (ll3 cθl4 )
s(θl2 +135◦ ) sθl3 (ll3 sθl4 ) + ll2 s(θl2 +135◦ ) cθl3 ) + ll1 cθξ45
−
+
−
+
−
Se observa que los términos resultantes en la matriz que
proporciona la cinemática directa son ecuaciones no lineales,
ası́ como una combinación de la geometria del robot y los valores articulares, y se observa que los terminos que pertenecen a
la matriz de rotación solo dependen de los valores articulares
y también observamos que los términos pertenecientes a la
parte de la traslación dependen tanto de los valores articulares
como de los valores geometricos del robot.
CONTRERAS TAPIA et al.: ANÁLISIS CINEMÁTICO ROBOT NAO ALDEBARAN
IV.
TORNILLOS
La Teorı́a de Tornillos tiene como base el Teorema de
Chasles que dice: Todo movimiento de cuerpo rı́gido puede
ser realizado mediante una rotación sobre un eje, combinada
con una traslación paralela a dicho eje (movimiento de
tornillo). Análogamente se introduce el trabajo realizado
por Olindo Rodrigues; la matriz exponencial de rotación,
Ecuación 6, en la cuál sólo se define el eje de rotación y el
ángulo de rotación alrededor de dicho eje, lo que resulta en
una matriz exponencial de transformación homogénea, que
se puede descomponer en la parte de orientación y posición
como las matrices de transformación homogénea.
eK̂θ =

kx2 vθ + cθ
 kx ky vθ + kz sθ
kx kz vθ − ky sθ
kx ky vθ − kz sθ
ky2 vθ + cθ
ky kz vθ + kx sθ

kx kz vθ + ky sθ
ky kz vθ − kx sθ 
kz2 vθ + cθ
(6)
La metodologı́a para resolver la cinemática directa por
teorı́a de tornillos requiere tener los referenciales de la base
y los finales de cada cadena cinemática, el eje de rotación
de cada motor y definir una pose de referencia. Como lo
muestra la Figura 3. La pose de referencia es la configuración
en la cual todos los valores articulares valen 0. Se definen
las orientaciones de los ejes ki que representan una matriz de
orientación y los qi se obtiene al definir cualquier distancia
de dichos ejes con respecto a la base. Se sustituyen en la
Ecuación 7 para obtener las matrices eẐi θi
3
La pose de referencia para este caso es

1 0 0 (((ll1 ) (Cos45)) + ll2 + ll3 + ll4 )
 0 1 0
(ll5 )
FL
gB (0) = 
 0 0 1
ξ ((ll1 ) (Cos45))
0 0 0
1




Entonces, los vectores ki y qi son:
h
−ξ √12
iT
− √12
0
k2 =
k3 =
k4 =
k5 =
k6 =
0
0
0
0
0
T
0
T
−1
T
−1
T
−1
T
0
q1 =
q2 =
q3 =
q4 =
q5 =
q6 =
T
0 0 0
T
((ll1 ) (Cos45)) 0 ξ ((ll1 ) (Cos45))
T
((ll1 ) (Cos45)) 0 0
T
(((ll1 ) (Cos45)) + ll2 ) 0 0
T
(((ll1 ) (Cos45)) + ll2 + ll3 ) 0 0
T
(((ll1 ) (Cos45)) + ll2 + ll3 ) 0 ξ ((ll1 ) (Cos45))
k1 =
1
0
0
0
1
Partiendo de la teorı́a previamente expuesta, la solución a
la cinemática directa del robot humanoide Nao aplicando la
Teorı́a de tornillos es como lo expresa la ecuación 8 y una de
estas matrices exponenciales de transformación homogénea es:


c3
ξs3 0 ((ll1 ) (Cos45)) (1 − c3 )
 −ξs3 c3 0
((ll1 ) (Cos45)) (s3 ) 

eẐ3 θ3 = 

 0
0 1
0
0
0 0
1
El problema de la cinemática inversa es resuelto con la
metodologı́a de Paden-Kahan, basada en la teorı́a de tornillos.
Esta metodologı́a parte el problema en una serie de subproblemas que ya tienen solución en la literatura como PK1, PK2
y PK3 [3]. Para resolver la cinemática inversa usando esta
metodologı́a, se requiere definir una serie de puntos propuestos
a continuación:
T
PB = 0 0 0
T
Pcad = 50 0 ξ50
T
Pro = 50 + ll 2 0 ξ50
T
Pto = 50 + ll 2 + ll 3 0 ξ50
Hecho esto, partiendo de la ecuación 8 la cuál manipulamos
algebraicamente [4] para empezar a resolver la cinemática
inversa.
eẐ1 θ1 eẐ2 θ2 . . . eẐ6 θ6 gbF (0) = gbF (θ)
−1
eẐ1 θ1 eẐ2 θ2 . . . eẐ6 θ6 = gbF (θ) gbF (0)
eẐ1 θ1 eẐ2 θ2 . . . eẐ6 θ6 = g1
Figura 3. Diagrama Cinemático para la teorı́a de tornillos
e
Ẑi θi
=
eK̂i θi
0
(I − eK̂i θi )qi
1
(7)
La solución a la cinemática directa se muestra en la ecuación 8;
Donde el término g0RF (θ) representa la cinemática directa y
g0RF (0) a la pose de referencia.
g0RF (θ) = eẐ1 θ1 eẐ2 θ2 · · · eẐn−1 θn−1 eẐn θn g0RF (0)
(8)
Para obtener θ4 :
Ẑ1 θ1 Ẑ2 θ2
e
. . . eẐ6 θ6 Pto − Pcad = kg1 Pto − Pcad k
e
Ẑ1 θ1 Ẑ2 θ2 Ẑ3 θ3 Ẑ4 θ4
e
Pto − eẐ1 θ1 eẐ2 θ2 eẐ3 θ3 Pcad = δ
e
e
e
Ẑ1 θ1 Ẑ2 θ2 Ẑ3 θ3 Ẑ4 θ4
e
e
e
Pto − Pcad = δ
e
P K3
Ẑ4 θ4
Pto − Pcad = δ −→ θ4
e
4
MEMORIAS DEL PRIMER CONCURSO DE INVESTIGACIÓN, DESARROLLO E INNOVACIÓN TECNOLÓGICA IDIT 2012
Para obtener θ5 y θ6 :
eẐ1 θ1 eẐ2 θ2 . . . eẐ6 θ6 g1−1 = I
eẐ2 θ5 eẐ6 θ6 g1−1 Pcad = e−Ẑ4 θ4 e−Ẑ3 θ3. . . e−Ẑ1 θ1 Pcad
P K2
eẐ2 θ5 eẐ6 θ6 g1−1 Pcad = e−Ẑ4 θ4 Pcad −→ {θ5 , θ6 }
Para obtener θ2 y θ3 :
eẐ1 θ1 eẐ2 θ2 . . . eẐ6 θ6 g1−1 = I
e
eẐ4 θ4 eẐ5 θ5 eẐ6 θ6 g1−1 Pb
e
P K2
e−Ẑ1 θ1 Pb −→ {θ2 , θ3 }
Ẑ2 θ2 Ẑ3 θ3
R EFERENCIAS
=
Y por último para obtener θ1 :
Ẑ6 θ6
eẐ1 θ1 = g1 e−
. . . e−Ẑ2 θ2
P K1
eẐ1 θ1 Pt o = g1 e−Ẑ6 θ6 . . . e−Ẑ2 θ2 Pt o −→ θ1
V. PRUEBAS Y RESULTADOS
Para la comprobación de los cálculos realizados mediante
las metodologı́as expuestas se programó la solución de
cada una en MATLAB. El código de la cinemática directa
consiste de un ciclo for y un switch donde cada case evalúa
y multiplica una matriz de paso. Como se muestra enseguida:
syms theta1 theta2 theta3 theta4 theta5 theta6 hr hl l1 l2 l3 l4 theta alpha a d
A=[cos(theta) -sin(theta)*cos(alpha) sin(theta)*sin(alpha) a*cos(theta);
sin(theta) cos(theta)*cos(alpha) -cos(theta)*sin(alpha) a*sin(theta);
0 sin(alpha) cos(alpha) d;
0 0 0 1];
theta1=deg2rad(0);
theta2=deg2rad(0);
theta3=deg2rad(0);
theta4=deg2rad(90);
theta5=deg2rad(0);
theta6=deg2rad(0);
hr=70.71;
hl=70.71;
l1=93;
l2=93;
l3=33.5;
l4=52;
xi=1;%der=1, izq=-1
for i=0:1:9
switch(i)
case 1
theta=deg2rad(90);
d=0;
a=0;
alpha=deg2rad(90-(xi*45));
A1=[cos(theta) -sin(theta)*cos(alpha) sin(theta)*sin(alpha) a*cos(theta);
sin(theta) cos(theta)*cos(alpha) -cos(theta)*sin(alpha) a*sin(theta);
0 sin(alpha) cos(alpha) d;
0 0 0 1]
.
.
.
case 9
theta=deg2rad(0);
d=l4;
a=0;
alpha=deg2rad(90);
A9=[cos(theta) -sin(theta)*cos(alpha) sin(theta)*sin(alpha) a*cos(theta);
sin(theta) cos(theta)*cos(alpha) -cos(theta)*sin(alpha) a*sin(theta);
0 sin(alpha) cos(alpha) d;
0 0 0 1]
T09=A1A2A3A4A5A6A7A8*A9
end
end
Los resultados obtenidos con este programa de cinemática
directa se usaron como los valores de inicio para el programa
de la solución de la cinemática inversa. El resultado de este
otro programa fueron los valores de inicio del programa de la
solución de la cinemática directa.
VI.
que pueda formar parte del entorno RoboCup o en su defecto
el diseño de algún tipo de manipulador robótico.
Como trabajo a futuro se pretende continuar adquiriendo
conocimientos en Robótica centrados en el tema de humnoides
y utilizar el trabajo expuesto en este documento para implementar una rutina de movimientos en el robot NAO Aldebaran.
CONCLUSIONES Y TRABAJO A FUTURO
El estudio de este robot humanoide ha permitido reafirmar
los conocimientos adquiridos de Robótica y con esto permitir
el diseño’/’desarrollo e innovación de otro robot humanoide
[1] A. Robotics, http://www.aldebaran-robotics.com. Consultado, Febrero
2012.
[2] M. W. Spong and M. Vidyasagar, Robot dynamics and control. John
Wiley and Sons, 1989.
[3] R. M. Murray, Z. Li, and S. S. Sastry, A mathematical introduction to
robotic manipulation. CRC Press, 1994.
[4] M. Hunter Sánchez, F. Lara Leyva, R. Cisneros Limón, and J. M.
Ibarra Zannatha, “Mechanical design and kinematic analysis of the ah1n1
humanoid robot,” Congreso Internacional en Electrónica, Comunicaciones y Computadoras(CONIELECOMP), 2011.
Descargar