Está en la página 1de 72

Fundamentos de Robótica: 2017-I

Dinámica de Robots
Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

2
Dinámica

• ¿Qué es?
• Respuesta a: ¿por qué se mueve?
• Estudio de las causas del movimiento
• Estudio de las fuerzas y torques y su efecto en el movimiento

• Ejemplo elemental:

x
f = mx m: masa
f x: posición
Segunda ley de m
f: fuerza
Newton

 = J J: momento de inercia
Segunda ley de Euler J 𝜃(𝑡) θ: ángulo
τ: torque (momento)
𝜏
• La dinámica está representada por expresiones de segundo orden
Dinámica en Robótica
• Establece la relación entre:

Fuerzas generalizadas Movimiento del Robot:


sobre el robot: τ(t) ሶ
q(t), 𝒒(t), ሷ
𝒒(t)

τexternos

τarticular
q(t)
Fuerzas generalizadas: Movimiento del robot:
- τarticular: torques en las - Trayectoria articular
articulaciones - Trayectoria Cartesiana
- τexternos: fuerzas/torques aplicados (del efector final)
por o sobre el entorno (mediante
alguna parte del robot)
Modelo Dinámico de un Robot
f = mx
• Modelo dinámico (en el espacio articular q):
M (q)q + C (q, q)q + g(q) = τ Segundo orden
donde:

q: Coordenadas articulares generalizadas


M(q): Matriz de masa o inercia
ሶ Fuerzas centrífugas y de Coriolis
C(q,𝒒):
g(q): Fuerzas de gravedad
τ: Fuerzas generalizadas
• Al modelar dinámicamente (un robot) se busca …
• Encontrar M, C, g que definen el modelo dinámico del robot
• Modelo dinámico permite control y simulación

• “Problemas” en dinámica: dinámica directa y dinámica inversa


Dinámica Directa
• Consiste en:

Aplicar torques/fuerzas (τ) y obtener el movimiento del robot (𝒒).

 1 (t )   q1 (t ) 
τ (t ) =   q(t ) =  


 n (t )   qn (t ) 
entrada salida
n grados de libertad

• Uso principal: simulación dinámica


Se usa el modelo dinámico directo y se integra numéricamente las ecuaciones
diferenciales

q(t )
Modelo Integración
τ (t ) dinámico directo numérica
q(t )

simulador dinámico
Dinámica Inversa

• Consiste en:
Obtener los torques/fuerzas (τ) necesarios para realizar un movimiento deseado
(𝒒)ሷ
q d (t ), q d (t ), q d (t ) τ d (t )
Movimiento Torque/fuerzas
deseado requeridos

• Uso principal: control


Dadas especificaciones de movimiento (a nivel de aceleración), calcular
analíticamente τ con base en una ley de control
Métodos para Calcular la Dinámica
(basado en energía) (basado en balance fuerzas/torques)

m
f

Energía cinética: T Fuerzas: f


f
Energía potencial: U Momentos: m
m

• Ecuaciones en forma simbólica • Ecuaciones en forma numérica (recursiva)


• Apropiado para: • Apropiado para:
- Estudio de propiedades dinámicas - Dinámica inversa en tiempo real
- Análisis de esquemas de control - Implementación de esquemas de
control

Nota: Euler-Lagrange formalmente se puede


obtener del: principio de d’Alembert, de Hamilton,
de trabajo virtual, etc.
Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

9
Formulación de Euler-Lagrange

• Método basado en la energía del sistema


1
T =
2
m x
• Energía cinética 2
• Debida al movimiento de un cuerpo (rígido):
• Notación: 𝒯, T, K, Ec

• Energía potencial U = −mgh


• Debida a la posición o a la configuración del cuerpo (rígido):
(h: altura)
• Notación: 𝒰, U, P, Ep

• Lagrangiano
L (q, q) = T (q, q) − U(q)

Energía Energía
q R n cinética potencial
donde : coordenada generalizada (usualmente: variables articulares)
Formulación de Euler-Lagrange

• Ecuaciones del movimiento


• Formulación de Euler-Lagrange término a término:
i = 1, ,n
d  L  L n coordenadas
 − = i generalizadas
dt  qi  qi

Fuerzas generalizadas
(hacen trabajo sobre qi)

• Formulación de Euler Lagrange de forma vectorial:  q1   1 


T T
q =   τ =  
d  L   L   qn   n 
  −  =τ
dt  q   q 
Formulación de Euler-Lagrange
Ejemplo 1: masa puntual y
f
Encontrar el modelo dinámico de la masa puntual mostrada
en la figura usando: a) la segunda ley de Newton, b) la y
formulación de Euler-Lagrange
mg
Solución x
a) Usando la ley de Newton: f
i
i = my

f − mg = my my + mg = f

b) Usando Euler-Lagrange:
1 2 d  L  L
- Energía cinética: T = my  − = f
2 dt  y  y
- Energía potencial: U = mgy d
( my ) + mg = f
dt
- Lagrangiano: L =T −U
1 my + mg = f
L = my 2 − mgy
2
Formulación de Euler-Lagrange
Ejemplo 2: Péndulo simple y
x
Encontrar el modelo dinámico de un péndulo simple usando x
la formulación de Euler-Lagrange 
Solución 
• Posición y velocidad de la masa: l
x = l sin  x =  l cos 
y = −l cos  y =  l sin 
• Energía potencial: y
U = mg (−l cos  ) m
• Energía Cinética:
1
T =
2
m x
2

