Sunteți pe pagina 1din 12

Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382

2012 CEA. Publicado por Elsevier Espaa, S.L. Todos los derechos reservados
http://dx.doi.org/10.1016/j.riai.2012.09.004
Modelado de Cadenas Cinem aticas mediante Matrices de Desplazamiento.
Una alternativa al m etodo de Denavit-Hartenberg
A. Barrientos
a
, M.

Alvarez
b
, J.D. Hern andez
a,
, J. del Cerro
a
, C. Rossi
a
a
Centro de Autom atica y Rob otica UPM-CSIC, Universidad Polit ecnica de Madrid. Madrid, Espa na.
b
Universidad Polit ecnica de Madrid. Madrid, Espa na.
Resumen
En este trabajo se presenta un m etodo para el modelado de cadenas cinem aticas de robots que salva las dicultades asociadas
a la elecci on de los sistemas de coordenadas y obtenci on de los par ametros de Denavit-Hartenberg. El m etodo propuesto parte
del conocimiento de la posici on y orientaci on del extremo del robot en su conguraci on de reposo, para ir obteniendo en qu e se
transforman estas tras los sucesivos movimientos de sus grados de libertad en secuencia descendente, desde el m as alejado al m as
cercano a su base. Los movimientos son calculados en base a las Matrices de Desplazamiento, que permiten conocer en que se
transforma un punto cuando este es desplazado (trasladado o rotado) con respecto a un eje que no pasa por el origen. A diferencia
del m etodo de Denavit-Hartenberg, que precisa ubicar para cada eslab on el origen y las direcciones de los vectores directores de
los sistemas de referencia asociados, el m etodo basado en las Matrices de Desplazamiento precisa solo identicar el eje de cada
articulaci on, lo que le hace m as simple e intuitivo que aquel. La obtenci on de las Matrices de Desplazamiento y con ellas del
Modelo Cinem atico Directo a partir de los ejes de la articulaci on, puede hacerse mediante algunas simples operaciones, f acilmente
programables. Copyright 2012 CEA. Publicado por Elsevier Espa na, S.L. Todos los derechos reservados.
Palabras Clave:
Modelo cinem atico de robots, Denavit-Hartenberg, f ormula de rotaci on de Rodrigues.
1. Introducci on
El m etodo de Denavit Hartenberg (Denavit and Hartenberg,
1955) para obtener el modelo cinem atico de un robot manipu-
lador, constituye un t opico obligado en todo curso b asico de
rob otica.
Este m etodo establece el modo en que deben seleccionarse
los sistemas de coordenadas asociados a los eslabones o barras
de la cadena cinem atica del robot, para sistematizar la obten-
ci on de las matrices de cambio de base
i1
A
i
entre el sistema
asociado a la barra i 1 y a la barra i.
La multiplicaci on de estas matrices permite obtener la ma-
triz de cambio de base entre los sistemas asociados a la base y al
extremo del robot, en funci on de los valores adoptados por sus
grados de libertad (GDL), o lo que es lo mismo, conocer las ex-
presiones que denen la posici on y orientaci on del extremo del
robot en funci on de las coordenadas articulares (q
i
). Estas rela-

