目录
五种控制器simulink仿真:
还是这个简单的例子
系统
x
˙
=
a
x
2
+
u
\dot{x}=ax^2+u
x˙=ax2+u ,
∣
a
∣
≤
∣
a
ˉ
∣
|a|\leq|\bar{a}|
∣a∣≤∣aˉ∣
那么,
a
x
2
ax^2
ax2就是那个未知的
f
(
x
)
f(x)
f(x)
所以,有
∣
f
(
x
)
∣
=
∣
a
∣
x
2
<
∣
a
ˉ
∣
x
2
<
∣
a
ˉ
∣
(
x
2
+
0.1
)
|f(x)|=|a|x^2<|\bar{a}|x^2<|\bar{a}|(x^2+0.1)
∣f(x)∣=∣a∣x2<∣aˉ∣x2<∣aˉ∣(x2+0.1)
控制器的表达式
u
=
x
˙
d
+
k
e
+
u
a
u
x
u=\dot x_d+ke+u_{aux}
u=x˙d+ke+uaux
u
a
u
x
=
{
ρ
∣
e
∣
e
sliding mode
1
ϵ
ρ
2
e
high gain
ρ
2
e
ρ
∣
e
∣
+
ϵ
high frequency
u_{aux} = \begin{cases} \rho \frac{|e|}{e} & \text{sliding mode} \\ \frac{1}{\epsilon}\rho ^2e & \text{high gain } \\ \frac{\rho ^2e}{\rho|e|+\epsilon} & \text{high frequency } \end{cases}
uaux=⎩
⎨
⎧ρe∣e∣ϵ1ρ2eρ∣e∣+ϵρ2esliding modehigh gain high frequency
五种要对比的控制器
以表格的形式列在下面:
其中,
u
a
u
x
2
u_{aux2}
uaux2和
u
a
u
x
3
u_{aux3}
uaux3都是high gain控制器,差别就是
ϵ
\epsilon
ϵ取值一个是0.1,一个是1。
u
a
u
x
4
u_{aux4}
uaux4和
u
a
u
x
5
u_{aux5}
uaux5都是high freq控制器,差别就是
ϵ
\epsilon
ϵ取值一个是0.1,一个是1。
下面就可以打开simulink进行验证了。
simulink模块搭建
要点清单:
- a a a的选取是simulink中的uniform random number 模块,取值范围是-1到1
- x d x_d xd是常数,所以 x ˙ d = 0 \dot x_d=0 x˙d=0
- sign模块里面的过零检测的勾要去掉,不然仿真会报错
- 把用到的公式写在界面上,方便模块搭建
- 系统方程就是: x ˙ = a x 2 + u \dot x=ax^2+u x˙=ax2+u
- 用示波器来看误差值和控制输入u
- 点击绿色run就可以进行仿真
仿真结果:
1、误差结果
可以看到不同控制器的误差的区别还是挺大的。
2、控制输入
3、仿真结果分析:
其中,
u
a
u
x
2
u_{aux2}
uaux2和
u
a
u
x
3
u_{aux3}
uaux3都是high gain控制器,差别就是
ϵ
\epsilon
ϵ取值一个是0.1,一个是1。
u
a
u
x
4
u_{aux4}
uaux4和
u
a
u
x
5
u_{aux5}
uaux5都是high freq控制器,差别就是
ϵ
\epsilon
ϵ取值一个是0.1,一个是1。
根据前面的推导,这两类控制器的误差表达式是
∣
e
(
t
)
∣
≤
ϵ
k
|e(t)|\leq\sqrt{\frac{\epsilon}{k}}
∣e(t)∣≤kϵ
也就是在增益k保持不变的情况下,
ϵ
\epsilon
ϵ越小,误差越小。
再看一下控制器的表达
控制器的表达式 u = x ˙ d + k e + u a u x u=\dot x_d+ke+u_{aux} u=x˙d+ke+uaux u a u x = { ρ ∣ e ∣ e sliding mode 1 ϵ ρ 2 e high gain ρ 2 e ρ ∣ e ∣ + ϵ high frequency u_{aux} = \begin{cases} \rho \frac{|e|}{e} & \text{sliding mode} \\ \frac{1}{\epsilon}\rho ^2e & \text{high gain } \\ \frac{\rho ^2e}{\rho|e|+\epsilon} & \text{high frequency } \end{cases} uaux=⎩ ⎨ ⎧ρe∣e∣ϵ1ρ2eρ∣e∣+ϵρ2esliding modehigh gain high frequency
可以看到,
ϵ
\epsilon
ϵ越小,控制器的值越大。
这和仿真结果对应上了。
u
a
u
x
1
u_{aux1}
uaux1没什么好说的,控制器输出频繁切换,抖振问题严重。
总结:
- 从简单到复杂模块的搭建
- design of experiment 实验设计
- 仿真及简单分析