T =
1
2
1
2
( )
m ( x 2 + y 2 ) = m  2l 2 cos 2  +  2l 2 sin 2  = ml 2 2
1
2
1 2 2
• Lagrangiano: L =T −U = ml  + mgl cos 
2
Formulación de Euler-Lagrange
Ejemplo 2: Péndulo simple y
x
• Lagrangiano
1 x
L = ml 2 2 + mgl cos  
2

• Derivadas del Lagrangiano 


l
L
= −mgl sin 

L d  L  y
= ml 2   = ml 
2

 dt    m
• Formulación de Euler-Lagrange: qi = 
d  L  L
 − =
dt    

ml 2 + mgl sin  = 

Estructura: M ( ) + G ( ) = 
Formulación de Euler-Lagrange
Ejemplo 2: Péndulo simple
• Nota importante:
- La energía potencial se define como cero en un punto arbitrario
- Se puede tomar otro sistema de referencia

ŷ ŷ

U=0 x̂ x̂

 
l l

m m
U=0

U = mg (−l cos  ) U = mg (l − l cos  ) = mgl (1 − cos  )


• Lo que interesa es que es igual en cualquier caso
U

Formulación de Euler-Lagrange
Ejercicio 1: Péndulo doble
Encontrar el modelo dinámico de un péndulo doble usando la formulación de
Euler-Lagrange

1 x̂

1 l1
2
m1 l2
2
m2

Respuesta:
(m1 + m2 )l11 + m2l22c1−2 + m2l222 s1−2 + (m1 + m2 ) gs1 = 1
m2l22 + m2l11c1−2 − m2l112 s1−2 + m2 gs2 =  2
Formulación de Euler-Lagrange
Ejercicio 1: Péndulo doble

1
2
1
(
T (θ, θ) = m1l1212 + m2 l1212 + l2222 + 2l1l212 c1−2
2
)
U(θ) = −(m1 + m2 ) gl1c1 − m2 gl2 c2

L
= − m2l1l21 2 s1− 2 − (m1 + m2 ) gl1s1
1
L d  L 
= (m1 + m2 )l121 + m2l1l2 2 c1−2   = (m1 + m2 )l1 1 + m2l1l2 2 c1−2 + m2l1l2 2 s1−2 − m2l1l21 2 s1−2
2 2
1 dt  1 

L
= m2l1l21 2 s1− 2 − m2 gl2 s2
 2
L d  L 
= m2l22 2 + m2l1l21c1− 2   = m2l2  2 + m2l1l2 2 c1−2 + m2l1l21 2 s1−2 − m2l1l21 s1−2
2 2
 2 dt   2 
Formulación de Euler-Lagrange
Ejercicio 1: Péndulo doble
Reescribir las ecuaciones en forma matricial con la estructura:
M (q)q + C (q, q)q + g(q) = τ

Respuesta:

(m1 + m2 )l1 m2l2 c1− 2  1   0 m2l2 2 s1− 2  1  (m1 + m2 ) s1   1 


 m lc   +  + g  =  
 2 1 1− 2 m2l2   2   −m2l11s1− 2 0 
 2  m s
2 2   2

M (θ) θ C (θ, θ) θ g (θ) τ


Componente de Coriolis y Componente de
Matriz de masa
fuerzas centrífugas gravedad
Formulación de Euler-Lagrange
Ejercicio 2: Péndulo esférico z

La masa puntual m está unida a una articulación esférica a


través de una barra cuya masa es despreciable. La y
configuración de la masa puntual es: q = (θ, ϕ), donde θ mide
x
la distancia angular del eje z, y ϕ mide la distancia angular del 
eje x. Calcular la dinámica del sistema usando la formulación l
de Euler-Lagrange

m

mg

Respuesta:
Formulación de Euler-Lagrange
Ejercicio 2: Péndulo esférico
Pasos:
• Posición de la masa puntual en coordenadas Cartesianas (x,y,z) en función de los
ángulos de configuración

• Energía cinética del péndulo. Hay componentes de velocidad en x, y, z

• Energía potencial del péndulo

• Lagrangiano
• Derivar el Lagrangiano
• Reemplazar en la formulación de Euler Lagrange
Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

21
Centro de Masa

Conceptos Preliminares

Trayectoria del CdM

Centro de Masa
(CdM)

El centro de masa (CdM) es el punto que se mueve como si:


1. Toda la masa del sistema estuviese concentrada allí
2. Todas las fuerzas externas estuviesen aplicadas allí
Centro de Masa
Conceptos Preliminares
• Centro de masa (pc) para un conjunto de partículas:

pc =
 pm
i i i pi : posición de la i-ésima partícula
m i i
mi : masa de la i-ésima partícula

Ejemplo:
El sistema mostrado en la figura consta de tres objetos puntuales con igual masa m cada uno y
localizados en las esquinas de un triángulo equilátero. Calcular el centro de masa pc = (xc, yc) del
sistema

xc = 0 (por simetría)

ym i i
Hm + 0m + 0m H
yc = i =1
= =
m+m+m
3

m
i =1
i
3
Centro de Masa

Conceptos Preliminares
 ,V
• Centro de masa (pc) para un cuerpo rígido:

1 1 pc
p c =  pdm =  p dV p
mm mV

p: Posición de algún punto del cuerpo rígido


m: Masa total del cuerpo rígido
: Densidad del cuerpo rígido p c = ( xc , yc , zc )
V: Volumen del cuerpo rígido p = (x, y, z )

• Caso particular:
- Si el sistema de referencia está en el CdM, el CdM es el origen:

p
1
p c =  p dV = 0
mV
Centro de Masa

Conceptos Preliminares
• Velocidad del CdM (pci) de un eslabón: ωci
vci
Para el eslabón i: velocidad lineal y angular
debidas a cada articulación anterior:
pci
v ci = J q + J q2 +
i
v1 1
i
v2 + J qi = J q
i
vi
i
v

