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

目录

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 = [];
otherwise
    error(['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仿真:基本理论与设计方法第四版》---刘金琨

  • 16
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
指数趋近律滑模控制器是一种控制器设计方法,用于实现系统的快速趋近和稳定。它结合了指数趋近和等速趋近两个项,以实现快速趋近滑模面并减小抖振。指数趋近项通过逐步减小趋近速度,缩短趋近时间,并使运动点在到达滑模面时的速度较小。而等速趋近项则在接近零时,保证趋近速度为一个非零值,以确保在有限时间内到达滑模面。通过增大指数趋近项的系数k和减小等速趋近项的系数ε,可以同时实现快速趋近和抖振的削弱。这种控制器设计方法在实际应用中被广泛使用。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [滑模变结构控制(1)--指数趋近律](https://blog.csdn.net/LUNZO/article/details/124896004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [VSC/SMC(一)——基于趋近律的滑模控制(程序模型)](https://blog.csdn.net/weixin_50892810/article/details/126468161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [滑模控制几种趋近率的对比(hm-2)](https://blog.csdn.net/da_xian_yu/article/details/118945725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值