Académique Documents
Professionnel Documents
Culture Documents
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.
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:
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:
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.
τ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.
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.
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.
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.