Está en la página 1de 32

A

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.

3.2. Ecuaciones de cinemática directa e inversa para posición.


La posición del origen de un marco asociado a un cuerpo rígido tiene 3 gdl por lo que puede definirse
completamente con 3 piezas de información. Esta posición del origen del marco (y los consecuentes
movimientos del robot) puede establecerse en diferentes tipos de coordenadas como son cartesianas,
esféricas, cilíndricas y articuladas.

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
3.2.1. Coordenadas cartesianas (rectangulares).
o
Existen 3 movimientos lineales a lo largo de los ejes x, y, z. En este
:tipo de robots los actuadores son
lineales y el posicionamiento de la mano se logra moviendo las 3 articulaciones lineales respecto a los
3 ejes (figura 3.1). Este es el caso de un robot tipo grúa, aunque estáX referido a un marco rectangular.
X
X
X
X

X
X
X
X
X
X
X
X
.

Figura 3.1. Coordenadas cartesianas de un robot.

La representación matricial del movimiento del punto P es de translación pura. La matriz de


transformación que representa la cinemática directa de la posición de la mano del robot en un sistema
de coordenadas cartesianas es
1 0 0 Px
R
0 1 0 Py
TP Tcart (3.1)
0 0 1 Pz
0 0 0 1

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.

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
1 0 0 Px 1 0 0 3 o
0 1 0 Py 0 1 0 4 :
Se tiene R TP Px 3, Py 4, Pz 7
0 0 1 Pz 0 0 1 7 X
0 0 0 1 X
0 0 0 1 X
X
X

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
.

Figura 3.2. Coordenadas cilíndricas de un robot.

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)

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
1 0 0 0 C( ) S( ) 0 0 1 0 0o r
0 1 0 0 S( ) C( ) 0 0 0 1 0: 0
0 0 1 l 0 0 1 0 0 0 1X 0
0 0 0 1 0 0 0 1 0 0 0X 1
X
C( ) S ( ) 0 rC ( ) X
X
S( ) C ( ) 0 rS ( )
0 0 1 l X
X
0 0 0 1 X
X (3.2)
X
X
las tres primeras columnas representan la orientación del marco después
X
de las transformaciones.
X
En esta sección solo interesa la posición del origen del marco (última
. columna). En realidad, debidoa
la rotación respecto al eje z, la orientación del marco móvil cambia (esto se verá posteriormente).
Se puede cancelar el movimento de rotación del marco de forma que éste vuelva a ser paralelo al marco
de referencia. Esto se logra rotando el marco n , o , a respecto al eje a un ángulo de – grados. Esto es
equivalente a postmultiplicar la matriz de coordenadas cilíndricas por una matriz de rotación
Rot (a , ) . Así el marco móvil estará en la misma posición pero paralela al marco de referencia
nuevamente. Es decir:

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.

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
Igualando los componentes de la posición del origen del marco móvil de la matriz (3.2) a los valores
o
deseados se tiene :
l = 7, r C( ) = 3, r S( ) = 4, tan( ) = 4/3, = 53.1º
X
Al sustituir el valor de en las ecuaciones que la contienen se Xtiene que r = 5. Así, la cinemática
X
inversa arroja: X
X
r = 5, = 53.1º, l=7
X
X
Se observa que como r C( ) y r S( ) son ambos positivos y como
X
la longitud r siempre es positiva,
entonces el ángulo está en el primer cuadrante como 53.1º . X
X
X
X
X
.

3.2.3. Coordenadas esféricas.


Este sistema de coordenadas consiste de 1 movimiento lineal y 2 rotaciones. La secuencia es una
translación de r sobre el eje z, una rotación de 0 respecto al eje y y una rotación de 0 respecto al eje z
según se observa en la figura 3.3.

Figura 3.3. Coordenadas esféricas de un 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:

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
R t
TP Tesf (r , , ) Rot ( z, ) Rot ( y, )Trans(0,0, r ) o
C( ) S( ) 0 0 C( ) 0 S ( )0 0: 1 0 0 0
S( ) C( ) 0 0 0 1 0 0X 0 1 0 0
0 0 1 0 S ( ) 0 C( ) 0X 0 0 1 r
X
0 0 0 1 0 0 0 1X 0 0 0 1
X
C( ) C( ) S ( ) S ( ) C ( ) rS ( ) C ( )
C( ) S ( ) C ( ) S ( ) S ( ) rS ( ) S ( ) X
X
S( ) 0 C( ) rC ( ) X
X
0 0 0 1
X
X (3.3)
X
X
.
Las primeras 3 columnas representan la orientación del marco móvil y la última columna representa la
posición del origen de ese marco móvil.
Se puede cancelar la rotación del marco final para hacerlo paralelo al marco de referencia.

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( ).

