一、前言
大家可以先读这篇博客,我是在这个博客的基础上做的实例。
通俗理解滑模变结构控制
二、系统数学模型
{ x ˙ 1 = x 2 x ˙ 2 = x 3 x ˙ 3 = x 1 + x 2 x 3 + u \left\{ \begin{array}{l} {{\dot x}_1} = {x_2}\\ {{\dot x}_2} = {x_3}\\ {{\dot x}_3} = {x_1} + {x_2}{x_3} + u \end{array} \right. ⎩⎨⎧x˙1=x2x˙2=x3x˙3=x1+x2x3+u
三、控制器设计
Step1.设计滑模面
s
=
x
3
+
2
x
2
+
x
1
s = {x_3} + 2{x_2} + {x_1}
s=x3+2x2+x1
这里不做解释可以参照前言中的推荐文章。
Step2.设计控制器u
对切换函数s求导:
s
˙
=
x
˙
3
+
2
x
˙
2
+
x
˙
1
=
x
1
+
x
2
+
2
x
3
+
x
2
x
3
+
u
\dot s = {\dot x_3} + 2{\dot x_2} + {\dot x_1}{\rm{ = }}{x_1} + {x_2} + 2{x_3} + {x_2}{x_3} + u
s˙=x˙3+2x˙2+x˙1=x1+x2+2x3+x2x3+u
取指数趋近律:
s
˙
=
−
s
g
n
(
s
)
−
s
\dot s = - {\mathop{\rm sgn}} \left( s \right) - s
s˙=−sgn(s)−s得控制器u:
u
=
−
s
g
n
(
s
)
−
s
−
x
1
−
x
2
−
2
x
3
−
x
2
x
3
u = - {\mathop{\rm sgn}} \left( s \right) - s - {x_1} - {x_2} - 2{x_3} - {x_2}{x_3}
u=−sgn(s)−s−x1−x2−2x3−x2x3
Step3.稳定性证明
取李雅普诺夫函数
V
=
1
2
s
2
V = \frac{1}{2}{s^2}
V=21s2。
得:
V
˙
=
s
s
˙
=
−
∣
s
∣
−
s
2
\dot V = s\dot s = - \left| s \right| - {s^2}
V˙=ss˙=−∣s∣−s2
李亚普诺夫函数的导数是负定的,因此系统渐进稳定,即s会趋于0,又因为
s
=
x
3
+
2
x
2
+
x
1
s = {x_3} + 2{x_2} + {x_1}
s=x3+2x2+x1,因此
x
1
,
x
2
,
x
3
{x_1},{x_2},{x_3}
x1,x2,x3都会趋近于0。
四、仿真
1.SIMULINK模型搭建
2.仿真结果
从图中可以看出明显的抖振,为了防止抖振,可以采用饱和函数sat(s)代替控制器中的符号函数sgn(s),即:
u
=
−
s
a
t
(
s
)
−
s
−
x
1
−
x
2
−
2
x
3
−
x
2
x
3
u = - {\rm{s}}at\left( s \right) - s - {x_1} - {x_2} - 2{x_3} - {x_2}{x_3}
u=−sat(s)−s−x1−x2−2x3−x2x3
取
Δ
\Delta
Δ=0.05。
新模型搭建
仿真结果
可以看出采用饱和函数代替符号函数,效果还是挺明显的。
注:本人也是小白,发文也是想着对自己学的东西做总结,不喜勿喷。本文仅供参考,个人能力有限,难免会有些错误,希望大家批评指正。