模糊积分滑模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 模糊积分滑模控制器
12233112233()()x x x x x
f x gu d a x a x a x gu d
=⎧⎪
=⎨⎪=++=−−−++⎩ 其中0i i i a a a =+∆,(),i i a a t t ∆≤∀;0g g g =+∆,(),g t t β∆≤∀;(),d D t t ≤∀。0i a 、0g 为系统的标称参数,i a ∆、g ∆为系统参数的不确定部分,()i a t 、()t β分别为i a ∆和g ∆的上界,()D t 为扰动d 的上界。
选择滑动模态为
11223110()()t
d z t c x c x x k x x dt =+++−∫
控制器为
012()()()
()l
u t u t u t u t g +∆+∆=
0122311()()()d u t c x c x k x x =−+−− 10()()f u t F D u ∆=−−
21112233()()d u t x x x x ϕϕϕ∆=−++
11()l h f l g g k u g ϕ=−
1()i l h i fi l g g c u g ϕ−=−,2,3i =
(1)()sgn()fi u ββ= (2)加入边界层控制
1
()()fi u sign else ββββ⎧≤⎪=⎨⎪⎩
(3)对()fi u β设计模糊控制器:
32
23
2
232
23
2211297310.56962370.50
633
23700.56332973
0.51696
11
fi u ββββββββββββββββββββββββββ≤−⎧⎪+++⎪−<≤−⎪++⎪+−⎪−<≤⎪++⎪=⎨−−⎪<≤⎪−+⎪−+−⎪<≤⎪−+⎪⎪−>⎩
其中i
z
β=
Φ,1,2,3,4i = 参数选择:
100a =,208873.64a =,3037.68a =,0179425g =,0.869.73d M M =+ ,0f d
M M M =+,030001000sin 2f M t π=+,500100sin 2d M t π=+,00.5sin(2)i i a a t π∆=,00.2sin(2)g g t π∆=,0()0.5i i a t a =,D =60000,2023031.5 1.5F a x a x =+,00.8l g g =,01.2h g g =
初始状态[](0)000T
x =,138175c =,2320c =,1125000k =,19000Φ=,22Φ=,330Φ=,
43000Φ=。
2 仿真结果
2.1 一般积分滑模控制结果
time/s
x 1d ,x
1
time/s
e 1
图
2-1系统跟踪特性曲线图 2-2系统跟踪误差曲线
time/s u
4
time/s
z
图 2-3控制信号u 图 2-4积分滑模z
2.2 模糊积分滑模控制结果
time/s
x 1d ,x
1
time/s
e 1
图 2-5系统跟踪特性曲线
图 2-6 系统跟踪误差曲线
time/s
u
5
time/s z
图 2-7控制信号u 图 2-8 积分滑模z
2.3 加入边界层控制结果
time/s
x 1d ,x
1
time/s
e 1
图 2-9系统跟踪特性曲线 图 2-10系统跟踪误差曲线
time/s
u
4
time/s
z
图 2-11控制信号u 图 2-12积分滑模z
3 Matlab 程序
clear clc
a10=0;
a20=8873.64; a30=37.68; g0=179425; c1=38175; c2=320; k=1125000; q1=9000; q2=2; q3=30; q4=3000;
x1=0; x2=0; x3=0;
sum_e1=0; n=1; t=0;
Dt=0.001; for i=1:2500 %指令信号 if t<0.5 x1d=2; elseif t<1 x1d=-3;
elseif t<1.5
x1d=4;
elseif t<2
x1d=-5;
elseif t<2.5
x1d=0;
end
Mf0=3000+1000*sin(2*pi*t);
DMf0=1000*2*pi*cos(2*pi*t);
Md=500+100*sin(2*pi*t);
DMd=100*2*pi*cos(2*pi*t);
M=Mf0+Md;
DM=DMf0+DMd;
d=0.86*DM+9.73*M;
da1=0.5*sin(2*pi*t)*a10;
da2=0.5*sin(2*pi*t)*a20;
da3=0.5*sin(2*pi*t)*a30;
dg=0.2*sin(2*pi*t)*g0;
f=-(a10+da1)*x1-(a20+da2)*x2-(a30+da3)*x3; g=g0+dg;
e1=x1-x1d;
sum_e1=sum_e1+e1*Dt;
z=c1*x1+c2*x2+x3+k*sum_e1;
F=abs(1.5*a20*x2+1.5*a30*x3);
D=60000;
gl=0.8*g0;
gh=1.2*g0;
%模糊积分滑模控制
uf0=uf(z,q1);
uf1=uf(z,q2);
uf2=uf(z,q3);
uf3=uf(z,q4);
u0=-(c1*x2+c2*x3)-k*e1;
% %加入边界层的积分滑模控制
% if abs(z/q1)<=1
% uf0=z/q1;
% else
% uf0=sign(z/q1);