ωi = J i 1 q1 + J i 2 q2 + + J i i qi = J i q pci: posición CdM


pk-1: posición artic. k-1
donde:
 p  Usualmente
 J vik   z k −1   J vik   z k −1  (p ci − p k −1 )   ci  derivando la
 i =   i =  =  qk  posición
 k 
J  0   k  
J z k −1  z 
 k −1 
Para articulación prismática Para articulación de revolución

 J vi   J v1 0
i Jacobiano de
• Jacobiano del CdM: J vi2 J vii 0 velocidad lineal
 i= i  Jacobiano de
 J    J 1 J i 2 J i i 0 0  velocidad angular
Jacobiano del centro de masa del eslabón i
Centro de Masa

Conceptos Preliminares
Ejemplo ŷ
Jacobiano con respecto al CdM de cada eslabón para
un robot de 2 gdl en el plano

• Jacobiano para el CdM del eslabón 1: lc2


l1 q2
p 1
 J v1   J v1
1
0   c 0

lc1
 1= 1  =  q1  q1
 J    J 1 0   z
 0 0  x̂
Posición del CdM del eslabón 1: x1 = lc1 c1 y1 = lc1 s1
Componentes del Jacobiano:
 x1 
 0
 q1   −lc1 s1 0  0 0 
 y
J v11 =  1

0

=  lc1 c1 0 
 J 1 = 0 0 
 q1 
 z1   0  1 0 
 0  0 
 q1 
26
Centro de Masa

Conceptos Preliminares
Ejemplo ŷ
Jacobiano con respecto al CdM de cada eslabón para
un robot de 2 gdl en el plano

• Jacobiano para el CdM del eslabón 2: lc2


l1 q2
p 2 p c2 
 J v2   J v1
2
J v22   c  lc1
 2 =  2 2
 =  q1 q2  q1
 J    J 1 J 2   z
 0 z1  x̂
Posición del CdM del eslabón 2: x2 = l1c1 + lc2 c12 y2 = l1s1 + lc2 s12
Componentes del Jacobiano:
 x2 x2 
 
 q1 q2   −l1s1 − lc2 s12 −lc2 s12  0 0 
 y y2    J 2 = 0 0 
J v2 =  2  =  l1c1 + lc2 c12 lc2 c12 
 q1 q2 
 z2 z2   0  1 1 
   0
 q1 q2 
27
Tensor de Inercia
Conceptos Preliminares
• Es el “equivalente a la masa” para la rotación
• Depende de la distribución de masa y del eje de rotación escogido
• Da una idea de cómo está distribuida la masa en un cuerpo rígido
• Algunos ejemplos:

2 2 
 5 mr 0 0  1 
12 m(3r + h )
2 2
  0 0 
I = 0 0   
2 2
mr
 5  I = 0
1
m(3r 2 + h 2 ) 0 
   12 
 0 2 2
0 mr  1 2 
 5   0 0 mr
 2 

2 2  m 2 2 
 3 mr 0 0  12 (b + c ) 0 0 
   
I =  m 2 2
(a + c ) 
I = 0 0 
2 2 0 0

mr
  12 
3 
 
 m 2 2 
 0 2 2 0 0 (a + b )

0 mr
  12 
3
Tensor de Inercia

Conceptos Preliminares
• Matemáticamente : p: posición (x,y,z)
I ==  pˆ pˆ  dV
T
ρ: densidad
V
V: volumen

 ( y 2 + z 2 )  dV  I

−  xy  dV −  xz  dV I xy I xz 
 xx
 
I =  −  xy  dV  (x
2
+ z 2 )  dV −  yz  dV  =  I yx I yy I yz 
 
 − xz  dV  I zz 
 −  yz  dV  ( x + y )  dV   I zx I zy
2 2

Momentos principales de
inercia
• Observaciones:
- Tensor de inercia es simétrico: Ixy=Iyx, Ixz=Izx, Izy=Iyz
- Momentos principales de inercia: Ixx, Iyy, Izz
- Productos cruzados de inercia: Ixy, Ixz, Iyz
- Si el objeto es simétrico en el sistema de referencia, los productos cruzados son
cero (I es diagonal)
- La integral:  ( y 2 + z 2 )  dV =  ( y 2 + z 2 )  dxdydz
Tensor de Inercia

Conceptos Preliminares
• Cambio de sistema de referencia:

- Momento angular en el sistema {0}: 0


h = 0I 0 ω

- Momento angular en el sistema {B}: B


h = BI B ω

- Cambio de {B} a {0}: 0


h = ( 0 RB )( B h )
0
h = ( 0 RB )( BI B ω )
0
h = ( 0 RB )( BI B R0 0 ω )
0
I

- Tensor de inercia del sistema {B} expresado en el sistema {0}:


0
I = 0 RB BI 0 RBT
Tensor de Inercia

Conceptos Preliminares
Ejemplo
Calcular el tensor de inercia del siguiente cuerpo rígido considerando que el sistema
de referencia se encuentra en el centro geométrico del cuerpo. La densidad del
cuerpo es ρ y es constante.

m m
= =
V abc

Solución
c /2 b /2 a /2 m 2 2
I xx =  ( y 2 + z 2 )  dV =     ( y 2 + z 2 )dxdydz = (b + c )
− c /2 − b /2 − a /2 12
m 2 2
I yy = (a + c )
12
m Dado que hay simetría con respecto al sistema de
I zz = (a 2 + b 2 ) referencia, los términos cruzados son cero
12
Tensor de Inercia

