1、基于趋近律的滑模控制matlab仿真实例基于趋近律的滑模控制 一、基于趋近律的滑模控制1、控制器的设计针对状态方程 (1)采用趋近律的控制方式,控制律推导如下: (2) (3)其中slaw为趋近律。将状态方程式(1)代人(2)得 (4)可见,控制器的抖振程度取决于趋近律表达式中的切换项。2、仿真实例对象为二阶传递函数: 其中a=25, b=133。 可表示为如下状态方程: 其中 , 。在仿真程序中,M=1为等速趋近律,M=2为指数趋近律,M=3为幂次趋近律,M=4为一般趋近律。取M=2,采用指数趋近律,其中C=15,1 , =5,k=10,作图取样时间为0.001,仿真程序如下。二、程序主程序
2、chap2_4.mclear all;close all;global M A B C eq kts=0.001;T=2;TimeSet=0:ts:T;c=15;C=c,1;para=c;t,x=ode45(chap2_4eq,TimeSet,0.50 0.50,para);x1=x(:,1);x2=x(:,2);s=c*x(:,1)+x(:,2);if M=2 for kk=1:1:T/ts+1 xk=x1(kk);x2(kk); sk(kk)=c*x1(kk)+x2(kk); slaw(kk)=-eq*sign(sk(kk)-k*sk(kk); %Exponential trending
3、law u(kk)=inv(C*B)*(-C*A*xk+slaw(kk); endendfigure(1);plot(x(:,1),x(:,2),r,x(:,1),-c*x(:,1),b);xlabel(x1);ylabel(x2);figure(2);plot(t,x(:,1),r);xlabel(time(s);ylabel(x1);figure(3);plot(t,x(:,2),r);xlabel(time(s);ylabel(x2);figure(4);plot(t,s,r);xlabel(time(s);ylabel(s);if M=2 figure(5); plot(t,u,r);
4、 xlabel(time(s);ylabel(u);end子程序chap2_4eq.mfunction dx=DynamicModel(t,x,flag,para)global M A B C eq ka=25;b=133;c=para(1);s=c*x(1)+x(2);A=0 1;0 -a;B=0;b;M=2;eq=5.0;if M=2 % M=1为等速趋近律,M=2为指数趋近律,M=3为幂次趋近律,M=4为一般趋近律 slaw=-eq*sign(s); %Equal velocity trending law elseif M=2 k=10; slaw=-eq*sign(s)-k*s; %
5、Exponential velocity trending lawelseif M=3 k=10; alfa=0.50; slaw=-k*abs(s)alfa*sign(s); %Power trending law elseif M=4 k=1; slaw=-eq*sign(s)-k*s3; %General trending lawendu=inv(C*B)*(-C*A*x+slaw);dx=zeros(2,1);dx(1)=x(2);dx(2)=-a*x(2)+b*u;三、仿真结果(1)M=2时,指数趋近律图1 滑模运动的相轨迹图2 x1 的收敛过程图3 x2 的收敛过程图4 切换函数s图5 控制器输出(2)M=1时,等速趋近律图1 滑模运动的相轨迹图2 x1 的收敛过程图3 x2 的收敛过程图4 切换函数s(3)M=3时,幂次趋近律图1 滑模运动的相轨迹图2 x1 的收敛过程图3 x2 的收敛过程图4 切换函数s(4)M=4时,一般趋近律图1 滑模运动的相轨迹图2 x1 的收敛过程图3 x2 的收敛过程图4 切换函数s