Autor en correspondencia
Correos electr onicos: antonio.barrientos@upm.es (A. Barrientos),
malvarez@etsii.upm.es (M.

Alvarez), juandhv@etsii.upm.es (J.D.
Hern andez ), j.cerro@upm.es (J. del Cerro), claudio.rossi@upm.es (C.
Rossi)
ciones constituyen el denominado Modelo Cinem atico Directo
(MCD) del robot.
La obtenci on de este modelo es imprescindible para abordar
la mayor parte de los problemas asociados al control y progra-
maci on de los robots manipuladores, caminantes o humanoides.
El origen del m etodo se encuentra en el trabajo de Denavit
y Hartenberg que permite establecer la relaci on entre dos barras
rgidas consecutivas unidas por una articulaci on de un grado de
libertad, mediante una matriz
i1
A
i
, funci on de 4 par ametros
(, d, a, ) asociados a 4 movimientos consecutivos (rotaci on y
traslaci on enz, seguidos de traslaci on y rotaci on en x). Para que
esto sea posible, es preciso asociar a cada barra un sistema de
coordenadas posicionado seg un determinadas reglas.
Pieper (Pieper, 1968) aplic o esta representaci on matricial de
las relaciones entre dos barras conectadas por una articulaci on,
para sistematizar la obtenci on del modelo cinem atico directo de
robots. Para ello se identica a la matriz de Denavit Hartenberg
(
i1
A
i
) con la matriz que dene el cambio de base entre los sis-
temas asociados a las barras i 1 e i, siendo esta funci on del
grado de libertad de la articulaci on (q
i
). Obtenidas las matri-
ces
i1
A
i
para i desde 1 a n (n umero de grados de libertad del
robot), su producto da lugar a la matriz de cambio de base T
n
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
372 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
entre el sistema base y el sistema asociado al extremo del robot,
que expresa la localizaci on de su extremo en funci on de las q
i
(modelo cinem atico directo).
Paul (Paul and Shimano, 1978; Paul, 1981) y otros inves-
tigadores divulgaron y popularizaron el m etodo que, nalmen-
te conocido como m etodo de Denavit Hartenberg (DH), se ha
convertido en el procedimiento est andar para el modelado ci-
nem atico de robots, siendo incluso utilizados los par ametros
DH para la denici on de cadenas cinem aticas en herramientas
de simulaci on (Corke, 1996), (Jaramillo-Botero et al., 2006) y
ampli andose su uso al an alisis din amico.
Conceptualmente el m etodo DH es sencillo, basta con apli-
car unos conocimientos elementales de algebra lineal. Pero su
uso no suele estar exento de cierta dicultad debido a la com-
plejidad espacial ligada a la selecci on de la ubicaci on de los
sistemas de coordenadas asociados a cada barra.
En cualquier caso, la popularidad del m etodo de DH ha
eclipsado otras alternativas que, posiblemente precisando de
unas bases alg ebricas menos difundidas que el uso de las ma-
trices de transformaci on homog enea para representar cambios
de base y sin notables ventajas frente a esta, han tenido menor
aceptaci on que el m etodo de DH.
Los n umeros duales (Veldkamp, 1976), utilizados dentro
del contexto matricial, permiten expresar las matrices DH en
sus equivalentes matrices de n umeros duales (3x3), siendo apli-
cables a la soluci on del modelo cinem atico del robot (McCarthy,
1986), (Jin and Xiaorong, 2010).
Los cuaternios, si bien permiten representar rotaciones de
una manera m as compacta que las matrices de rotaci on, no per-
miten por s solos representar traslaciones. Sin embargo, su ex-
tensi on a los cuaternios duales, en los que cada uno de los cuatro
componentes del cuaternio est a formada por un n umero dual,
permite el uso del algebra de cuaternios para representar ro-
taciones y traslaciones, constituyendo as una alternativa v alida
para el modelado de cadenas cinem aticas (Perez and McCarthy,
2004).
En general los n umeros duales permiten expresar un movi-
miento de desplazamiento (traslaci on y rotaci on) a lo largo de
un eje, denominado Movimiento de tornillo o Screw (en su
denominaci on en ingl es), pudiendo ser este tipo de movimien-
tos manejados mediante diferentes recursos algebraicos. Una
comparaci on de estas t ecnicas y su eciencia computacional
puede encontrarse en (Funda, 1988), (Funda and Paul, 1990).
El m etodo denominado como Producto de Exponenciales
(PoE por sus siglas en ingl es) (Brockett, 1984), (Murray et al.,
1994), utiliza la representaci on exponencial de una serie matri-
cial para representar desplazamientos de tornillo, cuya adecua-
da combinaci on permite la obtenci on del modelo cinem atico de
robots. Este m etodo evita la compleja selecci on de los sistemas
de coordenadas DH, pero su justicaci on y deducci on es menos
intuitiva y m as compleja que el uso de las nociones b asicas de
algebra asociadas al m etodo de DH, por lo que su difusi on es
escasa, quedando limitado a algunos desarrollos de robots espe-
cialmente complejos como es el caso de los robots humanoides
(Arbul u, 2009).
En este artculo se presenta y demuestra un m etodo para la
obtenci on del modelo cinem atico de un robot que, recurrien-
do solo a conocimientos b asicos de algebra lineal y a simples
consideraciones vectoriales, deduce una expresi on nal del Mo-
delo Cinem atico equivalente a la que se llega con el Producto
de Matrices Exponenciales, pero sin precisar del uso de estas,
sistematizando y simplicando notablemente la obtenci on del
modelo cinem atico de robots, con respecto al m etodo de DH.
El m etodo propuesto utiliza las denominadas Matrices de
Desplazamiento (D
i
), de f acil obtenci on a partir de la identi-
caci on de los ejes de cada articulaci on, prescindiendo del esta-
blecimiento de los sistemas de coordenadas y de la obtenci on de
los par ametros DH, foco de dicultades y errores en el m etodo
de Denavit-Hartenberg.
Frente al m etodo de DH, el m etodo propuesto resulta m as
simple de comprender y de aplicar, evitando la necesidad de
tener que memorizar y utilizar los criterios que llevan a la se-
lecci on de los sistemas de coordenadas de Denavit Hartenberg
y a la obtenci on de los correspondientes par ametros.
Se aspira a que tras el conocimiento del algoritmo y su de-
mostraci on, este constituya una alternativa competitiva e inclu-
so preferida al m etodo de Denavit-Hartenberg para el modelado
de cadenas cinem aticas rob oticas.
Se ha optado por estructurar el presente artculo comenzan-
do con la exposici on del m etodo (apartado 2), previamente a su
justicaci on. Esta decisi on tiene por objeto el mostrar al lector,
desde el primer momento, las ventajas del m etodo propuesto.
El algoritmo se describe tanto literalmente como mediante su
codicaci on en Matlab .
Tras especicar el algoritmo y aplicarlo en un sencillo ro-
bot de ejemplo para facilitar su comprensi on, se procede en el
apartado 3 a su demostraci on. En esta, la unica dicultad, pura-
mente geom etrica, es la demostraci on de la f ormula de Rodri-
gues, que si bien es ampliamente conocida, se ha incluido en el
artculo para su mejor disposici on. La demostraci on del m etodo
propuesto precisa de la extensi on de la f ormula de Rodrigues a
rotaciones en torno a ejes que no pasan por el origen, lo que se
hace mediante simples razonamientos geom etricos.
En el apartado 4 se muestra como las Matrices de Despla-
zamiento permiten, con la misma metodologa habitualmente
utilizada con las matrices de DH (Paul, 1981), obtener el mo-
delo cinem atico inverso.
El apartado 5 extiende el uso del m etodo a la obtenci on del
modelo diferencial, calculando las componentes de la matriz
Jacobiana a partir de las Matrices de Desplazamiento genera-
lizadas. Con esto, la utilizaci on del m etodo MD al modelado
cinem atico de robots se equipara a la del m etodo DH (Modelo
cinem atico directo, inverso y diferencial).
En el apartado 6 se muestran las ventajas del m etodo apli-
cado a dos robots de cinem atica complicada. El primero se trata
de un robot redundante de 7 grados de libertad. El segundo es
un robot multicadena concretado en un robot bpedo. En am-
bos casos se muestran los sistemas y par ametros de Denavit-
Hartenberg y los ejes y par ametros de las Matrices de Despla-
zamiento.
Se supone que el lector est a familiarizado con el m etodo de
Denavit-Hartenberg (Ollero, 2001), (Spong et al., 2005), (Ba-
rrientos et al., 2007).
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382 373
2. Algoritmo de obtenci on del Modelo Cinem atico Directo
mediante Matrices de Desplazamiento
Del mismo modo que el m etodo de Denavit-Hartenberg, el
m etodo de las Matrices de Desplazamiento puede sistematizar-
se en una serie de pasos a modo de algoritmo.
2.1. Algoritmo para obtener el MCD mediante MD
Mientras en el m etodo de DH es preciso comenzar identi-
cando el eje de desplazamiento (giro o traslaci on) de cada arti-
culaci on, para despu es situar el origen del sistema de coordena-
das, y los ejes z, x, y (en este orden) haciendo consideraciones
sobre la situaci on del eje de la propia articulaci on y la del eje
de la articulaci on anterior, en el m etodo propuesto basta con la
identicaci on de los ejes de desplazamiento, sin precisarse de
situar los ejes xyz ni el origen del sistema de coordenadas. Esta
diferencia simplica notablemente el procedimiento, evit ando-
se pasos que pueden ser fuentes de errores por el manejo de ejes
asociados a varias articulaciones y por precisarse de cierta vi-
si on espacial, en ocasiones compleja. Tras la obtenci on de estos
ejes, se calculan las matrices D
i
, ligadas a cada una de las ar-
ticulaciones.

Estas representan desplazamientos generalizados
en el espacio (traslaciones o rotaciones en torno a cualquier eje)
y dependen de los par ametros que denen el eje de la articula-
ci on. Por ultimo, para obtener el modelo cinem atico del robot,
se efect ua el producto las matrices D
i
y se a nade a este el de la
matriz de transformaci on homog enea T
0
que dene la localiza-
ci on del extremo del robot, cuando todos los grados de libertad
adoptan el valor cero. La Tabla 1 recoge esquem aticamente los
pasos del algoritmo, mientras que en la Tabla 2 se compara este
con el m etodo de DH
En relaci on con la comparaci on mostrada en la Tabla 2, ca-
be destacar que la diferencia entre ambos m etodos se concreta
en los pasos 1 y 2. As los pasos 1.b, 1.c y 1.d del algoritmo DH
mostrado en la Tabla 2, desaparecen totalmente en al algoritmo
MD, con lo que se simplica el procedimiento. Por su parte la
obtenci on de los 4 par ametros de DH(paso 2.a) que supone para
cada grado de libertad la realizaci on de 4 movimientos conse-
cutivos que deben ser identicados y cuanticados, se sustituye
por la identicaci on del eje de cada articulaci on (

k, p)), y de la
matriz que localiza al extremo del robot en su posici on de re-
poso, valores f acilmente deducibles a partir de la geometra del
robot T
0
.
Los dos ultimos pasos corresponden a operaciones alg ebri-
cas y son equivalentes en ambos m etodos, pudiendo ser delega-
dos a programas de algebra simb olica (como el mostrado en la
Tabla 3), que reciben como entradas los resultados del segundo
paso (par ametros de DH o par ametros
_

k
_
y
_
p
_
de los ejes y
matriz T
0
).
2.2. Ejemplo de obtenci on del MCD mediante MD
Se aplica a continuaci on el algoritmo descrito en la Tabla 1
al robot de 3 grados de libertad mostrado en la Figura 1 en su
posici on de reposo q
i
= 0, i).
Tabla 1: Algoritmo para la obtenci on del Modelo Cinem atico de un
Robot mediante las Matrices de Desplazamiento
D-1. Situando al robot en su posici on cero (q
i
= 0, i), en-
contrar la expresi on de la matriz de transformaci on ho-
mog enea T
0
que localiza al extremo del robot referido
al sistema de la base.
D-2. Para la misma posici on del robot y para cada grado de
libertad q
i
obtener la matriz de desplazamiento Di. Para
ello:
D-2.1. Identicar el vector unitario

