0. 简介

最近作者受到邀请,让我帮忙给刚入门的学弟讲讲滑模控制。可是作者也不知道怎么向未入门的学弟讲解这些基础知识,所以作者翻了翻近几年写的很好的文章以及视频。综合起来,来总结出一套比较基础,且适用于初学者的文章吧。这里我们先贴一下王崇卫同学的笔记。

对应的视频连接在下面:

【Advanced控制理论】17

1. 滑模控制目的

对于滑模控制而言,我觉得我们先要明白其目的再来学习。一开始我们对滑动控制的定义是:滑动模式是先使用受控系统产生两个以上的子系统,然后再刻意加入一些切换条件产生滑动模式,以达成控制目标的一种技术。

滑模控制(sliding mode control, SMC)也叫变结构控制,其本质上是一类特殊的非线性控制,且非线性表现为控制的不连续性。这种控制策略与其他控制的不同之处在于系统的“结构”并不固定,而是可以在动态过程中,根据系统当前的状态(如偏差及其各阶导数等)有目的地不断变化,迫使系统按照预定“滑动模态”的状态轨迹运动。

例如滑动模式控制中存在滑动曲面s=0s=0s=0,一开始时,系统会在有限时间内到达滑动曲面,之后就会沿着滑动曲面移动。在滑动模式的理论叙述中,系统会约束在滑动曲面上,因此只需将系统视为在滑动曲面上滑动。不过实际系统的实现是用高频切换来让系统近似在滑动曲面上滑动,高频切换的控制信号让系统在很邻近滑动曲面的范围内切跳(chatter),而且其频率是不固定的。虽然整体系统是非线性的,不过下图中,当系统到达滑动曲面后,理想(没有切跳)系统会限制在s=0s=0s=0的滑动曲面上,滑动曲面是线性时不变系统,在原点处指数稳定。

2. 滑模控制优缺点

2.1 滑模控制的优点:

滑动模态可以设计且与对象参数和扰动无关,具有快速响应、对参数变化和扰动不灵敏( 鲁棒性)、无须系统在线辨识、物理实现简单

2.2 滑模控制的缺点:

当状态轨迹到达滑动模态面后,难以严格沿着滑动模态面向平衡点滑动,而是在其两侧来回穿越地趋近平衡点,从而产生抖振——滑模控制实际应用中的主要障碍。国内外主要通过改进滑模趋近律达到减弱抖振的目的。

3. 滑模控制需要条件

上文讲到滑模变结构控制器设计也包括两部分,一是能从状态空间的任何位置有限时间到达滑模面 s=0s = 0s=0,二是在滑模面上可以收敛到原点(平衡点)。这也就代表我们要存在有一个稳定的滑模面,且该滑模面是可达的。为此有以下四个条件:

  • 稳定性条件:在s=0的滑模面上,状态是收敛的,即滑动模态存在;
  • 可达性条件:在切换面s=0以外的运动点将于有限时间内到达切换面;
  • 保证滑模运动的稳定性;
  • 达到控制系统运动品质要求。

下面将按照四个条件来叙述如何设计滑模控制的控制器,这里的部分内容借鉴了文章滑动模型控制(Sliding Mode Control),并结合作者的理解进行写作。

3.1 被控系统的滑模面生成

首先第一步就是我们需要明白,我们需要找到一个滑模面来让被控系统在滑模面上维持稳定。
例如假设存在一个被控系统:
x˙1=x2x˙2=u\begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= u \end{aligned}x˙1x˙2=x2=u

这个时候我们就需要根据被控系统设计一个滑模面,滑模面一般可以设计为如下的形式
s(x)=∑i=1n−1cixi+xns(x) = \sum_{i=1}^{n-1} c_i x_i + x_ns(x)=i=1n1cixi+xn
因为在滑模控制中,要保证多项式pn−1+cnpn−2+⋯+c2p+c1p^{n − 1} + c_n p^{n − 2} + \cdots + c_2 p + c_1pn1+cnpn2++c2p+c1为Hurwitz (简单来说这条条件是为了满足状态在s=0s=0s=0的滑模面上可以收敛)。

什么是Hurwitz,即上述多项式的特征值的实数部分在左半平面,即为负。

我们可以看到上述的被控系统是存在有两个变量,所以需要取n=2n=2n=2,即 s(x)=c1x1+x2s ( x ) = c_1 x_1 + x_2s(x)=c1x1+x2,为了保证多项式 p+c1p+c_1p+c1为Hurwitz,需要多项式p+c1=0p+c_1=0p+c1=0的特征值实数部分为负,即c1>0c_1>0c1>0

