Documentos de Académico
Documentos de Profesional
Documentos de Cultura
8º Congreso Iberoamericano de Ingenieria Mecanica
8º Congreso Iberoamericano de Ingenieria Mecanica
123
Pontificia Universidad Católica del Perú. Departamento de Ingeniería.
Centro de Tecnologías Avanzadas de Manufactura, CETAM.
Av. Universitaria No.1801, San Miguel Lima-32 PERU Telf. (511) 6262000 Anexo: 4665
1
pamela.navarro@pucp.edu.pe
2
sandra.robles@pucp.edu.pe
3
kpaulsen@pucp.edu.pe
RESUMEN
El modelado cinemático consta del desarrollo de la cinemática directa y la cinemática inversa. La cinemática directa
permitirá conocer las coordenadas de cualquier punto del manipulador en función de los ángulos generados en las
articulaciones, mientras que la cinemática inversa permitirá conocer los ángulos de los actuadores en función de
alguna posición espacial. La cinemática directa utiliza matrices de transformación homogéneas, que relacionan una
serie de sistemas de coordenadas colocados estratégicamente a lo largo del manipulador.La cinemática inversa por
otro lado, utiliza un método geométrico para su resolución. La dinámica del manipulador también consta del
desarrollo de una dinámica directa y una inversa, en la dinámica directa utilizamos la formulación de Walker-Orin
para obtener las aceleraciones de las articulaciones en función de las posiciones, velocidades y torques de los
actuadores, mientras que en la dinámica inversa utilizamos la formulación de Newton-Euler con una ligera variación
desarrollada por Luh, Walker y Paul, para determinar los torques en los actuadores en función de las posiciones,
velocidades y aceleraciones. Esta serie de ecuaciones dinámicas son manejadas mediante un algoritmo soportado en
Matlab, que permite la iteración de las diferentes variables de una manera práctica, rápida y precisa.
CINEMATICA DIRECTA
Para la definición de la cinemática directa se establece el modelo del manipulador, Fig.1. En él se debe reconocer la
configuración y distribución de los diferentes grados de libertad..
Con el modelo definido, se definen las ecuaciones que describirán la cinemática del manipulador, para ello se hace
uso de las matrices de transformación homogéneas [2].Dichas matrices poseen la característica de poder reunir en sus
expresiones los giros y movimientos espaciales. Previamente a la definición de las matrices de transformación, se
procede a colocar sistemas de coordenadas en cada una de las articulaciones [1] siguiendo los siguientes
lineamientos:
La formulación de las matrices de transformación sigue un procedimiento, el cual se detallará para el caso de la
matriz que relaciona los sistemas de coordenadas 0 y 1. Las siguientes matrices seguirán las mismas características,
salvo algunas excepciones que se resaltarán en su momento.
La matriz de transformación homogénea debe ser una expresión que permita relacionar los sistemas 0 y 1, esta
relación está basada en los movimientos que debe hacer el sistema de coordenadas 0 para llegar a la misma posición
y orientación del sistema 1. Para lograrlo, el sistema de partida deberá realizar tres movimientos claramente
definidos:
• Primer movimiento: giro alrededor del eje Z (Z0)
• Segundo movimiento: consiste en una traslación espacial, en la que se traslada el sistema de coordenadas 0 desde
su origen hasta el origen del sistema de coordenadas 1.
• Tercer movimiento: y ultimo giro, alrededor del eje X, para completar el posicionamiento.
La multiplicación de estos tres movimientos tiene una expresión representada en la Ec.(1)
⎛1 0 0 p ⎞
⎛1 0 0 0 ⎞ ⎛ cos(θ ) − sen (θ ) 0 0 ⎞ ⎜ ⎟x
⎜0 0 ⎟ ⎜ sen (θ ) 0⎟ ⎜0 y⎟
T ( x , α ) ⋅ T ( z , θ ). p =
cos(α ) − sen (α ) cos(θ ) 0 1 0 p
⎜0 (1)
0⎟ ⎜ 0 0⎟ ⎜0
⋅ ⋅
⎜0
sen (α ) cos(α )
⎟ ⎜ 0 1
⎟ 0 1 p ⎟
⎝ 0 0 1⎠ ⎝ 0 0 0 1⎠ ⎜ z
⎟
⎝0 0 0 1 ⎠
La matriz de transformación homogénea asociada es el resultado de multiplicar las tres matrices representativas de
los movimientos con sus respectivos valores aplicados al sistema 1. Al operar obtendremos una expresión como ésta:
Tal como se realizó para los sistemas de coordenadas 0 y 1, es posible definir las matrices sucesivas de
transformación homogénea con los respectivos valores de α. Así tendremos:
⎛ cos(θ5 ) − sen (θ ) 0 0 ⎞
⎜ 5 ⎟
= ⎜ ⎟
sen (θ ) cos(θ ) 0 0
T 5 5
45 ⎜ 0 0 1 d ⎟
⎜ 0 5
⎟
⎝ 0 0 1 ⎠
Paraα=90º (6)
Consideración Especial: Cabe resaltar el caso de la matriz de transformación entre los sistemas 3 y 4, en donde el
último giro no está definido por una rotación alrededor del eje X sino alrededor del eje Y. Esta pequeña variación
genera un cambio en la matriz que hace que ésta tenga una estructura diferente a las demás.
⎛ nx o a X⎞
⎜ x x ⎟
T =
⎜ ny o
y
a
y
Y
⎟
05 ⎜n o a Z⎟ (10)
⎜ 0z z z
⎟
⎝ 0 0 1⎠
En donde:
CINEMATICA INVERSA
Para el cálculo de la cinemática inversa se divide al manipulador en dos partes: el brazo, que incluirá la estructura del
manipulador que abarca el giro de los tres primeros actuadores, y la muñeca que abarca el giro de los últimos dos. El
vector que definirá el extremo del brazo será pb, mientras que el vector de la muñeca será pm, estos dos estarán
relacionados por el vector p05, Ec(11):
p05=pm + pb (11)
Características del movimiento
Los ángulos θ1,θ2 yθ3 resultan de las relaciones geométricas que son deducidas del desacoplo del manipulador. El
ángulo θ4 puede ser deducido de la ecuación de orientación definido por la expresión az de la Ec.(10) o ingresado
como dato por el usuario bajo la denominación “pitch”. El ángulo θ5 debe ser ingresado bajo la indicación “roll” o
mantiene su valor de “home” durante el movimiento.
Con estas características en consideración, se analiza la expresión (11). De los tres vectores definidos en la
expresión, solo pb es desconocido, ya que la magnitud de p05 esta definida por las coordenadas espaciales del
manipulador, que son conocidas en cualquier condición. Además pm=p35 que puede expresarse en función de su
magnitud, igual a L4+d5 pues siempre están alineados, y su orientación en función de los ángulos β y φ:
Z
Y
β
pm
pmsenβsenφ pmsenβcosφ
De la Fig. 2 se deducen las coordenadas de la muñeca del manipulador, en función de las coordenadas espaciales del
extremo del manipulador y las coordenadas del extremo del vector pb:
p
y
θ = arctg
1 p
x
(15)
En función de cómo este orientado el codo del manipulador, el ángulo θ3 toma los siguientes valores:
⎛ 1 − cos2 (θ ) ⎞ (16)
θ = arctg
⎜ 3 ⎟
3 ⎜⎜ cos(θ ) ⎟⎟
⎝ 3
⎠
⎛− 1 − cos2 (θ ) ⎞ (17)
θ = arctg
⎜ 3 ⎟
3 ⎜⎜ cos(θ ) ⎟⎟
⎝ 3
⎠
Similar al caso definido con el ángulo θ3, el ángulo θ2 también puede tomar dos valores:
p L ⋅ sen (θ )
z 3 3
( )
θ = arctg − arctg
2 2 L + L ⋅ cos(θ ) (18)
2 3 3
( p )2 + ( p )2 − L
x y 1
p L ⋅ sen (θ )
z 3 3
( )
θ = arctg + arctg
2 2 L + L ⋅ cos(θ ) (19)
2 3 3
( p )2 + ( p )2 − L
x y 1
θ = arcsen ( a ) − (θ + θ ) (20)
4 z 2 3
Aplicando las ecuaciones de la cinemática inversa y directa en un algoritmo de MatlabTM, probamos la validez de los
resultados:
» A= rand (5,1)
A=
0.6721
0.8381
0.0196
0.6813
0.3795
» T=cinematicadirecta5(A)
T=
» T=cinematicainversa5(A,-1,1)
ans=
0.6721
0.8381
0.0196
0.6813
0.3795
La velocidad angular, la aceleración angular y la velocidad lineal de la base son típicamente nulas a menos que el
robot se encuentre en movimiento.
La velocidad angular se define según:
⎛ dq ⎞
⋅ϖ ⎜⎜ R ⋅ϖ
i⎟ (22)
0 dt ⎟
R = R ⋅ +z ⋅
i, i − 1 i, i − 1 i − 1, 0 i −1
1
⎝ ⎠
La aceleración angular:
dϖ ⎛ dϖ d 2q ⎛ dq ⎞ ⎞
⎜R i ⎜ i ⎟
⎜ i − 1,0 i − 1 0 dt ⎟⎟ ⎟
i i −1
R ⋅ = R ⋅ ⋅ +z ⋅ + R .ϖ ×z ⋅ (23)
i ,0 dt i, i − 1 ⎜ i − 1,0 dt 0
dt 2 ⎝ ⎠⎠
⎝
La aceleración lineal del sistema i según:
⎛ dvi ⎞ ⎛ ⎛⎜ dϖ i ⎞⎟ ⎞
( )( )( ) ⎛ ⎞
⎛ dv ⎞
⎛ ⎞ ⎛ ⎞ ⎜ ⎟
R ⋅ ⎜⎜ ⎟⎟ = ⎜⎜ R .⎜⎜ ⎟⎟ ⎟⎟ × R ⋅ p + R ⋅ ϖ × ⎜⎜ R ⋅ ϖ ⎟⎟ × ⎜⎜ R ⋅ p ⎟⎟ + Ri ,i −1 R .⎜
i −1⎟ ⎜
⎜
⎟
⎟ (24)
i ,0 i ,0 i i,0 i ⎝ i ,0 i ⎠ ⎝ i ,0 i ⎠ i − 1, 0 ⎜ dt ⎟⎟
⎜
i ,0
⎝ dt ⎠ ⎝ ⎜⎝ dt ⎟⎠ ⎠ ⎝ ⎠ ⎝ ⎠
R ⋅a =
i ,0 i
⎛ ⎛⎜ dϖ i ⎞⎟ ⎞
⎜ R .⎜⎜ ⎟⎟ ⎟ ×
⎜ i ,0 ⎜ dt ⎟ ⎟ ( )(
i,0 i i ,0 i
⎛
⎝ i ,0
⎞ ⎛
)(
i ⎠ ⎝ i ,0 i ⎠
⎞
R ⋅ s + R ⋅ ϖ × ⎜⎜ R ⋅ ϖ ⎟⎟ × ⎜⎜ R ⋅ s ⎟⎟ + Ri , 0 ) ⎛ dv ⎞
⋅⎜ i ⎟
⎝ dt ⎠ (25)
⎝ ⎝ ⎠⎠
R ⋅ F = m .R ⋅a (26)
i,0 i i i ,0 i
El momento total externo ejercido sobre el elemento i sobre el centro de masa según:
( ) ⎛⎜⎜ ⎞
( )( )
⎛ dϖ ⎞
⎜ ⎟ ⎛ ⎞ ⎛ ⎞
⋅ N = R .I .R ⋅ ⋅⎜
i ⎟ ⎟+ R ⋅ ϖ × ⎜⎜ R . I . R ⎟⎟ ⋅ ⎜⎜ R ⋅ ϖ ⎟⎟
R
i ,0 i i ,0 i 0, i
R
i ,0 ⎜ dt ⎟ ⎟ i,0 i ⎝ i , 0 i 0 , i ⎠ ⎝ i , 0 i ⎠
⎝ ⎜
⎝
⎟
⎠ ⎠
(27)
La fuerza ejercida sobre el elemento i por el elemento i-1 en el sistema de coordenadas i-1 para soportar al elemento i
y a los elementos por encima de èl:
R ⋅ f = R
i ,0 i i, i + 1
⋅ R ( ⋅ f
i + 1, i i + 1
+R )
⋅F
i ,0 i
(28)
El momento ejercido sobre el elemento i por el elemento i-1 en el sistema de coordenadas i-1
R ⋅n = R
i ,0 i i, i + 1
(
⋅ R ⋅n
i + 1, 0 i + 1
(
+ R
i + 1, 0 i
)(
⋅ p × R ⋅ f
i + 1, 0 i + 1
)) (
+ R )( )
⋅ p + R ⋅ s × Ri , 0 ⋅ Fi + Ri , 0 ⋅ N i
i + 1, 0 i i ,0 i (29)
τ
i
(
= R ⋅n
i, i + 1 i
) ( T
⋅ R )
⋅z +b .
i, i − 1 0
dq
i dt
i
(30)
M.W.Walker y D.E Orin presentaron cuatro formulaciones para la resolución del problema dinámico directo de una
cadena cinemática abierta utilizando la formulación de Newton Euler [5]. De las cuatro, y comparando la eficiencia
computacional, se concluye que la tercera formulación es la más eficiente. En el algoritmo computacional, se siguen
los lineamientos de Walker y Orin.
Se resuelve la ecuación general del robot:
T
H ( q ) q&& + C ( q , q& ) q&& + K ( q ) k = τ (31)
De la Ec.(31) se observa que las fuerzas y pares en la articulaciones son funciones lineales de las aceleraciones
articulares. Se define b como un vector equivalente a los efectos de la gravedad, las aceleraciones centrifugas y de
Coriolis y las fuerzas externas aplicadas sobre el elemento N:
T
b = C ( q , q& ) q&& + G ( q ) + K ( q ) k (32)
Para el cálculo de H(q), se utiliza el algoritmo aprovechando la simetría de la matriz H(q) para calcular la diagonal
principal y los términos de la mitad superior. Estos componentes se calculan con el siguiente orden HN,N, HN-
1,N,…..H1,N, HN-1,N-1, HN-2,N-1,….., H1,N-1,;…..etc. Para el cálculo de la articulación j, los últimos N-j+1 elementos
aparecen como un cuerpo rígido, luego la articulación j es la única con movimiento. En este caso, conocida la
localización del centro de masas y el movimiento de inercia de este elemento ficticio, la fuerza total Fj y el momento
Nj ejercidos en el sistema compuesto por los elementos j hasta N se calcula como:
F = M v& = M ( z ×c ) = z × ( M .c ) (33)
j j j j j −1 j j −1 j j
N = E z (34)
j j j −1
De la misma manera como se hizo con la cinemática directa e inversa, se ingresan los datos de la dinámica en el
algoritmo de MatlabTM.
» q=rand(5,1);
»qp=rand(5,1);
»m6=3;
»Iext=0.05*eye(3);
»tau = [ 19.4957 24.5912 12.9799 8.6815 10.0000]'
»acel=walkerorin5(q,qp,tau,m6,Iext)
acel =
7.7444
14.3683
11.2797
36.3742
182.7007
»tau= newtoneuler5(q,qp,acel,g,m6,Iext);
tau =
19.4957
24.5912
12.9799
8.6815
10.0000
REFERENCIAS
UNIDADES Y NOMENCLATURA