Está en la página 1de 7

ROBOTICA AVANZADA

PASÓ 2

ESTUDIANTE: DAVID BURBANO MARTINEZ


CC: 1085313862
TUTOR: MARIO RICARDO ARBULU

Grupo: 299012_5

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


PROGRAMA DE INGENIERIA ELECTRONICA
Abril 02 DE 2019
Formulación de Euler-Lagrange

Se utiliza la formulación Lagrangiana o método de Euler-Lagrange basada en


consideraciones energéticas, es sistemático facilitando la formulación de un
modelo complejo de un robot.

𝐿 = 𝐸𝑐 − 𝐸𝑝

𝑳 = 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝐿𝑎𝑔𝑟𝑎𝑛𝑔𝑖𝑎𝑛𝑎.
𝑬𝒄 = 𝑒𝑛𝑒𝑟𝑔í𝑎 𝑐𝑖𝑛é𝑡𝑖𝑐𝑎.
𝑬𝒑 = 𝑒𝑛𝑒𝑟𝑔í𝑎 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎𝑙.

𝑑 𝜕𝐿 𝜕𝐿
𝜏𝑖 = −
𝑑𝑡 𝜕𝑞̇ 𝑖 𝜕𝑞𝑖

𝒒𝒊 = 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑎𝑑𝑎𝑠 𝑔𝑒𝑛𝑒𝑟𝑎𝑙𝑖𝑧𝑎𝑑𝑎𝑠 (𝑙𝑎𝑠 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑟𝑒𝑠).


𝝉𝒊 = 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑜 𝑝𝑎𝑟𝑒𝑠 𝑎𝑝𝑙𝑖𝑐𝑎𝑑𝑜 𝑠𝑜𝑏𝑟𝑒 𝑒𝑙 𝑔𝑟𝑎𝑑𝑜 𝑑𝑒 𝑙𝑖𝑏𝑒𝑟𝑡𝑎𝑑 𝑞𝑖 .

Para obtener el modelo dinámico del robot se utiliza la fórmula:

