滑模控制(Sliding Mode Control, SMC)总结
一、基本原理
滑模控制是一种非线性、鲁棒性极强的控制方法。它通过设计一个滑动面,强制系统状态快速趋近并沿着滑动面运动,从而实现稳定控制。
滑模控制分两个阶段:
- 趋近阶段:系统状态被快速驱动到滑动面上;
- 滑动阶段:系统状态沿滑动面稳定滑行至目标点。
二、滑动面的设计
滑动面通常定义为状态空间的线性组合形式:
\[s(x, t) = C \, x(t) = 0
\]
例如,对于二阶系统,若跟踪目标为参考信号 (x_d(t)),可定义跟踪误差:
\[e(t) = x(t) - x_d(t)
\]
滑动面可设计为:
\[s(t) = \dot{e}(t) + \lambda e(t)
\]
其中 (\lambda > 0) 是待设计参数。
三、滑模控制律的构成
滑模控制律由两部分组成:
\[u(t) = u_{\text{eq}}(t) + u_{\text{sw}}(t)
\]
1. 等效控制律\(u_{\text{eq}}(t)\)
等效控制律满足在滑动面上运动时:
\[\dot{s}(t) = 0
\]
以二阶非线性系统为例(假设系统形式为 (\ddot{x} = f(x,\dot{x}) + b(x,\dot{x}),u)):
- 令$ \dot{x}(t) = x_2 $,则滑动面\[s(t) = x_2 - \dot{x}_d + \lambda(x_1 - x_d). \]
- 在滑动面上需保证 (\dot{s}(t) = 0)。由系统方程可得\[\dot{s}(t) = \dot{x}_2 - \ddot{x}_d + \lambda(\dot{x}_1 - \dot{x}_d) = f(x,\dot{x}) + b(x,\dot{x})\,u - \ddot{x}_d + \lambda(x_2 - \dot{x}_d). \]
把它置零并解出\(u\) 即可得到 \(u_{\text{eq}}(t)\):
\[u_{\text{eq}}(t)
= \frac{-f(x, \dot{x}) + \ddot{x}_d - \lambda(x_2 - \dot{x}_d)}{b(x, \dot{x})}.
\]
2. 切换控制律 \(u_{\text{sw}}(t)\)
典型的滑模切换控制律采用符号函数:
\[u_{\text{sw}}(t) = -k \,\mathrm{sgn}\bigl(s(t)\bigr),
\]
其中:
- \(k > 0\) 为控制增益;
- \(\mathrm{sgn}(\cdot)\) 为符号函数,定义为
\[\mathrm{sgn}(s) =
\begin{cases}
1, & s>0 \\\\[4pt]
-1, & s<0 \\\\[4pt]
0, & s=0
\end{cases}
\]
四、切换律的改进及影响分析
若将上述切换控制律改为连续形式:
\[u_{\text{sw}}(t) = -k \, s(t),
\]
- 控制律变为连续的线性反馈;
- 系统从有限时间收敛(原滑模特性)变为渐近收敛;
- 抖振现象明显减弱或消失,但系统鲁棒性降低。
推荐实际应用中的折中方法:
为了既减小抖振,又保留较好的鲁棒性,可采用平滑函数或饱和函数,例如:
-
饱和函数(Saturation):
\[u_{\text{sw}}(t) = -k\, \mathrm{sat}\Bigl(\frac{s}{\epsilon}\Bigr), \]其中
\[\mathrm{sat}(x) = \begin{cases} x, & |x| \le 1 \\[3pt] \mathrm{sgn}(x), & |x|>1 \end{cases} \] -
平滑函数(Sigmoid或Tanh):
\[u_{\text{sw}}(t) = -k \,\tanh(\alpha\,s),\quad \alpha>0. \]
五、滑模控制的优缺点总结
| 优点 | 缺点 |
|---|---|
| 鲁棒性极强,对模型不确定性和外界扰动敏感度低 | 存在抖振(Chattering) |
| 响应快速,可在有限时间内收敛至滑动面 | 控制输入可能剧烈开关,可能对执行器不利 |
| 设计相对简单,思路清晰 | 需要平滑或饱和处理减少抖振 |
六、实际应用领域
- 飞行器姿态控制、无人机控制
- 工业机器人轨迹跟踪控制
- 电机伺服系统速度/位置控制
- 汽车底盘控制(ABS防抱死制动系统、车辆稳定控制等)
浙公网安备 33010602011771号