BÀI GIẢNG MATLAB - Trang 214

212

M_q = [m1*l1^2+m2*l1^2, m2*l1*l2*cos(q1-q2);
m2*l1*l2*cos(q1-q2), m2*l2^2 ];
C_q = [ 0, m2*l1*l2*sin(q1-q2)*qd2;
-m2*l1*l2*sin(q1-q2)*qd1, 0];
g_q = [g*l1*sin(q1)*(m1+m2); g*m2*l2*sin(q2)];

ydot = zeros(4,1);
qdot = qd;
qd_dot = inv(M_q)*(-C_q*qd - g_q);
ydot = [qdot; qd_dot];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% main program
global m1 m2 l1 l2
m1 = 0.25; l1 = 0.5;
m2 = 0.25; l2 = 0.5;
t_start = 0; t_end = 6.0;
q10 = 10; q20 = 12;
y1 = q10*pi/180; y2 = q20*pi/180; y3 = 0; y4 = 0;
y0 = [y1 y2 y3 y4]';
[t,y] = ode45('conlactoan_kep',[0: 0.01: t_end],y0);
plot(t, y(:,1),'k-', t, y(:,2),'k--', 'linewidth',1), grid on
legend('q_1','q_2'), xlabel('t [s]')
axis([0 t_end -0.3 0.3]);

Chạy chương trình với các ñiều kiện ñầu khác nhau cho ta các kết quả như trên
hình 9-26 và 9-27.

0

2

4

6

-0.2

-0.1

0

0.1

0.2

0.3

t [s]

q

1

q

2

-0.4

-0.2

0

0.2

-1

-0.8

-0.6

-0.4

-0.2

0

x [m]

y

[

m

]

Hình 9-26. Kết quả mô phỏng với ñiều kiện ñầu q10 = 10; q20 = 12;