Conceptos Preliminares
Ejemplo
Calcular el tensor de inercia del siguiente cuerpo rígido considerando que el sistema
de referencia se encuentra en el centro geométrico del cuerpo. La densidad del
cuerpo es ρ y es constante.

m m
= =
V abc

Solución
En forma de tensor:
m 2 2 
12 (b + c ) 0 0 
 I xx I xy I xz   
 
= 
m
I =  I yx I yy I yz  0 (a + c )
2 2
0
 12 
 I zx I zy I zz   
 m
 0 0 (a + b ) 
2 2

 12 
Energía Cinética de un Robot
v ci
• Para un eslabón i (cuerpo rígido)
ωi
• Energía cinética (T) en el sistema {0}:
1 1 T
Ti = mi v ci v ci + ωi I _i ωi
T

2 2 mi
mi : masa {0}
v ci : velocidad del centro de masa Ii
ωi : velocidad angular
I i : tensor de inercia (en el sistema
de referencia de la base del robot) varía con el movimiento del eslabón

• Usando el tensor de inercia en el sistema del eslabón ( ) Ii es constante


1 1
Ti = mi vTci v ci + ωiT Ri I _i RiT ωi Ri : rot. sistema del eslabón
2 2 con respecto a la base
• Energía cinética en función de las articulaciones
v ci = J vi q
Ti = mi ( qT J viT )( J vi q ) + ( qT J i T ) Ri I _i RiT ( J i q )
1 1
2 2 ωi = J i q

Nota: todo está en el sistema de la base (excepto ) Ii


Energía Cinética de un Robot
• Para todo el robot
• La energía cinética total se suma
n
(n eslabones):
T =  Ti Suma de la energía cinética de cada eslabón
i=1

• Reemplazando la energía cinética de cada eslabón:


n
1 1
T =  mi qT J viT J vi q + qT J i T Ri I _i RiT J i q
i =1 2 2
1 T n 
T = q   mi J viT J vi + J i T Ri I _i RiT J i  q
2  i =1 
• Definición de matriz de inercia o masa:
n
M (q) =  mi J viT J vi + J i T Ri I _i RiT J i - Es simétrica
i =1
• Energía cinética del robot: - Es definida positiva

1
T (q, q) = qT M (q)q
2
Energía Potencial de un Robot
• Para un eslabón i (cuerpo rígido)
• Energía potencial (U) en el sistema {0}: g0
U_i = −mi gT0 p ci

mi : masa p ci
g 0 : Vector de aceleración de la gravedad
p ci : posición del centro de masa
{0}
• Para todo el robot
• La energía potencial se suma (los n eslabones)
n
U(q) = − mi gT0 p ci
i =1

• Notar que la posición del CdM depende de la config. articular:


p ci = p ci (q)

Nota: todo está en el sistema de referencia de la base


Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

36
Dinámica del Robot: Euler-Lagrange
L (q, q) = T (q, q) − U(q)
• Lagrangiano:
Energía Energía
cinética potencial

1
T = qT M (q)q n
M (q) =  mi J viT J vi + J i T Ri I _i RiT J i
2
• Energía Cinética para un robot: i =1

I _i : tensor de inercia del eslabón i en el


M (q) : matriz de inercia o masa sistema de referencia del eslabón i (constante)
i
J v : Jacobiano de velocidad lineal del centro de
n masa del eslabón i
U = − mi gT0 p ci i
J  : Jacobiano de velocidad angular del eslabón i
i =1 mi : masa del eslabón i
Ri : rotación (sistema del eslabón i con respecto
• Energía Potencial para un robot: al sistema de base)

g 0 : vector de aceleración de gravedad


p ci : posición del CdM del eslabón i
n: Número de articulaciones
CdM: Centro de Masa
Dinámica del Robot: Euler-Lagrange
• Lagrangiano
n
1 T
L (q, q) = q M (q)q +  mi gT0 p ci
2 i =1

• Formulación de Euler-Lagrange (ecuaciones de Movimiento):


T T
d  L   L 
  −  = τ tot
dt  q   q 

• Reemplazando el Lagrangiano y resolviendo:


 1 T  M (q)  
T
 n iT 
M (q)q +  M (q) − q 
 
  q +   v
− J (q ) mi 0  = τ tot
g
 2  q    i =1 

C (q, q) g (q)
• Modelo dinámico:
M (q)q + C (q, q)q + g (q) = τ tot
p ci
Nota: J i (q) =
q
v
Dinámica del Robot: Euler-Lagrange

• Dinámica del robot en forma vectorial:


M (q)q + C (q, q)q + g (q) = τ tot
donde
q: Coordenadas articulares generalizadas
M(q): Matriz de masa o inercia
ሶ Fuerzas centrífugas y de Coriolis
C(q,𝒒):
g(q): Fuerzas gravitacionales (debidas al peso de cada eslabón)
τtot: Fuerzas generalizadas totales (no conservativas)

• El modelo dinámico de un robot (y de cualquier sistema de cuerpos rígidos)


siempre se puede escribir de esta forma
• Algunas propiedades: M (q) = M T (q) M (q) − 2C (q, q) es antisimétrico

M (q) 0
Fuerzas Generalizadas

Dinámica del Robot: Euler-Lagrange


• Componentes de la fuerza generalizada (τtot):

 tot =  +  ext −  m −  fr
• Torque aplicado (por los motores) en las articulaciones: 
• Torque debido a fuerzas/momentos externos:
J: Jacobiano geométrico del
f 
 ext = J T  ext  punto donde se aplica la fuerza
fext: fuerza externa
 mext  mext: momento (torque) externo
