通俗理解滑模变结构控制(1)

1.什么是滑模变结构控制

在开始介绍滑模变结构控制之前,最好先学习一些线性控制的基础,知道什么是李亚普诺夫函数,怎么判断系统稳定性,有一点相轨迹的基础。有了这些基础知识才可以理解这篇文章。好了,废话不多说了,让我们开始滑模变结构控制之旅吧。
我们先从一个例子开始吧,假设有一个二阶系统如下:
{ x 1 ˙ = x 2 x 2 ˙ = 2 x 2 − x 1 + u \left\{\begin{matrix} \dot{x_{1}}=x_{2}\\ \dot{x_{2}}=2x_{2}-x_{1}+u \end{matrix}\right. {x1˙=x2x2˙=2x2x1+u
假设我们令 u = − k x 1 u=-kx_{1} u=kx1,其中k的值取4和-4。
k = 4 k=4 k=4时,上式可以改写如下
{ x 1 ˙ = x 2 x 2 ˙ = 2 x 2 − 5 x 1 \left\{\begin{matrix} \dot{x_{1}}=x_{2}\\ \dot{x_{2}}=2x_{2}-5x_{1} \end{matrix}\right. {x1˙=x2x2˙=2x25x1
y = x 1 , y ˙ = x 2 y=x_{1},\dot{y}=x_{2} y=x1,y˙=x2,则上式可以改写为 y ¨ − 2 y ˙ + 5 y = 0 \ddot{y}-2\dot{y}+5y=0 y¨2y˙+5y=0该微分方程有一对共轭复根 λ 1 , 2 = 1 ± 2 i \lambda _{1,2}=1\pm 2i λ1,2=1±2i,它的实部为正,是一个不稳定系统,其相轨迹图如下
k=4
k=4时相轨迹

k=-4
在这里插入图片描述

从图中可以看出,不管k=4还是-4,系统都无法稳定,此时过相坐标系原点做一条直线,直线方程如下: s = y ˙ + y = 0 s=\dot{y}+y=0 s=y˙+y=0其中s直线上方s>0,s直线下方s<0,如上图所示。打阴影的部分是ys<0的部分,其余部分ys>0,ys表示y乘以s。此时我们按下面的方程取k:当ys>0时,k=4;ys<0时,k=-4。 k = { 4 , y s > 0 − 4 , y s < 0 k=\left\{\begin{matrix} 4 ,& ys>0 & \\ -4, & ys<0 & \end{matrix}\right. k={4,4,ys>0ys<0此时相轨迹图变换如下:在这里插入图片描述
直线s=0与y=0(即 y ˙ \dot{y} y˙轴)将坐标系分为四个区域,ys>0时,k=4;ys<0时,k=-4。你会发现系统的相轨迹最终会运动到s=0这条直线上,而 s = y ˙ + y = 0 s=\dot{y}+y=0 s=y˙+y=0,它具有负的特征根 λ = − 1 \lambda =-1 λ=1,因此在s=0这条直线上的点最终会收敛到 y = 0 , y ˙ = 0 y=0,\dot{y}=0 y=0,y˙=0,即坐标原点。此时系统就可以稳定,这个控制方法就是滑模变结构控制。
变结构指的是控制u在4x与-4x之间的切换,滑模指在s=0这条直线上滑动到原点。因此滑模变结构控制器设计也包括两部分,一是能从状态空间的任何位置有限时间到达滑模面s=0,二是在滑模面上可以收敛到原点(平衡点)。

2.滑模变结构的一些基本知识

由上例的图形可知,s=0两侧的相轨线都吸引向切换线 s=0。因此状态轨线一旦到达直线s=0上,就沿此直线收敛到原点。
这种沿s=0滑动至原点的特殊运动称为滑动模态运动,直线s=0称为切换线(切换面)或切换流形(switching manifold),相应函数称为切换函数。
考虑一般情况,系统表述如下: x ˙ = f ( x ) , x ∈ R n \dot{x}=f(x),x\in R^{n} x˙=f(x),xRn在系统状态空间存在超曲面 s ( x ) = s ( x 1 , x 2 , ⋅ ⋅ ⋅ x n ) = 0 s(x)=s(x_{1},x_{2},\cdot \cdot \cdot x_{n})=0 s(x)=s(x1,x2,xn)=0,如下图所示:
在这里插入图片描述
它将状态空间分为上下两个部分:s>0与s<0,在切换面上的运动点有三种情况:
1.常点,即图中A点。系统运动点运动到切换面s=0时,并不停留在切换面上,而是穿越此点,在A点旁边,满足以下关系: s ˙ > 0 , s > 0 \dot{s}>0,s>0 s˙>0,s>0 s ˙ > 0 , s < 0 \dot{s}>0,s<0 s˙>0,s<0当处于s=0上方即s>0时,s不断变大,远离s=0;当处于s=0下方即s<0时,s不断变大,接近s=0。(也可以从s>0穿越到s<0,方向与A处箭头反向)
2.起点,如图中B点。系统运动点到达切换面s=0附近时,从切换面的两边离开该点,在B点附近,满足以下关系: s ˙ > 0 , s > 0 \dot{s}>0,s>0 s˙>0,s>0 s ˙ < 0 , s < 0 \dot{s}<0,s<0 s˙<0,s<0
3.止点,如图中C点。系统运动点到达切换面s=0附近时,从切换面的两边趋向于止点,并停留在切换面上。在C点附近满足以下关系: s ˙ > 0 , s < 0 \dot{s}>0,s<0 s˙>0,s<0 s ˙ < 0 , s > 0 \dot{s}<0,s>0 s˙<0,s>0
由第一节可知,我们在设计滑模变结构控制器时,需要让状态空间中的点有限时间到达滑模面s=0,即图中C点,所以我们在设计控制器时得满足C点条件,在s>0时, s ˙ < 0 \dot{s}<0 s˙<0;s<0时, s ˙ > 0 \dot{s}>0 s˙>0

3.滑模控制器设计

通过前两章的介绍,我们理清了要设计滑模控制器需要满足以下条件:
1.稳定性条件:在s=0的滑模面上,状态是收敛的,即滑动模态存在;
2.可达性条件:在切换面s=0以外的运动点将于有限时间内到达切换面;
3.保证滑模运动的稳定性;
4.达到控制系统运动品质要求。
接下来开始根据这四个条件来叙述如何设计滑模变结构控制器,首先是滑动模态存在

针对线性系统 x ˙ = A x + b u \dot{x}=Ax+bu x˙=Ax+bu可以设计如下的滑模面 s ( x ) = ∑ i = 1 n − 1 c i x i + x n s(x)=\sum_{i=1}^{n-1}c_{i}x_{i}+x_{n} s(x)=i=1n1cixi+xn在滑模控制中,要保证多项式 p n − 1 + c n p n − 2 + . . . + c 2 p + c 1 p^{n-1}+c_{n}p^{n-2}+...+c_{2}p+c1 pn1+cnpn2+...+c2p+c1为Hurwitz(简单来说这条条件是为了满足状态在s=0的滑模面上可以收敛)什么是Hurwitz,即上述多项式的特征值的实数部分在左半平面,即为负,下面举例说明:
当n=2时, s ( x ) = c 1 x 1 + x 2 s(x)=c_{1}x_{1}+x_{2} s(x)=c1x1+x2,为了保证多项式p+c1为Hurwitz,需要多项式p+c1=0的特征值实数部分为负,即c1>0.

接下来介绍可达性条件,即状态x从状态空间中任意一点出发,可以在有限时间到达s=0的滑模面上,此时我们可以采用李雅普诺夫间接法来分析,从前面可知,切换函数s是状态变量x的函数,取以下的李雅普诺夫函数 V = 1 2 s 2 V=\frac{1}{2}s^{2} V=21s2对时间求导可得 V ˙ = s s ˙ \dot{V}=s\dot{s} V˙=ss˙为了使系统稳定,我们需要使 V ˙ < 0 \dot{V}<0 V˙<0,即 s s ˙ < 0 s\dot{s}<0 ss˙<0,此时系统对于s而言是渐进稳定,不能保证其有限时间到达s=0的滑模面上(渐进稳定是当t趋于无穷时,状态变量x趋于0,即无限时间到达),因此需要 s s ˙ < − σ s\dot{s}<-\sigma ss˙<σ σ \sigma σ是一个极小的正数。
但是每次设计总不能都用李雅普诺夫函数判断,于是人们就提出了趋近律这一概念,常用的趋近律有如下几种:
1.等速趋近律: s ˙ = − ε s g n ( s ) \dot{s}=-\varepsilon sgn(s) s˙=εsgn(s), ε > 0 \varepsilon>0 ε>0。sgn(s)是符号函数,s>0时,sgn(s)=1;s<0时,sgn(s)=-1;s=0,sgn(s)=0。
2.指数趋近律: s ˙ = − ε s g n ( s ) − k s \dot{s}=-\varepsilon sgn(s)-ks s˙=εsgn(s)ks, ε > 0 , k > 0 \varepsilon>0,k>0 ε>0,k>0
3.幂次趋近律: s ˙ = − k ∣ s ∣ α s g n ( s ) − k s \dot{s}=-k |s|^{\alpha }sgn(s)-ks s˙=ksαsgn(s)ks, k > 0 , 1 > α > 0 k>0,1>\alpha>0 k>0,1>α>0。至于趋近律怎么使用,看第四节的例子,毕竟理论毕竟没有实操刺激)

4.滑模控制器例子

随意举一个简单例子如下: { x 1 ˙ = x 2 x 2 ˙ = x 3 x 3 ˙ = x 1 + x 2 x 3 + u \left\{\begin{matrix} \dot{x_{1}}=&x_{2}& \\ \dot{x_{2}}=&x_{3}& \\ \dot{x_{3}}=&x_{1}&+&x_{2}x_{3}+u \end{matrix}\right. x1˙=x2˙=x3˙=x2x3x1+x2x3+u设计一个镇定控制器,使系统稳定
设计步骤如下:
Step1.先设计切换函数s,其中切换函数s为Hurwitz,s设计如下: s = x 3 + 2 x 2 + x 1 s=x_{3}+2x_{2}+x_{1} s=x3+2x2+x1其中 c 1 = 1 , c 2 = 2 c_{1}=1,c_{2}=2 c1=1,c2=2,多项式可以写为 p 2 + 2 p + 1 p^{2}+2p+1 p2+2p+1,该多项式具有两个相同的特征根-1,满足Hurwitz条件,s设计完毕。
Step2.设计切换函数的导数,使系统满足可达性条件,即有限时间到达滑模面。对切换函数s求导 s ˙ = x 3 ˙ + 2 x 2 ˙ + x 1 ˙ \dot{s}=\dot{x_{3}}+2\dot{x_{2}}+\dot{x_{1}} s˙=x3˙+2x2˙+x1˙将系统方程代入,替换掉 x 3 ˙ , x 2 ˙ , x 1 ˙ \dot{x_{3}},\dot{x_{2}},\dot{x_{1}} x3˙,x2˙,x1˙,可得 s ˙ = x 1 + x 2 + 2 x 3 + x 2 x 3 + u \dot{s}=x_{1}+x_{2}+2x_{3}+x_{2}x_{3}+u s˙=x1+x2+2x3+x2x3+u我们可以看到, s ˙ \dot{s} s˙中出现我们想要设计的控制u,但此时我们无法得到u,因为我们不知道 s ˙ \dot{s} s˙是多少。这时我们前面提到的趋近律就起了作用,我们令 s ˙ \dot{s} s˙=趋近律,就可以算出u,这个u就是滑模控制器的控制律。例如,取指数趋近律 − s g n ( s ) − s -sgn(s)-s sgn(s)s,那么 u = − s − s g n ( s ) − x 1 − x 2 − 2 x 3 − x 2 x 3 u=-s-sgn(s)-x_{1}-x_{2}-2x_{3}-x_{2}x_{3} u=ssgn(s)x1x22x3x2x3 s ˙ = − s g n ( s ) − s \dot{s}=-sgn(s)-s s˙=sgn(s)s
Step3.稳定性证明,取李雅普诺夫函数 V = 1 2 s 2 V=\frac{1}{2}s^{2} V=21s2对李亚普诺夫函数求导 V ˙ = s s ˙ \dot{V}=s\dot{s} V˙=ss˙ V ˙ = − ∣ s ∣ − s 2 \dot{V}=-|s|-s^{2} V˙=ss2李亚普诺夫函数的导数是严格负定的,因此系统渐进稳定,即s会趋于0,又因为 s = x 3 + 2 x 2 + x 1 s=x_{3}+2x_{2}+x_{1} s=x3+2x2+x1因此 x 3 , x 2 , x 1 x_{3},x_{2},x_{1} x3,x2,x1都趋于0,达到了使系统镇定的目的,控制器设计完成,控制律如下 u = − s − s g n ( s ) − x 1 − x 2 − 2 x 3 − x 2 x 3 u=-s-sgn(s)-x_{1}-x_{2}-2x_{3}-x_{2}x_{3} u=ssgn(s)x1x22x3x2x3
接下来我会用Matlab simulink来验证控制器设计的正确性(下一章)

  • 112
    点赞
  • 508
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值