准滑动模态控制matlab仿真实例资料.docx
- 文档编号:26266749
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:15
- 大小:173.58KB
准滑动模态控制matlab仿真实例资料.docx
《准滑动模态控制matlab仿真实例资料.docx》由会员分享,可在线阅读,更多相关《准滑动模态控制matlab仿真实例资料.docx(15页珍藏版)》请在冰豆网上搜索。
准滑动模态控制matlab仿真实例资料
准滑动模态控制
2.8.1准滑动模态控制
在滑动模态控制系统中,如果控制结构的切换具有理想的开关特性,则能在切换面上形成理想的滑动模态,这是一种光滑的运动,渐进趋近于原点。
但在实际工程中,由于存在时间上的延迟和空间上的滞后等原因,使得滑动模态呈抖振形式,在光滑的滑动上叠加了抖振。
理想的滑动模态是不存在的,现实中的滑动模态控制均伴随有抖振,抖振问题是影响滑动模态看控制广泛应用的主要障碍。
所谓准滑动模态,是指系统的运动轨迹被限制在理想滑动模态的某一
领域内的模态。
从相轨迹方面来说,具有理想滑动模态的控制是使一定范围内的状态点均被吸引至切换面。
而准滑动模态控制则是使一定范围内的状态点均被吸引至切换面的某一
领域内,通常称此
领域为滑动模态切换面的边界层。
在边界层内,准滑动模态不要求满足滑动模态的存在条件,因此准滑动模态不要求在切换面上进行控制结构的切换。
它可以在边界层上进行结构变换的控制系统,也可以根本不进行结构变换的连续状态反馈控制系统。
准滑动模态控制在实现上的这种差别,使它从根本上避免或削弱了抖振,从而在实际中得到了广泛的应用。
在连续系统中,常用的准滑动模态控制有以下两种方法:
(1)用饱和函数
代替理想滑动模态中的符号函数
。
(2.46)
其中
称为“边界层”。
饱和函数
如图2-26所示,饱和函数的本质为:
在边界层外,采用切换控制;在边界之内,采用线性化反馈控制。
(2)将继电特性连续化,用连续函数
取代
。
(2.47)
式中
是很小的正常数。
2.8.2仿真实例
对象为二阶传递函数:
其中
。
将传递函数描述为位置状态方程的形式:
其中
,
。
设位置指令信号为
,则
采用指数趋近律:
将
代入上式,得控制律为
系统的初始状态为
。
在仿真程序中,指令为正弦信号。
为指数趋近律,
为采用饱和函数的指数趋近律,
为采用继电特性的指数趋近律。
取
,
,
,进行如下几种仿真:
(1)采用指数趋近律。
取
,正弦跟踪结果如图所示。
正弦跟踪(M=1)
误差曲线(M=1)
相轨迹(M=1)
切换函数s(M=1)
控制器输出(M=1)
(2)验证准滑动模态控制。
为采用饱和函数的方法,取
,仿真结果如图所示。
正弦信号跟踪(M=2)
误差曲线(M=2)
相轨迹(M=2)
切换函数s(M=2)
控制器输出(M=2)
(3)
为采用继电特性的方法,取
,仿真结果如图所示
正弦信号跟踪(M=3)
误差曲线(M=3)
相轨迹(M=3)
切换函数s(M=3)
控制器输出(M=3)
仿真程序如下:
(1)主程序:
figure2_8.m
clearall;
closeall;
globalabcAFMepkdelta
ts=0.001;
T=5;
TimeSet=[0:
ts:
T];
c=5.0;
para=[];
[t,x]=ode45('figure2_8eq',TimeSet,[-0.50],[],para);
x1=x(:
1);
x2=x(:
2);
r=A*sin(2*pi*F*t);
dr=A*2*pi*F*cos(2*pi*F*t);
ddr=-A*(2*pi*F)^2*sin(2*pi*F*t);
s=c*(r-x(:
1))+dr-x(:
2);
ifM==1
slaw=-ep*sign(s)-k*s;%Exponentialvelocitytrendinglaw
u=1/b*(c*(dr-x
(2))+ddr-slaw+a*x
(2));
elseifM==2
kk=1/delta;
fori=1:
1:
T/ts+1;
ifs(i)>delta
sats(i)=1;
elseifabs(s(i))<=delta
sats(i)=kk*s(i);
elseifs(i)<-delta
sats(i)=-1;
end
slaw(i)=-ep*sats(i)-k*s(i);
u(i)=1/b*(c*(dr(i)-x2(i))+ddr(i)-slaw(i)+a*x2(i));
end
elseifM==3
fori=1:
1:
T/ts+1;
ths(i)=s(i)/(abs(s(i))+delta);
slaw(i)=-ep*ths(i)-k*s(i);
u(i)=1/b*(c*(dr(i)-x2(i))+ddr(i)-slaw(i)+a*x2(i));
end
end
figure
(1);
plot(t,r,'r',t,x(:
1),'b');
xlabel('time(s)');ylabel('r,yout');
figure
(2);
plot(t,r-x(:
1),'r');
xlabel('time(s)');ylabel('error');
figure(3);
plot(r-x(:
1),dr-x(:
2),'r',r-x(:
1),-c*(r-x(:
1)),'b');%drawline(s=0)
xlabel('e');ylabel('de');
figure(4);
plot(t,s,'r');
xlabel('time(s)');ylabel('s');
figure(5);
plot(t,u,'r');
xlabel('time(s)');ylabel('u');
(2)控制子程序:
figure2_8eq.m
functiondx=DynamicModel(t,x,flag,para)
globalabcAFMepkdelta
a=25;b=133;
A=0.50;F=1.0;
r=A*sin(2*pi*F*t);
dr=A*2*pi*F*cos(2*pi*F*t);
ddr=-A*(2*pi*F)^2*sin(2*pi*F*t);
s=c*(r-x
(1))+dr-x
(2);
k=30;ep=15;
M=3;
ifM==1
slaw=-ep*sign(s)-k*s;%Exponentialvelocitytrendinglaw
elseifM==2%Saturatedfunction
delta=0.05;
kk=1/delta;
ifs>delta
sats=1;
elseifabs(s)<=delta
sats=kk*s;
elseifs<-delta
sats=-1;
end
slaw=-ep*sats-k*s;
elseifM==3
delta=0.05;
ths=s/(abs(s)+delta);
slaw=-ep*ths-k*s;
end
u=1/b*(c*(dr-x
(2))+ddr-slaw+a*x
(2));
%StateEquation
dx=zeros(2,1);
dx
(1)=x
(2);
dx
(2)=-a*x
(2)+b*u;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滑动 控制 matlab 仿真 实例 资料