k
i
del eje de la articu-
laci on expresado en las coordenadas del sistema
de la base.
D-2.2. Seleccionar un punto cualquiera p
i
del eje de la
articulaci on.
D-2.3. La matriz de desplazamiento asociada a ese grado
de libertad, vendr a dada por:
D
i
=
_
I

k
1
.q
i
0 1
_
, si el GDL es de traslaci on
D
i
=
_
R
i
(I R
i
). p
i
0 1
_
, si el GDL es de rotaci on
con I matriz identidad de dimensi on 3
R
i
= Icos(q
i
)+

k
i

k
i
T
(1cos(q
i
))+skew(

k
i
)sen(q
i
)
Siendo el operador skew el que a cada vector

k =
_
k
x
, k
y
, k
z
_
asocia la matriz antisim etrica
skew
_

k
_
=
_

_
0 k
z
k
y
k
z
0 k
x
k
y
k
x
0
_

_
D-3. El MCD se obtiene como el producto
T
n
=
_

n
i=1
D
i
_
.T
0
Z0 Y0
X0
Yn
Xn
Zn
k1
p3
p1
k
2
q1
q2
k3
q3
L2 L3
L
1
p2
O0
On
Figura 1: Robot ejemplo de 3 GDL.
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
374 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
Tabla 2: Comparaci on entre los m etodos de DH y Matrices de Desplazamientos
M etodo de DH M etodo de Matrices de Desplazamientos
1. Identicaci on de los sistemas de coordenadas asociados a
cada articulaci on:
a. Identicar del eje de desplazamiento de cada articula-
ci on
b. Identicar del origen de cada sistema de coordenadas
c. Identicar de los ejes z de cada sistema de coordenadas
d. Identicar de los ejes x de cada sistema de coordenadas
1. Identicaci on de los ejes de desplazamiento asociado a ca-
da articulaci on:
a. Identicar del eje de desplazamiento de cada articula-
ci on
2. Obtenci on de los 4 par ametros de DH (, d, a, )
a. Encontrar los valores del giro en z, traslaci on en z, tras-
laci on en x y giro en x, necesarios para pasar del siste-
ma asociado a un eslab on al del siguiente.
2. Obtenci on de los par ametros que denen los ejes y de la
localizaci on del robot en reposo con el robot situado en su
posici on cero (q
i
= 0, i)
a. Identicar el eje de cada articulaci on (mediante su vec-
tor director
_

k
_
y un punto cualquiera del mismo
_
p
_
)
b. Identicar la matriz de transformaci on homog enea T
0
que dene la localizaci on de su extremo
3. Obtenci on de las matrices de DH:
i1
A
i
mediante expresi on
conocida
3. Obtenci on de las matrices de Desplazamiento: D
i
mediante
expresi on conocida (f ormula de Rodrigues generalizada)
4. Obtenci on del MCD como producto de las matrices
i1
A
i
4. Obtenci on del MCD como producto de las matrices D
i
y la
matriz T
0
D-1. Se comienza obteniendo la Matriz de Transformaci on Ho-
mog enea T
0
que dene la localizaci on del extremo del
robot, cuando q
i
= 0 para todo i.
T
0
=
_

_
0 0 1 L
2
+ L
3
1 0 0 0
0 1 0 L
1
0 0 0 1
_

_
Las tres primeras columnas representan las coordenadas
de los vectores X
n
, Y
n
, Z
n
en el sistema S
0
= {O
0
, X
0
, Y
0
,
Z
0
}. La cuarta columna representa las coordenadas de O
n
,
origen del sistema S
n
y punto extremo del robot, en el
sistema de la base S
0
.
D-2.1. y D-2.2: Se obtienen los valores que denen los ejes de
cada articulaci on, siendo estos:
Eje Vector director

k
i
Punto cualquiera del eje p
i
1

k
1
= [0, 0, 1] p
1
= [0, 0, 0]
2

k
2
= [0, 1, 0] p
2
= [L
2
, 0, L
1
]
3

k
3
= [1, 0, 0] p
3
= [0, 0, L
1
]
En la Figura 1 se han marcado los vectores libres k
i
y
los puntos seleccionados de cada eje p
i
. N otese que p
i
es
cualquier punto del eje de la articulaci on i, procur andose
por ello escoger el que resulte m as c omodo.
D-2.3. Una vez obtenidos los vectores

k
i
y p
i
se obtienen las co-
rrespondientes matrices D
i
. En el presente ejemplo los 3
grados de libertad son de rotaci on. Las matrices D
i
toman
la forma
1
:
D
1
=
_

_
C
1
S
1
0 0
S
1
C
1
0 0
0 0 1 0
0 0 0 1
_

_
(1)
D
2
=
_

_
C
2
0 S
2
L
1
S
2
L
2
(C
2
1)
0 1 0 0
S
2
0 C
2
L
2
S
2
L
1
(C
2
1)
0 0 0 1
_

_
(2)
D
3
=
_

_
1 0 0 0
0 C
3
S
3
L
1
S
3
0 S
3
C
3
L
1
(C
3
1)
0 0 0 1
_

_
(3)
Estas expresiones han sido obtenidas mediante el c odi-
go Matlab incluido en la Tabla 3, que implementa los
puntos 2.3 y 3 del algoritmo.
1
Se emplea la notaci on habitual en rob otica que representa a las funciones
seno y coseno por las letras S y C, de modo que S
i
= sen(q
i
) y C
i
= cos(q
i
)
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382 375
D-3. El MCD se obtiene como el producto de las matrices D
i
por la matriz T
0
, resultando:
T
4
= D
1
.D
2
.D
3
.T
0
=
_

_
x
R y
z
0 0 0 1
_

_
(4)
Siendo:
R =
_

_
S
1
C
3
C
1
S
2
S
3
S
1
S
3
C
1
S
2
C
3
C
1
C
2
C
1
C
3
S
1
S
2
S
3
C
1
S
3
S
1
S
2
C
3
S
1
C
2
C
2
S
3
C
2
C
3
S
2
_

_
_

_
x
y
z
_

_
=
_

_
C
1
(L
2
+ L
3
C
2
)
S
1
(L
2
+ L
3
C
2
)
L
1
+ L
3
S
2
_

_
Tabla 3: C odigo en Matlab para resolver los pasos D-2.3 y D-3
por el m etodo de las Matrices de Desplazamiento (El c odigo se ha
particularizado para el caso de robots con un m aximo de 6 grados de
libertad. Puede ser f acilmente ampliable a cualquier n umero de grados
de libertad sin mas que aumentar el n umero de valores simb olicos qi y
del vector simb olico qq -2 primeras lneas-)
1 function T=MCD MD (kk,pp,T0,tipo,n)
2 % kk(3,n) coordenadas del vector director ...
del eje de la articulacion expresadas en ...
{S0}, con el robot situado en qi=0
3 % pp(3,n) coordenadas de un punto del eje de ...
la articulacion expresadas en {S0}, con ...
el robot situado en qi=0
4 % T0(4,4) MTH del sistema de coordenadas del ...
extremo {Sn} expresado en {S0}, con el ...
robot situado en cero qi=0
5 % tipo(1,n) vale 0 si el gdl es de rotacion ...
y 1 si es de traslacion
6 % n: numero de gdl
7 syms q1 q2 q3 q4 q5 q6 real;
8 qq=sym([q1, q2, q3, q4, q5, q6]);
9 T=T0;
10 I=eye(3);
11 for i=n:1:1
12 k=kk(i,:)'; p=pp(i,:)'; q=qq(i);
13 if tipo(i)==0
14 K=[0 k(3) k(2);k(3) 0 k(1);k(2) ...
k(1) 0];
15 R=I
*
cos(q)+k
*
k'
*
(1cos(q))+K
*
sin(q);
16 D=[R,(IR)
*
p;[0 0 0 1]]
17 else
18 D=[eye(3),w
*
q;[0 0 0 1]]
19 end
20 T=simple(D
*
T);
21 end
22 end
3. Demostraci on del Algoritmo
Para demostrar el algoritmo propuesto se debe partir de la
matriz de transformaci on homog enea T
0
que dene la locali-
zaci on (posici on y orientaci on) del extremo del robot, cuando
este se encuentra en la posici on cero (q
i
= 0 para todo i). A
continuaci on basta con ir calculando en qu e se transforma T
0
cuando se le somete sucesivamente a los desplazamientos ori-
ginados por cada uno de los grados de libertad desde q
n
hasta
q
1
. Estos desplazamientos consisten en traslaciones o giros a lo
largo de los ejes de la correspondiente articulaci on, que en ge-
neral no pasaran por el origen. El resultado es el valor de T
0
tras
haber sufrido los desplazamientos denidos por todos los gra-
dos de libertad y por lo tanto la nueva localizaci on del extremo
del robot T
n
en funci on de los q
i
o Modelo Cinem atico Directo.
Es preciso por lo tanto establecer cual es el resultado de
desplazar un punto mediante un eje cualquiera, denido por su
vector direcci on

