Está en la página 1de 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/43601537

Modelado e Identificación de Parámetros Dinámicos de Robots. Resolución del


Problema Dinámico Inverso en Tiempo Real

Article  in  Revista Iberoamericana de Automatica e Informatica Industrial (RIAI) · April 2010


DOI: 10.4995/RIAI.2010.02.04 · Source: OAI

CITATIONS READS

0 1,152

5 authors, including:

Nuria Rosillo Ángel Valera


University Foundation San Pablo CEU Universitat Politècnica de València
5 PUBLICATIONS   17 CITATIONS    107 PUBLICATIONS   928 CITATIONS   

SEE PROFILE SEE PROFILE

Francesc Benimeli Vicente Mata


Universitat Politècnica de València Universitat Politècnica de València
12 PUBLICATIONS   116 CITATIONS    101 PUBLICATIONS   987 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Metodología de Diseño de Sistemas Biomecatrónicos. Aplicación al desarrollo de un Robot Paralelo híbrido para diagnóstico y rehabilitación View project

Parallel robots View project

All content following this page was uploaded by Nuria Rosillo on 03 June 2014.

The user has requested enhancement of the downloaded file.


ISSN: 1697-7912. Vol. 7, Núm. 2, Abril 2010, pp. 39-48 http://www.revista-riai.org

Modelado y Resolución del Problema Dinámico Inverso y


Directo en Tiempo Real de Robots Industriales
N. Rosillo*, A. Valera**, F. Benimeli**, V. Mata*** y F. Valero***

* Departamento de Ciencias Físicas. Matemáticas y de la Computación


Universidad Cardenal Herrera-CEU San Pablo, c/ San Bartolomé, 55 46115
Alfara del Patriarca, Valencia, España (e-mail: nrosillo@uch.ceu.es)
** Instituto de Automática e Informática Industrial
Universidad Politécnica de Valencia, Camino de Vera 14, 46022 Valencia, España
(e-mail: giuprog@isa.upv.es, frabean@ai2.upv.es)
*** Departamento de Ingeniería Mecánica y de Materiales
Universidad Politécnica de Valencia, Camino de Vera 14, 46022 Valencia, España
(e-mail: vmata@mcm.upv.es, fvalero@mcm.upv.es)

Resumen: Este trabajo presenta el desarrollo y la validación de una metodología que permite el
modelado y la resolución del problema dinámico en tiempo real de robots manipuladores. La ecuación
dinámica del robot está basada en la ecuación de movimiento de Gibbs-Appell, proporcionando un
conjunto de ecuaciones bien estructuradas que pueden ser calculadas en tiempo real.

El artículo aborda el cálculo e implementación del problema dinámico directo e inverso de robots,
aplicándose al control en tiempo real de un robot industrial PUMA 560 equipado con una arquitectura
abierta de control basada en un computador personal industrial. Copyright © 2010 CEA.

Palabras Clave: sistemas robotizados, control de robots, ecuaciones de Gibbs-Appell, dinámica inversa,
control por computador, aplicaciones digitales de computación.

excitar los distintos términos que componen las ecuaciones que


1. INTRODUCCIÓN
modelizan el comportamiento dinámico del sistema.
En este trabajo se desarrolla el modelo dinámico de robots
manipuladores a partir de las ecuaciones de Gibbs-Appell. Se Una vez obtenidos los parámetros dinámicos del modelo
asume que el robot está constituido por elementos rígidos, dinámico del robot, partiendo de la forma matricial de éste, se
modelándose de forma independiente el comportamiento determinan los distintos términos de la ecuación dinámica del
dinámico de los actuadores. Además, para modelar el fenómeno sistema, lo que permitirá resolver los problemas dinámicos
de la fricción en las articulaciones del robot se han considerado directo e inverso.
también distintos modelos de fricción.
Tanto el modelado dinámico del robot como los métodos de
Se han reescrito las ecuaciones que constituyen el modelo identificación han sido validados a partir de su aplicación
dinámico en forma lineal con respecto a los parámetros experimental en un robot industrial PUMA 560. Las técnicas
dinámicos del modelo, esto es, masas, momentos de primer propuestas se han validado mediante el desarrollo y la ejecución
orden, componentes de los tensores de inercia de las barras y de varias estrategias de control basadas en la ecuación dinámica
parámetros de fricción, lo cual facilita en gran medida su cuyos parámetros han sido identificados. Para ello, el robot
identificación. industrial ha sido equipado con una unidad de control abierta
basada en un computador industrial. La arquitectura de control
Estas expresiones lineales se han plasmado en forma matricial, permite, mediante programas C++, el desarrollo de aplicaciones
detallándose la obtención de los distintos términos de la matriz y algoritmos de control en tiempo real.
resultante, así como su complejidad computacional. La
2. MODELADO DINÁMICO DE ROBOTS
expresión matricial de las ecuaciones del sistema permitirá la
MANIPULADORES
aplicación de técnicas numéricas para analizar, reducir y resolver
el sistema de ecuaciones que se genera y será utilizada tanto en Las ecuaciones del movimiento que modelizan el
la fase de identificación como posteriormente en la resolución de comportamiento dinámico de un sistema mecánico se pueden
los problemas dinámicos directo e inverso. obtener a partir de distintos Principios de la Dinámica. Los
primeros trabajos se remontan a 1965 cuando (Uicker, 1965)
Mediante un proceso de identificación de parámetros dinámicos formuló un método basado en las ecuaciones de Lagrange y
se ha obtenido una estimación precisa de los valores de masas, matrices de transformación homogéneas 4x4. Ese mismo año,
localizaciones de centros de gravedad y componentes de los (Hooker y Magulies, 1965) formularon un método basado en las
tensores de inercia de las barras, así como los términos que ecuaciones de Newton-Euler. En estos algoritmos, las
designan la fricción en los nudos, utilizando para ello las ecuaciones de movimiento están expresadas de forma cerrada,
medidas experimentales obtenidas durante el movimiento del por lo que la complejidad computacional es elevada,
robot generado a partir de trayectorias optimizadas capaces de generalmente del orden O(n4).

Publicado electrónicamente: 09/04/2010


DOI: 10.4995/RIAI.2010.02.04
40 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales

