7. 滑模控制
7.1 滑动曲面
考虑单输入动态系统
x(n)=f(x,x˙,⋯,x(n−1),t)+b(x,x˙,⋯,x(n−1),t)u(7.1)
其中标量x是我们所感兴趣的输出,标量u是控制输入。
- 在方程(7.1)中函数f(通常是非线性的)不是精确已知,但f不精确性范围的上界是一个已知连续函数。(f^(x,t)−f(x,t)⩽F(x,t),其中f^(x,t),F(x,t)已知)
- 类似地,控制增益b不精确知道,但其符号已知且其范围受一个连续函数界定。
- 现在的控制问题是在f和b具有建模不精确性的情况下,使状态x跟踪特定的时变状态xd=[xd,x˙d,⋯,xdn−1]T。
7.1.1 记号简化
跟踪误差x~
x~=x−xd=[x~,x~˙,⋯,x~(n−1)]T
选取中间变量s,要求
- s˙包含u
- s→0⇒x~(t)→0
跟踪n维向量xd的问题能够有效地被用s表示的一阶镇定问题取代。
e.g. n=2,系统
x¨=f+u
选择s
s=x~˙+λx~
- 验证条件s˙=x¨−x¨d+λx~˙=f+u−x¨d+λx~˙。s˙包含u
- 对于方程x~˙+λx~=s,可以看成输入s,输出x~的低通滤波器

滑动曲面是相平面上斜率为一λ,并包含时变点xd=[xd,x˙d]T的一条直线。从任何一点开始,状态轨线都可在小于η∣s(t=0)∣的有限时间内到达时变曲面,然后沿曲面以时间常数1/λ指数滑动到xd。

n=n时,选择s
s=(dtd+λ)n−1x~(7.2)
- 验证条件s˙包含u
- 输入s,输出x~的低通滤波器

进一步地,s的界可直接转换成跟踪误差向量x的界限,因此标量s是跟踪性能的真实度量。
∣s∣⩽Φ as t→∞
若n=2
x~(t)=Effect of Initial Condition+∫0te−λ(t−r)s(r)dr
第一项趋近于0,因为λ>0。第二项
∫0te−λ(t−r)s(r)dr⩽∫0te−λ(t−r)s(r)dr⩽Φ∫0te−λ(t−r)dr⩽λΦ
若n=n时,∣x~∣⩽λn−1Φ
- 由式(7.2)可知s仅是位置误差和速度误差的加权和
- 跟踪x≡xd的问题即等价于当t>0时轨线必须停留在曲面s(t)上;跟踪n维向量xd的问题可简化为使标量s恒为零的问题。
现在可通过选择式(7.1)中的控制u,使得在曲面 s(t)之外满足
21dtds2⩽−η∣s∣(7.3)
以得到使得s恒为零的简化的一阶问题,其中η是正常数。
- 本质上,式(7.3)表达的是以s²为度量到曲面的平方"距离"沿所有系统轨线减小。因此这就使轨线趋于曲面s(t)。轨线一旦进入曲面就将一直停留在该曲面上。换句话说,系统轨线满足式(7.3),即滑动条件,使曲面成为一个不变集。
- 此外,式(7.3)表明在有一些干扰和系统不确定时,仍然保持曲面是个不变集。不在曲面上的轨线仍然能指向着曲面运动。满足式(7.3)的曲面s(t)称为滑动曲面,且系统性态一旦在曲面就被称为滑动形态或者滑动模。

- 最后,满足式(7.3)的条件保证了即使x(t=0)偏离了xd(t=0)时,系统轨线仍然能在小于η∣s(t=0)∣的有限时间内到达曲面s(t)。
21dtds2⩽−η∣s∣⇒s⋅s˙⩽−η∣s∣⇒s˙⩽−η(s>0)
e.g. 系统
x¨+α(t)x˙2cos(3x)=u
其中,α(t)未知,但是满足1⩽α(t)⩽2
选择f^=−1.5x˙2cos(3x),F=0.5x˙2∣cos(3x)∣
选择s
s=x~˙+λx~
则
s˙=x¨−x¨d+λx~˙=f+u−x¨d+λx~˙
使得s˙=0一个连续控制规律的最好逼近u^为
u^=−f+x¨d−λx~˙
此时u=u^,s˙=f−f^
不管动态f的不确定性,为了满足滑动条件(7.3),在穿越曲面s=0时,在u^上加上一不连续项,即
u=u^−k sgn(s)
其中,sgn是符号函数
sgn(s)=+1,s>0sgn(s)=−1,s<0
考虑滑动条件(7.3)
21dtds2=s⋅s˙=[f−f^−k sgn(s)]s=(f−f^)s−k∣s∣
因此,取
k=F+η
从而满足
21dtds2⩽−η∣s∣
故取u
u=u^1.5x˙2cos(3x)+x¨d−λx~˙−(k0.5x˙2∣cos(3x)∣+η) sgn(sx~˙+λx~)
总结
- 方程(7.2)和(7.3)的思想就是挑选跟踪误差的一个有好性态的函数(它就是s)。然后忽略模型不确定性和干扰,选择(7.1)中的反馈控制规律u使得s²是闭环系统的类李雅谐诺夫函数。
- 控制器设计包括两个步骤。第一个步骤,选择反馈控制规律u使得滑动条件(7.3)成立。
当然,考虑到模型不准确和干扰的存在,控制规律在穿过s(t)时必须是不连续的。由于相应控制切换的实现必然是非理想的(例如,在实际中切换不是瞬间的,且s的值不可能无限精确),这就导致了颤振。
在实际中颤振是不希望的,因为它需要高的控制功率,并且可能进一步激发在建模中被忽略的高频动态(例如未建模的结构模态、被忽略的时滞等)。
- 因此,在第7.2节中将要详细讨论的第二个步骤中,不连续控制规律u将会被适当平滑以得到控制带宽和跟踪精确度之间的最佳权衡:第一步考虑的是参数不确定性,而第二步得到高频未建模动态的鲁棒性。

参考
【1】Applied Nonlinear Control,Slotine and Li,Prentice-Hall 1991:Sections 7.1
【2】https://www.bilibili.com/video/BV1Tk4y167kR?p=6&vd_source=b1a52fdb6c7481b4e8c78d03e9a9acb0