【Advanced控制理论】Robust Control鲁棒控制(附Simulink程序)
之前BLOG中系统参数为已知或者一变化的常数,若条件更加苛刻,系统参数为有界的常数,此时该如何设计控制器,由此引入鲁棒控制。直接放上DR_CAN视频链接:https://www.bilibili.com/video/BV1vW411V7Bh/?spm_id_from=trigger_reload在维基百科中是这样解释鲁棒控制的:To achieve robust performance and/o
之前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(高频) |
---|---|---|---|
UauxU_{aux}Uaux辅助控制器 | ρe∣e∣\rho\frac{e}{\left\vert e\right\vert}ρ∣e∣e | 1ερ2e\frac{1}{\varepsilon}\rho^2eε1ρ2e | ρ2eρ∣e∣+ε\frac{\rho^2e}{\rho\left\vert e\right\vert+\varepsilon}ρ∣e∣+ερ2e |
当t→∞t\to\inftyt→∞时 | e→0e\to 0e→0 | e≤εke\leq\sqrt{\frac{\varepsilon}{k}}e≤kε | e≤εke\leq\sqrt{\frac{\varepsilon}{k}}e≤kε |
若减小ε\varepsilonε的值,eee的值将减小,但uuu会随之增大,即:ε↓,e↓,u↑。\varepsilon\downarrow,e\downarrow,u\uparrow。ε↓,e↓,u↑。
假设有这样一个模型:x˙=ax2+u\dot{x}=ax^2+ux˙=ax2+u
其中∣a∣≤1\left|a\right|\le1∣a∣≤1,即aaa为一有界的随机常数。设计目标是使得x→xd=2x\to x_d=2x→xd=2,即x˙d=0\dot{x}_d=0x˙d=0。
令:f(x)=ax2≤∣ax∣2≤x2<x2+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)
令(uuu为何这样设置的具体证明在这里:https://www.bilibili.com/video/BV1KW411j7VS):u=ke+xd˙+Uaux=ke+Uauxu=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
在仿真的过程中开始还出现了这样一个错误:
指在Sliding ModeSliding\space ModeSliding Mode模块中SignSignSign函数零点存在问题,即当e=0e=0e=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
注:
我在仿真的时候发现我仿真结果的稳态误差High Gain/epsilon=1 < High Frequency/epsilon=0.1High\space Gain/epsilon=1\space <\space High\space Frequency/epsilon=0.1High Gain/epsilon=1 < High Frequency/epsilon=0.1与DR_CAN不同,但是表格和雷达图是按照DR_CAN的结果绘制的。
更多推荐
所有评论(0)