El primer algoritmo recursivo que resuelve el problema generalizadas que compensan las fuerzas externas generalizadas
dinámico indirecto basado en el principio de Newton-Euler se τ k se obtienen como:
debe a (Stepanenko y Vukobratovic, 1976). (Orin et al, 1980) n
∂ Gi
obtuvieron un algoritmo de complejidad O(n2) introduciendo
sistemas de coordenadas locales y (Luh, Walker y Paul, 1980)
τk = ∑ ∂ q&&
i =k j
, k = 1, 2 ⋅ ⋅ ⋅ n (3)
obtuvieron un algoritmo recursivo eficiente basado también en
Newton-Euler con una complejidad O(n).
Desarrollando esta última ecuación:
r r
La aplicación de las ecuaciones de Kane en el campo de la n ⎧⎪ ∂ i &r&Gi i r& T i ∂ iω& i
robótica fue iniciada por (Kane y Levinson, 1983), quienes τk = ∑
i =k ⎪
m ⋅i &r&T
⎨ i Gi r ⋅
∂ q&&k
+ ω i ⋅ I Gi ⋅
∂ q&&k
resolvieron los problemas dinámicos directo e inverso con una ⎩
complejidad similar a los algoritmos más eficientes de la época. (4)
⎛ ∂ iωr& i ⎞ i r r ⎫
T
Posteriormente, (Angeles, Ma y Rojas, 1989) utilizaron notación
tensorial para desarrollar, a partir de las mismas ecuaciones de
+⎜
⎜ ∂ q&& ⎟
[
⎟ ⋅ ωi × (i I G ⋅i ωi ) ⎪⎬
i
]
⎝ k ⎠ ⎪⎭
Kane, un algoritmo eficiente para su resolución.

En este trabajo, se han utilizado las ecuaciones de Gibbs-Appell, Reorganizando la expresión (4) se pueden obtener los dos
ecuaciones que fueron introducidas por Gibbs en 1879 y términos que se indican en la ecuación siguiente:
formalizadas por Appell veinte años después. Estas ecuaciones ⎧⎛ i r& ⎞T r ⎫⎪
[ ]
n
⎪⎜ ∂ ωi ⎟ i

r r
constituyen, a pesar de su relativa poca utilización, una de las τk = ⎨⎜ ⋅ I Gi ⋅i ω& i +i ωi × (i I Gi ⋅i ωi ) ⎬

formulaciones dinámicas más simples. Ésta permite expresar las i =k ⎪⎝ ∂ q&&k ⎠ ⎪
ecuaciones del robot de forma lineal con respecto a los 1444444442444444443⎭

parámetros dinámicos, lo cual es sumamente conveniente para la Ak
identificación de los mismos. Además proporcionan otras (5)
n ⎡⎛ i &r& ⎞T ⎤
ventajas muy interesantes como, por ejemplo, permitir la ⎢⎜ ∂ rGi ⎟ ⋅ m ⋅i &rr& ⎥
inclusión del efecto de la dinámica de los actuadores de una + ∑ ⎢⎜ ∂ q&&k ⎟
i = k ⎢⎝
i G i ⎥

forma simple y directa (Provenzano, 2001). ⎣ ⎠ ⎥


1444424444 3⎦
Bk
Una de las primeras referencias de la utilización de este tipo de
ecuaciones aplicadas en el campo de la dinámica de robots se Para poder resolver el problema dinámico directo o inverso a
puede encontrar en (Renaud, 1983). (Vukobratovic y Kircanski, partir de la ecuación del robot (5) se necesitan los parámetros
1985) desarrollaron un algoritmo cerrado con un coste inerciales de dicha ecuación dinámica. Éstos se pueden obtener
computacional O(n3). (Desoyer y Lugner, 1989) desarrollaron mediante métodos de identificación, necesitando para ello que se
un algoritmo recursivo usando la Jacobiana para evitar derivadas realice una reestructuración de estas ecuaciones de manera que
algebraicas o numéricas, obteniendo el mismo coste los parámetros inerciales a identificar aparezcan de forma lineal
computacional. en las expresiones. Empezando por los términos Ak y Bk,
sustituyendo la expresión de la aceleración lineal del centro de
Considerando un sistema de referencia inercial, la función de masas del i-ésimo elemento y considerando el teorema de ejes
Gibbs para un cuerpo rígido compuesto por n partículas paralelos, se puede obtener la siguiente ecuación para las fuerzas
elementales con masa mi y aceleración ai, en su forma original, generalizadas expresadas en forma lineal con respecto a los
es: parámetros inerciales obtenidos:
r T
n
⎛ ∂ k ω& k ⎞
[ r
n
1
G=
2 ∑m a i i
2
(1) τ k = ⎜⎜ ⎟
⎟ ∑ k
Ri iηˆ i ⋅ iI i
(6)
i =1 ⎝ ∂q&&k ⎠ i=k

En el caso de un robot manipulador compuesto por n elementos


+ i~ r( Ok Oi
&r& )⋅ m i rr + i ~
η~i − i ~
i
O i OG
i i
r
rO O i &r&O ⋅ mi
i k i i
]
considerados rígidos, la función de Gibbs del elemento i-ésimo donde
viene dada por:
1 r r 1 r r
k
(
ηˆi = k ω&ˆ i + k ω~i k ωˆ i ), k
(
η~i = k ω~& i + k ω~i k ω~i )
Gi = ⋅ mi ⋅0 &r&GTi ⋅0 &r&Gi + ⋅0 ω& iT ⋅0 I Gi ⋅0 ω& i
2 2 (2) Debido a las características de los robots manipuladores, se
0r& T 0r
[
+ ωi ⋅ ωi × I Gi ⋅0 ωi 0
( r
)] puede reescribir la ecuación (6) de forma que el vector de pares
generalizados es linealmente dependiente de los parámetros
0 0r
donde mi es la masa, I Gi es el tensor centroidal de inercia, ωi dinámicos:
r r r
y
r
ω&i son respectivamente la velocidad y la aceleración
0
r
r
(
τ = W q , q& , q&& ⋅ Φ ) (7)
0 &r& donde τ es el vector de fuerzas generalizadas, W es la matriz de
angulares, y rGi es la aceleración del centro de masas del r
observación y Φ es el vector de parámetros del sistema. Si, por
elemento. ejemplo, se considera que el robot está compuesto por n
r
Las ecuaciones de movimiento de Gibbs-Appell se obtienen elementos rígidos, Φ estará compuesto por los parámetros
derivando la función de Gibbs anterior con respecto a las inerciales del sistema:
aceleraciones generalizadas q&&k . Las fuerzas de inercia
r
[r r r
Φ = nI n L 1I1 mn ⋅n rOnGn mn L m1⋅1rO1G1 m1
r T
(8)
]
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 41