k
i
y por un punto cualquiera del mismo p
i
. Este
movimiento va a venir denido por la Matriz de Desplazamien-
to.
3.1. Matriz de Desplazamiento generalizado
La Matriz de Desplazamiento generalizada es una matriz de
transformaci on homog enea D (4x4) que relaciona las coordena-
das de un punto r con las del punto s obtenido por la traslaci on
o rotaci on del primero a lo largo de un eje

k que no pase por el


origen.
_

_
s
x
s
y
s
z
1
_

_
= D.
_

_
r
x
r
y
r
z
1
_

_
(5)
En el caso de tratarse de una traslaci on de longitud d, en la
direcci on del vector

k = [k
x
, k
y
, k
z
], la relaci on es trivial, estan-
do la matriz de desplazamiento denida por la matriz:
D = .
_

_
1 0 0 d.k
x
0 1 0 d.k
y
0 0 1 d.k
z
0 0 0 1
_

_
(6)
Para el caso de rotaci on, antes de obtener la matriz D que
dene una rotaci on de angulo alrededor de un eje

k que no
pasa por el origen, es preciso encontrar la expresi on de Dpara el
caso particular de que el eje de rotaci on pase por el origen. Esta
matriz viene dada por la f ormula de Rodrigues, que se expone
y demuestra a continuaci on.
3.1.1. La f ormula de Rotaci on de Rodrigues
Si bien la demostraci on de la f ormula de Rodrigues, puede
encontrarse en numerosas fuentes (Koks, 2006), se reproduce
aqu para mayor comodidad del lector.
La Figura 2 representa un vector r que, una vez rotado un
angulo , en torno al eje denido por el vector unitario

k que
pasa por el origen O, se convierte en el vector s.
El crculo de la Figura 2a se muestra abatido en la Figura
2b.

Este se encuentra contenido en el plano perpendicular al eje
de rotaci on que pasa por el extremo del vector r. El punto O

es
el corte del vector de giro

k con dicho plano.


El vector

OO

est a en la direcci on del vector

k y su longitud
es la proyecci on del vector r sobre dicho vector. Por lo tanto
puede expresarse como:
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
376 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
z
x
y

O'
k x r
w
v
r
s
k
O
(a)
k x r
w
v

(b)
Figura 2: Rotaci on en torno a un eje que pasa por el origen

OO

= (

k.r)

k (7)
Los vectores v y w est an denidos como:
v = r

OO

= r (

k.r)

k (8)
w = s

OO

= s (

k.r)

k (9)
El producto vectorial

k r est a contenido en el crculo, pues

k es unitario. Adem as es perpendicular a v, pues

k v =

k
_
r
_

k.r
_

k
_
=

k r (10)
Atendiendo ahora al crculo se tiene (Figura 2b) que las pro-
yecciones del vector w sobre los vectores v y

k r, ser an res-
pectivamente cos() y sen() (n otese que las longitudes de w, v
y

k r son las mismas).


Por lo que w se podr a poner como:
w = v.cos() +

k r.sen() (11)
Sustituyendo (8) en (11) se obtiene:
w = (r (

k.r)

k).cos() +

k r.sen() (12)
Utilizando (9) y considerando (12) se llega a:
w = s

OO

= s (

k.r)

k
s = w+(

k.r)

k = (r (

k.r)

k).cos() +

k r.sen() +(

k.r)

k (13)
Desarrollando y agrupando t erminos:
s = r.cos() (

k.r)

k.cos() +

k r.sen() + (

k.r)

k (14)
s = r.cos() + (

k.r)

k(1 cos()) +

k r.sen() (15)
Esta expresi on, que es de por s la forma vectorial de la
f ormula de Rodrigues, permite obtener el vector s, resultado de
rotar al vector r alrededor del eje denido por el vector

k un
angulo . Puesto que interesa encontrar la matriz de rotaci on
que consigue el mismo efecto, se debe convertir la expresi on
(15) a su forma matricial, resultando:
s = R.r
Con:
R = Icos() +

k
T
(1 cos()) + skew(

k)sen() (16)
Donde I es la matriz identidad (3x3).
El producto del vector columna

k =
_
k
x
k
y
k
z
_
T
por su
traspuesto da lugar a una matriz (3x3).
La matriz skew(

k) se obtiene como la matriz antisim etrica


que, multiplicada por el vector r, da como resultado que

k r,
estando denida por:
skew(

k) =
_

_
0 k
z
k
y
k
z
0 k
x
k
y
k
x
0
_

_
(17)
Por lo tanto, utilizando coordenadas homog eneas como en
el caso de la expresi on (6), el resultado de rotar el vector r un
angulo alrededor de un eje

k que pasa por el origen, es (f ormu-


la matricial de Rodrigues):
_

_
s
x
s
y
s
z
1
_

_
= D.
_

_
r
x
r
y
r
z
1
_

_
(18)
con
D =
_
R 0
31
0
13
1
_
(19)
Estando R denido por la ecuaci on (16).
En ocasiones la expresi on de la f ormula matricial de Rodri-
gues puede encontrarse como:
R = I +
_
skew(

k)
_
2
(1 cos()) + skew(

k)sen() (20)
Expresi on que se puede comprobar es equivalente a (16), a
partir de la igualdad:
_
skew(

k)
_
2
=

k.

k
T
I (21)
que se puede vericar por simple desarrollo de ambos miem-
bros de la misma.
3.1.2. Rotaci on en torno a un eje que no pasa por el origen
La siguiente extensi on de la f ormula de Rodrigues permite
obtener la matriz de desplazamiento asociada a una rotaci on de
un angulo , alrededor de un eje

k, que no pasa por el origen.
Dicho eje, vendr a denido por su vector director

k y por un
punto cualquiera del mismo p.
Para ello se realizar a una traslaci on del origen de coorde-
nadas O al punto p, efectuando entonces la rotaci on alrededor
del eje

k que s pasa por el nuevo origen (p) (ver Figura 3). La
matriz que dene esta rotaci on estar a dada por la f ormula de
Rodrigues. Se parte para ello de la igualdad general:
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382 377
z
x
y
r
k
p
s
r - p
O'
O
Figura 3: Rotaci on en torno a un eje que no pasa por el origen
r = p + (r p) (22)
Donde p es un punto cualquiera del eje de giro y r el punto
original que se va a someter a la rotaci on.
El resultado de rotar r es un nuevo punto s. Si R representa
la matriz de rotaci on de angulo en torno al eje

k que pasa por


p, se tiene que, utilizando la expresi on de r dada en (22):
s = Rp + R(r p) = p + R(r p) = Rr + (I R)p (23)
Donde se ha tenido en cuenta que Rp = p por estar p en
el eje de rotaci on. La expresi on anterior se puede reescribir en
coordenadas homog eneas como:
_