• Torque debido a la inercia del motor

 m = I mq Im: Tensor de inercia del motor


• Torque debido a la fricción en las articulaciones

Fs: matriz diagonal de fricción


 fr = Fs sgn(q) + Fv q estática (Coulomb)
Fv: matriz diagonal de fricción
viscosa
Efecto de la gravedad

Dinámica del Robot: Euler-Lagrange


p c3

p c2 p cn
m3g 0
p c1 m2 g 0
mn g 0
m1g 0

• Vector de gravedad:
n
g (q) = − J viT (q)mi g 0
i =1

= − ( J v1 (q) ) ( m1g 0 ) − ( J v2 (q) ) ( m2 g 0 ) − − ( J vn (q) ) ( mn g 0 )


T T T

• Representa los torques sobre el robot debidos al peso de cada eslabón


Dinámica Término a Término

Dinámica del Robot: Euler-Lagrange


• Lagrangiano: L (q, q) = T (q, q) − U(q)
n
1 T
L (q, q) = q M (q)q +  mk gT0 p ck Reemplazando energía cinética y
2 k =1
potencial

1 n n n
L (q, q) =  mij (q)qi q j +  mk gT0 p ck Expresando en función de cada
2 i =1 j =1 k =1
elemento

• Formulación de Euler-Lagrange término a término:


d  L  L
 − = i i = 1, ,n
dt  qi  qi
• Reemplazando: n n
 n  n


j =1
mij (q)q j +    cijk qk  q j −  ( J vki )T mk g 0 =  i
j =1  k =1  k =1

cij
• Símbolos de Christoffel de primer tipo
1  mij (q) mik (q) m jk (q)  Nota:
cijk =  + −  cijk = cikj
2  qk q j qi 
Dinámica Término a Término

Dinámica del Robot: Euler-Lagrange


• Formulación de Euler-Lagrange término a término:
n n n n

 m (q)q +  c
j =1
ij j
j =1 k =1
ijk qk q j −  ( J vki )T mk g 0 =  i
k =1
i = 1, ,n

• Interpretación:
• Para los términos de aceleración
• mii: momento de inercia percibido en la articulación i cuando las otras articulaciones no se
mueven
• mij: efecto de aceleración de articulación i en articulación j (acoplamiento)

 m11 m12 m1n 


 
 m21 m22 m2 n 
M=
 
 
 mn1 mn 2 mnn 
Dinámica Término a Término
Dinámica del Robot: Euler-Lagrange
• Formulación de Euler-Lagrange término a término:
n n n n

 m (q)q +  c
j =1
ij j
j =1 k =1
ijk qk q j −  ( J vki )T mk g 0 =  i
k =1
i = 1, ,n

• Interpretación:
• Para términos de velocidad
• cijj 𝑞ሶ 𝑗2 : fuerza centrífuga en articulación i debido a la velocidad de la articulación j
• cijk 𝑞ሶ 𝑗 𝑞ሶ 𝑘 : efecto de Coriolis en articulación i debido a la velocidad de artíc. j y k.

• Para la aceleración de la gravedad


( )
n
gi •(q) = − J vki
T
mk g: 0momento en la articulación i debido a la gravedad (su peso)
k =1
Procedimiento para el Cálculo

Dinámica del Robot: Euler-Lagrange


1. Calcular la matriz de inercia (requiere calcular Jacobianos del CdM)
n
M (q) =  mi J viT J vi + J i T Ri I _i RiT J i
i =1
2. Calcular la matriz de Coriolis C, cuyos elementos cij son:

1  m m m jk  Nota:
n
cij =  cijk qk con cijk =  ij + ik −  cijk = cikj
k =1
2  qk q j qi 
3. Calcular el vector de gravedad, cuyo componente i es:
n
gi = − ( J vki )T mk g 0
k =1
4. Determinar las fuerzas generalizadas que actúan sobre cada articulación (τtot)
5. El modelo dinámico es:

M (q)q + C (q, q)q + g (q) = τ tot


n: número de articulaciones
mij: elementos de la matriz M
Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

46
Cálculo del Modelo Dinámico
Ejemplo 1
Obtener el modelo dinámico del manipulador RR (Cartesiano) de dos grados de
libertad. Las masas de cada eslabón son m1 y m2. El momento de inercia del
eslabón 1 en z con respecto a su centro de masa es Izz1, y el del eslabón 2 es Izz2.
Las longitudes lc1, lc2 y l1 se muestran en la figura.

lc2
l1 q2
lc1
q1

Cálculo del Modelo Dinámico
Ejemplo 1
1. Matriz de inercia

M (q) = m1 J v1T J v1 + m2 J v2T J v2 + J 1 T R1 I1 R1T J 1 + J 2T R2 I 2 R2T J 2



- Posiciones de los centros de masa
x1 = lc1 c1 x2 = l1c1 + lc2 c12
y1 = lc1 s1 y2 = l1s1 + lc2 s12 lc2
l1 q2
lc1
- Jacobianos de velocidad lineal (del CdM) q1

 x1 
 0  x2 x2 
 q1   −lc1 s1 0   
 y     q1 q2   −l1s1 − lc2 s12 −lc2 s12 
J v1 =  1 0 =  lc1 c1 0   y y2   
 q1 
J v2 =  2  =  l1c1 + lc2 c12 lc2 c12 
 0  q1 q2 
 z1  0  
 0   z2

z2 
  0 0 
 q1   q1 q2 
Cálculo del Modelo Dinámico
Ejemplo 1
1. Matriz de inercia

M (q) = m1 J v1T J v1 + m2 J v2T J v2 + J1 T R1I1R1T J1 + J2T R2 I 2 R2T J2