Para incrementar la precisión del modelo dinámico del robot La matriz A está a su vez compuesta por nxn submatrices Aij
manipulador se pueden incluir otros comportamientos definidas como:
dinámicos. En (Valera et al., 2007), se muestra cómo se puede ⎛ nηˆ n 0 K 0 0 ⎞⎟

considerar en el modelo del robot la fricción en las ⎜ n−1 Rn nηˆ n n −1
ηˆ n−1 L 0 0 ⎟
articulaciones, utilizándose diferentes modelos de fricción: ⎜ n−2 n n−2 ⎟
Rn ηˆ n Rn−1 n−1ηˆ n−1 L 0 0 ⎟
modelos lineales simétricos, el modelo de fricción asimétrico A=⎜ (15)
⎜ M M O M M ⎟
propuesto por (Lu, et al., 1993) y el modelo de (Grotjahn et al., ⎜ 2 n ⎟
2001) que incluye un término no lineal con respecto de la ⎜ Rn ηˆ n
2
Rn−1 n−1ηˆ n−1 L 2ˆ
η2 0 ⎟
velocidad. En este caso, la ecuación (6) está compuesta por las ⎜ 1 R nηˆ 1
Rn−1 n−1ηˆ n−1 L 1
R2 2ηˆ 2 1ˆ ⎟
η1 ⎠
⎝ n n
aportaciones:
n ∂Gli Así, las submatrices de A se pueden calcular como:
τ k = τ lk + τ f k = ∑ ∂q&&
k
+ F f k (q& k )
1
424 3
(9) ⎧ Aij = 0

i< j
1=124
i4 3 ω n +1− j + n +1− j ω~ n +1− j n +1− j ωˆ n +1− j
n +1− j ˆ& (16)
fricción ⎨ Aij = i= j
barras rigidas ⎪ A = n +1−i R
⎩ ij n + 2 −i Ai −1, j i> j
de forma que la ecuación (7) se puede reescribir de la forma
siguiente: La matriz B se compone también de nxn términos,
r descomponiéndose a su vez en una submatriz 3x3 B1ij y una
⎡Φ l ⎤
r
(r r r ) r
τ = W q , q& , q&& ⋅ Φ = Wl[ ]
Wf ⋅⎢ r ⎥ (10) submatriz columna 3x1 B2ij
⎣⎢Φ f ⎥⎦
r Bij = [ B1 ij B2ij ] (17)
donde el vector de parámetros Φ l viene dado por la ecuación (8)
r
y Φ f está definido por el vector de los parámetros de fricción: La matriz B1, constituida a partir de los términos B1ij, presentará
r
[
Φ f = Fn1 L Fnm L F11 L F1m T ] la forma siguiente:
⎛ −n~
(11)
⎜ r~
&&
On 0 L 0 0 ⎞⎟
⎜ H n − &r&O
n −1 n −1 ~ L 0 0⎟
En esta última referencia se encuentra también el modelo de ⎜ n −2 ~ n −1

n −2 ~
robot en el que se han incluido los pares correspondientes al ⎜ Hn H n−1 L 0 0⎟
B1 = ⎜ (18)
efecto giroscópico de los rotores y las posibles excentricidades M M O M M⎟
de los ejes de rotación. ⎜ 2~ 2 ~

⎜ Hn H n−1 L − 2 ~ &r&
O2 0⎟
3. OBTENCIÓN DE LA MATRIZ DE OBSERVACIÓN ⎜⎜ 1 ~ 1~ 1~ ⎟
⎝ H n H n −1 L H 2 0 ⎟⎠
Como se ha presentado en las ecuaciones (7) o (10) del apartado
anterior, para poder obtener la ecuación dinámica del sistema
robotizado es necesario obtener la matriz de observación W. Definiéndose los términos auxiliares η ij :
Dicha matriz se puede calcular a partir de la expresión siguiente: ⎧⎪η ij = n +1− j
ω~n+1− j n+1− j ω~n+1− j + n+1− j
ω~& n+1− j i= j
(12) ⎨ (19)
W = D ⋅ AB ⎪⎩η ij =
n +1−i
Rn+ 2−i ⋅ η i −1, j i> j
donde D se define como:
Así, las matrices B1ij se podrán calcular como:
⎛ ⎛ n r& ⎞T ⎞ ⎧B1ij = 0 i<
⎜ ⎜ ∂ ωn ⎟ ⎟
⎜ ⎜ ∂q&& ⎟ 01×3 L 01×3 ⎟ ⎪⎪ n +1− j~
&r& (20)
⎨ B1ij = On + 1− j i=
⎜⎝ n ⎠ ⎟ ⎪ n +1−i n +1−i~ i>
⎜ r T ⎟ ⎩⎪ B1 = Rn + 2 −i B1i −1, j − rOn + 1−i On + 2 − i ηij
⎛ ∂ n−1ω& n−1 ⎞ (13)
ij

D = ⎜ 01×3
⎜ ⎟ L 01×3 ⎟
⎜ ∂q&&n−1 ⎟ ⎟
⎝ ⎠ Para obtener la matriz B2 se utilizará la expresión:
⎜ M M O ⎟
⎜ ⎟
r T ⎛ 0 0 L 0 0⎞
⎜ ⎛ ∂ 1ω& 1 ⎞ ⎟ ⎜ n−1 r ⎟
⎜ 01×3 01×3 ⎜ ⎟ ⎟
⎜ ⎜ ∂q&&1 ⎟ ⎟ ⎜ hn 0 L 0 0⎟
⎝ ⎝ ⎠ ⎠ r
⎜ n−2 h r
n−2
hn−1 L 0 0 ⎟⎟ (21)
B2 = ⎜
n
⎜ M M O M M⎟
⎜ 2r 2
r ⎟
⎜ rnh hn −1 L 0 0 ⎟
⎛ j r& ⎞
T r r
con ⎜ ∂ ω j ⎟ = [0 0 1] para todo j = 1..n. ⎜ 1h 1
h L 1
h 0 ⎟
⎝ n n −1 2 ⎠
⎜ ∂q&& j ⎟
⎝ ⎠
Definiendo el término auxiliar δ ij :
La matriz AB está compuesta por dos submatrices ⎧⎪δ ij = n+1−i ~rOn+1−iOn+2−i i = j +1
correspondientes a cada uno de los términos recursivos Ak y Bk ⎨ n+1−i ~ (22)
⎪⎩δ ij = rOn+1−iOn+2−i n+1−i Rn+2−i + n+1−iRn+2−i δ i −1, j i > j + 1
de la ecuación (5):
AB = [ A B ] (14)
42 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales

Dichas matrices se calculan como: La Figura 2 muestra los pares para los 6 ejes del PUMA de uno
⎧⎪ B2ij = 0 i≤ j de los experimentos realizados. En línea continua se muestran
⎨ B2 = − δ n− j r
Rn +1− j n +1− j &r&On +1− j (23) los pares medidos en el robot real y, en línea discontinua, se
⎪⎩ ij ij i> j
muestran los pares estimados por el modelo del robot obtenido.
40

Par (n.m) 1ª articulacion


Una vez obtenida la matriz de observación W únicamente se
20
necesitan conocer los diferentes parámetros dinámicos que
0
aparecen en la ecuación dinámica del robot. En (Valera et al.,
2007), se presentan dos métodos para realizar la identificación -20

de dichos parámetros. El primero está basado en el método de -40


0 1 2 3 4 5 6 7
identificación directa propuesto en (Gautier, 1991), en el que se Tiempo (s)
han utilizado unas trayectorias optimizadas para realizar la 50

Par (n.m) 2ª articulacion


identificación. Estas trayectorias han sido parametrizadas por
0
medio de series finitas de Fourier como las descritas en
(Swevers, et al., 1997). En este método se identifica -50
completamente el modelo dinámico del robot con un único
experimento. -100
0 1 2 3 4 5 6 7
Tiempo (s)

El segundo método utilizado es una combinación entre los 20

Par (n.m) 2ª articulacion


esquemas de identificación directo e indirecto. En este caso, la 10
identificación se realiza en dos pasos. En el primero se realizan 0
experimentos específicos para identificar los coeficientes del
-10
modelo de fricción y los parámetros de gravedad. En el segundo
-20
paso se identifica el resto del modelo dinámico del robot, esto es, 0 1 2 3 4 5 6 7
los parámetros inerciales. Tiempo (s)
5
Par (n.m) 4ª articulacion

Una descripción más detallada de los métodos de identificación


propuestos, así como un análisis comparativo de los resultados 0

obtenidos puede encontrarse en (Benimeli, et al., 2005) y (Mata,


et al., 2005). -5
0 1 2 3 4 5 6 7
Tiempo (s)

Para verificar estos métodos de identificación se han 4


Par (n.m) 5ª articulacion

desarrollado varias identificaciones experimentales. Los 2


experimentos se realizaron tanto como simulaciones como con 0
un robot manipulador industrial: un PUMA 560. Se han -2
generado varias trayectorias de movimiento optimizadas, para
-4
las seis articulaciones del robot, basadas en series finitas de 0 1 2 3 4 5 6 7
Tiempo (s)
Fourier. Utilizando un controlador PID se ha establecido el
10
Par (n.m) 6ª articulacion

control del robot, almacenándose tanto la posición como la


acción de control (los pares de articulación) reales del robot. A 5

partir de estos datos se ha generado la matriz de observación del par real


0 par estimado
sistema y, a partir de dicha matriz y del vector de fuerzas
generalizadas se ha obtenido, por último, el vector de los -5
0 1 2 3 4 5 6 7
parámetros base del sistema. Tiempo (s)

Para realizar la validación de la identificación realizada se ha Figura 2. Pares medidos y calculados del robot PUMA.
utilizado una trayectoria de movimiento distinta a la empleada
en el procedimiento de identificación, obteniéndose la respuesta
4. CÁLCULO E IMPLEMENTACIÓN DEL PROBLEMA
del robot real y del modelo dinámico descrito mediante los
DINÁMICO DEL ROBOT EN TIEMPO REAL
parámetros base identificados. La Figura 1 muestra el esbozo del
procedimiento experimental utilizado para validar el modelo Como se ha visto en el apartado anterior, a partir de la matriz de
dinámico propuesto para el robot industrial. observación del sistema y de la identificación del vector base de
los parámetros inerciales se puede obtener el vector de fuerzas
generalizadas del sistema:
r r r
(
r rr r r r
W q ,q& ,q&&,t ⋅ Φ = τ q ,q& , f ,Φ ,t )
(24) ( )
A partir de esta expresión se puede plantear el cálculo de la
ecuación dinámica del sistema robotizado:
r r r r r r r
M (q ) ⋅ q&& + C q ,q& ⋅ q& + G( q ) = τ (25) ( )
r r r&
donde M (q ) es la matriz de masas del sistema, C q ,q es el
r
( )
vector de fuerzas centrífugas y de Coriolis y G (q ) son los
Figura 1. Esquema de validación utilizado. términos gravitacionales.
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 43

