Sunteți pe pagina 1din 5

Modelo del Robot de 2DOF con Simulink

Ricardo Rodrı́guez Bustinza


robust@uni.edu.pe

1. Objetivo
Construir diagramas con Simulink para el análisis de la dinámica del robot de 2DOF1 .

2. Marco Teórico
2.1. Dinámica de un Robot
Estudiaremos la dinámica de un robot manipulador rı́gido, planar, rotacional, de dos grados de libertad
que es mostrado en la Figura 1.

Figura 1: Robot manipulador.

Como vimos anteriormente, es posible modelar la dinámica del robot usando el Método de Lagrange–
Euler o el Método de Newton–Euler, en ambos casos, nos llevan a obtener el mismo resultado de ecua-
ciones dinámicas. En este caso consideramos las siguientes ecuaciones dinámicas del sistema:

τ1 = m2 l22 (θ̈1 + θ̈2 ) + m2 l1 l2 (2θ̈1 + θ̈2 ) cos θ2 + (m1 + m2 )l12 θ̈1 − m2 l1 l2 θ̇22 sin θ2
−2m2 l1 l2 θ̇1 θ̇2 sin θ2 + m2 l2 g cos(θ1 + θ2 ) + (m1 + m2 )l1 g cos θ1 (1)
τ2 = m2 l1 l2 θ̈1 cos θ2 + m2 l1 l2 θ̇12 sin θ2 + m2 l2 g cos(θ1 + θ2 ) + m2 l22 (θ̈1 + θ̈2 ) (2)
1 Degree Of Freedom

1
Las ecuaciones (1) y (2) pueden ser escritas en la siguiente forma matricial:

M(θ )θ̈ +C(θ , θ̇ )θ̇ + G(θ ) = τ (3)


Para las ecuaciones (1) y (2), las matrices de (3) tienen la siguiente forma:

m2 l22 + 2l1 l2 m2 cos θ2 + l12 (m1 + m2 ) l22 m2 + l1 l2 m2 cos θ2


 
M(θ ) =
l22 m2 + l1 l2 m2 cos θ2 l22 m2
−2m2 l1 l2 θ̇2 sin θ2 −m2 l1 l2 θ̇2 sin θ2
 
C(θ , θ̇ ) =
m2 l1 l2 θ̇1 sin θ2 0
m2 l2 g cos(θ1 + θ2 ) + (m1 + m2 )l1 g cos θ1
 
G(θ ) =
m2 l2 g cos(θ1 + θ2 )
τ1
 
τ =
τ2
θ̇1
 
θ̇ =
θ̇2

En la literatura, las matrices M(θ ) y C(θ , θ̇ ) se les conoce con el nombre de matriz de Inercia y matriz de
Coriolis, mientras que al vector G(θ ) se le conoce con el nombre de vector de fuerzas gravitacionales.

En la práctica, el robot manipulador está sujeto a fuerzas de fricción y perturbaciones. Por lo tanto, si
generalizamos el modelo que se ha calculado, añadimos un término de fricción viscosa F(θ̇ ), y uno de
perturbaciones τd . De esta forma (3) se transforma en:

M(θ )θ̈ +C(θ , θ̇ )θ̇ + G(θ ) + F(θ̇ ) + τd = τ (4)


Donde:
 
k1 0
F(θ̇ ) = (5)
0 k2
Además τd es un término cuya estructura desconocemos y que representa las dinámicas no modeladas del
robot.

Observaciones:

El término de fricción no es fácil de modelar, ya que depende de la estructura fı́sica del robot.

A diferencia de la fricción viscosa, la cual es benéfica para el robot; la fricción no lineal, por ejemplo
la fricción de Coulomb, es dañina para la estabilidad del sistema y debe ser compensada en alguna
forma.

Las dos ecuaciones que componen (4) ahora son:

