資源簡介
針對直線二級倒立擺,利用滑模控制算法,實(shí)現(xiàn)控制,該資源是滑模控制器的S函數(shù)Matlab程序
代碼片段和文件信息
function?[sysx0strts]=s_function(txuflag)
switch?flag
case?0
????[sysx0strts]=mdlInitializeSizes;
case?1
????sys=mdlDerivatives(txu);
case?3
????sys=mdlOutputs(txu);
case?{2?4?9?}
????sys?=?[];
otherwise
????error([‘Unhandled?flag?=?‘num2str(flag)]);
end
function?[sysx0strts]=mdlInitializeSizes
sizes?=?simsizes;
sizes.NumContStates??=?0;
sizes.NumDiscStates??=?0;
sizes.NumOutputs?????=?2;
sizes.NumInputs??????=?6;
sizes.DirFeedthrough?=?1;
sizes.NumSampleTimes?=?0;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[];
function?sys=mdlOutputs(txu)
x1=u(1);
x2=u(2);
x3=u(3);
x4=u(4);
x5=u(5);
x6=u(6);
m1=0.04;m2=0.132;m3=0.208;l1=0.09;l2=0.27;g=9.8;
k=12;a=0.65;
q=522;
b=0.2;
%?m1=0.06;m2=0.14;m3=0.25;l1=0.15;l2=0.27;g=9.8;
%?k12=3*(-2*g*m1-4*g*m2-4*g*m3)/(2*(-4*m1-3*m2-12*m3)*l1);
%?k13=9*m2*g/(2*(-4*m1-3*m2-12*m3)*l1);
%?k17=3*(-2*m1-m2-4*m3)/(2*(-4*m1-3*m2-12*m3)*l1);
%?k22=2*g*(m1+2*(m2+m3))/(4*m2*l2-16/9*l2*(m1+3*(m2+m3)));
%?k23=-4*g*(m1+3*(m2+m3))/(3*(4*m2*l2-16/9*l2*(m1+3*(m2+m3))));
%?k27=-(2*(m1+2*(m2+m3))-4/3*(m1+3*(m2+m3)))/(4*m2*l2-16/9*l2*(m1+3*(m2+m3)));
%?
%?A=[0?0?0?1?0?0;0?0?0?
評論
共有 條評論