_
s
x
s
y
s
z
1
_

_
= D.
_

_
r
x
r
y
r
z
1
_

_
Con
D =
_
R (I R).p
0
13
1
_
(24)
Donde R = I +
_
skew(

k)
_
2
(1 cos()) + skew(

k)sen(). D
representa la matriz de rotaci on de angulo en torno al eje

k
que pasa por un punto p.
3.2. Obtenci on del modelo cinem atico combinando desplaza-
mientos
Las expresiones (6) y (24) denen la matriz de desplaza-
miento D asociada a una traslaci on de longitud d o a una rota-
ci on de angulo en torno a un eje que no pasa por el origen,
denido por el vector

k y un punto p. Utilizando estas se va a
obtener el modelo cinem atico de un robot manipulador.
Sup ongase para ello al robot situado en su posici on cero
(q
i
= 0, para todo i). Sea T
0
matriz de transformaci on ho-
mog enea que dene entonces la orientaci on y posici on de su
extremo referida al sistema de la base, donde la cuarta colum-
na de T
0
representa las coordenadas de O
n
en el sistema de la
base y las 3 primeras columnas representan los vectores libres
ortonormales X
n
, Y
n
, Z
n
, que denen el sistema del extremo.
Si se modica el valor de la coordenada articular q
n
(trasla-
ci on o rotaci on), correspondiente al ultimo grado de libertad, las
coordenadas del origen O
n
y las de los 3 vectores ortonormales
X
n
, Y
n
, Z
n
, se modicar an en base al desplazamiento originado
por el movimiento de la articulaci on, seg un las expresiones de-
nidas en (6) para el caso de traslaci on o (24) para el caso de
rotaci on.
De ese modo, componiendo los cuatro nuevos valores de los
tres vectores ortonormales y de las coordenadas homog eneas
del origen, en forma matricial, estos se podr an expresarse en
una nueva matriz T
1
, dada por:
T
1
= D
n
.T
0
(25)
Esta matriz T
1
, indica la orientaci on y posici on del extre-
mo del robot cuando el ultimo grado de libertad q
n
ha variado
y el resto se mantiene en cero. Si ahora se repite el proceso
moviendo unicamente el pen ultimo grado de libertad q
n1
, se
tendr a que la orientaci on y posici on del extremo del robot, que-
dar a representada en la matriz T
2
dada por:
T
2
= D
n1
.T
1
= D
n1
.D
n
.T
0
(26)
Repitiendo el proceso hasta llegar a desplazar el primer gra-
do de libertad, se tendr a nalmente que la orientaci on y posi-
ci on del extremo del robot, tras mover todos los grados de li-
bertad vendr a dada por:
T
n
= D
1
.D
2
. . . D
n1
.D
n
.T
0
=
_

_
n
_
1
D
i
_

_
T
0
(27)
Expresi on nal que permite obtener el Modelo Cinem atico
Directo del robot, haciendo uso de las expresiones (6) y (24)
para obtener las matrices D
i
.
4. Modelo Cinem atico Inverso
Se presenta a continuaci on, la explicaci on del uso de las
matrices de desplazamiento para la obtenci on del Modelo Ci-
nem atico Inverso (MCI), as como su aplicaci on al robot mos-
trado en la Figura 1.
4.1. Algoritmo para obtener el MCI mediante MD
La Matrices de Desplazamiento, pueden usarse, del mismo
modo que las matrices de DH para ayudar a resolver el pro-
blema cinem atico inverso mediante el aislamiento de variables
(combinado, si es posible, con el desacoplamiento cinem ati-
co) (Barrientos et al., 2007).
As la expresi on (27), en la que aparecen 12 ecuaciones
con las n inc ognitas q
i
en expresiones en general muy aco-
pladas, puede modicarse premultiplicando consecutivamente
por las inversas de las matrices de Desplazamiento D
i
, para fa-
cilitar el aislamiento y resoluci on de las variables articulares
q
1
, q
2
, . . . , q
n
, tal y como se indica en (28).
T
n
= D
1
.D
2
. . . D
n1
.D
n
.T
0
(D
1
)
1
T
n
= D
2
. . . D
n1
.D
n
.T
0
(D
2
)
1
(D
1
)
1
T
n
= D
3
. . . D
n1
.D
n
.T
0
(28)
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
378 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
4.2. Ejemplo de obtenci on del MCI mediante MD
Para el robot de la Figura 1, se tiene que del elemento (2,4)
de la expresi on matricial:
(D
1
)
1
T
4
= D
2
.D
3
.T
0
(29)
es posible obtener:
p
y
C
1
p
x
S
1
= 0 q
1
= arctg
_
p
y
p
x
_
(30)
A continuaci on la expresi on:
(D
2
)
1
(D
1
)
1
T
4
= D
3
.T
0
(31)
permite obtener q
2
igualando los elementos (3,4), con el re-
sultado de:
q
2
= arctg
_

_
p
z
L
1

_
p
2
x
+ p
2
y
L
2
_

_
(32)
La expresi on de q
3
se puede obtener tambi en de (31), igua-
lando el cociente de los elementos (3,1) y (2,1), dando por re-
sultado:
q
3
= arctg
_

_
_
n
x
C
1
+ n
y
S
1
_
S
2
n
z
C
2
n
x
C
1
n
y
S
1
_

