---
title: 滑模控制
published: 2026-04-14
updated: 2026-04-16
description: ''
tags: []
category: 知识
---

### Bang-bang控制（普通滑模）

$u_{BB} = -K ,\text{sgn}(s) = \begin{cases} -K  & s > 0 \quad \text{(全力反向输出，最大负向力矩)}\\ \ +K  & s < 0 \quad \text{(全力正向输出，最大正向力矩)} \end{cases}$

Bang-Bang 控制是最原始的开关控制形式。因此有明显的高频抖振。于是有两种改进方法：滞环控制和SMC。

### 滞环控制

将传统的 Bang-bang控制引入滞环宽度 2Δ 后，控制量分成两种状态（设误差 e = r - y）：

$u_{hys} = \begin{cases} U_{\max}  & e > +\Delta \quad \text{(误差偏大时，全力正向输出)}\\ \ U_{\min}  & e < -\Delta \quad \text{(误差偏小时，全力反向输出)} \end{cases}$

而在$-\Delta \le e \le +\Delta$区间内，控制量保持上一次的输出状态不变

滞环控制本质上是用一个“死区”宽度 2Δ 把纯符号函数控制变得不再那么敏感。在滞环带（-Δ 到 +Δ）内部，系统靠惯性继续运行，从而减少开关频率。

Δ 的设置参考噪声水平和稳态误差带：Δ 越大，开关次数越少，系统越平稳，但跟踪精度会下降；Δ 取得越小，控制越精准，但开关频率会显著升高，容易产生高频抖振甚至烧毁功率器件。

滞环控制适合对响应速度要求高、对精确平稳性要求不高的场合。

### SMC（带边界层滑模）

将传统的$u_{PD} = - (K_p e + K_d \dot{e})$控制引入边界层 $\Phi$ 后，控制分成两部分（设滑模面 $s = c e + \dot{e}$）：

$u_{SMC} = -K \text{sat}(s/\Phi) =\begin{cases} -K \text{sgn}(s) & |s| > \Phi \quad \text{(外部：非线性满载输出)} \\ - \left( \frac{K c}{\Phi} e + \frac{K}{\Phi} \dot{e} \right) & |s| \le \Phi \quad \text{(内部：超大增益 PD 控制)} \end{cases}$

可以看出，SMC控制相当于用最大控制量K截断了$|s| > \Phi$，防止偏移过大时控制量过大烧毁电机，在$s=\Phi$时上下两个分段函数值相同，函数还是连续的。K的设置参考 K>|外部扰动| + |模型不确定性|，因此SMC最后调好后会很“硬”。

调参时，很多工程中会先按扰动上界设一个较大的 K，再通过 Φ 来“软化”边界层内的行为。Φ 越大抖振越小，但进入边界层后控制变软，抗扰动能力下降，稳态误差增大，Φ 越小控制越硬，跟踪越精准，但抖振会重新变严重（接近普通滑模）。c 越大，滑模面越陡，系统响应越快，但对噪声越敏感。

当$\Phi=0$时，退化为Bangbang控制。

由于是PD控制没有I，如果系统存在持续的外部恒定扰动，在边界层内就会产生稳态误差。系统最终会在$-\Phi<s'\neq s<\Phi$ 的地方平衡。于是 ISMC 加入积分项：$- \left( \frac{K c}{\Phi} e + \frac{K}{\Phi} \dot{e} + \frac{K K_i}{\Phi} \int e dt \right)$ 进行改进。2

除此之外SMC还有4个针对问题的改进：

* <br />

  ##### TSMC终端滑模控制

  滑模面 $s = ce + \dot{e} = 0$ 是一阶线性微分方程 $\dot{e} = -ce$， $e$ 以指数形式收敛到 0 ，越接近 0 速度越慢。引入非线性的分数次幂$s = \dot{e} + \beta e^{q/p}$来改变滑模面的形状， 使系统在接近原点时，导数项急剧增大。

  <img src="/Users/cr/Library/Application Support/typora-user-images/image-20260412124917876.png" alt="image-20260412124917876" style="zoom:35%;" />

* <br />

  ##### STA超螺旋算法

  边界层（饱和函数法）虽然缓解了抖振，但它是以牺牲一定的抗扰动精度为代价的（变软了）。把分为两部分：

  $\begin{cases}u= u_1 + u_2 \\ u_1 = -k_1 \sqrt{|s|} \ \mathrm{sgn}(s) \\ \dot{u}_2 = -k_2 \ \mathrm{sgn}(s) \end{cases} $

  积分项 $u_2$ 把高频的符号函数 $\text{sgn}(s)$ 给“积分”了一次，输出变成了一个连续的折线信号；而 $u_1$ 项包含 $\sqrt{|s|}$，在 $s \to 0$ 时增益趋于无穷，保证了极强的鲁棒性。

  **结果：** **输出的控制量** **$u$** **是连续的！** 它在理论上彻底消除了（或者说极大平滑了）抖振，同时依然保持了滑模对匹配扰动的绝对鲁棒性。

* <br />

  ##### ASMC自适应滑模控制

  系统扰动时大时小，K一直太大浪费能量，把$\dot{\hat{K}} = \gamma |s|$变成动态的，当系统偏离滑模面（$|s|$ 变大），干扰变大就把增益 $K$ 调高。

* <br />

  ##### GSMC全局滑模控制

  滑模控制只有在状态到达滑模面（$s=0$）后，才具有抗干扰能力。从初始状态向滑模面运动的这段时间（到达阶段），系统容易受扰动影响。设计滑模面时加入一个随时间衰减的初始误差项$s(t) = c e(t) + \dot{e}(t) - (c e(0) + \dot{e}(0)) e^{-\alpha t}$. 当 $t=0$ 时，$s(0) = 0$。系统一开始就在滑模面，后面新加的项随时间衰减。

