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.