目录

1. 收敛时间分析

2.高阶全局Terminal滑模控制器设计与分析

3.高阶全局Terminal滑模鲁棒控制器设计与分析

3.1 总结

4. 仿真分析

4.1 二级非线性系统

4.2 S函数编写被控对象

4.3 Simulink模型

4.4 仿真结果

4.5 相轨迹绘制

5.学习问题


前言

上两篇终端滑模控制介绍了传统终端、快速终端、非奇异终端。传统终端滑模控制难以在接近平衡状态时快速收敛,甚至比普通线性滑膜控制收敛还慢;快速终端滑膜存在非奇异点的问题,而且以上滑模控制对高阶系统设计还没介绍,所以本篇文章在非奇异文章的基础上提出一种全局快速终端滑模控制/非奇异快速终端滑膜控制,并对高阶SISO系统进行设计分析。

往期文章:

基于LMI的线性化系统控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

基于LMI的线性系统滑模鲁棒控制_Mr. 邹的博客-CSDN博客

使用hinfric和hinflmi函数设计H∞输出反馈控制器(含白嫖代码)_Mr. 邹的博客-CSDN博客

VSC/SMC(一)——基于趋近律的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客_滑模面的选取

VSC/SMC(二)——基于趋近律的滑模鲁棒控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(三)——基于饱和切换函数的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(四)——基于线性化反馈的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(五)——基于参考模型的滑模控制_Mr. 邹的博客-CSDN博客

基于参考模型的主动悬架滑模控制(详细滑模控制推导)_Mr. 邹的博客-CSDN博客

VSC/SMC(六)——基于低通滤波器的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(七)——基于高增益观测器的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(八)——基于慢时变干扰观测器的滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客_慢时变干扰观测器 SMC/VSC(九)——控制器容错自适应滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(十)——主辅电机的协调滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

