Documentos de Académico
Documentos de Profesional
Documentos de Cultura
s
u
n
t
o
CAPITULO
: 3
Materia: Robótica
X
Profesor: Dr. Marco Antonio
X Oliver Salazar
X
Periodo: Mayo – Agosto 2010
Coordinación de Ingeniería X
Mecatrónica X
Cinemática directa e inversa
X
X
X
3.1. Introducción X
Cuando se conocen las longitudes de los segmentos o elementos y X los ángulos de las articulaciones que
X
conforman un robot, es posible encontrar en cualquier instante la Xposición y orientación en el espacio
de su efector final (mano). Esto se conoce como la cinemática directa.
X
Alternativamente, si se desea posicionar la mano de un robot en una. posición y orientación deseadas se
debe conocer el tamaño de cada segmento y el ángulo que debe tomar cada articulación. Esto se conoce
como la cinemática inversa. Esto demanda encontrar las inversas de las ecuaciones de la cinemática
directa.
Generalmente se trabaja con las ecuaciones de la cinemática inversa pues a partir de ellas el controlador
del robot calculará los valores de los ángulos de las articulaciones para llevar al robot a la posición y
orientación deseadas.
Para posicionar y orientar un cuerpo rígido en el espacio se asigna un marco a ese cuerpo para después
describir la posición del origen de ese marco, así como la orientación de ese mismo marco con respecto
a los ejes de un marco de referencia fijo. Esto requiere de 6 gdl (6 piezas de información) para definir
completamente la posición y orientación de dicho cuerpo. De igual forma, si se busca orientar y
posicionar la mano de un robot en el espacio, se le asigna un marco a ésta y se define la posición y
orientación de ese marco respecto a un marco de referencia, dependiendo de la configuración de las
articulaciones y segmentos del robot.
A continuación se describirán las ecuaciones que determinan la posición, las que determinan la
orientación para posteriormente combinarlas. También se estudiará la representación de Denavit-
Hartenberg para modelar cualquier configuración de robots.
X
X
X
X
X
X
X
X
.
siendo RTP la transformación entre el marco de referencia y el origen de la mano P. T cart denota la
matriz de transformación cartesiana. Para encontrar la cinemática inversa se fija la posición deseada
igual al punto P.
Ejemplo
Se desea posicionar el origen del marco de una mano de un robot cartesiano en el punto P = (3, 4, 7).
Calcular los movimientos coordenados cartesianos requeridos.
X
3.2.2. Coordenadas cilíndricas. X
Esta referencia coordenada incluye 2 translaciones lineales y X1 rotación. La secuencia es una
X translación de l a lo largo el eje z
translación de r sobre el eje x, una rotación respecto al eje z y una
como se muestra en la figura 3.2. X
X
X
X
.
La transformación total debida a las 3 transformaciones que relaciona el origen del marco de la mano
con el marco de referencia se obtiene premultiplicando cada matriz como
R
TP Tcil (r , , l ) Trans(0,0, l ) Rot ( z, )Trans(r ,0,0)
C( ) S ( ) 0 rC ( ) C( ) S( ) 0 rC ( )
S( ) C ( ) 0 rS ( ) S( ) C( ) 0 rS ( )
Tcil Rot ( z , )
0 0 1 l 0 0 1 l
0 0 0 1 0 0 0 1
1 0 0 rC ( )
0 1 0 rS ( )
0 0 1 l
0 0 0 1
El origen del marco móvil no ha cambiado en posición, solo en orientación para estar paralelo al marco
de referencia.
Ejemplo
Se desea ubicar el origen del marco de una mano de un robot cilíndrico en P = (3, 4, 7). Calcular las
variables de las articulaciones del robot.
La transformación total debida a estas 3 transformaciones, misma que relaciona el origen del marco de
la mano con el marco de referencia, se obtiene premultiplicando cada matriz según:
Las ecuaciones de la cinemática inversa para las coordenadas esféricas es más complicada que para las
coordenadas cilíndricas o cartesianas puesto que los ángulos y están acoplados.
Ejemplo
Se desea ubicar el origen del marco de una mano de un robot esférico en P = (3, 4, 7). Calcular las
variables de las articulaciones del robot.
Igualando los componentes de la posición del origen del marco móvil de la matriz (3.3) a los valores
deseados se tiene
r S( ) C( ) = 3, r S( ) S( ) = 4, r C( ) = 7
La tercer ecuación indica que C( ) es positiva pero no se conoce esa información para S( ). Dividiendo
las primeras 2 ecuaciones entre sí se tienen los siguientes 2 resultados no únicos debido a que no se
conoce el signo de S( ).
X
X
X
3.2.4. Coordenadas articuladas. X
Consisten en 3 rotaciones como se muestra en la figura 3.4. Esta transformación
X se retomará al estudiar
la representación de Denavit-Hartenberg. X
X
X
.
3.3.1. Rotaciones tipo Roll (Alabeo o giro), Pitch (Cabeceo o elevación) y Yaw (Guiñada o
desviación), RPY.
Es una secuencia de 3 rotaciones respecto a los ejes del marco a , o , n , respectivamente, y sirve para
orientar la mano de un robot hacia una cierta dirección. Se considera que el marco común móvil es
REVISIÓN Y ACTUALIZACIÓN DE PLANES Y PROGRAMAS DE POSGRADO
Programa de Maestría en Ciencias en Ingeniería Mecatrónica del CENIDET
A
s
u
n
t
paralelo al marco de referencia por lo que su orientación es la misma que la del marco de referencia
o
antes de los movimientos RPY. Si el marco común móvil no es : paralelo al marco de referencia,
entonces la orientación final de la mano del robot será una combinación de la orientación previa,
postmultiplicada por el RPY. X
Como no se busca cambiar la posición del origen del marco móvil, X los movimientos relacionados con
X
las rotaciones RPY son con respecto al marco móvil. De otra forma, el marco móvil cambiará su
X
posición. Por ello, todas las matrices relacionadas con cambios enX la orientación del tipo RPY serán
postmultiplicadas.
X
X
De la figura 3.5 se observa que la secuencia de rotaciones RPY consiste de:
X
X
Rotación de a con respecto al eje a (eje z del marco móvil, llamado
X Alabeo (Roll)).
Rotación de o con respecto al eje o (eje y del marco móvil, llamado
X Cabeceo (Pitch)).
X
Rotación de n con respecto al eje n (eje x del marco móvil, llamado Guiñada (Yaw)).
X
.
La solución a la cinemática inversa para el sistema coordenado RPY es más complicada que para la
solución de la cinemática inversa para el sistema coordenado esférico pues existen 3 ángulos
acoplados. Se requiere información adicional sobre los senos y cosenos de estos ángulos para encontrar
la solución, lo que implica desacoplarlos. Para ello si se premultiplica la ecuación (3.4) por la inversa
de Rot(a, a) se tiene
Rot (a, a ) 1 PRY ( a , o , n ) Rot (o, o ) Rot (n, n ) (3.5)
Si se considera que la orientación deseada final que se obtiene por el sistema RPY se representa por la
matriz ( n , o , a ) se tiene
nx ox ax 0
1
ny oy ay 0
Rot (a, a ) Rot (o, o ) Rot (n, n ) (3.6)
nz oz az 0
0 0 0 1
Elementos 3, 1 y 1, 1:
S( o ) nz ,
(3.9)
C( o ) nx C( a ) n y S ( a ) o tan 2 1 ( n z , (n x C ( a ) n y S ( a ))
Elementos 2, 2 y 2, 3:
C ( n ) o y C ( a ) o x S ( a ),
S( n ) a yC( a ) a x S ( a ) n tan 2 1 (( a y C ( a ) a x S ( a )), (o y C ( a ) o x S ( a ))
(3.10)
Ejemplo
La posición y orientación deseadas de una mano en un robot cartesiano RPY se dan a continuación.
Encontrar los valores de los ángulos RPY y los desplazamientos
nx ox a x p x 0.354 0.674 0.649 4.33
R
ny oy ay py 0.505 0.722 0.475 2.50
TP
nz oz a z p z 0.788 0.160 0.595 8
0 0 0 1 0 0 0 1
Ejemplo X
X
Para la misma orientación y posición del robot del ejemplo anterior encontrar los valores de las
articulaciones para un robot cilíndrico RPY. X
X
X
Entonces, a partir de la posición y orientación deseadas se tiene: X
0.354 0.674 0.649 4.33 X
X
0.505 0.722 0.475 2.50
R
TP Tcil (r , , l ) . RPY ( a , o , n )
0.788 0.160 0.595 8
0 0 0 1
El lado derecho de esta ecuación involucra 4 ángulos acoplados que deben desacoplarse. Se observa,
sin embargo, que como la rotación de respecto al eje z en las coordenadas cilíndricas no afecta al eje
a pues permanece paralelo al eje z. Como consecuencia, la rotación de a respecto al eje a para RPY
simplemente se sumará a . Así el ángulo para a es la suma a + como se ve en la figura 3.6.
Rotación de X
con respecto al eje a (eje z del marco móvil) seguido de,
X
Rotación de con respecto al eje o (eje y del marco móvil) seguido de,
X
Rotación de con respecto al eje a (eje z del marco móvil). X
X
La matriz de transformación que representa el cambio en la orientación según los ángulos de Euler es:
Euler( , , ) Rot (a, ) Rot (o, ) Rot (a, ) X
X
C( ) C( ) C( ) S ( ) S ( ) C( ) C( ) S ( ) X S ( ) C( ) C( ) S ( ) 0
X
S ( ) C( ) C( ) C( ) S ( ) S ( ) C( ) S ( ) X C( ) C( ) S( ) S( ) 0
S ( ) C( ) S( ) S( ) X C( ) 0
X
0 0 X 0 1
. (3.11)
Esta matriz representa los cambios en orientación debidos a los ángulos de Euler. La posición y la
orientación final del marco móvil respecto al marco de referencia será el producto de las dos matrices
que representan el cambio en posición y los ángulos de Euler, respectivamente.
La solución de la cinemática inversa para los ángulos de Euler puede determinarse en forma similar a
como se hace para el sistema RPY: Se premultiplican los 2 lados de la ecuación de Euler por
Rot 1 (a, ) para eliminar de un lado. Después, igualando los elementos de ambos lados se obtienen
las siguientes ecuaciones (considerando que la orientación final deseada obtenida por los ángulos de
Euler se representa por la matriz ( n , o , a )):
nx ox ax 0 C( ) C( ) C( ) S ( ) S( ) 0
ny oy ay 0 S( ) C( ) 0 0
Rot 1 (a, ) (3.12)
nz oz az 0 S ( ) C( ) S( ) S( ) C( ) 0
0 0 0 1 0 0 0 1
o bien
nxC( ) n y S ( ) oxC( ) o y S ( ) axC( ) a y S ( ) 0
nx S ( ) n y C( ) ox S ( ) o y C( ) ax S ( ) a y C( ) 0
nz oz az 0
0 0 0 1
Elementos 2, 1 y 2, 2:
S( ) n x S ( ) n y C ( ),
(3.14)
C( ) ox S ( ) o y C( ) tan 2 1 ( n x S ( ) n y C ( ), o x S ( ) o y C ( ))
Elementos 1, 3 y 3, 3:
S ( ) a x C ( ) a y S ( ),
(3.15)
C( ) az tan 2 1 (a n C ( ) a y S ( ), a z )
Ejemplo
La orientación final deseada para la mano de un robot tipo cartesiano-Euler es la que se expresa a
continuación. Encontrar los ángulos de Euler necesarios.
nx ox a x p x 0.579 0.548 0.604 5
R
ny oy ay py 0.540 0.813 0.220 7
TH
nz oz az p z 0.611 0.199 0.766 3
0 0 0 1 0 0 0 1
Si el robot fue diseñado basado en coordenadas esféricas para posición y ángulos de Euler para
orientación, la matriz de transformación es
R
TH Tesf (r , , ) Euler( , , ) (3.17)
donde la posición la determinan las coordenadas esféricas y la orientación final la determinan ambos
los ángulos en las coordenadas esféricas, así como los ángulos de Euler.
X
X
X
X
X
X
X
X
X
X
X
X
X
.
En la figura 3.8a, el ángulo representa una rotación respecto al eje z, d representa la distancia sobre el
eje z entre dos normales comunes sucesivas, a representa la longitud de cada normal común (llamada
también corrimiento o desplazamiento de la articulación), representa el ángulo entre los dos ejes z
sucesivos (llamado torsión de la articulación). Generalmente, solo y d son variables de la
articulación.
REVISIÓN Y ACTUALIZACIÓN DE PLANES Y PROGRAMAS DE POSGRADO
Programa de Maestría en Ciencias en Ingeniería Mecatrónica del CENIDET
A
s
u
n
t
o
Ahora se requiere dar seguimiento a los movimientos necesarios:
para transformar de un marco de
referencia al siguiente. A partir de un marco de referencia local xn, zn, se realizan los siguientes cuatro
movimientos para obtener el siguiente marco de referencia local xn+1 X , zn+1:
Movimiento 1. Rotación respecto al eje zn un ángulo n+1 según X se observa en las figuras 3.8a y
X
3.8b. Esto hace a xn y a xn+1 paralelos entre sí. Esto es válido pues
X
an y an+1 son perpendiculares a zn
de forma que rotando zn un ángulo de n+1 hace a xn y a xn+1 paralelos
X entre sí (coplanares).
Movimiento 2. Translado a lo largo del eje zn una distancia de dn+1 para hacer a xn y xn+1 colineales
(figura 3.8c). Como xn y xn+1 ya eran paralelos y normales a zn,Xmoviendo a xn en la dirección de zn
X
hace que xn se ubique sobre xn+1.
X
Movimiento 3. Translado a lo largo del eje xn una distancia de aXn+1 para hacer coincidir los origenes
de xn y xn+1 según se muestra en las figuras 3.8d y 3.8e. Aquí losX dos orígenes de los dos marcos de
referencia están en la misma posición. X
Movimiento 4. Rotar el eje zn con respecto al eje xn+1 un ánguloX de n+1 para alinear al eje zn con el
X
eje zn+1 (figura 3.8f). Con esto los marcos n y n+1 serán exactamente
. los mismos (figura 3.8g) con
lo que un marco de referencia se ha transformado al otro.
Repitiendo la misma secuencia de los 4 movimientos anteriores entre los marcos n+1 y n+2 hará la
transformación de un marco al otro. Esto se hará según se requiera para transformar entre marcos
sucesivos. Si se inicia con el marco de referencia fijo, se puede transformar a la base del robot, después
a la primera articulación, después a la segunda articulación, y así sucesivamente hasta llegar al efector
final del robot.
0 0 0 1 0 0 0 1
1 0 0 an 1 1 0 0 0
0 1 0 0 0 C( n 1 ) S( n 1 ) 0
0 0 1 0 0 S( n 1 ) C( n 1 ) 0
0 0 0 1 0 0 0 1
0 0 0 X 1
X
X
Ejemplo X
La transformación entre las articulaciones 2 y 3 de un robot serían
X
C( 3 ) S ( 3 ) C( 3 ) S ( 3 )S ( 3 ) a3 C ( X3 )
2
S( 3 ) C( 3 ) C( 3 ) C( 3 ) S ( 3 ) a3 S ( X3 )
T3 X (3.19)
0 S( 3 ) C( 3 ) d3 X
0 0 0 1 X
X
X
En la base del robot se puede iniciar con la primera articulación segunda articulación, .
y transformar a la
después a la tercera articulación y así sucesivamente hasta llegar a la mano del robot y de ahí al efector
final. Si cada transformación se llama An+1, la transformación total entre la base del robot y la mano
será
R 1 2
TH R T1 T2 T3 n 1 Tn A1 A2 A3 An (3.20)
En el cálculo de las matrices A una tabla de los parámetros para las articulaciones y los segmentos
puede ayudar, donde los valores para cada articulación y unión se determinan del dibujo del robot y se
sustituyen en la matriz A correspondiente. La tabla es como la que se muestra a continuación (tabla
3.1):
# d a
1
2
3
4
5
6
X
X
X
X
X
X
X
Figura 3.9. Robot con 6 gdl. X
.
Considerando que las articulaciones 2, 3 y 4 están en el mismo plano, sus valores d2, d3 y d4 son cero.
Todas las articulaciones son de revolución. La primera articulación se encuentra entre los segmentos 0
(la base fija) y 1. La segunda articulación se encuentra entre los segmentos 1 y 2, y así sucesivamente.
Para asignar los ejes z y x a cada articulación considérense las coordenadas de las figuras 3.10 y 3.11.
X
X
X
X
X
X
X
X
X
X
X
Figura 3.11. Líneas asociadas a los marcos de referencia
X para el robot de 6 gdl.
X
En la .
articulación 1 z representa la primera articulación (de revolución), x se elige paralelo al eje x
0 0
del marco de referencia fijo (por conveniencia) y es un eje fijo (no se mueve) que representa la base del
robot. El movimiento de la primera articulación ocurre respecto a los ejes z0, x0. Sin embargo, estos 2
ejes no se mueven.
Ahora, z1 se asigna a la articulación 2, x1 será normal a z0 y a z1 puesto que estos 2 ejes se intersectan.
x2 estará en la dirección de la normal común entre z1 y z2. x3 está en la dirección de la normal común
entre z2 y z3. En forma similar, x4 está en la dirección de la normal común entre z3 y z4. Finalmente, z5 y
z6 están en paralelo y son colineales. z5 representa los movimientos de la articulación 6 mientras que z6
representa el movimiento del efector final.
A partir de la localización de los orígenes del primer y del último marcos, se determina la ecuación
total de transformación del robot. Se pueden asignar otros marcos de coordenadas intermedias entre la
primera y la última, pero mientras los marcos primero y último no cambien, la transformación total será
la misma.
Se puede observar que el origen de la primera articulación no está en la posición física de la
articulación. Esto es procedente pues físicamente aunque la articulación se encuentre un poco arriba o
un poco abajo, esto no hace diferencia en el movimiento del robot. Así pues, el origen puede
establecerse sin que coincida con la posición física de la articulación en la base.
Iniciando con el marco z0-x0, se requiere una rotación 1 para llevar x0 hasta x1, se necesita una
translación d1 = 0 a lo largo del eje z1 y también una translación a1 = 0 a lo largo del eje x1, para alinear
a x0 con x1. También se requiere una rotación 1 = 90º para llevar z0 hasta z1. Hasta aquí se está
ubicado en z1-x1. Las rotaciones se realizar usando la regla de la mano derecha.
Ahora se requiere una rotación 2 respecto al eje z1 para llevar x1 hasta x2. También se requiere una
translación d2 = 0 a lo largo del eje z2 y una translación a2 a lo largo del eje x2 para juntar los orígenes.
Como los ejes z son paralelos no se requiere rotar respecto al eje x.
El procedimiento continúa de forma similar y la tabla correspondiente es:
S1 S 5 C 6 S1 S 5 S 6 X
X
X
S1 (C 234 C 5 C 6 S 234 S 6 ) S1 ( C 234 C 5 C 6 S 234 C 6 ) S1 (C 234 S 5 ) C1C 5
X S1 (C 234 a 4 C 23 a3 C2 a2 )
X
C1 S 5 C 6 C1 S 5 S 6
X
X
S 234 C 5 C 6 C 234 S 6 S 234 C 5 C 6 C 234 C 6 S 234 S 5 X S 234 a 4 S 23 a3 S 2 a2
0 0 0 X 1
X
X (3.23)
X
Ejemplo X
.
Brazo Stanford. Encontrar los marcos de referencia del brazo Stanford y completar la correspondiente
tabla. Este brazo es de coordenadas esféricas, lo que significa que tiene 2 coordenadas de revolución y
1 prismática. Las articulaciones de la muñeca son de revolución (figura 3.12).
Los marcos de referencia del brazo Stanford se muestran en la figura 3.13 y la tabla 3.3 presenta la
asignación de las variables correspondientes.
X
X
X
X
X
X
X
X
X
X
X
X
X
.
Figura 3.13. Marcos de referencia para el brazo Stanford.
La cinemática directa final de este brazo es el producto de las 6 matrices que representan las
transformaciones entre las sucesivas articulaciones. Se puede demostrar que ésta es:
nx ox a x px
R 0
ny oy ay py
TH stan ford T6
nz oz az pz
0 0 0 1
donde
nx C1 C 2 (C 4 C5 C6 S 4 S 6 ) S 2 S 5C6 S1 ( S 4 C 5 C 6 C4 S 6 )
ny S1 C 2 (C 4 C5 C6 S 4 S 6 ) S 2 S 5 C6 C1 ( S 4 C5 C6 C4 S 6 )
nz S 2 (C 4 C5 C6 S 4 S 6 ) C 2 S 5C6
az S 2C4 S5 C 2 C5 X
X
X
px C1 S 2 d 3 S1 d 2
X
py S1 S 2 d 3 C1 d 2 X (3.24)
X
pz C2 d 3 X
X
3.6. Solución a la cinemática inversa de robots .
La solución a la cinemática inversa implica conocer los valores de cada articulación para que un robot
alcance una posición y orientación deseadas. Por ello es conveniente conocer un procedimiento general
para resolver la cinemática inversa. Se ha encontrado que de la cinemática directa se obtienen
expresiones con ángulos acoplados como por ejemplo, C234. Esto hace imposible encontrar suficientes
elementos en la matriz de transformación que a partir de senos y cosenos se puedan calcular los valores
de las articulaciones. Para desacoplar los ángulos se premultiplica la matriz RTH por las matrices
individuales An-1. Esto hace que la parte derecha de la ecuación esté libre de ángulos individuales,
permitiendo encontrar elementos en términos de senos y cosenos y de ahí la posibilidad de encontrar
los ángulos.
Ejemplo
Se toma el ejemplo del brazo manipulador de 6 gdl de la figura 3.9. Este procedimiento se puede
generalizar para encontrar la cinemática inversa de cualquier otra configuración robótica. Del ejemplo
de dicho brazo manipulador se obtuvo que la transformación total entre la base del robot y la mano es
S1 S 5 C 6 S1 S 5 S 6 X
X
X
S1 (C 234 C 5 C 6 S 234 S 6 ) S1 ( C 234 C 5 C 6 S 234 C 6 ) S1 (C 234 S 5 ) C1C 5
X S1 (C 234 a 4 C 23 a3 C2 a2 )
X
C1 S 5 C 6 C1 S 5 S 6
X
X
S 234 C 5 C 6 C 234 S 6 S 234 C 5 C 6 C 234 C 6 S 234 S 5 X S 234 a 4 S 23 a3 S 2 a 2
0 0 0 X 1
X
MLD X
X (3.23)
X
que por simplicidad se nombrará matriz del lado derecho (MLD). .
Para encontrar los ángulos se premultiplica sucesivamente por la matriz An-1 iniciando por la matriz
inversa A1-1, es decir:
nx ox ax px
ny oy ay py
A1 1 A1 1 MLD A2 A3 A4 A5 A6 (3.26)
nz oz az pz
0 0 0 1
Así
C1 S1 0 0 nx ox ax px
0 0 1 0 ny oy ay py
A2 A3 A4 A5 A6
S1 C1 0 0 nz oz az pz
0 0 0 1 0 0 0 1
es decir
n x S1 n y C1 o x S1 o y C1 a x S1 a y C1 p x SX1 p y C1
X
0 0 0 X
1
C 234 C 5 C 6 S 234 S 6 C 234 C 5 C 6 S 234 C 6 C 234 S 5 XC a C 23 a3 C2 a2
234 4
X
S 234 C 5 C 6 C 234 S 6 S 234 C 5 C 6 C 234 C 6 S 234 S 5 S 234 a 4 S 23 a3 S 2 a2
X (3.27)
S 5C6 S5 S6 C5 0
X
0 0 0 X 1
X
X
De la ecuación anterior se tiene: X
X
Elementos 3, 4: X
.
p x S1 p y C1 0 1 tan 1 ( p y / p x ) y 1 1 1800 (3.28)
Elementos 1, 4 y 2, 4:
p x C1 p y S1 C 234 a4 C 23 a3 C2 a2 ,
(3.29)
pz S 234 a4 S 23 a3 S 2 a2
( pz S 234 a 4 ) 2 ( S 23 a3 S 2 a2 ) 2
de forma que
( p x C1 p y S1 C 234 a4 ) 2 ( pz S 234 a4 ) 2 a22 a32
C3 (3.30)
2a 2 a 3
C1 n y S1 n x C1o y S1 o x C1 a y S1 a x 0
0 0 0 1
C5C6 C5 S 6 S5 0
S 5C6 S5 S6 C5 0
(3.33)
S6 C6 0 0
0 0 0 1
Elementos 3, 3:
1 az
S 234 (C1 a x S1 a y ) C 234 a z 0 234 tan y 234 234 1800 (3.34)
C1 a x S1 a y
de donde
1
(C3 a3 a 2 )( p z S 234 a 4 ) S 3 a3 ( p x C1 p y S1 C 234 a 4 )
2 tan (3.37)
(C3 a3 a 2 )( p x C1 p y S1 C 234 a 4 ) S 3 a3 ( p z S 234 a 4 )
Como existen 2 soluciones para 234 (ecuación (3.34)), también existen 2 soluciones para 4.
Elementos 1, 3 y 2, 3:
1
C 234 (C1 a x S1 a y ) S 234 a z
y 5 tan (3.40)
S1 a x C1 a y
También se puede observar que no existe una ecuación desacoplada para 6 por lo que hay que
premultiplicar la ecuación (3.33) por la inversa de A5 para desacoplar a 6. Por tanto:
Elementos 2, 1 y 2, 2:
1
S 234 (C1 n x S1 n y ) C 234 n z
6 tan (3.42)
S 234 (C1o x S1o y ) C 234 o z
Con esto se han obtenido 6 ecuaciones para en conjunto dan los valores requeridos para posicionar y
orientar al robot en la forma deseada. Un procedimiento similar aplica para otros tipos de robots. En
este caso esto fue posible pues las últimas 3 articulaciones se intersectan en un punto común. De otra
forma no sería posible encontrar una solución única, siendo necesario resolver las matrices
directamente o calcular la inversa de la matriz para encontrar las incógnitas. Varios robots industriales
tienen articulaciones que se intersectan en puntos comunes.
Ejemplo
Encontrar las expresiones para los ángulos de las articulaciones (cinemática inversa) del robot Stanford.
Se puede demostrar que esas expresiones son (figura 3.13 y tabla 3.3):
X
C1 p x S1 p y X
1
2 tan , X (3.44)
pz X
X
d3 S 2 (C1 p x S1 p y ) C2 p z (3.45)
X
X
S1 a x C1 a y X
1
4 tan , 4 4 1800 si X5 0 (3.46)
C 2 (C1 a x S1 a y ) S 2 a z X
X
X
1
C 4 C 2 (C1 a x S1 a y ) S 2 a z S4 S1 a x C1 a y X
5 tan (3.47)
S 2 (C1 a x S1 a y ) C 2 a z .
1 S6
6 tan
C6
donde
Existe una limitación con la representación D-H: Esta se basa en que todos los movimientos se refieren
a los ejes x y z. Sin embargo, el método no puede representar ningún movimiento respecto al eje y.
Esto ocurre en diferentes casos donde los ejes de 2 articulaciones se asume que son paralelos, pero
están ensamblados con una ligera desviación del paralelismo. Un pequeño ángulo entre 2 ejes implica
un movimiento en la dirección del eje y. Esto no se puede modelar con la técnica D-H.