- Jacobianos de velocidad angular (del CdM)
0 0  0 0 
J 1 =  z 0 0 = 0 0  J 2 =  z 0 z1  = 0 0 
1 0  1 1 
- Productos de Jacobianos de velocidad lineal (del CdM)

lc21 0 l12 + 2l1lc2 c2 + lc22 l1lc2 c2 + lc22 


J v1T J v1 =  J v2T J v2 = 
 0 0   l1lc2 c2 + lc2
2
lc22 
- Productos de Jacobianos de velocidad angular (del CdM) con R
c1 − s1 0  c12 − s12 0
  0 0 1   0 0 1 
0  = 
s 0 0 1
c1 0  = 
0 0 1
J1 T R1 =   J2T R2 = 0 0 1  s12 c12
0 0 0  
1
 0 0 0    0 0 1
0 0 1  0 0 1 
Cálculo del Modelo Dinámico
Ejemplo 1
1. Matriz de inercia

M (q) = m1 J v1T J v1 + m2 J v2T J v2 + J1 T R1I1R1T J1 + J2T R2 I 2 R2T J2


- Productos con el tensor de inercia de cada CdM

 I xx1 I xy1 I xz1  0 0 


0 0 1    I 0
1T T 1 =
( J  R1 ) I1 ( R1 J  ) 0 0 0   I xy1 I yy1 I yz1  0 0  =  zz1 
  
I zz1  1 0  
0 0
 I xz1 I yz1

 I xx1 I xy1 I xz1  0 0 


T 2 =
0 0 1     I zz2 I zz2 
( J  R2 ) I 2 ( R2 J  ) 0 0 1  I xy1
2T I yy1 I yz1  0 0  =  
    I zz I zz2 
 I xz1 I yz1 I zz1  1 1   2
Cálculo del Modelo Dinámico
Ejemplo 1
1. Matriz de inercia

M (q) = m1 J v1T J v1 + m2 J v2T J v2 + J1 T R1I1R1T J1 + J2T R2 I 2 R2T J2


- Reemplazando términos:

lc21 0 l12 + 2l1lc2 c2 + lc22 l1lc2 c2 + lc22   I zz1 0   I zz2 I zz2 


M (q) = m1   + m2  + + 
 0 0   l1lc2 c2 + lc2
2 2
lc2   0 0   I zz2 I zz2 

( )
 m1lc2 + m2 l12 + 2l1lc c2 + lc2 + I zz + I zz ( )
m2 l1lc2 c2 + lc22 + I zz2 
M (q) =  
1 2 2 1 2


 m l l(
2 1 c2 2c + l )
c2 + I zz2
2
m2lc22 + I zz2 

Matriz simétrica
(siempre)
Cálculo del Modelo Dinámico
Ejemplo 1
2. Matriz Coriolis/fuerza centrífuga

 c11 c12  2
1  mij mik m jk 
C=  cij =  cijk qk cijk =  + − 
 21 22 
c c 
2  qk q j qi
k =1 
- Reemplazando términos: - Según la propiedad:
2
c112 = c121 , c212 = c221
c11 =  c11k qk = c111q1 + c112 q2
k =1 - Términos a calcular:
2 c111 , c112 , c122 , c211 , c212 , c222
c12 =  c12 k qk = c121q1 + c122 q2
k =1
2
c21 =  c21k qk = c211q1 + c212 q2
k =1

2
c22 =  c22 k qk = c221q1 + c222 q2
k =1
Propiedad: cijk = cikj
Cálculo del Modelo Dinámico
Ejemplo 1
2. Matriz Coriolis/fuerza centrífuga
1  m m m  1 m11 1  m m m  m
c111 =  11 + 11 − 11  = =0 c222 =  22 + 22 − 22  = 22 = 0
2  q1 q1 q1  2 q1 2  q2 q2 q2  q2

1  m m m  1 m11
c112 =  11 + 12 − 12  = = −m2l1lc2 s2 = c121 = h
2  q2 q1 q1  2 q2

1  m m m  m
c122 =  12 + 12 − 22  = 12 = −m2l1lc s2 = h
2  q2 q2 q1  q2 2

1  m m m  1 m11
c211 =  21 + 21 − 11  = − = −h
2  q1 q1 q2  2 q2

1  m m m 
c212 =  21 + 22 − 12  = 1 m22 = 0 = c221
2  q2 q1 q2  2 q1

( )
 m1lc2 + m2 l12 + 2l1lc c2 + lc2 + I zz + I zz ( )
m2 l1lc2 c2 + lc22 + I zz2   m m12 
M (q) =   =  11
1 2 2 1 2

 m l (
l c + l 2
) + I zz2 m2lc22 + I zz2   m21 m22 
 2 1 c2 2 c 2 
Cálculo del Modelo Dinámico
Ejemplo 1
2. Matriz Coriolis/fuerza centrífuga
- Reemplazando en los términos de la matriz:
2
c11 =  c11k qk = c111q1 + c112 q2 = hq h = −m2l1lc2 s2
2
k =1
2
c12 =  c12 k qk = c121q1 + c122 q2 = hq + hq
1 2
k =1
2
c21 =  c21k qk = c211q1 + c212 q2 = −hq
1
k =1
2
c22 =  c22 k qk = c221q1 + c222 q2 = 0
k =1

- Reemplazando en la matriz:

c c   hq h(q1 + q2 ) 
C =  11 12  C= 2 
c21 c22   −hq1 0 
Cálculo del Modelo Dinámico
Ejemplo 1

3. Vector de gravedad
g  g0
g =  1 lc2
 g2  l1 q2