SMC/VSC(十一)——基于趋近律的离散滑模控制(白嫖程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(十二)——非线性系统的终端(terminal)滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客

VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客

想学好滑模控制器和LMI控制的的同学,欢迎白嫖我的程序和模型! 

1. 收敛时间分析

2.高阶全局Terminal滑模控制器设计与分析

3.高阶全局Terminal滑模鲁棒控制器设计与分析

所谓鲁棒性指的是不确定系统抵抗外界扰动的能力。

3.1 总结​​​​​​​

4. 仿真分析

4.1 二级非线性系统

4.2 S函数编写被控对象

function [sys,x0,str,ts]=Plant(t,x,u,flag)
switch flag,
case 0,[sys,x0,str,ts]=mdlInitializeSizes;
case 1,sys=mdlDerivatives(t,x,u);
case 3,sys=mdlOutputs(t,x,u);
case {2, 4, 9 }sys = [];
otherwiseerror(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 2;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 2;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 0;
sys=simsizes(sizes);
x0=[pi/60 0]';%倒立摆初始状态
str=[];
ts=[];function sys=mdlDerivatives(t,x,u)
g=9.8;mc=1.0;m=0.1;l=0.5;
S=l*(4/3-m*(cos(x(1)))^2/(mc+m));
fx=g*sin(x(1))-m*l*x(2)^2*cos(x(1))*sin(x(1))/(mc+m);
fx=fx/S;
gx=cos(x(1))/(mc+m);
gx=gx/S;%g(x,t),用gx是因为怕和重力加速度g混淆
U = u(2);
dt = u(1);
dx1=x(2);%x1'
dx2=fx+gx*U+dt;%x2'
sys = [dx1;dx2];function sys=mdlOutputs(t,x,u)
sys = x;

4.3 Simulink模型

这里以二阶系统的指令追踪问题为例,取n = 2,所以递归结构的动态滑模面递归一次即可,即:

4.4 仿真结果

4.5 相轨迹绘制

p0 = 9;q0 = 5;phai = 100;p = 3;q = 1;L = 2;eta = 1;
alpha0 = 2;beta0 = 1;
s0 = e;ds0 = de;
plot(s0(:,2),ds0(:,2),'r',s0(:,2),...
-alpha0*s0(:,2)-beta0*abs(s0(:,2)).^(q0/p0).*sign(s0(:,2)),'b','linewidth',2);
xlabel('s0');ylabel('ds0');
title("相轨迹")

至于如何去绘制相轨迹,需要转化成线性的形式,可以上上篇文章末尾的分析。

VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)_Mr. 邹的博客-CSDN博客

5.学习问题

①调参是个棘手的问题,后期有时间去了解各个参数的含义。

②为什么在推导求出来的控制律中,明明是这个形式:

其中d(s0)^(q0/p0)/dt = (q0/p0)*((s0)^(q0/p0-1)),但是程序中却是(q0/p0)*((s0)^(q0/p0)),也就是幂次少了减1?

③而且对于幂次的地方都要进行绝对值和乘符号函数?即(s0)^(q0/p0) = abs((s0)^(q0/p0))*sign(s0)

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

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

参考资料:

《滑模变结构控制MATLAB仿真:基本理论与设计方法第四版》---刘金琨

VSC/SMC(十四)——全局快速Terminal滑模控制(含程序模型)相关推荐

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

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

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

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

  3. VSC/SMC(十六)——自适应鲁棒滑模控制

    目录 1.参数不定和扰动不定但有界的系统 2.滑模控制自适应律设计 2.1控制律设计总结 3.仿真分析 3.1 PD控制 3.2普通自适应律 3.3映射自适应律 3.4总结 4学习问题 1.参数不定和 ...

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

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

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

    目录 前言 1.系统 2.观测器设计 3.控制器设计 4.MATLAB/Simulink仿真 4.1s函数编写被控对象 4.2Simulink模型 5结果分析 5.1出图结果 5.2结论 5.3调参 ...

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

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

  7. 2021-04-12 电机滑模控制 LuGre摩擦模型

    电机滑模控制 LuGre摩擦模型 Simulation for A Sliding Mode Controller Abstract: In this paper we first briefly i ...

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

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

  9. 滑模控制二阶系统实例(5mins理解入门,附带MATLAB实现)

    问题 设想一个在一维空间的物块,在其上施加一个力f,物块会运动: 显然这是一个二阶系统,选取状态变量 x 1 x_1 x1​为位移, x 2 x_2 x2​为速度,则有: x 1 ˙ = x 2 x ...

最新文章

  1. 桌面应用程序 azure_Azure Logic应用程序用例–黑色星期五
  2. QT发布中遇到的问题 - wufan的专栏 - 博客频道 - CSDN.NET
  3. java多线程遇到的问题_关于Java多线程遇到的问题.
  4. [机器学习] 常用并行计算算子原理
  5. mysql排序行号_mysql 取得行号后再排序
  6. 如何将文章列表用li分两列显示
  7. 压缩感知中常用的待还原信号种类
  8. 用DISM修复Win10系统文件教程
  9. Linux Vim快捷键
  10. 机器视觉在智能制造中的应用
  11. 计算机丢失mscvr,教大家计算机丢失Msvcr100.dll的解决方法
  12. umount target is busy
  13. 笔记1-P2P后台管理系统
  14. 数据可视化一:Excel数据可视化
  15. 关于遍历,看这篇文章就足够了【find()、findIndex()、forEach()、splice()、slice()详解】
  16. 我们向印度人学习什么?
  17. 【机器学习】线性回归实战案例一:多元素情况下广告投放效果分析步骤详解
  18. 网络划分与寻址三要素: IP地址、子网掩码和地址分类
  19. JC机制与JVM内存区域
  20. astar不能用了_“早C晚A”?做完功课我发现:并不是所有人都能用对

热门文章

  1. 20 21九死一生、22上半年读20本书(含15本管理书单/笔记):继续百年征程
  2. 美国访问学者签证材料清单
  3. 南邮 OJ 1567 Suspicious Stocks
  4. 竹海杂谈0(曾经走过的坑2)- ----- cadence的环境配置
  5. 游戏里WASD移动控制人物的操作,用js写出的效果,简单易上手!
  6. 基于canal根据配置实现数据库数据的同步
  7. Unity优化☀️渲染篇:CPU/GPU
  8. IDEA全局搜索Jar包中内容
  9. 柳维尔定理与代数基本定理
  10. android中slider控件,range-slider-view