𝜏 = 𝐷𝑞̈ + 𝐻` + 𝐶

q= 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑎𝑑𝑎𝑠 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑟𝑒𝑠.


𝝉 = 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑜 𝑝𝑎𝑟𝑒𝑠 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖ó𝑛.
𝑫(𝒒) = 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑖𝑛𝑐𝑒𝑟𝑐𝑖𝑎𝑠 𝑑𝑒 (𝑛 × 𝑛), 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑠𝑜𝑛 𝑓𝑢𝑛𝑐𝑖𝑜𝑛 𝑑𝑒 𝑞.
𝑯(𝒒, 𝒒̇ ) = 𝑚𝑎𝑡𝑟𝑖𝑧 (𝑛 × 1)𝑑𝑒 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑑𝑒 𝐶𝑜𝑟𝑖𝑜𝑙𝑖𝑠 𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑑𝑒 𝑞 𝑦 𝑞̇ .
𝑪(𝒒) = 𝑚𝑎𝑡𝑟𝑖𝑧 (𝑛 × 1)𝑑𝑒 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑑𝑒 𝐶𝑜𝑟𝑖𝑜𝑙𝑖𝑠 𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑑𝑒 𝑞.
𝒏 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑔𝑟𝑎𝑑𝑜𝑠 𝑑𝑒 𝑙𝑖𝑏𝑒𝑟𝑡𝑎𝑑 𝑑𝑒𝑙 𝑟𝑜𝑏𝑜𝑡.

El vector de pares 𝝉, supone pares efectivos, por lo tanto:

 𝝉 = 𝜏𝑚𝑜𝑡𝑜𝑟 − 𝜏𝑝𝑒𝑟𝑡𝑢𝑟𝑏𝑎𝑑𝑜𝑟 − 𝜏𝑟𝑜𝑧𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑣𝑖𝑠𝑐𝑜𝑠𝑜 − 𝜏𝑟𝑜𝑧𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑠𝑒𝑐𝑜

 Los elementos de 𝑯(𝒒, 𝒒̇ ), 𝒉𝒊 pueden obtenerse a partir de 𝑫(𝒒), 𝒅𝒊𝒋

𝜕𝑑𝑖𝑗 1 𝜕𝑑𝑗𝑘
 𝒉𝒊𝒋 = ∑𝑛𝑘=1 ∑𝑛𝑗=1 ℎ𝑖𝑗 𝑞̇ 𝑖 𝑞̇ 𝑘 con 𝒉𝒊𝒋 = −2
𝜕𝑞𝑘 𝜕𝑞1

Formulación newton-Euler
La formulación de Newton-Euler parte del equilibrio de fuerzas y pares para
cada elemento:

𝑑(𝑚𝑖 𝑣𝑖 )
∑𝐹 = = 𝑚𝑖 𝑣̇ 𝑖
𝑑𝑡

𝑑(𝐼𝑖 𝜔𝑖 )
∑ 𝑇𝑖 = = 𝐼𝑖 𝜔̇ 𝑖 + 𝜔𝑖 × (𝐼𝑖 𝜔𝑖 )
𝑑𝑡

𝑭𝒊 = 𝑠𝑜𝑛 𝑙𝑎𝑠 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑒𝑗𝑒𝑟𝑐𝑖𝑑𝑎𝑠 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎 𝒊.


𝑻𝒊 = 𝑠𝑜𝑛 𝑙𝑎𝑠 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑒𝑗𝑒𝑟𝑐𝑖𝑑𝑎𝑠 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎 𝒊 𝑒𝑛 𝑡𝑜𝑟𝑛𝑜 𝑎 𝑠𝑢 𝑐𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑚𝑎𝑠𝑎.
𝒎𝒊 = 𝑒𝑠 𝑙𝑎 𝑚𝑎𝑠𝑎 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎 𝒊.
𝑰𝒊 =
𝑒𝑠 𝑒𝑙 𝑡𝑒𝑛𝑠𝑜𝑟 𝑑𝑒 𝑖𝑛𝑒𝑟𝑐𝑖𝑎 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎 𝒊 𝑒𝑛 𝑡𝑜𝑟𝑛𝑜 𝑎 𝑠𝑢 𝑐𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑚𝑎𝑠𝑎𝑠, 𝑒𝑥𝑝𝑟𝑒𝑠𝑎𝑑𝑜 𝑒𝑛 𝑒𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 {𝑆𝑖 }
.
𝒗𝒊 , 𝒗̇𝒊 =
𝑠𝑜𝑛 𝑙𝑎 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑦 𝑎𝑐𝑒𝑙𝑎𝑟𝑎𝑐𝑖ó𝑛 𝑙𝑖𝑛𝑒𝑎𝑙 𝑑𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑚𝑎𝑠𝑎𝑠 𝑑𝑒 𝑙𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖ó𝑛 𝒊.
𝝎𝒊 , 𝝎̇ 𝒊 = 𝑠𝑜𝑛 𝑙𝑎 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑦 𝑎𝑐𝑒𝑙𝑎𝑟𝑎𝑐𝑖ó𝑛 𝑎𝑛𝑔𝑢𝑙𝑎𝑟 𝑑𝑒 𝑙𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖ó𝑛 𝒊.

N-E1. Asignar a cada eslabón un sistema de referencia de acuerdo con las


normas D-H.

N-E2. Establecer las condiciones iniciales:

 Para el sistema de la base {𝑠0 }


 𝟎𝝎𝒐 = 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑎𝑛𝑔𝑢𝑙𝑎𝑟 = [0 0 0]𝑇
 𝟎𝝎̇𝒐 = 𝑎𝑐𝑒𝑙𝑎𝑟𝑎𝑐𝑖ó𝑛 𝑎𝑛𝑔𝑢𝑙𝑎𝑟 = [0 0 0]𝑇
 𝟎𝒗𝒐 = 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑙𝑖𝑛𝑒𝑎𝑙 = [0 0 0]𝑇
 𝟎𝝎̇ = 𝑎𝑐𝑒𝑙𝑎𝑟𝑎𝑐𝑖𝑜𝑛 𝑙𝑖𝑛𝑒𝑎𝑙 = [𝑔𝑥0 𝑔𝑦0 𝑔𝑧0 ]𝑇
𝒐
 𝟎𝝎𝒐 , 𝟎𝝎̇𝒐 , 𝟎𝒗𝒐 son nulos salvo que la base del robot este en movimiento.
 [𝒈𝒙𝟎 𝒈𝒚𝟎 𝒈𝒛𝟎 ] vector de gravedad expresado en el sistema {𝒔𝟎 } (con
valor de [0,0, −9,8]).
 Para el extremo se conocerá la fuerza y el par ejercidos 𝒏 + 𝟏𝒇𝒏+𝟏 y
𝒏 + 𝟏𝒏𝒏+𝟏
 𝒁𝟎 = [𝟎 𝟎 𝟏]𝑻
 𝒊𝒑𝒊 vector expresado en {𝑆𝑖 } = [𝑎𝑖 , 𝑑𝑖 sin(𝛼𝑖 ) , 𝑑𝑖 cos(𝛼𝑖 )].

 𝒊𝒔𝒊 coordenadas del centro de masa del eslabón 𝑖 respecto al sistema


{𝑆𝑖 }.
 𝒊𝑰𝒊 matriz de inercia del eslabón 𝑖 expresado en un sistema paralelo al
{𝑆𝑖 } y con el origen en el centro de masas del eslabon.
N-E3. Obtener las matrices de rotación 𝒊 − 𝟏𝑹𝒊 y sus inversas 𝒊 − 𝟏𝑹𝒊 =
−𝟏 𝑻
(𝒊 − 𝟏𝑹𝒊 ) = (𝒊 − 𝟏𝑹𝒊 )

𝐶𝜃𝑖 −𝐶𝛼𝑖 𝑆𝜃𝑖 𝑆𝛼𝑖 𝑆𝜃𝑖


𝑖 − 1𝑅𝑖 = [ 𝑆𝜃𝑖 𝐶𝛼𝑖 𝐶𝜃𝑖 −𝑆𝛼𝑖 𝐶𝜃𝑖 ]
0 𝑆𝛼𝑖 𝐶𝛼𝑖

Para 𝒊 = 1 … 𝑛, realizar de 4-7.

N-E4. Velocidad angular del sistema {𝑆𝑖 }:

i (i − 1ωi−1 + z0 q̇ i )
iωi = { Ri−1
iRi−1 i − 1ωi−1

N-E5. Aceleración angular del sistema {𝑆𝑖 }:

𝑖𝑅𝑖−1 (𝑖 − 1𝜔̇𝑖−1 + 𝑧0 𝑞̈ 𝑖 ) + 𝑖 − 1𝜔̇𝑖−1 × 𝑧0 𝑞̇


𝒊𝝎̇𝒊 =
𝑖𝑅𝑖−1 𝑖 − 1𝜔̇𝑖−1
{

N-E6. Aceleración lineal del sistema 𝑖:

𝒊𝒗̇ 𝒊 =

𝑖𝜔𝑖 × 𝑖𝑝𝑖 + 𝑖𝜔𝑖 × (𝑖𝜔𝑖 × 𝑖𝑝𝑖 ) + 𝑖 − 1𝑣𝑖−1

𝑖𝑅𝑖−1 (𝑧0 𝑞̈ 𝑖 + 𝑖 − 1𝑣̇ 𝑖−1 ) + 𝑖𝜔𝑖 × 𝑖𝑝𝑖 + 2𝑖𝜔𝑖 × 𝑖𝑅𝑖−1 𝑧0 𝑞̇ 𝑖 + 𝑖𝜔𝑖 × (𝑖𝜔𝑖 × 𝑖𝑝𝑖 )
{

N-E7. Aceleración lineal del centro de gravedad del eslabón 𝑖:

𝑖𝑎𝑖 = 𝑖𝜔̇𝑖 × 𝑖𝑆𝑖 + 𝑖𝜔𝑖 × (𝑖𝜔𝑖 × 𝑖𝑆𝑖 ) + 𝑖𝑣̇ 𝑖

Para 𝒊 = 𝑛 … 1 realizar los pasos del 8 al 10.

N-E8. Fuerza ejercida sobre el eslabón 𝑖:

𝑖𝑓𝑖 = 𝑖𝑅𝑖+1 𝑖 + 1𝑓𝑖+1 𝑚𝑖 𝑖𝑎𝑖

N-E9. Par ejercido sobre el eslabón 𝑖:


𝑖𝑛𝑖 = 𝑖𝑅𝑖+1 [𝑖 + 1𝑛𝑖+1 + (𝑖 + 1𝑅𝑖 𝑖𝑝𝑖 ) × 𝑖 + 1𝑓𝑖+1 ] + (𝑖𝑝𝑖 + 𝑖𝑆𝑖 ) × 𝑚𝑖 𝑖𝑎𝑖 + 𝑖𝐼𝑖 𝑖𝜔𝑖 + 𝑖𝜔𝑖
× (𝑖𝐼𝑖 𝑖𝜔𝑖 )

N-E10.Fuerza o par aplicado a la articulación 𝑖:

𝑖𝑛𝑖 𝑇 𝑖𝑅𝑖−1 𝑧0

𝜏𝑖 =
𝑖𝑓𝑖 𝑇 𝑖𝑅𝑖−1 𝑧0
{

Simulaciones de los cálculos en Matlab

L1=Link([xi, ?i, ?i, di, Articulación],`standard`)


xi, Angulo de rotación con respecto al eje Xi
?i, Traslación a lo largo del eje Xi.
?i, Rotación alrededor del Eje Zi-1
di, Traslación a lo largo del Eje Zi-1

L1=link([0,1,0,0,0],'standard')
L={L1}
r=robot(L)
plot(r[0])
view([0,0])
pause
view(0,90)
syms theta d a alpha
rotz = [cos(theta) -sin(theta) 0 0
sin(theta) cos(theta) 0 0
0 0 1 0
0 0 0 1]
pz = [1 0 0 0
0 1 0 0
0 0 1 d
0 0 0 1]
px = [1 0 0 a
0 1 0 0
0 0 1 0
0 0 0 1]
rotx = [1 0 0 0
0 cos(alpha) -sin(alpha) 0
0 sin(alpha) cos(alpha) 0
0 0 0 1]
denavit=rotz*pz*px*rotx
Método de Euler en Matlab
fprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR EL METODO DE
EULER\n')
f=input('\nIngrese la ecuacion diferencial de la forma:
dy/dx=f(x,y)\n','s');
x0=input('\nIngrese el primer punto x0:\n');
x1=input('\nIngrese el segundo punto x1:\n');
y0=input('\nIngrese la condicion inicial y(x0):\n');
n=input('\nIngrese el numero de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
y1=y0;
fprintf('\n''it x0 x1 y1');
for i=1:n
it=i-1;
x0=xs(i);
x=x0;
x1=xs(i+1);
y=y0;
y1=y0+h*eval(f);
fprintf('\n%2.0f%10.6f%10.6f%10.6f\n',it,x0,x1,y1);
y0=y1;
end
fprintf('\n El punto aproximado y(x1) es = %10.6f\n',y1);

 ecuación diferencial: y'= √(x^2+y^2)


 Método de Euler para aproximar y(2.3) teniendo en cuenta número de pasos n=3
si la condición inicial es y(2)=0.5
 Valor total y(2.3) = 1.166470 según la simulación

También podría gustarte