lc1
q1
- Primer elemento g1:

( )
2
g1 = − J vk1 mk g 0 = −( J v11 )T m1g 0 − ( J v21 )T m2 g 0
T

k =1

 0   0 
= −  −lc1 s1 lc1 c1 0   −m1 g  −  −l1s1 − lc2 s12 l1c1 + lc2 c12 0   −m2 g 
 0   0 

(( )
= g m1lc1 + m2l1 c1 + m2lc2 c12 )
 −lc1 s1 0   −l1s1 − lc2 s12 −lc2 s12 
   
J v1 =  J v11 J v12  =  lc1 c1 0  J v2 =  J v21 J v22  =  l1c1 + lc2 c12 lc2 c12 
 0 0   0 
  0
Cálculo del Modelo Dinámico
Ejemplo 1

3. Vector de gravedad
g  g0
g =  1 lc2
 g2  l1 q2
lc1
q1
- Segundo elemento g2:

2
g 2 = − ( J vk2 )T mk g 0 = −( J v12 )T m1g 0 − ( J v22 )T m2 g 0
k =1

 0   0 
= −  0 0 0  − m1 g  −  −lc2 s12 lc2 c12 0   −m2 g 
 0   0 

(
= g m2lc2 c12 )

 −lc1 s1 0   −l1s1 − lc2 s12 −lc2 s12 


   
J v1 =  J v11 J v12  =  lc1 c1 0  J v2 =  J v21 J v22  =  l1c1 + lc2 c12 lc2 c12 
 0 0   0 
  0
Cálculo del Modelo Dinámico
Ejemplo 1
4. Modelo dinámico:

M (q)q + C (q, q)q + g (q) = τ tot

 m11 m12   q1   hq2


+ 
( )
h(q1 + q2 )   q1   m1lc1 + m2l1 c1 + m2lc2 c12 

 1 
m m22   q2   −hq1  q  + g= 
 21 0   2   m2lc2 c12   2 

donde:

( )
m11 = m1lc21 + m2 l12 + 2l1lc2 c2 + lc22 + I zz1 + I zz2
m12 = m21 = m (l l
2 c
1 c2 2 + l 2
)
c2 + I zz2

m22 = m2lc22 + I zz2


Notar que la matriz C no es única (hay más
h = −m2l1lc2 s2 opciones)
Cálculo del Modelo Dinámico
Ejemplo 2
Obtener el modelo dinámico del manipulador PP de dos
grados de libertad mostrado en la figura. La fuerza en cada m2
articulación es τ1, τ2.
m1

z
y

Respuesta:

 m1 + m2 0   q1   m1 + m2  1 
 0 + g= 
 m2   q2   0   2 
Cálculo del Modelo Dinámico
Ejercicio 1
Considerar el robot planar RP mostrado en la Figura 2. La masa de los eslabones es m1
y m2, respectivamente y sus longitudes totales son l1 y l2. La distancia del centro de
masa del eslabón 1 al origen de la articulación 1 es d1, y del centro de masa del
eslabón 2 al origen de la articulación 2 es d2. Los momentos de inercia de cada
eslabón, con respecto al eje z son Izz1 y Izz2. Calcular el modelo dinámico de este
robot.
Cálculo del Modelo Dinámico
Ejercicio 1

Respuesta:
Cálculo del Modelo Dinámico
Ejercicio 2
Se tiene el robot manipulador RP de dos grados de libertad de la Figura 1. El centro
de masa del primer eslabón se encuentra a la mitad de su longitud, y el centro de
masa del segundo eslabón se desplaza según la articulación prismática. Notar que la
gravedad se encuentra orientada hacia abajo en el diagrama. Obtener el modelo
dinámico de este robot.

Respuesta:
Temas

1. Introducción

2. Formulación de Euler-Lagrange

3. Energía Cinética y Potencial de un Robot

4. Dinámica del Robot usando Euler-Lagrange

5. Ejemplos de Modelos Dinámicos

Apéndice:
- Energía Cinética y Potencial de 1 cuerpo rígido
- Detalle de la dinámica usando Euler-Lagrange

62
Energía Cinética de un Cuerpo Rígido vc
• Energía cinética de 1 punto infinitesimal en el ω
cuerpo rígido (en el sistema {0}): p dm
1 1 pc
Ti = pT pdm = pT p (  dV )
2 2
p
ρ: densidad del cuerpo rígido
V : volumen del cuerpo rígido

• Energía cinética para todo el cuerpo rígido (en {0}


el sistema {0}):

1 Velocidad de 1 punto del cuerpo rígido


T =  pT p dV (con respecto al sistema {0}):
2V
p = pc + ω  p
1
T =  ( + ) ( v c + ωp )  dV
T
v c ωp p = v c + ωp
2V
Energía Cinética de un Cuerpo Rígido
• Para todo el cuerpo rígido:

1
T =  ( c + ) ( v c + ωp )  dV p
T
v ωp
2V pc

1 T 
T =   v c v c + v c ωp + p ω v c + p ω ωp dV 
T T T T T p
2 V 
1 T 1 T T
     p ω ωp dV {0}
T = v v
c c dV + v T
c ωp dV +
2V V
2V
1 T vTc ω  p dV ??
mv c v c
2 V

vTc ω  (p − p c )  dV
V

 
vTc ω   p dV − p c   dV  = 0
V V 
pc m m
Energía Cinética de un Cuerpo Rígido
• Para todo el cuerpo rígido
- Análisis de un término

1 T T 1 1
 ω ωp  =  ωp ωp  =  ˆ ˆ  dV
T
p dV ( ) dV (pω )T