tan( ) = 4/3, = 53.1º o bien = 233.1º

entonces S( ) = 0.8 o bien S( ) = -0.8


y C( ) = 0.6 o bien C( ) = -0.6

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
rS( ) = 3/0.6 = 5 o bien rS(
o
) = -5
:
Como rC( ) =7, = 35.5º o bien = -35.5º
y r = 8.6 X
X
X
Aunque ambos conjuntos de soluciones satisfacen las condiciones X de posición, solo un conjunto
satisface las condiciones de orientación (este aspecto se verá posteriormente).
X

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
.

Figura 3.4. Coordenadas articuladas de un robot.

3.3. Ecuaciones de cinemática directa e inversa para orientación.


Suponiendo que el marco móvil asociado a la mano de un robot se ha movido a una posición deseada
pero sigue siendo paralelo al marco de referencia o está en una orientación no deseada. Se busca
entonces rotar el marco móvil a la orientación deseada sin cambiar su posición. La secuencia de
rotaciones depende del diseño de la muñeca y de la forma en que las articulaciones están ensambladas
entre sí. Se consideran 3 tipos de coordenadas para orientación: Ángulos de giro, elevación y
desviación; ángulos de Euler; y uniones articuladas.

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
.

Figura 3.5. Rotaciones RPY respecto a los ejes comunes.

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
La matriz que representa la orientación RPY es
o
:
PRY ( a , o , n ) Rot (a, a ) Rot (o, o ) Rot (n, n )
X
C( a ) C( o ) C( a ) S ( o ) S ( n ) S ( a ) C( n ) C( a ) X S ( o ) C( n ) S ( a ) S ( n ) 0
S ( a ) C( o ) S ( a ) S ( o ) S ( n ) C( a ) C( n ) S ( a ) SX( o ) C ( n ) C ( a ) S ( n ) 0
X
S( o ) C( o ) S ( n ) X C( o ) C( n ) 0
0 0 0 1
X
X (3.4)
X
X el RPY. La posición y orientación
Esta matriz representa el cambio en la orientación causado solo por
final del marco relativo al marco de referencia será el producto Xde las 2 matrices representando su
X
cambio de posición y el RPY. X
X
Supóngase por ejemplo que un robot está diseñado en coordenadas . esféricas y RPY. Entonces puede
ser representado por:
R
TH Tesf (r , , ) RPY ( a , o , n )

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

que al multiplicar las matrices se obtiene:


nxC( a ) n y S ( a ) oxC( a ) o y S ( a ) axC( a ) a y S ( a ) 0
n y C( a ) nx S ( a ) o y C( a ) ox S ( a ) a yC( a ) a x S ( a ) 0
nz oz az 0
0 0 0 1

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
C( o ) S( o ) S( n ) S ( o ) C( n ) 0 :
0 C( n ) S( n ) 0
X (3.7)
S( o ) C( o ) S ( n ) C( o ) C( n ) 0 X
X
0 0 0 1 X
X
Los componentes n , o , a de la ecuación (3.6) representan los valores finales deseados que son
X
conocidos. Los valores de los ángulos RPY son las variables a determinar.
X
X
Al igualar los elementos izquierdos y derechos de la ecuación (3.7)Xse tiene:
X
X
X
Elementos 2, 1: X
n y C( a ) nx S ( a ) 0 a tan 2 1 (n y , n x ) y. a tan 2 1 ( n y , n x ) (3.8)

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

Entonces, usando las ecuaciones anteriores se obtienen 2 conjuntos de soluciones:

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
a tan 2 1 (n y , n x ) tan 2 1 (0.505,0.354) 550 o bien 2350 :