我们知道滑模控制需要使得状态x1x_1x1x2x_2x2的导数均达到零,我们令 s=0s=0s=0,分析一下结果有
{cx1+x2=0x˙1=x2⇒cx1+x˙1=0⇒{x1(t)=e−ctx1(0)x2(t)=x˙1(t)=−cx1(0)e−ct\left\{\begin{aligned} &cx_1 + x_2 = 0 \\ &\dot{x}_1 = x_2 \end{aligned}\right. ~~ \Rightarrow ~~ c x_1 + \dot{x}_1 = 0 ~~ \Rightarrow ~~ \left\{\begin{aligned} &x_1(t) = \text{e}^{-ct} x_1(0) \\ &x_2(t) = \dot{x}_1(t) = -c x_1(0) \text{e}^{-ct} \end{aligned}\right.{cx1+x2=0x˙1=x2cx1+x˙1=0{x1(t)=ectx1(0)x2(t)=x˙1(t)=cx1(0)ect
通过上式可以看到状态x1x_1x1x2x_2x2 最终都是趋向于零的,而且速度是以指数速率趋紧的。指数速率意味着当t=1/ct=1/ct=1/c时,趋零过程完成63.2%63.2\%63.2%,当t=3/ct=3/ct=3/c时,趋零过程完成 95.021%95.021\%95.021%。那么我们通过调节参数ccc的大小即可实现对趋零速度的调节,ccc 越大,速度越快。

因此如果满足了 s=cx1+x2=0s=cx_1 + x_2=0s=cx1+x2=0,那么系统的状态x1x_1x1x2x_2x2也将沿着滑模面趋近于零 (s=0s=0s=0称之为滑模面)。

3.2 可达性控制器设计

在拿到滑模面后则证明被控系统的稳定性条件成立,下面一步就是可达性条件,即状态xxx 从状态空间中任意一点出发,可以在有限时间到达 s=0s=0s=0 的滑模面上,此时我们可以采用李雅普诺夫间接法来分析,从前面可知,切换函数 sss 是状态变量 xxx 的函数,取以下的李雅普诺夫函数

V=12s2V = \frac{1}{2} s^2V=21s2

对时间求导可得
V˙=ss˙=s(−sgn(s)−s)=−sgn(s)s−s2=−(∣s∣+s2)<0\begin{aligned} \dot{V} &= s \dot{s} \\ &= s (-\text{sgn}(s) - s) \\ &= -\text{sgn}(s) s - s^2 \\ &= -(|s| + s^2) < 0 \end{aligned}V˙=ss˙=s(sgn(s)s)=sgn(s)ss2=(s+s2)<0

为了使系统稳定,我们需要使V˙<0\dot{V}<0V˙<0,即 ss˙<0s \dot{s}<0ss˙<0。此时系统对于 sss而言是渐进稳定,不能保证其有限时间到s=0s=0s=0 的滑模面上(渐进稳定是当 ttt趋于无穷时,状态变量 xxx 趋于 000,即无限时间到达),因此需要 ss˙<−σs \dot{s}<-\sigmass˙<σσ\sigmaσ是一个极小的正数。以上就是可达性条件成立的必要依据\color{red}{以上就是可达性条件成立的必要依据}以上就是可达性条件成立的必要依据

但是实际上每次设计总不能都用李雅普诺夫函数判断,于是人们就提出了趋近律这一概念,常用的趋近律有如下几种,其中sgn(s)\text{sgn}(s)sgn(s) 是符号函数, s>0,sgn(s)=1;s<0,sgn(s)=−1;s=0,sgn(s)=0s>0,\text{sgn}(s)=1; s<0, \text{sgn}(s)=-1; s=0, \text{sgn}(s)=0s>0,sgn(s)=1;s<0,sgn(s)=1;s=0,sgn(s)=0:

  1. 等速趋近律: s˙=−ϵsgn(s),ϵ>0\dot{s} = -\epsilon ~\text{sgn}(s), ~~~~\epsilon > 0s˙=ϵsgn(s),ϵ>0

  2. 指数趋近律:s˙=−ϵsgn(s)−ks,ϵ>0,k>0\dot{s} = -\epsilon ~\text{sgn}(s) - k s, ~~~~\epsilon > 0, k>0s˙=ϵsgn(s)ks,ϵ>0,k>0

  3. 幂次趋近律: s˙=−k∣s∣αsgn(s)−ks,k>0,0<α<1\dot{s} = -k |s|^\alpha ~\text{sgn}(s) - k s, ~~~~k>0, 0<\alpha<1s˙=ksαsgn(s)ks,k>0,0<α<1

一般在使用时候我们需要完成这些参数的调整,一般我们使用的是指数趋近率,并将ϵ\epsilonϵkkk的值均设为1,简化为:

s˙=sgn(s)−s\dot{s} = ~\text{sgn}(s) - ss˙=sgn(s)s

然后我们可知s(x)=c1x1+x2s ( x ) = c_1 x_1 + x_2s(x)=c1x1+x2,则s˙=sgn(s)−s=c1x1˙+x2˙=c1x2+u\dot{s} = ~\text{sgn}(s) - s = c_1 \dot{x_1} + \dot{x_2} = c_1x_2+us˙=sgn(s)s=c1x1˙+x2˙=c1x2+u。则我们可以得到控制器uuu为:

u=sgn(s)−s−c1x2u = ~\text{sgn}(s) - s - c_1x_2u=sgn(s)sc1x2

这就得到了我们必要的两个条件即,存在滑模面sss以及可达性控制器uuu.

4. 滑模控制Python代码

下面是最简单的python代码

…详情请参照古月居

滑模控制(Sliding mode control)快速入门相关推荐

  1. [非线性控制理论]6_滑模控制 (sliding mode control)

    [非线性控制理论]1_Lyapunov直接方法 [非线性控制理论]2_不变性原理 [非线性控制理论]3_基础反馈稳定控制器设计 [非线性控制理论]4_反馈线性化_反步法 [非线性控制理论]5_自适应控 ...

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

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

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

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

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

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

  5. 滑模控制入门与简单应用

    1.阅读书籍 ①<终端滑模控制理论及应用>张袅娜 第1章 (简单的滑模控制理论框架) ② <滑模变结构控制MATLAB仿真基本理论与设计方法(第3版)>刘金琨 第1-7章(理论 ...

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

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

  7. matlab中滑模boost,一种基于滑模控制的新型Boost正弦波逆变器

    (17) 式中 , 滑模存在的条件是要求所有在滑模面附近的状态轨迹都指向滑模面.通过滑模控制器产生的信号控制开关管的动作来保证系统的状态稳定在滑模面附近,因此,滑模控制器需满足式(18) 使开关管变量 ...

  8. 【控制】滑模控制,滑模面的选择

    目录 滑模控制的一点笔记和看法 1 [控制]滑动模型控制(Sliding Mode Control) 2 [控制]滑模控制,小例子,有程序有结果图 3 [控制]滑模控制,滑模面的选择 文章目录 1 问 ...

  9. 非奇异终端滑模控制(NTSM)

    非奇异终端滑模控制(Nonsingular Terminal Sliding Mode Contral,NTSM) 在终端滑膜控制中,最后的部分我们抛出了奇异性的问题,所以在此基础上,我们提出非奇异终 ...

最新文章

  1. php mysql orm_PHP ORM操作MySQL数据库
  2. Html中的次方符号怎么写
  3. 怎么把分钟转化成秒_怎么利用抖音短视频引流,手把手教你如何玩转抖音流量...
  4. poj3164(最小树形图朱刘算法模板)
  5. sql_1-2_get基于盲注
  6. 让程序员设计界面的后果
  7. MVC3 Razor语法速查
  8. [JavaScript]JavaScript处理iframe的动作
  9. HCIE-Security Day32:IPSec:深入学习ipsec ikev1、主模式、野蛮模式、快速模式、dh算法、预共享密钥
  10. R语言模拟:Bias Variance Trade-Off
  11. ISODrive使Ubuntu Touch手机变身电脑系统启动盘(UBports之“DriveDroid”)
  12. 华为网络技术大赛笔记——存储器基础原理
  13. 计算机进入桌面黑屏怎么办,电脑进入桌面后黑屏如何修复 电脑经常进入桌面之后黑屏的处理方法...
  14. SAP CO-PA(盈利能力分析)
  15. 已知两个向量的坐标求夹角的大小_两个向量的夹角怎么算
  16. 无线高清会议室终端之Miracast/HDCP
  17. ant design vue 组件 Tree
  18. 硬盘分类及挂载硬盘知识补充和介绍
  19. 零基础开始网页制作-前端开发
  20. [原]Wap push over sms 实践

热门文章

  1. 七大查找算法(Java版)
  2. Regular Expressions (1) ---- What is Regular Expressions?
  3. 网页数据采集器 linux,UL for Linux树莓派数据采集
  4. RabbitMQ-直连模型
  5. JMeter压力测试基础
  6. CSS控制,使用图片作为序列标记
  7. 不同种类锅炉用燃料油的性质
  8. google vr 入门之制作简易的VR播放器(三),移动应用开发课程报告
  9. 遥感数字图像处理教程复习整理
  10. 百度飞桨《青春有你2》七天训练营心得