2V 2V 2V
1 T T 1 T T 
=  ω pˆ pω ˆ  dV = ω   p p dV  ω
ˆ ˆ
2V 2 V 
Tensor de inercia (en
I el sistema {0})
- Reemplazando en la energía cinética:
1 1 T T
T =   +  p ω ωp dV
T
v c v c dV I : Inercia expresada en un
2V 2V sistema fijo al cuerpo (!es
constante!)
1 1
T = mvcT vc + ωT I ω
2 2 R : Matriz de rotación (sistema
fijo en el cuerpo con respecto
1 1 al sistema base)
T = mv cT v c + ωT RI RT ω
2 2
Energía Potencial de un Cuerpo Rígido
• Energía potencial para 1 punto infinitesimal en el
cuerpo rígido (en el sistema {0}):
dm
Uj = −g pdm
T
0
pc
Uj = −gT0 p dV p g0

• Energía potencial para todo el cuerpo rígido


(en el sistema {0}):
{0}
U = −  gT0 p dV = −gT0  p dV
V V

U = −mgT0 p c
Forma Vectorial

Desarrollo de la Dinámica: Euler-Lagrange


• Lagrangiano
n
1 T
L (q, q) = q M (q)q +  mi gT0 p ci
2 i =1

• Derivadas del Lagrangiano:


• Derivada temporal de la derivada con respecto a la velocidad articular
T
d  L  d
  dt ( M (q)q ) = M (q)q + M (q)q
=
dt  q 
• Derivada con respecto a la configuración articular

p ci 
T
p ci
T T
 L  1  T M (q)   n
  = q q  +   mi g 0
T
 J vi (q) =
 q  2  q   i =1 q  q
T T T
 L  1 T  M (q)   n 
= +  i 0 v 
T i
  q   q m g J (q )
 q  2  q   i =1 
Forma Vectorial

Desarrollo de la Dinámica: Euler-Lagrange


• Formulación de Euler-Lagrange (ecuaciones de Movimiento):
T T
d  L   L 
  −  = τ tot
dt  q   q 
- Reemplazando las derivadas:

 1 T  M (q) T  n  
T

 M (q)q + M (q)q  −  q   q +   mi g 0 J v (q)   = τ tot


T i

 2  q   i =1  

 1 T  M (q)  
T
 n iT 
M (q)q +  M (q) − q 
 
  q +   v
− J (q ) mi 0  = τ tot
g
 2  q    i =1 
C (q, q) g (q)

• Dinámica del Robot:


M (q)q + C (q, q)q + g (q) = τ tot
Término a Término

Desarrollo de la Dinámica: Euler-Lagrange


• Lagrangiano:
L (q, q) = T (q, q) − U(q)
n
1 T
L (q, q) = q M (q)q +  mk gT0 p ck Reemplazando energía cinética y
2 k =1 potencial

1 n n n
L (q, q) =  mij (q)qi q j +  mk gT0 p ck Expresando en función de cada
2 i =1 j =1 k =1 elemento

• Derivadas del Lagrangiano:


• Derivada temporal de la derivada con respecto a la velocidad articular
n m (q )
d  L  n n
L n
 =  mij (q)q j +  =  mij (q)q j
ij
 qk q j
dt  qi  j =1 j =1 k =1 qk qi j =1

• Derivada con respecto a la configuración articular


L 1 n n m jk (q) n p ck
=  q j qk +  mk gT0
qi 2 j =1 k =1 qi k =1 qi
Término a Término

Desarrollo de la Dinámica: Euler-Lagrange


• Formulación de Euler-Lagrange término a término:
d  L  L
 − = i
dt  qi  qi

• Reemplazando las derivadas:


 n n n m (q)   1 n n m jk (q) n pck 
  ij +  −  +   = i
ij T
m (q ) q qk j 
q q q m g
qk   2 j =1 k =1 qi qi 
j j k k 0
 j =1 j =1 k =1 k =1

n n n
 mij (q) 1 m jk (q)  n


j =1
mij (q)q j +  
j =1 k =1  qk

2 qi 
 qk q j −  mk g 0 J vi =  i
k =1
T k

componente inercial ci (q, q) g i (q )


fuerzas centrífugas y de Coriolis

mij (q) 1 mij (q) 1 mik (q)


Por simetría: = +
qk 2 qk 2 q j
Término a Término

Desarrollo de la Dinámica: Euler-Lagrange


• Formulación de Euler-Lagrange término a término:
• Término con fuerzas centrífugas y de Coriolis:

n n
 mij (q) 1 m jk (q)  n n
1  mij (q) mik (q) m jk (q) 
ci =   −  k j  
q q = + −  qk q j
j =1 k =1  q k 2  q i  j =1 k =1 2  q k  q j  q i 
n
 n  1  mij (q) mik (q) m jk (q) 
ci =    cijk qk  q j cijk =  + − 
Nota:
j =1  k =1 
con
2  qk q j qi  cijk = cikj
“símbolos de Christoffel” de primer tipo.
n n
ci =  cij q j con cij =  cijk qk
j =1 k =1

• Dinámica del robot:


n n n n

 m (q)q +  c
j =1
ij j
j =1 k =1
ijk qk q j −  mk gT0 J vki =  i
k =1
i = 1, ,n
Referencias

• B. Siciliano, L. Sciavicco, L. Villani, y G. Oriolo. Robotics: modelling, planning


and control. Springer Science & Business Media, 2010 (Capítulo 7)

• M.W. Spong, S. Hutchinson, y M. Vidyasagar. Robot Modeling and Control.


John Wiley & Sons, 2006 (Capítulo 7)

También podría gustarte