Para poder resolver el problema dinámico inverso del sistema De esta forma, se han programado las funciones para obtener los
robotizado se ha desarrollado un algoritmo secuencial inspirado términos gravitacionales de la ecuación (26), los términos de
en los algoritmos propuestos por Walter y Orin (Walker y Orin, Coriolis de la ecuación (28) y los términos inerciales de la
1982). Se puede comprobar que los términos gravitacionales ecuación (31). A partir de estas funciones se puede obtener la
r
G (q ) dependen únicamente de las coordenadas generalizadas ecuación dinámica del sistema robotizado (25). La programación
r de los términos dinámicos se realiza a partir de la matriz de
q . Por ello, se pueden obtener estos términos inicializando a
observación W de los parámetros dinámicos identificados del
cero las velocidades y aceleraciones generalizadas r
r sistema robotizado Φ .
&r& = 0 ) en la matriz de observación W de la ecuación
( q& = 0 y q
(24): El cálculo de W se realiza tal y como se ha mostrado en el
r r r r apartado 3 y los parámetros dinámicos utilizados se obtuvieron
W (q ,0 ,0 ) ⋅ Φ = G(q ) (26)
previamente con un procedimiento fuera de línea. El cálculo de
W se realiza a partir de la ecuación (12) mediante el producto de
Para hallar los términos centrífugos y de Coriolis C q, q& se (r r ) dos matrices: D y AB. El cálculo de D no tiene coste
puede observar que éstos dependen tanto de las coordenadas computacional asociado porque es simplemente una matriz
como de las velocidades generalizadas. Por ello, si se inicializan cuyos elementos son 0 ó 1. La matriz AB se calcula a partir de
a cero las aceleraciones generalizadas en la ecuación (24): las matrices A y B. El cálculo de las submatrices que forman A
(
r r
) ( )
r r r r r r
W q ,q& ,0 ⋅ Φ = C q ,q& + G (q ) (27)
se realiza a partir de la ecuación (16), y son necesarios:
⎧⎪ 9n
r r&
( )
De esta forma, se puede obtener C q, q restando directamente Sumas ⎨ n( n − 1 )
12
i= j
i> j
⎪⎩ 2
las ecuaciones (26) y (27):
( (r r
)
r r r
) ( )
rr r
W q ,q& ,0 ⋅Φ − G(q ) = C q ,q& (28)
⎧⎪ 6n i= j
Productos ⎨ n( n − 1 )
27 i> j
El último término de la ecuación dinámica del robot que falta es ⎪⎩ 2
la matriz de masas del sistema. Éste depende, además del vector
r
que agrupa los parámetros inerciales Φ , de la geometría de las Por lo tanto, para la construcción de la matriz A se necesitan
r
coordenadas generalizadas q empleadas para modelizar el n( n − 1 ) n( n − 1 )
12 + 9 n sumas y 27 + 6 n productos.
mecanismo. Para obtener dicha matriz se pueden utilizar los 2 2
términos gravitacionales y de Coriolis calculados previamente:
r r r r r r r r
La matriz B se compone de las matrices B1ij y B2ij. Para calcular
M ( q ) ⋅ q&& = τ − G( q ) − C( q ,q& ) (29)
la primera matriz se necesitan los términos auxiliares ηij de la
r ecuación (19). La complejidad de estos términos es:
Sin embargo, hay que tener en cuenta que M (q ) es una matriz
⎧6 n i= j
nxn (6x6 en el caso del robot PUMA) y no un vector. Por ello, a ⎪
Sumas ⎨ n( n − 1 )
diferencia de lo que ocurría con los términos gravitacionales y de ⎪⎩ 18 i> j
2
Coriolis, no se puede calcular directamente. Para poder
solucionar el problema se pueden obtener las columnas de forma ⎧6 n i= j
independiente mediante la expresión: ⎪
Productos ⎨ n( n − 1 )
⎪⎩ 18 i> j
⎡1 ⎤ ⎡m11 ⎤ 2
⎡m11 m12 L m16 ⎤ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢0⎥ ⎢m21 ⎥ (30)
⎢ M O M ⎥ ⋅ ⎢M ⎥ = ⎢M ⎥ A partir de los ηij se pueden obtener las matrices B1ij según la
⎢⎣m61 m62 L m66 ⎥⎦ ⎢ ⎥ ⎢ ⎥ ecuación (20). El coste computacional de este cálculo (para i>j)
⎣0⎦ ⎣⎢m61 ⎦⎥ es 18n( n − 1 ) sumas y 21n( n − 1 ) productos. De esta forma,
el coste total del cálculo de las matrices B1 son
Así, para poder obtener la matriz completa lo que se hace es 27 n( n − 1 ) + 6 n sumas y 30 n( n − 1 ) + 6 n productos.
calcular la columna i-ésima de dicha matriz, uniéndolas
posteriormente: Las matrices columna B2ij necesita los términos auxiliares δ ij .
( r r r r r
) r r
W (q ,0 ,ei ) ⋅ Φ − G (q ) = M i (q ) (31)
El coste de este cálculo es el siguiente:
r r ⎧0 i= j
siendo M i (q ) la columna i de la matriz de inercias y ⎪
Sumas ⎨ ( n − 1 )( n − 2 )
⎪⎩26 i> j
ei = [0 K1K0]T un vector columna donde la posición i será 1 e 2
indicará la columna a hallar. ⎧0 i= j

Productos ⎨ ( n − 1 )( n − 2 )
A fin de desarrollar el problema dinámico inverso y poder ⎪⎩ 30 i> j
2
validar el algoritmo propuesto, se ha utilizado la aplicación Real-
Time Workshop de Matlab, que permite la implementación El cálculo de las matrices B2ij se define en la ecuación (23) y
automática de programas ejecutables en tiempo real a partir de tiene el coste siguiente:
esquemas Simulink.
44 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales

⎧0 i= j La Figura 4 muestra el par real leído del robot PUMA 560 y el


⎪ calculado a partir de la ecuación dinámica del robot de la 1ª
Sumas ⎨ n( n − 1 )
⎪⎩24 i> j articulación del robot. La Figura 5 muestra el error entre el par
2
real y el calculado. Se puede observar que, a pesar de que en
⎧0 i= j algunos instantes de tiempo dicho error alcanza valores
⎪ cercanos a ±10 N.m, su valor medio es -0.088, el cual puede
Productos ⎨ n( n − 1 )
⎪⎩ 36 i> j considerarse aceptable y validar de este modo el procedimiento
2
La obtención de la matriz B requiere, por lo tanto 25(n-1)(n-2) de identificación y resolución del problema dinámico del robot.
sumas y 33(n-1)(n-2) productos. Los picos de error son debidos al modelo de fricción lineal
asimétrico utilizado y, en concreto, a su discontinuidad ante un
De esta forma, el coste computacional total de la matriz W es: cambio en signo de la velocidad. Mediante un modelo de
fricción más ajustado, se podría mejorar la respuesta. La Figura
⎧58n 2 -93n+50 Sumas 6 muestra la aportación que tienen los términos gravitacionales,

⎨ 153 n 2 − 261 n + 66 Productos centrífugos y de Coriolis e inerciales en el par calculado
⎪⎩ 2 2 mediante la resolución del problema dinámico inverso. Las
Figuras 7, 8 y 9 muestran los valores correspondientes a la 2ª
En el caso del robot PUMA 560 con el que se ha trabajado, articulación.
como tiene 6 grados de libertad, el coste computacional del
30
cálculo de la matriz W es 1.580 sumas y 2.037 productos, un par estimado

coste completamente asumible para su implementación en 20


par real robot

tiempo real con cualquiera de los procesadores actuales.

Par (N.m) 1ª articulacion


10

La Figura 3 muestra el esquema de Simulink con la aplicación


Real-Time Workshop con el que se obtiene el problema dinámico 0

inverso del sistema robotizado. El esquema toma como entradas


la posición, velocidad y aceleración del robot de uno de los -10

experimentos reales realizados con el robot PUMA 560,


-20
calculando el par de las 6 articulaciones a partir de la ecuación
dinámica y los parámetros base identificados. El periodo de -30
muestreo utilizado para la resolución del problema dinámico 0 1 2 3 4 5
Tiempo (s)
6 7 8 9 10

inverso es de 5ms, que es el mismo que se utilizó en la etapa de


identificación del apartado 3. Figura 4. Par real y calculado de la 1ª articulación del PUMA.

La implementación de las funciones de los términos dinámicos 15

de gravedad (G(q)), fricción (C(q,q’)) e inerciales (M(q)) se ha 10


realizado mediante los bloques “Embedded MATLAB Function”
Error par estimado y real 1ª articulacion

de Simulink. Se ha elegido esta opción porque éstos permiten 5


obtener, gracias a la Real-Time Workshop, programas
ejecutables en tiempo real a partir de rutinas estándar “.m” de 0

Matlab, lo que permite reutilizar directamente el trabajo previo


que se tenía para realizar las simulaciones. -5

-10

-15
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 5. Error entre el par real y calculado de la 1ª articulación


del PUMA.

20
Término G
Aportación al par (N.m) términos G, C y M (1º art.)

15 Término C
Término M
10

-5

-10

-15

-20

Figura 3. Esquema Real-Time Workshop/Simulink para la -25

resolución del problema dinámico inverso del sistema -30


0 1 2 3 4 5 6 7 8 9 10

robotizado. Tiempo (s)

Figura 6. Aportación de los términos dinámicos de gravedad,


Coriolis e inerciales al par de la 1ª articulación del PUMA.
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 45

30
Las estrategias de control implementadas vienen dadas por la
20 par estimado expresión general siguiente:
10
par real robot
τ c = M (q ) a + C (q, q& )q& + G (q) (33)
donde
Par (N.m) 2ª articulacion

-10 τ c : par generalizado de control


-20
M ( q ) , C( q , q& )q& , G( q ) : matriz de inercias, vector de Coriolis
-30
y fuerzas gravitacionales del sistema robotizado
-40
a: acción de control lineal
-50

-60
0 1 2 3 4 5 6 7 8 9 10 En la ecuación (33) se puede observar como el controlador
Tiempo (s)
cancela los términos no lineales de la ecuación dinámica del
Figura 7. Par real y calculado de la 2ª articulación del PUMA. robot (los términos de Coriolis y gravitacionales) sumando
dichas fuerzas a la acción de control. Una vez canceladas el
15 sistema se convierte en un sistema lineal simple de entrada-
salida.
10
q&& = a (34)
Error par estimado y real 2ª articulacion

0
Tal como se muestra en la Tabla 1, dependiendo de la expresión
que se utilice para el término a, se pueden obtener diferentes
-5 estrategias de control.
-10 Tabla 1. Acción de control lineal a de los controladores por
dinámica inversa
-15
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s) Controlador Acción de control lineal a
Figura 8. Error entre el par real y calculado de la 2ª articulación Punto a punto − K d q& − K p e
del PUMA. Control trayectoria q&&d − K d e& − K p e
30 t
Control Trayectoria

