Sei sulla pagina 1di 72

Fundamentos de Robótica: 2017-I

Dinámica de Robots
Manipuladores (Parte I)
Prof. Oscar E. Ramos, Ph.D.
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 J 𝜃(𝑡) θ: ángulo
Euler τ: torque (momento)
𝜏

- La dinámica está representada por expresiones de segundo orden


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

4
Modelo Dinámico de un Robot

• Modelo dinámico (en el espacio articular q): f  mx

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


5
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
6
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

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

• Energía cinética
1
- Debida al movimiento de un cuerpo (rígido): T  m x
2

2
- Notación: 𝒯, T, K, Ec

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

• Lagrangiano

L (q, q)  T (q, q)  U(q)

Energía Energía
cinética potencial

donde q 
n
: coordenada generalizada (usualmente: variables articulares)

10
Formulación de Euler-Lagrange

• Ecuaciones del movimiento


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

d  L  L i  1, ,n
   i
dt  qi  qi n coordenadas
generalizadas

Fuerzas generalizadas
(hacen trabajo sobre qi)

- Formulación de Euler Lagrange de forma vectorial:

T T  q1   1 
d  L   L 
    τ q    τ   
dt  q   q 
 qn   n 

11
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 y
Newton, b) la 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
12
Formulación de Euler-Lagrange

Ejemplo 2: Péndulo simple y


x
Encontrar el modelo dinámico de un péndulo simple x
usando 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
13
Formulación de Euler-Lagrange

Ejemplo 2: Péndulo simple y


x
• Lagrangiano x
1
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 ( )  
14
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 U que es igual en cualquier caso



15
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

16
Formulación de Euler-Lagrange

Ejercicio 1: Péndulo doble

T (θ, θ) 
1
2
1

m1l1212  m2 l1212  l22 22  2l1l21 2 c12
2

U(θ)  (m1  m2 ) gl1c1  m2 gl2c2

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 

17
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

18
Formulación de Euler-Lagrange

Ejercicio 2: Péndulo esférico z

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


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

m

mg

Respuesta:

19
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

20
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
Conceptos Preliminares
Centro de Masa

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í

22
Conceptos Preliminares
Centro de Masa

• 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

23
Conceptos Preliminares
Centro de Masa
 ,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

24
Conceptos Preliminares
Centro de Masa

• 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 
 J vik   z k 1   J vik   z k 1  (p ci  p k 1 )   ci  Usualmente
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
J vi2 J vii 0 velocidad lineal
• Jacobiano del CdM:  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
25
Conceptos Preliminares
Centro de Masa

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
Conceptos Preliminares
Centro de Masa

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
Conceptos Preliminares
Tensor de Inercia

• 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

28
Conceptos Preliminares
Tensor de Inercia

• 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
• Observaciones: de inercia

- 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
29
Conceptos Preliminares
Tensor de Inercia

• 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

30
Conceptos Preliminares
Tensor de Inercia

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
31
Conceptos Preliminares
Tensor de Inercia

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 
32
Energía Cinética de un Robot

• Para un eslabón i (cuerpo rígido) v ci


- Energía cinética (T) en el sistema {0}: ωi
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 (I i ) 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
1
2
  
1
 
Ti  mi qT J viT J vi q  qT J i T Ri I _i RiT J i q
2
  ωi  J i q

Nota: todo está en el sistema de la base (excepto I i) 33


Energía Cinética de un Robot

• Para todo el robot


- La energía cinética total se suma (n eslabones):
n
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
- Es definida positiva
i 1
- Energía cinética del robot:

1
T (q, q)  qT M (q)q
2
34
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  m g p ci
T
i 0

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


35
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

• Lagrangiano:
L (q, q)  T (q, q)  U(q)
Energía Energía
cinética potencial

• Energía Cinética para un robot:


n
1 T
T  q M (q)q M (q)   mi J viT J vi  J i T Ri I _i RiT J i
i 1
2
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
• Energía Potencial para un robot: i
masa del eslabón i
J  : Jacobiano de velocidad angular del eslabón i
n mi : masa del eslabón i
U   mi gT0 p ci Ri : rotación (sistema del eslabón i con respecto
i 1
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
37
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
38
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
39
Dinámica del Robot: Euler-Lagrange
Fuerzas Generalizadas

• 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

40
Dinámica del Robot: Euler-Lagrange
Efecto de la gravedad
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

41
Dinámica del Robot: Euler-Lagrange
Dinámica Término a Término

• 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
2 k 1
cinética y potencial

1 n n n
L (q, q)   mij (q)qi q j   mk gT0 p ck Expresando en función de
2 i 1 j 1 k 1
cada 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  m (q) mik (q) m jk (q)  Nota:


cijk   ij    cijk  cikj
2  qk q j qi 
42
Dinámica del Robot: Euler-Lagrange
Dinámica Término a Término

• 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 

43
Dinámica del Robot: Euler-Lagrange
Dinámica Término a Término

• 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


• gi (q)    J vki  mk g 0 : momento en la articulación i debido a la gravedad (su peso)
n T

k 1

44
Dinámica del Robot: Euler-Lagrange
Procedimiento para el Cálculo

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
45
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

47
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

- 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 
48
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 0 1  s c 0  0 0 1  0 0 1 s 0 0 1
J 1 T R1   J 2 T R2    c12
 1 1  
0 0 0   0 0 1  0 0 0 
  12
0 0 1  0  0 0 1
   0 1 
49
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

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

51
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
52
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  c
2  q2 q1 q2  2 q1 221

 
 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  53
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 
54
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
55
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
56
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
h  m2l1lc2 s2 más opciones)

57
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 m2
en cada articulación es τ1, τ2. m1

z
y

Respuesta:

m1  m2 0   q1   m1  m2  1 
 0  g 
 m2   q2   0   2 
58
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.

59
Cálculo del Modelo Dinámico

Ejercicio 1

Respuesta:

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

61
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 {0}


rígido (en el sistema {0}):
1 Velocidad de 1 punto del cuerpo
T   pT p dV rígido (con respecto al sistema {0}):
2V
p  pc  ω  p
1
T       v c  ωp   dV
T
v c ωp p  vc  ωp
2V

63
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

64
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  mv cT v c  ωT I ω
2 2 R : Matriz de rotación (sistema
fijo en el cuerpo con
1 1 respecto al sistema base)
T  mv cT v c  ωT R I RT ω
2 2
65
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

66
Desarrollo de la Dinámica: Euler-Lagrange
Forma Vectorial

• 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 

67
Desarrollo de la Dinámica: Euler-Lagrange
Forma Vectorial

• 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)    n iT
T

M (q)q   M (q)  q 
     v
 q   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

68
Desarrollo de la Dinámica: Euler-Lagrange
Término a Término

• 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
2 k 1 cinética y potencial

1 n n n
L (q, q)   mij (q)qi q j   mk gT0 p ck Expresando en función de
2 i 1 j 1 k 1 cada 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

69
Desarrollo de la Dinámica: Euler-Lagrange
Término a Término

• 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 g0 J vi   i
k 1
T k

componente inercial ci (q, q) gi (q)


fuerzas centrífugas y de Coriolis

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


Por simetría:  
qk 2 qk 2 q j 70
Desarrollo de la Dinámica: Euler-Lagrange
Término a Término

• 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

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

72

Potrebbero piacerti anche