目录

前言

1.系统

2.观测器设计

3.控制器设计

4.MATLAB/Simulink仿真

4.1s函数编写被控对象

4.2Simulink模型

5结果分析

5.1出图结果

5.2结论

5.3调参


前言

将滑膜控制与状态观测器结合,可实现对速度信号的有效观测,从而实现无需速度测量的滑模控制。

图1 带状态观测器的闭环控制系统

1.系统

以二阶系统为例:

θ'' = -a*θ'-b*θ+k*u

其中,θ未位置信号,θ‘即速度信号。

定义状态变量x = [x1 x2]' = [θ θ']',所以上述系统的状态方程形式为:

x1' = x2

x2' = -a*x2-b*x1+k*u

输出方程:

y = x1

2.观测器设计

(x1^)' = (θ^)' = x2^+(y-x1^)*(α1/ε)

(x2^)' = (θ^)'' = -a*x2^-b*x1^+k*u+(y-x1^)*(α2/ε^2)  (此加粗处书上漏了^)

其中,α1和α2为正实数,ε < 1。

①取h1 = α1/ε,h2 = (α2/ε^2),则观测器转化为:

x1^' = x2^+(y-x1^)*h1

x2' = -a*x2-b*x1+k*u+(y-x1^)*h2

②定义观测误差(x~) = x-x^,将系统状态空间方程代入到上述设计的观测器,可得:

(x1~) = -h1*(x1~)+(x2~)

(x2~) = -h2*(x1~)-a*(x2~)

y = x1

转化为状态空间形式,即

(x~)' = A*(x~)

其中,A = [-h1 1;-h2 -a],(x~) = [(x1~);(x2~)]。

③需要保证A为Hurwitz矩阵,即保证其特征根在复平面左侧;

求其特征方程|sI-A| = |s+h1 -1;h2 s+a| = 0,展开即s^2+(h1+a)*s+h2 = 0;

即转化为保证s^2+2*p*s+p^2为Hurwitz多项式,对应即h1+a = 2*p,h2 = p^2;

由s^2+2*p*s+p^2 = 0保证其特征根在复平面左侧得到p > 0,对应即h1+a > 0(这里我没看懂书上的理解,这是我自己的理解,Hurwitz多项式对应的就是保证特征根为负。而且经后面仿真也证实我的推断没错;而且h取值越大,超调量越大,但追踪所需时间越短),所以最终的h1和h2的取值关系为:

h1 > a

h2 = a^2

3.控制器设计

还是老“三部曲”(此处推导变量的标号可能很多,希望耐心推导):

(1)①定义滑膜面/滑膜函数:

s = c*e(个人认为滑模面项数 = 状态变量个数,欢迎指正)

其中c= [c1,1],e = [e1;e2] = [e;e'] = [θd - θ;θd' - θ'],并定义:

e = θd - θ,即e1 = θd - θ,e2 = e' = θd' - θ';

(e^) = θd - (θ^),即(e1^) = θd - (θ^)(e2^) = θd' - (θ^)';

(θ~) = θ - (θ^),(e~) = e - (e^),(s~) = s - (s^),再加前面定义的(x~) = x - (x^)。

②导数观测量为:

e' = θd - θ',即e1' = θd' - θ',e2' = e'' = θd'' - θ'';

(e^)' = θd' - (θ^)',即(e1^)' = θd' - (θ^)'(e2^)' = θd'' - (θ^)'';

(注意是(e^)'估计的导数值,而不是(e')^导数的估计值,这里书上感觉模棱两可,个人观点,欢迎批评指正),具体可以参阅以下文献:

《基于高增益观测器的挖掘机工作装置滑模控制》

(θ~)' = θ' - (θ^)',(e~)' = e' - (e^)',(s~)'  = s' - (s^)'。

③由于含观测器,所以滑模面应与观测误差e^有关,所以需引入中间滑模面

(s^) = c*e^