Término G

q&&d − K d e& − K p e − K i e( u )du


Aportación al par (N.m) términos G, C y M (2º art.)

Término C
20
Término M
con acción integral
10
0

0
donde e=q-qd y Kd, Kp y Ki son las matrices (diagonales y
-10 definidas positivas) de ganancias derivativas, proporcionales e
-20
integradoras.
-30
El primero es un controlador punto a punto exponencialmente
-40
0 1 2 3 4 5 6 7 8 9 10
estable con una selección adecuada de las matrices Kd y Kp. El
Tiempo (s) segundo controlador es similar al primero, pero en este caso se
Figura 9. Aportación términos dinámicos de gravedad, Coriolis e establece un control de trayectoria en el que la respuesta del
inerciales al para de la 2ª articulación del PUMA. robot debe seguir una trayectoria variable qd(t) y sus sucesivas
derivadas que describen la velocidad q& d ( t ) y la aceleración
q&&d ( t ) deseada. El tercer controlador es también un controlador
Por último, en este trabajo también se ha planteado y resuelto el
problema dinámico directo de robots. Éste se puede obtener de de trayectoria en el que se ha añadido un término integral del
una forma análoga a la planteada para la resolución del problema error.
dinámico inverso. En este caso se parte de la ecuación (25) y se
despeja el término de la aceleración generalizada. De esta forma, Estas estrategias se han implementado para establecer el control
la ecuación dinámica que se obtiene es la siguiente: en tiempo real del robot industrial PUMA 560, robot que se
r r r r r r r
q&& = M (q )−1 τ − C q , q& ⋅ q& − G( q ) ( ( ) ) (32)
muestra en la Figura 10.

5. CONTROL DINÁMICO DEL ROBOT PUMA 560 EN


TIEMPO REAL
Una vez resueltos el problema dinámico directo e inverso y
obtenido y validado los parámetros dinámicos del robot, se
puede abordar el control en tiempo real del sistema robotizado.
En este trabajo, se han implementado varias estrategias de
control basadas en el método de dinámica inversa (o par
calculado). Este tipo de control se analiza con mayor detalle en
diversos textos como, por ejemplo, (Craig, 1989), (Spong,
Vidyasagar, 1989), (Yoshikawa, 1990) o (Canudas, et al., 1996). Figura 10. Robot industrial PUMA.560 utilizado.
46 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales

Para poder acceder a las variables de estado del sistema se ha Como en las fases de identificación del apartado 3 y de la
sustituido la unidad de control original por una unidad nueva resolución del problema dinámico del apartado 4, el periodo de
basada en un computador personal industrial equipado con un muestreo utilizado para establecer el control del robot industrial
procesador Intel Pentium IV a 2.66GHz. La Figura 11 muestra la es de 5ms. En las pruebas y las ejecuciones realizadas se ha
arquitectura de control utilizada. comprobado que este periodo es suficientemente grande puesto
que el tiempo medio de ejecución del controlador (que incluye
Amplifica- Motores las lecturas de los encoders, el cálculo del controlador y las
dores de
Convertidor D/A corriente conversiones Digital/Analógico) que se obtuvo fue 3.55ms, con
Algoritmos de Control

Potencia
continua
un tiempo de ejecución máximo de 3.57ms.
Convertidor A/D
Potenciómetros Las figuras siguientes muestran una ejecución real del robot
industrial PUMA 560. En la Figura 13 se muestran la referencia
Tarjeta Encoders Encoders
(línea continua) y la posición real (línea discontinua) para las 6
articulaciones del robot. La Figura 14 muestra los errores
PC Etapa potencia Brazo robot cometidos.
1

Ref y Pos PUMA (rad) 1ª articulacion


Figura 11. Arquitectura abierta de control del PUMA.560. 0.5

En la nueva unidad de control desarrollada las lecturas de las 0

posiciones angulares de los nudos del brazo robot se obtienen a -0.5

través de las tarjetas de los encoders incrementales PCL-833 de -1

Advantech. Cabe destacar que, puesto que se trata de encoders -1.5


0 2 4 6 8 10 12 14 16 18 20
incrementales, es necesario programar el valor inicial de partida Tiempo (s)

del robot en el momento de la inicialización del sistema. Esto se 0.4

Ref y Pos PUMA (rad) 2ª articulacion


realiza de forma automática gracias a los convertidores 0.2

analógico/digial PCI-1711 de Advantech, que leen el valor de los 0

potenciómetros de cada una de las articulaciones del robot del -0.2

PUMA 560. -0.4

-0.6

-0.8

Con la información del estado del sistema, las referencias de -1


0 2 4 6 8 10 12 14 16 18 20
movimiento y el algoritmo de control programados, el PC Tiempo (s)

calcula las acciones de control necesarias para las distintas 3


Ref y Pos PUMA (rad) 3ª articulacion

articulaciones del robot. Estas acciones de control se suministran


2.5
a los amplificadores de potencia de los motores mediante
convertidores Digital/Analógico, utilizándose en este trabajo las 2

tarjetas PCL-726 de Advantech. Una información más detallada 1.5

de la arquitectura desarrollada para el control de este robot se 1

puede encontrar en (Valera, et al.,2003). 0.5


0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)

La Figura 12 muestra uno de los esquemas de la Real-Time 1.5


Ref y Pos PUMA (rad) 4ª articulacion

Workshop utilizados para la generación automática del 1

controlador en tiempo real. Se trata de un controlador punto a 0.5

punto en el que se pueden apreciar los bloques para el acceso a 0

la posición de las 6 articulaciones del robot (Tarjeta A y Tarjeta -0.5


B de los encoders) y el bloque de los convertidores D/A (Analog
-1
Output). Como se ha comentado anteriormente, los bloques 0 2 4 6 8 10
Tiempo (s)
12 14 16 18 20

Embedded Matlab Function G, Embedded Matlab Function C y


Embedded Matlab Function M se encargan de obtener los 1.5
Ref y Pos PUMA (rad) 5ª articulacion

términos gravitacionales, de Coriolis e inerciales de la ecuación 1

dinámica del robot a partir de la resolución de la matriz W. 0.5

-0.5

-1
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)

-1
Ref y Pos PUMA (rad) 6ª articulacion

referencia
-1.5 pos real

-2

-2.5

-3

-3.5
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)

Figura 12. Controlador por dinámica inversa punto a punto del Figura 13. Referencias y posiciones reales de las seis
robot industrial PUMA.560. articulaciones del robot industrail PUMA.560.
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 47

0.01

0.005 Por último, la Figura 15 muestra las acciones de control


Error 1ª articulacion

0 aplicadas sobre las articulaciones del robot.


-0.005

-0.01
30

Par de control (N.m) 1ª articulación


-0.015
20
-0.02
0 2 4 6 8 10 12 14 16 18 20 10
Tiempo (S)
0
0.01
-10
Error 2ª articulacion

0.005 -20

0 -30
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)

-0.005 0

Par de control (N.m) 2ª articulación


-10
-0.01
0 2 4 6 8 10 12 14 16 18 20
-20
Tiempo (S)
-30
0.04
-40
Error 3ª articulacion

0.02 -50

-60
0
-70
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.02
15

Par de control (N.m) 3ª articulación


-0.04 10
0 2 4 6 8 10 12 14 16 18 20
Tiempo (S) 5

0.04 -5

-10
0.02
Error 4ª articulacion

-15
0 -20

-0.02 -25
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.04
5
-0.06 4
0 2 4 6 8 10 12 14 16 18 20
Tiempo (S)
Par de control (N.m) 4ª articulación

2
0.04
1

0
Error 5ª articulacion

0.02
-1

-2
0
-3

-4
-0.02
-5
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.04
0 2 4 6 8 10 12 14 16 18 20
Tiempo (S) 4

0.1 3
Par de control (N.m) 5ª articulación

2
Error 6ª articulacion

0.05
1

0
0

-0.05 -1

-2
-0.1
0 2 4 6 8 10 12 14 16 18 20
-3
Tiempo (S)

-4
0 2 4 6 8 10 12 14 16 18 20

Figura 14. Error referencias y posiciones reales del robot. Tiempo (s)

8
La Tabla 2 muestra el valor medio y la media cuadrática (RMS)
del error entre la referencia y la posición real de cada 6
Par de control (N.m) 6ª articulación

articulación. 4

Tabla 2. Error (medio y RMS) de posición de las 2

articulaciones del robot industrial PUMA 560 0

∑e ∑e
-2
2
i i
Articulación -4

n n -6
0 2 4 6 8 10 12 14 16 18 20

1 -0.00095 0.0054 Tiempo (s)

2 -0.00452 0.0048 Figura 15. Acciones de control aplicadas en el robot.


3 -0.00141 0.0092
4 0.00625 0.0177
5 0.00363 0.0154
6 -0.00979 0.0310
48 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales

T. R. Kane, D. A. Levinson (1983). The use of Kane’s