o tan 2 1 ( n z , (n x C ( a ) n y S ( a )) n tan 2 1 (0.788,0.616) X520 o bien 1280


X
n tan 2 1 (( a y C ( a ) a x S ( a )), (o y C ( a ) o x S ( a ))) tan 2 1 (0X.259,0.966) 150 o bien 1950
px 4.33, py 2.5, pz 8.0 X
X

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.

Figura. 3.6. Coordenadas cilíndricas y RPY para este ejemplo.

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
A partir de la información de posición, de la solución del ejemplot anterior y de la ecuación (3.2), se
o
tiene: :
rC ( ) 4.33, rS ( ) 2.5, 300
X
a 550 , a 250 X
S( ) 0.5, r 5 X
X
pz 8, l 8 X
0
o 52 , n 150 (ejemplo anterior) X
X
X obtenido en el
Una solución similar se encuentra para el segundo conjunto de valores ejemplo anterior.
X
X
X
X
3.3.2. Ángulos de Euler X
.
Los ángulos de Euler son similares a los ángulos de RPY con la diferencia de que la última rotación es
también con respecto al eje a según se muestra en la figura 3.7.

Figura 3.7. Rotación de ángulos de Euler.

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
Se requiere realizar todas las rotaciones relativas a los ejes del marco móvil para evitar cambios en la
o
posición del robot. Las rotaciones que representan los ángulos de Euler
: son:

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

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
C( ) C( ) C( ) S ( ) S( ) 0 o
S( ) C( ) 0 0 :
(3.13)
S ( ) C( ) S( ) S( ) C( ) 0 X
0 0 0 1 X
X
X
Los componentes del marco móvil n , o , a de la ecuación (3.12)
representan los valores deseados
X
finales que normalmente son conocidos. Los valores de los ángulos de Euler son las incógnitas.
X
X
Al igualar los términos izquierdos y derechos de la ecuación (3.13) Xse tiene
X
X
Elementos 2, 3: X
X
ax S ( ) a y C( ) 0 tan 2 1 (a y , a x ) o X
bien tan 2 1 ( a y , a x )
.
Conociendo a todos los parámetros del lado izquierdo de la ecuación (3.13) son conocidos, así:

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

A partir de las ecuaciones anteriores se tiene:

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
tan 2 1 (a y , a x ) tan 2 1 ( 0.220, 0.604) 220 o bien 2000 o
:
tan 2 1 ( n x S ( ) n y C ( ), o x S ( ) o y C ( )) tan 2 1 (0.31,0.952) 180 o bien 1980
tan 2 1 (a x C ( ) a y S ( ), a z ) tan 2 1 ( 0.643,0.766) 400 oX bien 400
X
X
X
3.3.3. Uniones articuladas X
Las uniones articuladas consisten de 3 rotaciones diferentes a las presentadas en las secciones 3.3.1 y
X
3.3.2 y están basadas en el propio diseño de las articulaciones. X El desarrollo de la matriz de
transformación para las uniones articuladas se retomará al estudiarX la representación de Denavit-
Hartenberg. X
X
X
X
X
.
3.4. Ecuaciones de la cinemática directa e inversa para posición y orientación.
La representación matricial para la posición final y la orientación final de un robot es una combinación
de las ecuaciones vistas en las secciones 3.2 y 3.3 dependiendo de la representación coordenada que se
use. Para un robot diseñado con articulaciones cartesianas y RPY, la posición y orientación finales del
marco relativo al marco de referencia será el producto de las 2 matrices representando en cambio de
posición cartesiano y el cambio de orientación RPY, es decir
R
TH Tcart ( Px , Py , Pz ) RPY ( a , o , n ) (3.16)

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.

3.5. Representación de Denavit-Hartenberg para la cinemática directa de robots


Denavit y Hartenberg desarrollaron un procedimiento que ha sido muy útil para representar y modelar
la cinemática (movimientos) de robots. Este procedimiento permite modelar articulaciones y segmentos
de robots para cualquier configuración (prismática, de revolución, etc.). También se usa para
representar transformaciones en cualquier esquema coordenado (cartesiano, cilíndrica, esférica, Euler y
RPY). Si bien se han presentado en las secciones previas diferentes formas de transformación para
movimientos de translación y rotación con la consecuente ventaja de su directa comprensión, la
representación de Denavit-Hartenberg (D-H) para robots puede ser usada junto con otras técnicas como
las del cálculo de Jacobianos y las de análisis de fuerzas.
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
:
Para aplicar la representación de D-H considérese que los robots están constituidos por una sucesión de
segmentos y articulaciones. Las articulaciones pueden ser prismáticas
X (lineales) o de revolución
(rotación) y en cualquier orden y en cualquier plano. Los segmentosX pueden ser de cualquier longitud
X
(incluyendo longitud cero), pueden estar doblados o torcidos y pueden estar en cualquier plano.
X
X

Considérese el robot de la figura 3.8 con 3 articulaciones sucesivas Xy 2 segmentos o eslabones.


X
X
X
X
X
X
X
.

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
:

X
X
X
X
X

X
X
X
X
X
X
X
X
.

Figura 3.8. Representación D-H para cualquier combinación de articulaciones y segmentos.

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
La figura 3.8a presenta 3 articulaciones que pueden ser de rotación
o translación. Se le asigna un
:
número n a la primer articulación, un número n+1 a la segunda articulación y otro número n+2 a la
tercera articulación (pueden haber más articulaciones antes o después X de las 3 que en la figura se
presentan). A cada segmento también se le asigna un número; X el segmento n está entre las
X
articulaciones n y n+1, el segmento n+1 está entre las articulaciones n+1 y n+2. También se requiere
X
asignar un marco de referencia local a cada articulación. A cada articulación
X se le asigna un eje z y un
eje x (no se requiere asignar un eje y a cada articulación pues el eje y es perpendicular a los ejes x y z).
X
X
Para asignar un marco de referencia local a cada articulación considérese el siguiente procedimiento:
X
Todas las articulaciones están representadas por un eje z. Si la articulación
X
es de revolución el eje z
está en la dirección de rotación según la regla de la mano derecha.
X Si la articulación es prismática el
eje z está en la dirección del movimiento lineal. El númeroX para el subíndice del eje z de la
articulación n es n-1 (el eje z representando la articulación Xn+1 es zn). Para articulaciones de
X la variable de la articulación. Para
revolución, la rotación respecto al eje z, representado por , será
.
articulaciones prismáticas, la longitud del segmento a lo largo del eje z, representado por d, será la
variable de la articulación.
De la figura 3.8a se puede observar que las articulaciones no necesariamente tienen que ser
paralelas o intersectantes. En general los ejes z son entre sí antilíneas (skew) que se ubican en
diferentes planos y que pueden no ser ni paralelas ni intersectantes. Siempre existe una línea
mutuamente perpendicular a dos antilíneas cualesquiera, llamada línea normal común, que tiene la
distancia más corta entre las dos antilíneas. Siempre se asigna el eje x del marco de referencia local
en la dirección de la línea normal común. De esa forma, si an representa la normal común entre zn-1
y zn, la dirección de xn será a lo largo de an. Similarmente, si la normal común entre zn y zn+1 es an+1,
la dirección de xn+1 será a lo largo de an+1. Las líneas normales comunes entre articulaciones
sucesivas no son necesariamente intersectantes o colineales. Consecuentemente, el lugar de los
orígenes de dos marcos sucesivos también pueden no estar en el mismo lugar.
Para asignar marcos de coordenadas a todas las articulaciones, si los ejes z de dos articulaciones
son paralelos existe un número infinito de líneas normales comunes. Se elige la normal común
colineal con la normal común de la articulación previa. Esto para simplificar el modelo.
Para asignar marcos de coordenadas a todas las articulaciones, si los ejes z de dos articulaciones
sucesivas son intersectantes no existe una normal común entre ellas (es una línea normal de
longitud cero). En este caso se asigna el eje x a lo largo de la línea perpendicular al plano formado
por los dos ejes. De esta forma la normal común es una línea perpendicular al plano que contiene
los dos ejes z y es equivalente a elegir la dirección del producto cruz de los ejes z. Esto también
simplifica el modelo.

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.

La siguiente matriz A que representa los 4 movimientos anteriores se puede determinar


postmultiplicando las 4 matrices que representan los 4 movimientos. Debido a que todas las
transformaciones son con respecto a un marco local, todas las matrices son postmultiplicadas dando:
n
Tn 1 An 1 Rot ( z, n 1 ) Trans(0,0, d n 1 ) Trans(an 1 ,0,0) Rot ( x, n 1 )
C( n 1 ) S( n 1 ) 0 0 1 0 0 0
S( n 1 ) C( n 1 ) 0 0 0 1 0 0
0 0 1 0 0 0 1 dn 1

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

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
C( n 1 ) S( n 1 ) C( n 1 ) S( n 1 )S ( n 1 ) oa n 1 C( n 1 )
S( ) C( ) C( ) C( ) S( ) :a S( )
n 1 n 1 n 1 n 1 n 1 n 1 n 1
(3.18)
0 S( n 1 ) C( n 1 ) X dn 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)

