之前BLOG中系统参数为已知或者一变化的常数,若条件更加苛刻,系统参数为有界的常数,此时该如何设计控制器,由此引入鲁棒控制。直接放上DR_CAN视频链接:https://www.bilibili.com/video/BV1vW411V7Bh/?spm_id_from=trigger_reload
在维基百科中是这样解释鲁棒控制的:To achieve robust performance and/or stability in presence of bounded modeling error。直译就是在存在有界模型误差的情况下实现强大的性能和/或稳定性。
鲁棒控制器包括三种,接下来介绍这三种控制器并进行比较:
Controller | Sliding Mode(滑模控制) | High Gain(高增益) | High Frequency(高频) |
---|---|---|---|
U a u x U_{aux} Uaux辅助控制器 | ρ e ∣ e ∣ \rho\frac{e}{\left\vert e\right\vert} ρ∣e∣e | 1 ε ρ 2 e \frac{1}{\varepsilon}\rho^2e ε1ρ2e | ρ 2 e ρ ∣ e ∣ + ε \frac{\rho^2e}{\rho\left\vert e\right\vert+\varepsilon} ρ∣e∣+ερ2e |
当 t → ∞ t\to\infty t→∞时 | e → 0 e\to 0 e→0 | e ≤ ε k e\leq\sqrt{\frac{\varepsilon}{k}} e≤kε | e ≤ ε k e\leq\sqrt{\frac{\varepsilon}{k}} e≤kε |
若减小 ε \varepsilon ε的值, e e e的值将减小,但 u u u会随之增大,即: ε ↓ , e ↓ , u ↑ 。 \varepsilon\downarrow,e\downarrow,u\uparrow。 ε↓,e↓,u↑。
假设有这样一个模型: x ˙ = a x 2 + u \dot{x}=ax^2+u x˙=ax2+u
其中 ∣ a ∣ ≤ 1 \left|a\right|\le1 ∣a∣≤1,即 a a a为一有界的随机常数。设计目标是使得 x → x d = 2 x\to x_d=2 x→xd=2,即 x ˙ d = 0 \dot{x}_d=0 x˙d=0。
令: f ( x ) = a x 2 ≤ ∣ a x ∣ 2 ≤ x 2 < x 2 + 0.1 = ρ ( x ) f(x)=ax^2\le\left|ax\right|^2\le x^2<x^2+0.1=\rho(x) f(x)=ax2≤∣ax∣2≤x2<x2+0.1=ρ(x)
令( u u u为何这样设置的具体证明在这里:https://www.bilibili.com/video/BV1KW411j7VS): u = k e + x d ˙ + U a u x = k e + U a u x u=ke+\dot{x_d}+U_{aux}=ke+U_{aux} u=ke+xd˙+Uaux=ke+Uaux
============================================================================
接下来进行Design of Experiments(DOF),即Simulink仿真,对三种控制器设置不同参数得到五种不同情况的仿真结果。仿真架构及仿真结果如下:
1.整体仿真架构
2.High Frequency/epsilon=1
3.仿真结果误差e
4.仿真结果输入u
在仿真的过程中开始还出现了这样一个错误:
指在
S
l
i
d
i
n
g
M
o
d
e
Sliding\space Mode
Sliding Mode模块中
S
i
g
n
Sign
Sign函数零点存在问题,即当
e
=
0
e=0
e=0时,函数为
e
∣
e
∣
=
0
∣
0
∣
\frac{e}{\left\vert e\right\vert}=\frac{0}{\left\vert 0\right\vert}
∣e∣e=∣0∣0无法计算,所以需要将此零点去除:
将仿真结果进行定量的排名得到如下表格:
将表格内容以雷达图形式表示如下:
Simulink源文件:
链接:https://pan.baidu.com/s/12inDbNOrZzHzTkNJG4jSVA
提取码:yto7
注:
我在仿真的时候发现我仿真结果的稳态误差
H
i
g
h
G
a
i
n
/
e
p
s
i
l
o
n
=
1
<
H
i
g
h
F
r
e
q
u
e
n
c
y
/
e
p
s
i
l
o
n
=
0.1
High\space Gain/epsilon=1\space <\space High\space Frequency/epsilon=0.1
High Gain/epsilon=1 < High Frequency/epsilon=0.1与DR_CAN不同,但是表格和雷达图是按照DR_CAN的结果绘制的。