6. CONCLUSIÓN Dynamical Equations in Robotics, Int. J. of Robotics
Este artículo ha abordado la resolución del problema dinámico Research, vol. 2, pp. 3-21.
directo e inverso de sistemas robotizados y su aplicación para el Z. R. Lu, K. B. Shimoga, A. A. Goldenberg (1993).
establecimiento del control de éstos. El modelo dinámico del Experimental-Determination of Dynamic Parameters of
robot se ha desarrollado a partir de las ecuaciones dinámicas de Robotic Arms, Journal of Robotic Systems, vol. 10, pp.
Gibbs-Appell, que proporcionan características muy interesantes 1009-1029.
como la simplicidad de las expresiones que se obtienen y la fácil J. Y. S. Luh, M. W. Walker, R. P. Paul (1980). On-line
ampliación del modelo dinámico para poder incorporar efectos Computational Scheme for Mechanical Manipulators. J. of
como la dinámica de los actuadores o el fenómeno de la fricción. Dynamical Systems, Measurement, and Control, vol. 102,
Las ecuaciones del modelo dinámico se pueden expresar en pp. 69-79.
forma lineal con respecto a los parámetros dinámicos del V. Mata, F. Benimeli, N. Farhat, A. Valera (2005). Dynamic
sistema, utilizando una formulación matricial. Parameter Identification in Industrial Robots Considering
Physical Feasibility, Advanced Robotics, vol. 19, pp. 101-
El artículo ha mostrado cómo se puede resolver el problema 119.
dinámico de robots. Partiendo de la matriz de observación del D. E. Orin, R. B. McGhee, M. Vukobratovic, G. Hartoch (1980).
sistema y de los parámetros dinámicos del robot identificados Kinematic and Kinetic Analysis of Open-Chain Linkages
fuera de línea, se pueden obtener los términos que componen su utilising Newton-Euler Methods. J. of Dynamic Systems,
ecuación dinámica. La implementación del problema dinámico Measurements, and Control, vol. 102, pp. 69-79.
se realiza mediante la aplicación Real-Time Worshop, utilizada S. Provenzano (2001). Aplicación de las Ecuaciones de Gibbs-
en este trabajo para realizar la simulación y establecer el control Appell a la Dinámica de Robots, Ed. Universitat
de un robot real: el robot industrial PUMA 560. Politecnica de Valencia.
M. Renaud (1983). An Efficient Iterative Analitical Procedure
Como trabajos futuros, se plantea incorporar la dinámica de los for obtaining a Robot Manipulator Dynamic Model, Proc.
rotores en el modelo del robot y analizar qué efecto tiene en la 1st Int. Symp. On Robotic Research, New Hampshire, pp.
mejora de la precisión del sistema. Además, también se está 749-762.
planteando la utilización de este modelo para otras M. Spong, M. Vidyasagar (1989). Robot dynamics and control.
configuraciones de robots, como el caso de los robots paralelos. Ed. John Wiley & Sons.
Y. Stepanenko, M. Vukobratovic (1976). Dynamics of
AGRADECIMIENTOS Articulated Open-Chain Active Mechanisms, Matematical
Los autores desean expresar su agradecimiento al Plan Nacional Biosciences, vol. 28, pp. 137-170.
de I+D, Comisión Interministerial de Ciencia y Tecnología J. Swevers, C. Ganseman, D. B. Tukel, J. DeSchutter, H.
(FEDER-CICYT) por la financiación parcial de este trabajo bajo VanBrussel (1997). Optimal robot excitation and
los proyectos DPI2008-06737-C02-01y DPI2009-13830-C02- identification, IEEE Transactions on Robotics and
01. Automation, vol. 13, pp. 730-740.
J. J. Uicker (1965). On Dynamic Analysis of Spatial Linkages
REFERENCIAS using 4x4 Matrices. Ph.D. Dissertation, Northwestern
J. Angeles, O. Ma, A. Rojas (1989). An Algorithm for Inverse University.
Dynamics of n-Axis General Manipulators Using Kane’s A. Valera, V. Mata, M. Valles, F. Valero, N. Rosillo, F.
Equations. Computer Math. Applic., vol. 17, pp. 1545- Benimeli (2003). Solving the Inverse Dynamics Control
15561. for Low Cost Real-Time Industrial Robot Control
F. Benimeli, V. Mata, F. Valero (2005). A Comparison between Applications, Robotica, vol. 21, pp. 261-269, 2003.
Direct and Mixed Dynamic Parameter Identification A. Valera, F. Benimelli, V. Mata, F. Valero, N. Rosillo (2007).
Methods in Mechanical Systems, presented at Modelling and Dynamic Parameter Identification in
MULTIBODY DYNAMICS 2005, ECCOMAS Thematic Robots. Applications to the Control of an Industrial Robot.
Conf., Madrid, Spain. Int. J. of Factory Automation, Robotics and Soft
C. Canudas, B. Siciliano, G. Basting (1996). Theory of Robot Computing, pp 44-51.
Control. Ed. Springer M. Vukobratovic, N. Kircanski (1985). Real Time Dynamics of
J. Craig (1989). Introduction to robotics: Mechanics and Manipulation Robots, Springer-Verlag, Berlin, 1985.
control. Ed. Addison-Wesley M. W. Walker, D.E. Orin (1982). Efficient Dynamic Computer
K. Desoyer, P. Lugner (1989). Recursive Formulation for the Simulation of Robotic Manipulators. ASME Journal of
Analytical or Numerical Application of the Gibbs-Appell Dynamic Systems, Measurement, and Control, vol. 104,
Method to the Dynamics of Robots”, Robotica, vol. 7, pp. pp. 205-211.
343-347. T. Yoshikawa (1990). Foundations of Robotics: Analysis and
M. Gautier (1991). Numerical-Calculation of the Base Inertial control. Ed. The MIT Press
Parameters of Robots, Journal of Robotic Systems, vol. 8,
pp. 485-506, 1991.
M. Grotjahn, M. Daemi, B. Heimann (2001). Friction and rigid
body identification of robot dynamics, International
Journal of Solids and Structures, vol. 38, pp. 1889-1902.
W. Hooker, G. Magulies (1965), The Dynamical Attitude
Equations for an n-Body Satellite, J. of Astronautical
Science, vol. 12, pp. 123-128.

View publication stats

También podría gustarte