donde n es el número de la articulación. Para un robot de 6 gdl se tendrán 6 matrices A.

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):

Tabla 3.1. Parámetros D-H.

# d a
1
2
3
4
5
6

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
Ejemplo :
Sea el robot de 6 gdl de la figura 3.9. Asignar los marcos de coordenadas necesarios según la
representación D-H, auxiliándose de la correspondiente. X
X
X
X
X

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.

Figura 3.10. Marcos de referencia para el robot de 6 gdl.

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
:

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:

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
Tabla 3.2. Parámetros D-H para el robott de 6 gdl.
o
# d a :
1 1 0 0 90
2 0 a2 X 0
2
X
3 3 0 a3 X 0
4 4 0 a4 X -90
5 0 0 X 90
5
6 6 0 0 X 0
X
Se debe tomar en cuenta que las articulaciones, segmentos yX marcos de referencia se mueven
constantemente. Los ángulos representan las variables de articulaciónX para las articulaciones de
X
revolución, d representan las variables de articulación para las Xarticulaciones prismáticas. En este
ejemplo todas las variables de articulaciones son articulaciones de revolución.
X
X
Las transformaciones entre dos articulaciones sucesivas se pueden .escribir
sustituyendo los parámetros
de la tabla en la matriz A correspondiente. En este caso A1 representa la transformación entre los
marcos de referencia 0 y 1, C1 denota cos( 1), de forma que:
C1 0 S1 0 C2 S 2 0 C2 a2
S1 0 C1 0 S2 C2 0 S 2 a2
A1 , A2 ,
0 1 0 0 0 0 1 0
0 0 0 1 0 0 0 1
C3 S3 0 C3 a3 C4 0 S4 C4 a4
S3 C3 0 S 3 a3 S4 0 C4 S 4 a4
A3 , A4
0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1
C5 0 S5 0 C6 S6 0 0
S5 0 C5 0 S6 C6 0 0
A5 , A6 (3.21)
0 1 0 0 0 0 1 0
0 0 0 1 0 0 0 1