τ1 = m2 l22 (θ̈1 + θ̈1 ) + m2 l1 l2 (2θ̈1 + θ̈2 ) cos θ2 + (m1 + m2 )l12 θ̈1 − m2 l1 l2 θ̇22 sin θ2
−2m2 l1 l2 θ̇1 θ̇2 sin θ2 + m2 l2 g cos(θ1 + θ2 ) + (m1 + m2 )l1 g cos θ1 + k1 θ̇1
τ2 = m2 l1 l2 θ̈1 cos θ2 + m2 l1 l2 θ̇12 sin θ2 + m2 l2 g cos(θ1 + θ2 ) + m2 l22 (θ̈1 + θ̈2 ) + k2 θ̇2 (6)

2
3. Experiencia
Ejercicio # 1
Constuya un diagrama en Simulink para representar el modelo dinámico dado en la ecuación (3).
Los valores numéricos de los parámetros son: g = 9.81 m/s2 , m1 = 1.5 Kg, m2 = 1 Kg, l1 = 1.45 m y
l2 = 0.35 m.

Procedimiento: Implemente la siguiente ecuación en Simulink:


 
θ̈ = M(θ )−1 τ −C(θ , θ̇ )θ̇ − G(θ )
Usar el Bloque: MATLAB function para la matriz de inercia, coriolis y gravedad (ver Figura 2). Las
condiciones iniciales para los integradores son: θ = π /180 × [70; −15] y θ̇ = [0 0] que deben ser ingresa-
dos en radianes.

Figura 2: Subsistema en Simulink del robot manipulador.

Ahora construya las funciones: jacobiano, coriolis, gravedad, invM (matriz inversa) que han
sido definidas en (3).

Función Coriolis
1 function Cdq=coriolis(v)
2 m2=1; L1=0.45; L2=0.35;
3 dq=[v(1);v(2)];
4 q=[v(3);v(4)];
5 s2=sin(q(2));
6 c11=-2*m2*L1*L2*s2*dq(2);
7 c12 =-m2*L1*L2*s2*dq(2);
8 c21= m2*L1*L2*s2*dq(1);
9 c22=0;
10 C=[c11 c12;c21 c22];
11 Cdq=C*dq;
12 end

3
Función Gravedad
1 function g=gravedad(q)
2 g=9.81; m1=1.5; m2=1; L1=0.45; L2=0.35;
3 c1=cos(q(1));
4 c12=cos(sum(q));
5 g1 = m2*L2*g*c12 + (m1+m2)*L1*g*c1;
6 g2 = m2*L2*g*c12;
7 g=[g1;g2];
8 end

Función InversaM
1 function iH=invM(q)
2 m1=1.5; m2=1; L1=0.45; L2=0.35;
3 c2=cos(q(2));
4 H11 = L2ˆ2*m2 + 2*L1*L2*m2*c2 + L1ˆ2*(m1+m2);
5 H12 = L2ˆ2*m2 + L1*L2*m2*c2;
6 H21 = H12;
7 H22 = L2ˆ2*m2;
8 H=[H11 H12;H21 H22];
9 iH=inv(H);
10 end
Realizar las simulaciones del sistema dinámico que se muestra en la Figura 3. La entrada al sistema es
una onda seno de amplitud 1 y frecuencia 1 Hz.

Figura 3: Simulink del robot de 2DOF.

Ejercicio # 2
Considere el robot de 2 grados de libertad (θ1 , d2 ) con base según la Figura 4. Construya la dinámica del
robot en Simulink para el modelo dinámico del robot de 2 grados de libertad dado por:

T1 = (m1 L21 + m2 d22 )θ̈1 + 2d2 m2 θ̇1 d˙2 + (m1 gL1 + m2 gd2 ) cos θ1
F2 = m2 d¨2 − d2 m2 θ̇12 + m2 g sin θ1

4
Figura 4: Robot polar 2DOF.

Considere los parámetros g = 9.81m/seg2 , m1 = 1.4Kg, m2 = 1Kg, d2 = 0.5, y L1 = 0.5m.

Usar el Bloque: MATLAB function para la matriz de Inercia, Coriolis y Gravedad. Las condiciones
iniciales para los integradores son: θ = [30 −15] y θ̇ = [0 0], deben ser ingresado en radianes. El diagrama
en Simulink es mostrado en la Figura 5.

Figura 5: Diagrama en Simulink del modelo del robot 2DOF.

S-ar putea să vă placă și