Rappel de la charte que tu as acceptée en t'inscrivant ici:
La courtoisie est de rigueur sur ce forum : pour une demande de renseignements bonjour et merci devraient être des automatismes.Merci d"en tenir compte à l'avenirLes titres des messages doivent être explicites.
Pour la modération,
yoda1234.
function xdot=drobo(t,x)
m1=4;m2=2;
a1=2;a2=1;
g=9.8;
xd=[1;2];
L=eye;
A=eye(2);
K=[20 0;0 10];
%Inertial matrix
M(1,1)=(1/4*m1+m2)*a1^2+1/4*m2*a2^2+m2*a1*a2*cos(x(2));
M(1,2)=1/4*m2*a2^2+m2*1/2*a1*a2*cos(x(2));
M(2,1)=1/4*m2*a2^2+1/2*m2*a1*a2*cos(x(2));
M(2,2)=1/4*m2*a2^2;
%Centrifugal force
C(1,1)=0;
C(1,2)=-m2*a1*a2*x(3)*sin(x(4));
C(2,1)=1/2*m2*a1*a2*x(3)*sin(x(2));
C(2,2)=0;
%Gravity factor
G(1,1)=(1/2*m1+m2)*g*a1*cos(x(1))+1/2*m2*a2*g*cos(x(1)+x(2));
G(2,1)=1/2*m2*a2*g*cos(x(1)+x(2));
% Definining Errors
e(1,1)=x(1)-xd(1,1);
e(2,1)=x(2)-xd(2,1);
%Defing sliding surface
s(1,1)=x(3)+L*e(1,1);
s(2,1)=x(4)+L*e(2,1);
% defining references
xrdot(1,1)=-L*x(3);
xrdot(2,1)=-L*x(4);
xrdd(1,1)=-L*x(3);
xrdd(2,1)=-L*x(4);
% Estimated inertial matrix
Me(1,1)=0.95*M(1,1);
Me(1,2)=0.95*M(1,2);
Me(2,1)=0.95*M(2,1);
Me(2,2)=M(2,2);
% Estimated Centrifugal force
Ce=C;
% Estimated Gravity factor
Ge=0.95*G;
%Estimated control inputs
Me;
Ce;
Ge;
s;
xrdot;
xrdd;
Te=Me*xrdd+Ce*xrdot+Ge-A*s;
Te;
%Final control input
T=Te-K*sign(s);
T;
X=[x(3);x(4)];
Xdot=inv(M)*[-C*X-G+T];
xdot=[x(3);x(4);Xdot];
t;
main program
clc;
clear all;
[t,x]=ode23(@drobo,[0 3],[0.5 0.5 0.2 0.1]);
xd=[1;2];
subplot(2,1,1);
plot(t,x(:,1),t,xd(1,1))
subplot(2,1,2);
plot(t,x(:,2),t,xd(2,1))
aidez-moi
J'ai pas trouvé le problème
-----