Usando las siguientes relaciones trigonométricas


S ( 1 )C ( 2 ) C ( 1 ) S ( 2 ) S ( 1 2) S12
(3.22)
C ( 1 )C ( 2 ) S ( 1 ) S ( 2 ) C( 1 2 ) C12

la transformación total entre la base del robot y la mano 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
R t
TH A1 A2 A3 A4 A5 A6 o
C1 (C 234 C 5 C 6 S 234 S 6 ) C1 ( C 234 C 5 C 6 S 234 C 6 ) C1 (C 234 S 5 ) :S C5 C1 (C 234 a 4 C 23 a3 C2 a2 )
1

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).

Figura 3.12. Brazo Stanford.

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.

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
:

X
X
X
X
X

X
X
X
X
X
X
X
X
.
Figura 3.13. Marcos de referencia para el brazo Stanford.

Tabla 3.3. Parámetros D-H para el brazo Stanford.


# d a
1 1 0 0 -90
2 2 d2 0 90
3 0 d3 0 0
4 4 0 0 -90
5 5 0 0 90
6 6 0 0 0

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

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
ox C1 C 2 (C 4 C5 C6 S 4 C6 ) S 2 S 5 S 6 S1 ( S 4 C 5 S 6 C 4oC6 )
oy S1 C 2 (C 4 C5 S 6 S 4 C6 ) S 2 S 5 S 6 C1 ( S 4 C5 S 6 C 4:C6 )
oz S 2 (C 4 C5 S 6 S 4 C6 ) C 2 S 5 S 6 X
X
X
ax C1 (C 2 C 4 S 5 S 2 C 5 ) S1 S 4 S 5
X
ay S1 (C 2 C 4 S 5 S 2 C5 ) C1 S 4 S 5 X

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

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
R t
TH A1 A2 A3 A4 A5 A6 o
C1 (C 234 C 5 C 6 S 234 S 6 ) C1 ( C 234 C 5 C 6 S 234 C 6 ) C1 (C 234 S 5 ) :S C5 C1 (C 234 a 4 C 23 a3 C2 a2 )
1

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). .

La posición y orientación deseadas del robot son


nx ox ax p x
R
ny oy ay py
TH (3.25)
nz oz az pz
0 0 0 1

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

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
n x C1 n y S1 o x C1 o y S1 a x C1 a y S1 p x Co1 p y S1
nz oz az : p
z

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

Si las ecuaciones (3.29) se arreglan, se elevan al cuadrado y se suman se obtiene:


( p x C1 p y S1 C 234 a 4 ) 2 (C 23 a3 C 2 a 2 ) 2

( pz S 234 a 4 ) 2 ( S 23 a3 S 2 a2 ) 2

( p x C1 p y S1 C 234 a 4 ) 2 ( pz S 234 a 4 ) 2 a 22 a32 2a 2 a3 ( S 2 S 23 C 2 C 23 )

