CLC Clear All
CLC Clear All
g1=diff(x2_dot,u1);g1=simplify(g1)
h1=diff(x2_dot,u2);h1=simplify(h1)
f1 = x2_dot-g1*u1-h1*u2;f1=simplify(f1)
g2=diff(x4_dot,u1);g2=simplify(g2)
h2=diff(x4_dot,u2);h2=simplify(h2)
f2 = x4_dot-g2*u1-h2*u2;f2=simplify(f2)
%%%%%%%%%%%%ketqua
clc; clear all;
syms m1 m2 l1 l2 g x1 x2 x3 x4 x1d x1d_dot x1d_2dot x3d x3d_dot x3d_2dot
g1 =l2/(l1*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 +
l1*l2*m2))
h1 =-(l2^2 + l1*cos(x3))/(l1*l2*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3)
+ l1*l2*m1 + l1*l2*m2))
f1 =(g*m2*sin(x1) + g*m2*sin(x1 + 2*x3) + l1*m2*x2^2*sin(2*x3) +
2*l2^2*m2*x2^2*sin(x3) + 2*l2^2*m2*x4^2*sin(x3) - 2*g*l2*m1*sin(x1) -
2*g*l2*m2*sin(x1) + 4*l2^2*m2*x2*x4*sin(x3))/(2*l2^2*m2*cos(x3) - 2*l1*m2*cos(x3)^2
- 2*l2*m2*cos(x3) + 2*l1*l2*m1 + 2*l1*l2*m2)
g2 =-(l2 + l1*cos(x3))/(l1*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3) +
l1*l2*m1 + l1*l2*m2))
h2 =(l1^2*m1 + l1^2*m2 + l2^2*m2 + 2*l1*l2*m2*cos(x3))/(l1*l2*m2*(l2^2*m2*cos(x3) -
l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 + l1*l2*m2))
f2 =-(l1^2*m1*x2^2*sin(x3) + l1^2*m2*x2^2*sin(x3) + l2^2*m2*x2^2*sin(x3) +
l2^2*m2*x4^2*sin(x3) - g*l2*m1*sin(x1) - g*l2*m2*sin(x1) + g*l1*m1*cos(x1)*sin(x3)
+ g*l1*m2*cos(x1)*sin(x3) + 2*l2^2*m2*x2*x4*sin(x3) + g*l2*m2*cos(x3)^2*sin(x1) +
l1*l2*m2*x2^2*sin(2*x3) + (l1*l2*m2*x4^2*sin(2*x3))/2 +
g*l2*m2*cos(x1)*cos(x3)*sin(x3) + l1*l2*m2*x2*x4*sin(2*x3))/(l2^2*m2*cos(x3) -
l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 + l1*l2*m2)
clc; clear all;
syms m1 m2 l1 l2 g x1 x2 x3 x4 x1d x1d_dot x1d_2dot x3d x3d_dot x3d_2dot k u1 u2
nuy1 nuy2
g1 =l2/(l1*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 +
l1*l2*m2))
h1 =-(l2^2 + l1*cos(x3))/(l1*l2*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3)
+ l1*l2*m1 + l1*l2*m2))
f1 =(g*m2*sin(x1) + g*m2*sin(x1 + 2*x3) + l1*m2*x2^2*sin(2*x3) +
2*l2^2*m2*x2^2*sin(x3) + 2*l2^2*m2*x4^2*sin(x3) - 2*g*l2*m1*sin(x1) -
2*g*l2*m2*sin(x1) + 4*l2^2*m2*x2*x4*sin(x3))/(2*l2^2*m2*cos(x3) - 2*l1*m2*cos(x3)^2
- 2*l2*m2*cos(x3) + 2*l1*l2*m1 + 2*l1*l2*m2)
g2 =-(l2 + l1*cos(x3))/(l1*(l2^2*m2*cos(x3) - l1*m2*cos(x3)^2 - l2*m2*cos(x3) +
l1*l2*m1 + l1*l2*m2))
h2 =(l1^2*m1 + l1^2*m2 + l2^2*m2 + 2*l1*l2*m2*cos(x3))/(l1*l2*m2*(l2^2*m2*cos(x3) -
l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 + l1*l2*m2))
f2 =-(l1^2*m1*x2^2*sin(x3) + l1^2*m2*x2^2*sin(x3) + l2^2*m2*x2^2*sin(x3) +
l2^2*m2*x4^2*sin(x3) - g*l2*m1*sin(x1) - g*l2*m2*sin(x1) + g*l1*m1*cos(x1)*sin(x3)
+ g*l1*m2*cos(x1)*sin(x3) + 2*l2^2*m2*x2*x4*sin(x3) + g*l2*m2*cos(x3)^2*sin(x1) +
l1*l2*m2*x2^2*sin(2*x3) + (l1*l2*m2*x4^2*sin(2*x3))/2 +
g*l2*m2*cos(x1)*cos(x3)*sin(x3) + l1*l2*m2*x2*x4*sin(2*x3))/(l2^2*m2*cos(x3) -
l1*m2*cos(x3)^2 - l2*m2*cos(x3) + l1*l2*m1 + l1*l2*m2)
e1 = x1 - x1d; e3=x3-x3d; e1_dot=x2-x1d_dot;e3_dot =x4-x3d_dot;
s1=e1+lamda*e1_dot;s3 = e3+lamda*e3_dot;
S1 = s1 ; S2 = s3;
%%%%%%%%%%%
pt_truot_1=c1*x2-c1*x1d_dot+c2*[f1+g1*u1+h1*u2]-c2*x1d_2dot+nuy1*sign(S1)
pt_truot_2=c3*x4-c3*x3d_dot+c4*[f2+g2*u1+h2*u2]-c4*x3d_2dot+nuy2*sign(S2)
[u1,u2]=solve(pt_truot_1 ,pt_truot_2,u1,u2)
u1=simplify(u1)
u2=simplify(u2)
%%%%%%%%%%%%%%%%%ketqua
u1 = (c1*c4*l1^2*m1*x1d_dot - c4*l1^2*m2*nuy1*sign(c1*x1 + c2*x2 - c1*x1d -
c2*x1d_dot) - c4*l2^2*m2*nuy1*sign(c1*x1 + c2*x2 - c1*x1d - c2*x1d_dot) -
c2*l2^2*m2*nuy2*sign(c3*x3 + c4*x4 - c3*x3d - c4*x3d_dot) - c1*c4*l1^2*m1*x2 -
c1*c4*l1^2*m2*x2 - c1*c4*l2^2*m2*x2 - c2*c3*l2^2*m2*x4 - c4*l1^2*m1*nuy1*sign(c1*x1
+ c2*x2 - c1*x1d - c2*x1d_dot) + c1*c4*l1^2*m2*x1d_dot + c1*c4*l2^2*m2*x1d_dot +
c2*c3*l2^2*m2*x3d_dot + c2*c4*l1^2*m1*x1d_2dot + c2*c4*l1^2*m2*x1d_2dot +
c2*c4*l2^2*m2*x1d_2dot + c2*c4*l2^2*m2*x3d_2dot + c2*c4*g*l2*m2*sin(x1 + x3) +
c2*c4*g*l1*m1*sin(x1) + c2*c4*g*l1*m2*sin(x1) - c2*c3*l1*m2*x4*cos(x3) +
c2*c3*l1*m2*x3d_dot*cos(x3) + c2*c4*l1*m2*x3d_2dot*cos(x3) -
c2*l1*m2*nuy2*sign(c3*x3 + c4*x4 - c3*x3d - c4*x3d_dot)*cos(x3) -
2*c4*l1*l2*m2*nuy1*sign(c1*x1 + c2*x2 - c1*x1d - c2*x1d_dot)*cos(x3) -
c2*c4*l1*l2*m2*x4^2*sin(x3) - 2*c1*c4*l1*l2*m2*x2*cos(x3) +
2*c1*c4*l1*l2*m2*x1d_dot*cos(x3) + 2*c2*c4*l1*l2*m2*x1d_2dot*cos(x3) -
2*c2*c4*l1*l2*m2*x2*x4*sin(x3))/(c2*c4)
u2 = (l2*m2*(2*c1*c4*l2*x1d_dot - 2*c2*c3*l2*x4 - 2*c1*c4*l2*x2 +
2*c2*c3*l2*x3d_dot + 2*c2*c4*l2*x1d_2dot + 2*c2*c4*l2*x3d_2dot + 2*c2*c4*g*sin(x1 +
x3) - 2*c4*l2*nuy1*sign(c1*x1 + c2*x2 - c1*x1d - c2*x1d_dot) -
2*c2*l2*nuy2*sign(c3*x3 + c4*x4 - c3*x3d - c4*x3d_dot) - 2*c4*l1*nuy1*sign(c1*x1 +
c2*x2 - c1*x1d - c2*x1d_dot)*cos(x3) + 2*c2*c4*l1*x2^2*sin(x3) -
2*c1*c4*l1*x2*cos(x3) + 2*c1*c4*l1*x1d_dot*cos(x3) +
2*c2*c4*l1*x1d_2dot*cos(x3)))/(2*c2*c4)