_
5. Modelo Diferencial
EL modelo Diferencial es de gran inter es para el control del
robot. Se va mostrar a continuaci on como es posible obtener el
Modelo Diferencial a partir de las MD, poni endolo en pr actica
sobre el robot de la Figura 1.
5.1. Obtenci on del modelo diferencial mediante MD
El modelo diferencial permite relacionar las velocidades ( q
1
,
q
2
, ..., q
n
o momentos en las articulaciones (
1
,
2
, . . . ,
n
), con
las velocidades de traslaci on y rotaci on en el extremo (v
x
, v
y
,
v
z
, w
x
, w
y
, w
z
) o fuerzas y momentos en el extremo del robot
(F
x
, F
y
, F
z
, M
x
, M
y
, M
z
). Dicha relaci on viene dada por la ma-
triz Jacobiana (J) seg un las correspondientes relaciones:
V =
_
v
w
_
=
_

_
v
x
v
y
v
z
w
x
w
y
w
z
_

_
= J
_

_
q
1
q
2
.
.
q
n
_

_
(33)
Las columnas de la matriz Jacobiana se pueden obtener a
partir de las matrices de Desplazamiento, de un modo equiva-
lente al utilizado con las matrices Denavit Hartenberg.
Para ello, debe considerarse que los 6 elementos de la co-
lumna j de la matriz Jacobiana est an formados por la aportaci on
de la velocidad de la articulaci on, a la velocidad V del extremo.
Se deben por lo tanto obtener estas aportaciones para conocer
la columna J
j
.
Para ello se distinguir an los 3 primeros elementos de J
j
,
correspondientes a la aportaci on a la velocidad de traslaci on de
los 3 ultimos, correspondientes a la aportaci on a la velocidad de
rotaci on.
J
j
=
_
J
vj
J
wj
_
(34)
donde J
vj
y J
wj
ser an respectivamente, las componentes x, y,
z de la contribuci on de q
j
a las velocidades de traslaci on (v) y
rotaci on ( w) del extremo del robot.
La Figura 4 representa al grado de libertad j aislado del
resto, cuando el resto de los grados de libertad q
i
, con i j, se
mantienen invariables.
Junto a la articulaci on j se representan los sistemas de refe-
rencia del origen {O
0
, X
0
, Y
0
, Z
0
} y del extremo {O
n
, X
n
, Y
n
, Z
n
},
as como el eje que dene el movimiento de la articulaci on j,
dado por el vector director

k
j
y un punto cualquiera del mismo
p
j
. Estos se obtienen como resultado de desplazar el vector k
j
y
el punto p
j
que denan el eje de la articulaci on en la posici on
cero del robot, mediante el movimiento de los grados de libertad
anteriores (q
1
, . . . q
j1
) a la posici on considerada. Su expresi on
se podr a obtener a partir de las matrices de Desplazamiento D
i
como:

k
j
= R
1
.R
2
. . . R
j1
.k
j
(35)
_
p
j
1
_
= D
1
.D
2
. . . D
j1
.
_
p
j
1
_
(36)
Donde se debe tener en cuenta que los vectores directores

k
j
son vectores libres, por lo que solo se ven afectados de las
rotaciones R
i
incluidas en los desplazamientos D
i
, que quedan
denidos por las correspondientes matrices de rotaci on R
i
(3x3)
de la matriz de desplazamiento (ecuaci on (16)). Por su parte, los
vectores de posici on p
j
s se ven afectados del desplazamiento
completo (rotaci on y traslaci on) por lo que debe emplearse la
matriz de desplazamiento D
i
y utilizar su expresi on en coorde-
nadas homog eneas.
Se representan tambi en los vectores
j
p
e
y
0
p
e
que corres-
ponden respectivamente a los vectores que unen un punto del
eje de la articulaci on j y el origen del sistema asociado a la
base con el extremo del robot.
Establecidos el vector director

k
j
y un punto p
j
que dene
el eje de la articulaci on j, las velocidades lineal y angular origi-
nadas en el extremo como consecuencia del movimiento de q
j
pueden obtenerse como:
Caso de grado de libertad de rotaci on:
v =

k
j

j
p
e
. q
j
(37)
w =

k
j
. q
j
(38)
Caso de grado de libertad de traslaci on.
v =

k
j
. q
j
(39)
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382 379
w = 0 (40)
donde el vectores

k
j
est a denido por (35) y el vector
j
p
e
se
puede obtener como (Figura 4):
z
x
y
z0
x0
y0
qj
pj
pe
0
p
e
j
kj
On
O0
v
w
Figura 4: Efecto de la velocidad articular sobre el extremo del robot
j
p
e
=
0
p
e
p
j
(41)
p
j
qued o denido en (36) y
j
p
e
es el vector de posici on
del extremo del robot cuando se han movido los n grados de
libertad por lo que tendr a como expresi on la dada en la columna
4 de la matriz del Modelo Cinem atico Directo (27):
0
p
j
= T
n
(1 : 3, 4) (42)
Por lo tanto la columna j de la matriz Jacobiana se ob-
tendr a como:
J
i
=
_

_
_

k
j

j
p
e

k
j
_

_
grado de libertad de rotaci on
_

k
j
0
_
grado de libertad de traslaci on
(43)
con

k
j
, p
j
,
j
p,
0
p
e
denidos en (35), (36), (41), (42).
5.2. Ejemplo de obtenci on del modelo diferencial mediante
MD
Se va a aplicar este procedimiento de obtenci on del Modelo
Diferencial (Matriz Jacobiana) al robot de 3 GDL del que se ob-
tuvo el Modelo Cinem atico Directo e Inverso en los apartados
2 y 4 respectivamente. Se trata de un robot de 3 GDL de rota-
ci on, cuya geometra se muestra en la Figura 1. En el apartado
2 se obtuvo la matriz de transformaci on homog enea T
4
(4) que
resuelve el MCD. La cuarta columna de la misma, proporciona
las coordenadas del extremo del robot, siendo estas:
0
p
e
=
_

_
C
1
. (L
2
+ L
3
.C
2
)
S
1
. (L
2
+ L
3
.C
2
)
L
1
+ L
3
.S
2
_

_
Aplicando las expresiones (35), (36) y (41) a los vectores

k
1
,

k
2
,

k
3
, p
1
, p
2
, p
3
, con las matrices D
1
, D
2
, D
3
, asociadas al
robot del ejemplo de la Figura 1, y cuyo valor se obtuvo en el
apartado 2, expresiones (1,2,3), se obtiene:

k
1
=
_

_
0
0
1
_

_
p
1
=
_

_
0
0
0
_

k
2
=
_

_
S
1
C
1
1
_

_
p
2
=
_

_
L
2
C
1
L
2
S
1
L
1
_

k
3
=
_

_
C
1
C
2
S
1
C
2
C
2
_

_
p
3
=
_

_
L
2
C
1
(C
2
1)
L
2
S
1
(C
2
1)
L
1
L
2
S
2
_

_
1
p
e
=
_

_
C
1
(L
2
+ L
3
C
2
)
S
1
(L
2
+ L
3
C
2
)
L
2
+ L
3
S
2
_

_
2
p
e
=
_

_
L
3
C
1
C
2
L
3
S
1
C
2
L
3
S
2
_

_
3
p
e
=
_

_
(L
2
+ L
3
)C
1
C
2
(L
2
+ L
3
)S
1
C
2
(L
2
+ L
3
)S
2
_

_
Yaplicando la expresi on (43) se obtiene la Jacobiana geom e-
trica del robot:
J
i
=
_

_
S
1
(L
2
+ L
3
C
2
) L
3
C
1
S
2
0
C
1
(L
2
+ L
3
C
2
) L
3
S
1
S
2
0
0 L
3
C
2
0
0 S
1
C
1
C
2
0 C
1
S
1
C
2
1 0 S
2
_

_
6. Ejemplos de Aplicaci on
Se va a aplicar a continuaci on el algoritmo descrito para la
obtenci on del MCD a 2 robots. En primer lugar, se aplicar a a
un robot industrial de 7 grados de libertad ampliamente difun-
dido, el Mitsubishi PA-10. Por ultimo se aplicar a el m etodo a un
robot multicadena, para el caso particular de un robot humanoi-
de formado por 13 grados de libertad. Para este ultimo caso se
presentan las consideraciones necesarias para abordar diferen-
tes tipos de cadenas ramicadas, que suponen gran utilidad para
modelar mecanismos bpedos, cuadr upedos, hex apodos, etc.
En los 2 casos, se muestran tanto los sistemas de coordena-
das y par ametros de DH, como los ejes de cada articulaci on con
sus correspondientes vectores directores y puntos. Con estos,
haciendo uso del c odigo Matlab incluido en el apartado 2, se
obtiene la matriz T
n
que dene el modelo cinem atico directo.
6.1. Robot PA-10 de 7 grados de libertad
En esta secci on se presenta el ejemplo de un brazo indus-
trial redundante, Mitsubishi PA-10 de 7 grados de libertad. La
informaci on referente a la disposci on mec anica de los grados
de libertad de este robot, as como sus dimensiones fueron to-
madas del manual de programaci on del mismo (MITSUBISHI,
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
380 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
2003). A continuaci on se presentan cada uno de los pasos del
algoritmo presentado en la Tabla 1, aplicado al robot mencio-
nado.
(a) Robot PA10
z7
x7
y7
z6
x5,x6
z5
z4
x3,x4
z3
z0
x0
y0
z2
x1,x2
z1
L
1
L
2
L
3
L
4
O0
On
(b) Par ametros DH
zn
xn
yn
z0
x0
y0
L
1
L
2
L
3
L
4
q1
q2
q3
q5
q7
p1 p3 p5 p7
p2
p4
p6
k1
k3
k5
k7
q4
q6
k
2
k
4
k
6
O0
On
(c) Par ametros MD
Figura 5: Descripci on de los par ametros cinem aticos del robot PA-10.
D-1. Seg un la conguraci on del sistema de referencia ba-
se O
0
, as como la del sistema de referencia del efector
nal O
n
, los cuales se pueden apreciar en la Figura 5c, se
dene la matriz T
0
:
T
0
=
_

_
1 0 0 0
0 1 0 0
0 0 1
_
4
i=1
(L
i
)
0 0 0 1
_

_
D-2.1. y D-2.2. En la Figura 5c se pueden apreciar los
vectores directores

k
i
, as como los puntos seleccionados
sobre los ejes de la articulaci on p
i
. Dicha informaci on se
presenta en la Tabla 4.
D-3. Como se mencion o en el apartado 2, el MCD se
obtiene nalmente como el producto T
n
=
_

n
i=1
D
i
_
.T
0
.
Adicionalmente, se presenta en la Tabla 5 los par ametros
DH del robot, los cuales obedecen la distribuci on de sistemas
de referencia que se muestra en la Figura 5b.
6.2. Robot Bpedo
Los brazos manipuladores que se han expuesto como ejem-
plos previamente, son representados mediante estructuras de
Tabla 4: Par ametros MD del robot PA-10
Eje Vector director

k
i
Punto cualquiera del eje p
i
1 [0, 0, 1] [0, 0, 0]
2 [0, 1, 0] [0, 0, L
1
]
3 [0, 0, 1] [0, 0, 0]
4 [0, 1, 0] [0, 0, L
1
+ L
2
]
5 [0, 0, 1] [0, 0, 0]
6 [0, 1, 0] [0, 0, L
1
+ L
2
+ L
3
]
7 [0, 0, 1] [0, 0, 0]
Tabla 5: Par ametros DH del robot PA-10
Link
i
d
i
a
i

i
1 q
1
L
1
0
pi
2
2 q
2
0 0
pi
2
3 q
3
L
2
0
pi
2
4 q
4
0 0
pi
2
5 q
5
L
3
0
pi
2
6 q
6
0 0
pi
2
7 q
7
L
4
0 0
cuerpos rgidos serialmente acoplados. Otros mecanismos, co-
mo robots bpedos (Arbul u, 2009), cuadr upedos (Gonzalez de
Santos et al., 2006) o hex apodos (Gonzalez de Santos et al.,
2004), pueden ser modelados mediante estructuras ramicadas
de cuerpos rgidos.
El ultimo ejemplo presentado, muestra la soluci on del mo-
delo cinem atico directo para un sistema bpedo caminante de 13
grados de libertad, dispuestos como 1 que conecta la base del
sistema (tronco del humanoide) y los 12 restantes con 2 piernas
con 6 grados de libertad cada una (Ver Figura 6). Los robots
bpedos de 12 grados de libertad, son una conguraci on tpi-
ca de los robots humanoides (Hirai et al., 1998), (Huang et al.,
2001), (Committee, 2006), (Kajita et al., 2007).
D-1. Una consideraci on importante en los sistemas ra-
micados es que tienen m as de 1 efector nal. Por es-
ta raz on, se denen sistemas de referencia ubicados en
los efectores nales. Para este caso particular, se denen,
mediante matrices de transformaci on homog enea, la po-
sici on y orientaci on de los pies del sistema caminante res-
pecto al sistema de referencia de la base:
T
0,n1
=
_

_
0 0 1 0
0 1 0 L
2
1 0 0
_
L
1
+
_
8
i=3
_
0 0 0 1
_

_
T
0,n2
=
_

_
0 0 1 0
0 1 0 L
2
1 0 0
_
L
1
+
_
8
i=3
_
0 0 0 1
_

_
D-2.1. y D-2.2. Dado que el robot se modela mediante
una estructura ramicada de cuerpos rgidos, los ejes de
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382 381
rotaci on

k
i
y los puntos p
i
son numerados siguiendo un
recorrido de primero en profundidad (DFS, Depth-First
Search), lo que permite sistematizar el algoritmo recur-
sivo de soluci on del modelo cinem atico directo. Este es-
quema de numeraci on ha sido utilizado por otros autores
en la soluci on de los problemas cinem aticos y din amicos
de estructuras de cuerpos rgidos (Featherstone, 2008).
Siguiendo esta numeraci on, se tendr a siempre un nodo
padre (i) que cumple que (i) < i para todo i. Para el
caso particular del robot bpedo esto se puede apreciar
en la Figura 6. Los par ametros MD resultantes se pueden
apreciar en la Tabla 6.
D-3. Al igual que en el ejemplo anterior, el MCD se ob-
tiene nalmente como el producto T
n
=
_

n
i=1
D
i
_
.T
0
.
Tabla 6: Par ametros MD del robot bpedo
(i) Eje k
i
p
i
0 1 [0, 0, 1] [0, 0, 0]
1 2 [0, 0, 1] [0, L
2
, 0]
2 3 [1, 0, 0] [0, L
2
, L
1
L
3
]
3 4 [0, 1, 0]
_
0, 0,
_
L
1
+
_
4
i=3
(L
i
)
__
4 5 [0, 1, 0]
_
0, 0,
_
L
1
+
_
5
i=3
(L
i
)
__
5 6 [0, 1, 0]
_
0, 0,
_
L
1
+
_
6
i=3
(L
i
)
__
6 7 [1, 0, 0]
_
0, L
2
,
_
L
1
+
_
7
i=3
(L
i
)
__
1 8 [0, 0, 1] [0, L
2
, 0]
8 9 [1, 0, 0] [0, L
2
, L
1
L
3
]
9 10 [0, 1, 0]
_
0, 0,
_
L
1
+
_
4
i=3
(L
i
)
__
10 11 [0, 1, 0]
_
0, 0,
_
L
1
+
_
5
i=3
(L
i
)
__
11 12 [0, 1, 0]
_
0, 0,
_
L
1
+
_
6
i=3
(L
i
)
__
12 13 [1, 0, 0]
_
0, L
2
,
_
L
1
+
_
7
i=3
(L
i
)
__
Por ultimo, y a modo de comparaci on, se presentan en la
Tabla 7 los par ametros DH del robot bpedo. Se puede apreciar
que la metodologa utilizada en este caso, consiste en mode-
lar cada una de las extremidades del robot como una estructura
serial.
7. Conclusiones
Se ha presentado un m etodo para la obtenci on del modelo
de cadenas cinem aticas en robots, basado en el uso de las Ma-
trices de Desplazamiento.

Estas permiten conocer el resultado
de desplazar (rotar o trasladar) un punto en el espacio a lo largo
de un eje cualquiera.
En el procedimiento de DH y tras las sencilla fase de identi-
caci on de los ejes sobre los que se produce el desplazamiento
de cada grado de libertad, se precisa localizar el origen y los
vectores directores que denen un sistema de coordenadas aso-
ciado al eslab on. Esta localizaci on del sistema de coordenadas
puede revestir cierta dicultad y es posiblemente el motivo m as
habitual de errores en la obtenci on del MCD de un robot. El
m etodo presentado soslaya totalmente esta dicultad, por cuan-
to precisa unicamente de la identicaci on del eje sobre el que
z1
x1
z0
x0
y0
x2
z2
x4
z4
x3
z3
x5
z5
x6
z6 x7
z7
z8
x8
x9
z9
x11
z11
x10
z10
x12
z12
x13
z13
x14
z14
L
1
L2
L
3
L
4
L
5
L
6
L
7
L
8
(a) Par ametros DH
z0
x0
y0
xn1
yn1
zn1
k1
p1
L
1
L2
k2
p2
p3
k
3
k4
L
3
L
4
p4
k5
L
5
p5
k6
p6
L
6
L
7
L
8
p7
k
7 xn2
yn2
zn2
p8
p9
k
9
k10
k11
k12
p13
p10
p11
p12
k
1
3
k8
O0
On1 On2
(b) Par ametros MD
Figura 6: Descripci on de los par ametros cinem aticos del robot bpedo
de 13 GDL.
Tabla 7: Par ametros DH del robot Bpedo
(i) Link
i
d
i
a
i

i
0 1 q
1
+

2
L
1
L
2
0
1 2 q
2
L
3
0

2
2 3 q
3
+

2
0 L
4

2
3 4 q
4
0 L
5
0
4 5 q
5
0 L
6
0
5 6 q
6
0 L
7

2
6 7 q
7
0 L
8
0
0 8 q
1
+

2
L
1
L
2
0
8 9 q
2
L
3
0

2
9 10 q
3
+

2
0 L
4

2
10 11 q
4
0 L
5
0
11 12 q
5
0 L
6
0
12 13 q
6
0 L
7

2
13 14 q
7
0 L
8
0
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.
382 A. Barrientos et al. / Revista Iberoamericana de Automtica e Informtica industrial 9 (2012) 371382
se produce el desplazamiento del grado de libertad, sin tenerse
que localizar los citados sistemas de coordenadas.
La expresi on nal obtenida en el m etodo de las Matrices de
Desplazamiento, coincide con la obtenida en el procedimiento
de modelado mediante la formula del producto de exponencia-
les, pero el enfoque aqu presentado para su obtenci on utili-
za razonamientos simples, basados en relaciones vectoriales y
algebra lineal, sin recurrir a conceptos como matrices exponen-
ciales, algebras de Lie u otros, de modo que es adecuado para
ser incluido en cursos b asicos de introducci on a la rob otica.
El uso de las matrices de desplazamiento se ha extendido a
la obtenci on del modelo cinem atico inverso y del modelo dife-
rencial, completando de este modo el alcance habitual del mo-
delado cinem atico de robots.
En denitiva, el modelado de robots basado en las matrices
de desplazamiento presentado se formula como una alternativa
al tradicional m etodo de Denavit-Hartenberg, considerandose
que, una vez conocido, ser a utilizado con preferencia para este
n.
English Summary
Modeling of kinematic chains by Displacement Matri-
ces. Acomprehensive alternative to Denavit-Hartenberg met-
hod.
Abstract
In this paper, a new method for modelling kinematic chains
in Robotics is presented. This method eludes the diculties de-
rived from selecting the coordinate frames required to obtain
Denavit-Hartenberg parameters. The proposed method arises
from knowing the position and orientation of the end-eector of
the robot in its home position. This algorithm allows obtaining
their transformations according to the successive variations of
its degrees of freedom in descending order from the remotest to
the closest to the base.
The movements are calculated based on the Displacement
Matrixes by determining in which point it is transformed when
such point is displaced (rotated or moved) with respect to an
axis that does not pass through the origin, which is dierent to
the Denavit-Hartenberg method that requires locating the origin
and the direction of the vectors that dene the frame for each
link.
The method based on the Displacement Matrixes only re-
quires identifying the axis of the joint, which allows identifying
the modelling in a simpler and faster manner when compared to
Denavit-Hartenberg.
The Displacement Matrixes and the corresponding kinema-
tic modeling are obtained based on the joint axes identication
by using simple mathematical operations that are easily coded.
Keywords:
Kinematics model, Denavit-Hartenberg, Rodrigues rotation
formula.
Referencias
Arbul u, M., 2009. Stable locomotion of humanoid robots based on mass con-
centrated model. Ph.D. thesis, Universidad Carlos III de Madrid.
Barrientos, A., Pe nin, L., Balaguer, C., Aracil, R., 2007. Fundamentos de
rob otica, 2nd Edition. McGraw-Hill.
Brockett, R. W., 1984. Robotic manipulators and the product of exponentials
formula. In: Fuhrmann, P. (Ed.), Mathematical Theory of Networks and Sys-
tems. Springer Berlin / Heidelberg, pp. 120129.
Committee, I. R. I. P., Oct. 2006. Static Walk of a Humanoid Robot Based on
the Singularity-Consistent Method, 16.
Corke, P. I., 1996. A robotics toolbox for MATLAB. Robotics & Automation
Magazine, IEEE 3 (1), 2432.
Denavit, J., Hartenberg, R. S., 1955. A kinematic notation for lower-pair me-
chanisms based on matrices. ASME Journal of Applied Mechanisms 23,
215221.
Featherstone, R., Feb. 2008. Rigid Body Dynamics Algorithms. Springer-
Verlag New York Inc.
Funda, J., 1988. A computational analysis of line-oriented screw transforma-
tions in robotics.
Funda, J., Paul, R., 1990. A computational analysis of screw transformations in
robotics. Robotics and Automation, IEEE Transactions on 6 (3), 348356.
Gonzalez de Santos, P., Garcia, E., Cobano, J. A., Ramirez, A., 2004. SIL06:
A six-legged robot for humanitarian de-mining tasks. In: Automation Con-
gress, 2004. Proceedings. World. pp. 523528.
Gonzalez de Santos, P., Garcia, E., Estremera, J., 2006. Quadrupedal Loco-
motion: An Introduction to the Control of Four-legged Robots, 1st Edition.
Springer.
Hirai, K., Hirose, M., Haikawa, Y., 1998. The development of Honda huma-
noid robot. In: Proceedings of the 1998 IEEE International Conference on
Robotics & Automation. pp. 13211326.
Huang, Q., Yokoi, K., Kajita, S., Kaneko, K., Arai, H., Koyachi, N., Tanie, K.,
2001. Planning walking patterns for a biped robot. Robotics and Automa-
tion, IEEE Transactions on 17.
Jaramillo-Botero, A., Matta-Gomez, A., Correa-Caicedo, J. F., Perea-Castro,
W., Dec. 2006. ROBOMOSP. Robotics & Automation Magazine, IEEE
13 (4), 6273.
Jin, Y., Xiaorong, W., Jun. 2010. The application of the dual number methods
to scara kinematics. In: International Conference on Mechanic Automation
and Control Engineering (MACE), 2010. pp. 38713874.
Kajita, S., Kaneko, K., Morisawa, M., Nakaoka, S., Hirukawa, H., 2007. ZMP-
based Biped Running Enhanced by Toe Springs. In: Robotics and Automa-
tion, 2007 IEEE International Conference on. pp. 39633969.
Koks, D., Sep. 2006. Explorations in Mathematical Physics: The Concepts
Behind an Elegant Language, 1st Edition. Springer.
McCarthy, J. M., Jun. 1986. Dual Orthogonal Matrices in Manipulator Kine-
matics. The International Journal of Robotics Research 5 (2), 4551.
MITSUBISHI, 2003. General Purpose Robot PA10 SERIES: PROGRAM-
MING MANUAL.
Murray, R. M., Li, Z., Sastry, S. S., Mar. 1994. A Mathematical Introduction to
Robotic Manipulation, 1st Edition. CRC Press.
Ollero, A., 2001. Rob otica: Manipuladores y robots m oviles, 1st Edition. MAR-
COMBO.
Paul, R. P., Nov. 1981. Robot manipulators: mathematics, programming, and
control, 1st Edition. The MIT Press, Cambridge, MA, USA.
Paul, R. P., Shimano, B., 1978. Kinematic control equations for simple manipu-
lators. In: Decision and Control including the 17th Symposium on Adaptive
Processes, 1978 IEEE Conference on. pp. 13981406.
Perez, A., McCarthy, J. M., 2004. Dual Quaternion Synthesis of Constrained
Robotic Systems. Journal of Mechanical Design 126 (3), 425.
Pieper, D. L., Oct. 1968. The kinematics of manipulators under computer con-
trol. Ph.D. thesis, Stanford University.
Spong, M., Hutchinson, S., Vidyasagar, M., Nov. 2005. Robot Modeling and
Control, 1st Edition. Wiley.
Veldkamp, G. R., Jan. 1976. On the use of dual numbers, vectors and matrices in
instantaneous, spatial kinematics. Mechanism and Machine Theory 11 (2),
141156.
Documento descargado de http://http://www.elsevierciencia.es el 19/06/2013. Copia para uso personal, se prohbe la transmisin de este documento por cualquier medio o formato.

S-ar putea să vă placă și