Usando las propiedades trigonométricas (3.22) se tiene


S 2 S 23 C 2 C 23 cos 2 3 2 cos( 3 ) C3

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

donde C234 y S234 son incógnitas a determinar.

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
Como S 3 1 C32 , se tiene que o
S3 :
1
3 tan (3.31)
C3 X
X
X
Como las articulaciones 2, 3 y 4 son paralelas, premultiplicando por
X las inversas de A2 y A3 no dará
resultados de utilidad. Si se premultiplica por las inversas de A1, A2X, A3 y A4 se tiene
nx ox ax px
X
1 1 1 1
ny oy ay py 1 1 1 1 X
A4 A3 A2 A1 A4 A3 A2 A1 MLD X A5 A6 (3.32)
nz oz az pz
X
0 0 0 1 X
X
X
dando X
.
C 234 (C1 n x S1 n y ) C 234 (C1o x S1 o y ) C 234 (C1 a x S1 a y ) C 234 (C1 p x S1 p y )
S 234 n z S 234 o z S 234 a x S 234 p z C 34 a 2 C 4 a3 a4

C1 n y S1 n x C1o y S1 o x C1 a y S1 a x 0

S 234 (C1 n x S1 n y ) S 234 (C1o x S1 o y ) S 234 (C1 a x S1 a y ) S 234 (C1 p x S1 p y )


C 234 n z C 234 o z C 234 a z C 234 p z S 34 a 2 S 4 a3

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

De la ecuación anterior se tiene:

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

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
Con el valor de 234 es posible obtener S234 y C234 y con ellos se calcula
o 3.
:
Considerando nuevamente la ecuación (3.29) se puede calcular sen ( 2) y cos( 2) como sigue:
p x C1 p y S1 C234 a4 C23 a3 C2 a2 , X
Se sabe que: X
p z S 234 a4 S 23 a3 S 2 a2 X
X
X
Como C12 = C1C2 –S1S2 y S12 = S1C2 + C1S2 se tienen las siguientes 2 ecuaciones con 2 incógnitas C2,
S2: X
p x C1 p y S1 C 234 a 4 (C 2 C3 S 2 S 3 )a3 C 2 a2 X
X (3.35)
p z S 234 a 4 ( S 2 C3 C 2 S 3 )a3 S 2 a 2 X
X
Entonces X
X
(C 3 a3 a 2 )( p z S 234 a 4 ) S 3 a3 ( p x C1 p y S1 C 234 a 4 )X
S2 2 2 2
(C 3 a3 a2 ) S a .
3 3
(3.36)
(C 3 a3 a 2 )( p x C1 p y S1 C 234 a 4 ) S 3 a3 ( p z S 234 a 4 )
C2
(C 3 a3 a2 ) 2 S 32 a32

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 2 y 3se conocen, ahora se puede calcular 4:


4= 234 - 2 - 3 (3.38)

Como existen 2 soluciones para 234 (ecuación (3.34)), también existen 2 soluciones para 4.

Elementos 1, 3 y 2, 3:

S5 C 234 (C1a x S1 a y ) S 234 a z


(3.39)
C5 C1a y S1 a x

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:

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
C 5 C 234 (C1 n x S1 n y ) S 234 n z C 5 C 234 (C1o x S1o y ) S 234 ooz 0 0
S 5 ( S1 n x C1 n y ) S 5 ( S1o x C1o y ) :
X
S 234 (C1 n x S1 n y ) C 234 n z S 234 (C1o x S1 o y ) C 234 o zX 0 0
X
X
X
0 0 1 0
X
X
0 0 X 0 1
X
X
C6 S6 0 0 X
S6 C6 0 0 X
X (3.41)
0 0 1 0 .
0 0 0 1

De la ecuación anterior se tiene:

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):

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
py d2 2o
1 tan 1 ( ) tan 1
donde r p x2 py (3.43)
px r 2
d 2 :
2

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

S6 C5 C 4 C 2 (C1o x S1 o y ) S 2 o z S4 S1 o x C1o y S 5 S 2 (C1o x S1 o y ) C 2 o z


(3.48)
C6 S 4 C 2 (C1o x S1 o y ) S 2 o z C4 S1 o x C1o y

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.

Elaboró y revisó: Dr. Marco Oliver


26 Abril 2010.

REVISIÓN Y ACTUALIZACIÓN DE PLANES Y PROGRAMAS DE POSGRADO


Programa de Maestría en Ciencias en Ingeniería Mecatrónica del CENIDET

También podría gustarte