其中c= [c1,1],e^ = [e1;e2] = [e^;(e^)'] = [θd - (θ^);θd' - (θ^)']

(2)④先求滑模控制律的等效控制项ueq中间滑模面导数为(s^)' = c1*(e1^)'+(e2^)' = c1*(e2^)+(θd'' - (θ^)'')= c1*(e2^)+(-a*x2^-b*x1^+k*ueq)    (将前面的(θ^)''代入,代入时将(y-x1^)*h2丢掉),

得到ueq = (a*x2^+b*x1^+c1*(e2^))/ k = (a*(θ^)'+b*θ^+c1*(e2^))/ k   (加粗的^书上应该漏了)

⑤再求滑模控制律的鲁棒项usw ,usw 为满足滑模到达条件 s^(s^)' ≤ 0 的切换项,采用等速趋近律(s^)' = -η*sign(s^),所以鲁棒项为:

usw = η*sign(s^) / k

为了为消除抖振,将切换项 符号函数替换为 s^,所以usw = η*s^/k

所以基于高增益观测器的滑膜控制律为:

u = ueq+usw =(a*(θ^)'+b*θ^+c1*(e2^)+η*(s^))/ k,其中η > 0

(3)使用Lyapunov函数证明闭环系统稳定,V = 1/2*s^2,V' = 1/2*s*s'。(快考试了没时间,后面有时间补上)

4.MATLAB/Simulink仿真

取位置指令/理想信号θd = sin(t),扰动d  = sin(t)(书中没有扰动,这是我自己加上的)

4.1s函数编写被控对象

function [sys,x0,str,ts,simStateCompliance] = Plant(t,x,u,flag)switch flag,case 0,[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;case 1,sys=mdlDerivatives(t,x,u);case 2,sys=mdlUpdate(t,x,u);case 3,sys=mdlOutputs(t,x,u);case 4,sys=mdlGetTimeOfNextVarHit(t,x,u);case 9,sys=mdlTerminate(t,x,u);otherwiseDAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));end
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizessizes = simsizes;
sizes.NumContStates  = 2;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 2;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;   % at least one sample time is needed
sys = simsizes(sizes);
x0  = [0.2 0]';
str = [];
ts  = [0 0];simStateCompliance = 'UnknownSimState';function sys=mdlDerivatives(t,x,u)
theta = x(1);
dtheta = x(2);
d = u(1);%扰动
U = u(2);
a = 10;b = 1;k = 1;%系统参数
ddtheta = -a*dtheta-b*theta+k*U+d;
sys = [dtheta;ddtheta];function sys=mdlUpdate(t,x,u)sys = [];function sys=mdlOutputs(t,x,u)sys = x;function sys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime = 1;    %  Example, set the next hit to be one second later.
sys = t + sampleTime;function sys=mdlTerminate(t,x,u)sys = [];

4.2Simulink模型

图2 基于高增益观测器的鲁棒滑膜控制Simulink模型

5结果分析

5.1出图结果

图3 角度θ与理想位置信号θd对比

图4  角速度θ与理想速度信号θd'对比

图5 θ和(θ^)输出角度和观测角度对比

图6 θ'和(θ^)'输出角速度和观测角速度对比

图7 观测误差e^

图8 观测误差变化率(e^ )'

图9 角度追踪误差e

图10 角度追踪误差e

图11  控制输出u

5.2结论

①对于观测器的设计,可以从图5、6看出在0.5s内便能观测吻合,也可以从图7、8看出误差基本稳定在1%,证明该高增益观测器设计的合理性;

②对于控制器的设计,可以从图3、4看出在1s内便能快速追踪理想位置信号,也可以从从图9、10看出追踪误差有微笑的波动,证明了该基于观测器的滑膜控制器鲁棒性。

5.3调参

①书上在推理中有许多小标错误,虽然在本例中最后对仿真影响不大,但是需要注意。

②书上推理中写的控制器参数c = 5和η = 1.5并不能使系统实现好的追踪效果,需要调整为c = 10和η = 50(但是它的程序中又写的是c = 10和η = 50),η越大,最终误差越快趋于0,而且随η的增大波动也减小,但控制器所需输出越大。

③设计观测器时,满足使矩阵A为Hurwitz多项式,我的理解和书上有些偏差,其中观测器的调节参数h越大,则观测时的误差趋于0所需时间越小,而且随h的增大波动也减小,但是超调量增大。

所以,调参时需要对控制器及观测器的性能进行折中。

如果有帮助,麻烦帮忙点个赞是我最大的分享动力,非常感谢!

注:仅为便利自己学习,错误在所难免,如有侵权,请联系删除,有兴趣的学者可以参考学习交流,谢谢!

参考资料:

《基于高增益观测器的挖掘机工作装置滑模控制---徐国胜等》

VSC/SMC(七)——基于高增益观测器的滑模控制(含程序模型)相关推荐

  1. VSC/SMC(八)——基于慢时变干扰观测器的滑模控制(含程序模型)

    目录 前言 1.案例分析系统 2.设计观测器 2.1观测器系统 2.2稳定分析 3.控制器设计 3.1滑模面 3.2 趋近律 3.3 稳定性分析 4.MATLAB/Simulink仿真 4.1s函数编 ...

  2. VSC/SMC(一)——基于趋近律的滑模控制(含程序模型)

    目录 1.几种典型的趋近律 1.1等速趋近律 1.2指数趋近律 1.3幂次趋近律 1.4一般趋近律 2.控制器设计 2.1被控对象 2.2选取滑膜面 2.3定义跟踪误差 2.4计算控制律 3.Simu ...

  3. VSC/SMC(十四)——全局快速Terminal滑模控制(含程序模型)

    目录 1. 收敛时间分析 2.高阶全局Terminal滑模控制器设计与分析 3.高阶全局Terminal滑模鲁棒控制器设计与分析 3.1 总结 4. 仿真分析 4.1 二级非线性系统 4.2 S函数编 ...

  4. VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)

    目录 前言 1.Terminal滑模控制 1.1 传统Terminal滑模 1.2非奇异Terminal滑模 1.3 非奇异快速Terminal滑模 2.传统Terminal滑模 2.1 控制器设计 ...

  5. SMC/VSC(九)——控制器容错自适应滑模控制(含程序模型)

    目录 前言 1.二阶系统 2.控制器设计 3.仿真分析 3.1S函数编写被控对象 3.2Simulink建模 3.3结果分析 3.4结论 4.相轨迹绘制 4.1Scope模块导出设置 4.2模型导出数 ...

  6. VSC/SMC(十五)——基于模糊逼近的积分滑模控制

    目录 前言 1. 一阶系统积分滑模 1.1 一阶系统 1.2 控制器设计 1.2.1 选取积分滑模面 1.2.2 选取指数趋近律 1.2.3 Lypunov闭环系统稳定性证明 1.3 仿真分析 1.4 ...

  7. matlab里面滑模控制示例,基于趋近律的滑模控制matlab仿真实例(12页)-原创力文档...

    基于趋近律的滑模控制 一.基于趋近律的滑模控制 1.控制器的设计 针对状态方程 (1) 采用趋近律的控制方式,控制律推导如下: (2) (3) 其中slaw为趋近律. 将状态方程式(1)代人(2)得 ...

  8. 【模糊滑模】基于模糊切换增益调节的滑模控制

    前言:接上文,滑模控制主要的问题是抖振问题,接着我就学习了一下如何减小抖振,这里主要根据模糊控制来减小,看了一下模糊滑模控制,它是将符号函数的增益系数自适应,来减小滑模面附近的抖振,在这期间稍微有点感 ...

  9. 基于扩张观测器(LESO)的滑模控制

    目录 前言 1 二阶系统LESO观测器设计 2.基于LESO的滑模控制器设计 ​​​​3. 仿真分析(普通高增益项) 3.1仿真模型 3.2仿真结果 3.3 总结 4. 仿真分析(优化后的高增益项) ...

最新文章

  1. (转载)IIS安装配置全过程
  2. 程序员你为什么这么累【续】:编码习惯之工具类规范
  3. jQuery中each的break和continue
  4. 大型打脸现场!被藐视的少女摇身一变成为“抽象代数之母”,哲学教授只能跪地喊爸爸...
  5. hive插件 ranger_Apache Ranger及Hive权限控制
  6. 气象数据领航无人飞行器线路优化大赛解决方案(3rd place)
  7. EBB-4、忘记root密码;文件,目录权限
  8. 微课|中学生可以这样学Python(5.6.1节):列表推导式2
  9. 页表长度和页表大小_linux内核页表映射机制:线性地址如何转为物理地址?
  10. 僵尸启示录开始 Scheming Through Ep1 Mac游戏介绍
  11. Java代码审查工具 FindBugs下载、安装和使用(无需集成环境一键安装使用)
  12. m序列的产生原理及其性质
  13. SQL 求同比 环比
  14. 使用tayga测试无状态nat64功能
  15. 2022年华数杯C题插层熔喷非织造材料的性能控制研究数学建模论文及程序
  16. 用标签打印软件制作矢量格式的条码
  17. VMware安装centOS镜像
  18. 为什么要有无参构造方法,无参构造的运行原理
  19. VM虚拟机20G磁盘扩展到40G的Linux操作记录
  20. LaTeX公式(对小白十分友好的线上公式生成神器)

热门文章

  1. USB2.0电气层信号的表示及速率的识别过程
  2. 王者服务器维护11月,王者荣耀11月22日更新维护公告 王者荣耀更新内容汇总
  3. 数据结构17:什么是递归
  4. PDF怎么修改,如何调整PDF页面大小
  5. React16和Antd如何在IE9环境下忍辱偷生
  6. 新成果展示:基于Metal/Ga2O3/GaN混合结构的日盲紫外探测器的设计与制备
  7. 分享一款很好用的打印软件:小灰狼快递单打印软件v928
  8. 交换机安装方式的英文说明:挂壁式,耳朵式,桌面放置
  9. 电子设计大赛-板球系统
  10. Oracle(甲骨文软件系统)公司简介