control_tutorial

第9章:滑模控制

滑模控制(Sliding Mode Control, SMC)是一种鲁棒非线性控制方法,通过设计控制律使系统状态在有限时间内到达预设的滑模面,并沿滑模面滑动至平衡点。其最大特点是对系统参数变化和外部扰动具有强鲁棒性,在电机控制、机器人控制、航空航天等领域得到广泛应用。本章将系统介绍滑模控制的基本原理、设计方法、实际问题及高阶扩展。

9.1 滑模控制基本原理

9.1.1 滑模控制的核心思想

滑模控制的本质是一种变结构控制(Variable Structure Control, VSC),通过切换控制结构使系统状态被约束在预定的流形(滑模面)上滑动。这种控制策略包含两个阶段:

  1. 到达阶段(Reaching Phase):系统状态从任意初始位置向滑模面运动
  2. 滑动阶段(Sliding Phase):系统状态沿滑模面滑动至原点

滑模控制的独特之处在于其”不连续控制”特性。传统控制器通常产生连续的控制信号,而滑模控制器在滑模面两侧采用不同的控制律,形成一种”开关”控制。这种看似简单粗暴的策略,却能够提供极强的鲁棒性——对于满足匹配条件的扰动和参数不确定性,滑模控制可以实现完全的不变性。

考虑一个简单的二阶系统示例:

    Phase Portrait
    
    x₂ ↑
       |     
       |  ╱ Sliding Surface s=0
       | ╱
    ───┼───────→ x₁
      ╱|
     ╱ | Reaching Motion
    ╱  | ↘
   ╱   |  System Trajectory

在相平面上,系统轨迹首先被驱动向滑模面(粗箭头所示的到达运动),一旦到达滑模面,系统状态将被”捕获”并沿着滑模面滑动至原点。关键在于,即使存在扰动试图将系统状态推离滑模面,控制器的切换作用会立即将其拉回,形成一种”滑动”运动。

9.1.2 数学描述

考虑非线性系统:

\[\dot{x} = f(x,t) + g(x,t)u + d(t)\]

其中:

滑模控制设计步骤:

  1. 定义滑模面: \(s(x) = c^T x = c_1x_1 + c_2x_2 + ... + c_nx_n = 0\)

    其中 $c$ 的选择保证在滑模面上系统具有期望的动态特性。

  2. 设计控制律: 控制律通常包含等效控制和切换控制两部分: \(u = u_{eq} + u_{sw}\)

    • 等效控制 $u_{eq}$:维持系统在滑模面上
    • 切换控制 $u_{sw}$:驱动系统到达滑模面
  3. 到达条件: 确保系统状态到达并维持在滑模面上,需满足滑模到达条件: \(s\dot{s} < 0\)

    更强的条件是 η-到达条件: \(s\dot{s} \leq -\eta|s|, \quad \eta > 0\)

9.1.3 滑模存在条件

为了保证滑模的存在性和到达性,需要满足以下条件:

  1. 匹配条件:扰动和不确定性必须在控制输入的作用范围内。数学上,如果扰动 $d$ 可以表示为 $d = g(x,t)\Delta$,其中 $g(x,t)$ 是控制输入的系数矩阵,则称扰动满足匹配条件。这是滑模控制能够完全抑制扰动的关键前提。

  2. 可达性条件:从任意初始状态都能到达滑模面。这要求控制器有足够的”权威”来驱动系统状态。数学表达为:在滑模面两侧,$\dot{s}$ 的符号必须相反,即:
    • 当 $s > 0$ 时,$\dot{s} < 0$
    • 当 $s < 0$ 时,$\dot{s} > 0$
  3. 滑动条件:一旦到达滑模面,系统保持在其上。这通过等效控制来保证,等效控制是使系统维持在滑模面上所需的”平均”控制作用。
实际设计中,通常使用Lyapunov方法来验证这些条件。选择Lyapunov函数 $V = \frac{1}{2}s^2$,如果能够证明 $\dot{V} = s\dot{s} < -\eta s $(其中 $\eta > 0$),则同时保证了到达性和有限时间收敛性。

9.1.4 等效控制方法

当系统在滑模面上时,有 $s = 0$ 且 $\dot{s} = 0$。由此可得等效控制:

\[\dot{s} = \frac{\partial s}{\partial x}\dot{x} = \frac{\partial s}{\partial x}[f(x,t) + g(x,t)u_{eq}] = 0\]

解得: \(u_{eq} = -\left(\frac{\partial s}{\partial x}g(x,t)\right)^{-1}\frac{\partial s}{\partial x}f(x,t)\)

9.1.5 理想滑模的特性

理想滑模具有以下重要特性:

  1. 降阶特性:n维系统在(n-1)维滑模面上的运动变为(n-1)阶系统。这种降阶简化了系统分析和设计。例如,二阶系统在一维滑模面 $s = \dot{x} + \lambda x = 0$ 上的运动退化为一阶系统 $\dot{x} = -\lambda x$。

  2. 不变性:对匹配扰动和参数变化完全鲁棒。这是滑模控制最引人注目的特性。只要扰动满足匹配条件且控制增益足够大,系统在滑模面上的运动完全不受扰动影响。这种”绝对鲁棒性”在其他控制方法中很难实现。

  3. 有限时间收敛:状态在有限时间内到达滑模面。与渐近稳定不同,滑模控制可以保证系统在有限时间 $T_r$ 内到达滑模面: \(T_r \leq \frac{|s(0)|}{\eta}\) 其中 $\eta$ 是到达律参数。这对于需要快速响应的应用特别重要。

  4. 解耦特性:对于多输入多输出系统,合理设计的滑模面可以实现输入输出解耦,简化控制器设计。

  5. 参数不敏感性:滑模控制的性能主要取决于滑模面的选择,而对控制增益的具体值不敏感(只要足够大)。这降低了对精确模型的依赖。

9.2 滑模面设计

9.2.1 线性滑模面设计

对于跟踪控制问题,定义跟踪误差: \(e = x - x_d\)

其中 $x_d$ 是期望轨迹。经典的线性滑模面设计为:

\[s = \left(\frac{d}{dt} + \lambda\right)^{n-1}e\]

其中 $\lambda > 0$ 是设计参数,$n$ 是系统阶数。

示例:二阶系统 \(s = \dot{e} + \lambda e\)

当 $s = 0$ 时,误差动态为: \(\dot{e} + \lambda e = 0\)

这保证误差指数收敛到零。

9.2.2 积分滑模面

为了消除稳态误差,可以引入积分项:

\[s = e + k_1\dot{e} + k_2\int_0^t e(\tau)d\tau\]

积分滑模面的优势:

积分项的引入特别适用于存在常值或慢变扰动的系统。传统滑模控制依靠高频切换来抑制扰动,但对于常值扰动,这会导致稳态时的持续抖振。积分作用可以”记忆”并补偿这些扰动,实现零稳态误差。

设计积分滑模面时需要注意积分饱和问题。实际实现中常采用抗饱和机制:

\[\int_0^t e(\tau)d\tau = \begin{cases} \int_0^t e(\tau)d\tau & |\int e| < I_{max} \\ I_{max} \cdot sign(\int e) & |\int e| \geq I_{max} \end{cases}\]

积分滑模还能提供”全程鲁棒性”——从初始时刻开始就具有鲁棒性,而非仅在到达滑模面后才有。

9.2.3 终端滑模面

终端滑模面可以实现有限时间收敛:

\[s = \dot{e} + \alpha e + \beta e^{p/q}\]

其中 $\alpha, \beta > 0$,$p, q$ 是正奇数且 $1 < p/q < 2$。

这种设计在 $s = 0$ 时,误差在有限时间内收敛到零: \(T_r = \frac{q}{\beta(q-p)}|e(0)|^{(q-p)/q}\)

9.2.4 时变滑模面

对于时变系统或需要特定过渡过程的情况,可设计时变滑模面:

\[s(x,t) = x - x_r(t)\]

其中 $x_r(t)$ 是预设的参考轨迹,从初始状态逐渐过渡到期望状态。

时变滑模面的设计动机包括:

  1. 软启动需求:避免初始时刻的大控制输入,通过设计 $x_r(t)$ 使其从 $x(0)$ 开始平滑过渡到期望值。

  2. 约束满足:通过合理规划 $x_r(t)$,可以保证状态轨迹满足物理约束(如速度、加速度限制)。

  3. 全局滑模:设计 $s(x(0),0) = 0$,使系统从一开始就在滑模面上,消除到达阶段,从而完全避免到达阶段的鲁棒性损失。

典型的时变参考轨迹设计: \(x_r(t) = x(0)e^{-\alpha t} + x_d(1 - e^{-\alpha t})\)

这提供了从初始状态到期望状态的指数过渡,时间常数 $1/\alpha$ 控制过渡速度。

9.2.5 多输入系统的滑模面设计

对于多输入多输出(MIMO)系统: \(\dot{x} = f(x) + B(x)u\)

其中 $u \in \mathbb{R}^m$,需要设计 $m$ 个滑模面: \(s = [s_1, s_2, ..., s_m]^T = Cx\)

设计原则:

  1. 滑模面之间应该线性无关
  2. 交集 $s_1 = s_2 = … = s_m = 0$ 应具有期望的动态特性
  3. 每个控制输入主要影响对应的滑模变量

9.3 抖振问题与解决方案

9.3.1 抖振产生机理

抖振(Chattering)是滑模控制的主要实际问题,表现为控制输入的高频切换。产生原因包括:

  1. 理想切换的物理不可实现性:执行器带宽有限,无法实现理论上的无穷快切换。实际执行器总有延迟和惯性,导致控制信号在滑模面附近振荡。

  2. 未建模动态:被忽略的高频动态被激发。设计时假设的简化模型忽略了快速寄生动态(如执行器动态、结构柔性等),这些动态在高频切换下被激发,产生振荡。

  3. 采样和量化:数字实现引入的离散化效应。离散采样使得系统无法精确停留在滑模面上,而是在其两侧跳跃。量化误差进一步加剧了这种现象。

  4. 测量噪声:传感器噪声导致滑模变量波动。即使系统实际在滑模面上,噪声也会使测量的滑模变量 $s$ 不为零,触发不必要的控制切换。

    Control Signal with Chattering
    
    u ↑
      |╱╲╱╲╱╲╱╲  High-frequency switching
      |         
    ──┼─────────→ t
      |
      |╲╱╲╱╲╱╲╱

抖振的危害不容小觑:它会导致执行器磨损、能量损耗增加、激发未建模动态甚至导致系统失稳。在实际应用中,抖振抑制往往比理论设计更具挑战性。

9.3.2 边界层方法

用连续函数替代符号函数,在滑模面附近定义边界层:

\[u = -K \cdot sat(s/\phi)\]

其中饱和函数定义为: \(sat(s/\phi) = \begin{cases} sign(s) & |s| > \phi \\ s/\phi & |s| \leq \phi \end{cases}\)

边界层厚度 $\phi$ 的选择需要权衡:

9.3.3 高增益观测器方法

使用观测器估计滑模变量及其导数,实现连续控制:

\[\begin{aligned} \dot{\hat{s}} &= -l_1|s - \hat{s}|^{1/2}sign(s - \hat{s}) + \hat{z} \\ \dot{\hat{z}} &= -l_2sign(s - \hat{s}) \end{aligned}\]

基于观测器的控制律: \(u = -K_1\hat{s} - K_2\hat{z}\)

9.3.4 动态滑模控制

引入积分器或低通滤波器,将不连续控制作用于积分器输入:

\[\begin{aligned} u &= \int_0^t v(\tau)d\tau \\ v &= -K \cdot sign(s) \end{aligned}\]

这种方法产生连续的控制信号,有效抑制抖振。

9.3.5 自适应滑模控制

根据系统状态自适应调整控制增益:

\[K(t) = \begin{cases} K_0 + \gamma\int_0^t |s(\tau)|d\tau & |s| > \epsilon \\ K(t) & |s| \leq \epsilon \end{cases}\]

优点:

自适应策略的核心思想是:只在需要时使用大的控制增益。当系统远离滑模面时,增益自动增大以加快到达;当接近滑模面时,增益保持适中以减少抖振。这种”按需供给”的策略在保证鲁棒性的同时最小化了控制努力。

更先进的自适应方案包括基于滑模变量变化率的增益调整: \(K(t) = K_{min} + (K_{max} - K_{min}) \cdot \tanh(\alpha|s|)\)

这提供了平滑的增益变化,避免了增益切换带来的额外抖振。

9.3.6 模糊滑模控制

使用模糊逻辑平滑切换函数:

IF s is Positive Large THEN u is Negative Large
IF s is Positive Small THEN u is Negative Small
IF s is Zero THEN u is Zero
IF s is Negative Small THEN u is Positive Small
IF s is Negative Large THEN u is Positive Large

模糊化后的控制律自然产生平滑过渡。

9.4 高阶滑模控制

9.4.1 高阶滑模的概念

传统滑模要求 $s = 0$,高阶滑模要求: \(s = \dot{s} = \ddot{s} = ... = s^{(r-1)} = 0\)

其中 $r$ 是滑模阶数。高阶滑模的优势:

高阶滑模的本质是将不连续性”转移”到控制的高阶导数上。对于相对阶为 $r$ 的系统,$r$ 阶滑模可以产生连续的控制信号,同时保持传统滑模的鲁棒性。这解决了抖振与鲁棒性之间的根本矛盾。

从几何角度看,一阶滑模是在 $(n-1)$ 维流形上的运动,而 $r$ 阶滑模是在 $(n-r)$ 维流形上的运动。阶数越高,约束越强,但实现难度也越大。实践中,二阶滑模因其良好的性能与复杂度平衡而最为常用。

9.4.2 二阶滑模控制

最常用的二阶滑模算法包括:

1. Twisting算法 \(u = -k_1sign(s) - k_2sign(\dot{s})\)

条件:$k_1 > k_2 > 0$,$k_1 + k_2 > \Gamma_M$,$k_1 - k_2 > \Gamma_m$

2. Super-twisting算法 \(\begin{aligned} u &= -k_1|s|^{1/2}sign(s) + v \\ \dot{v} &= -k_2sign(s) \end{aligned}\)

优点:不需要 $\dot{s}$ 的信息,广泛应用于观测器设计。

3. 次优算法 \(u = -\alpha U_M sign(s - \frac{1}{2}s_M)\)

其中 $s_M$ 是上一个 $\dot{s} = 0$ 时刻的 $s$ 值。

9.4.3 任意阶滑模控制

准连续高阶滑模控制器: \(u = -\alpha \cdot sign(\sigma_0 + \frac{\sigma_1}{1!}\tau + \frac{\sigma_2}{2!}\tau^2 + ... + \frac{\sigma_{r-1}}{(r-1)!}\tau^{r-1})\)

其中 $\sigma_i$ 是滑模变量的高阶导数估计。

任意阶滑模控制的实现面临两个主要挑战:

  1. 信息需求:需要 $s, \dot{s}, …, s^{(r-2)}$ 的信息,这通常需要高阶微分器或观测器。

  2. 参数调整:随着阶数增加,需要调整的参数急剧增多,缺乏系统的调参方法。

尽管如此,高阶滑模在某些特殊应用中仍有价值,如高精度定位系统,其中控制平滑性至关重要。实际应用中,三阶以上的滑模控制很少使用,二阶滑模通常足以满足大多数工程需求。

9.4.4 高阶滑模微分器

Levant微分器可以精确估计信号导数:

\[\begin{aligned} \dot{z}_0 &= v_0 = -\lambda_0|z_0 - f(t)|^{n/(n+1)}sign(z_0 - f(t)) + z_1 \\ \dot{z}_1 &= v_1 = -\lambda_1|z_1 - v_0|^{(n-1)/n}sign(z_1 - v_0) + z_2 \\ & \vdots \\ \dot{z}_n &= -\lambda_n sign(z_n - v_{n-1}) \end{aligned}\]

在有限时间内,$z_i$ 收敛到 $f^{(i)}(t)$。

9.4.5 积分滑模控制

将积分作用与滑模结合,消除稳态误差:

\[s = e + \lambda_1\dot{e} + \lambda_2\int_0^t e(\tau)d\tau\]

控制律: \(u = u_{eq} - K_1sign(s) - K_2\int_0^t sign(s(\tau))d\tau\)

积分滑模控制的双重积分结构提供了两层鲁棒性保障:滑模面中的积分项处理模型误差和慢变扰动,控制律中的积分项进一步增强了对未知常值扰动的抑制能力。这种设计特别适合精密伺服系统,其中零稳态误差是关键要求。

实施时需要注意防止积分器饱和,通常采用条件积分策略:只在 $ s < s_{threshold}$ 时才进行积分累加,避免在大误差时积分过度累积。

案例1:电动汽车牵引力控制

背景

电动汽车在低附着路面(冰雪路面)上容易出现车轮打滑,需要牵引力控制系统(TCS)防止过度滑转,保证车辆稳定性和加速性能。相比传统内燃机车辆,电动汽车的电机响应更快(毫秒级),为高性能滑模控制提供了理想平台。Tesla Model 3的牵引力控制系统更新频率达1000Hz,充分利用了电机的快速响应特性。

系统建模

单轮模型: \(\begin{aligned} J_w\dot{\omega} &= T_m - T_b - F_x R_w \\ m_v\dot{v} &= F_x - F_{air} - F_{roll} \end{aligned}\)

其中:

轮胎力采用Magic Formula: \(F_x = D\sin(C\arctan(B\lambda - E(B\lambda - \arctan(B\lambda))))\)

参数随路面条件变化:

滑转率定义: \(\lambda = \frac{\omega R_w - v}{\max(\omega R_w, v)}\)

最优滑转率通常在0.08-0.20之间,取决于路面条件。

滑模控制器设计

目标:控制滑转率跟踪最优值 $\lambda^* = 0.15$

  1. 滑模面设计: \(s = \lambda - \lambda^* + k\int_0^t(\lambda - \lambda^*)d\tau\)

  2. 控制律: \(T_m = T_{m,eq} - K \cdot sat(s/\phi)\)

    等效转矩: \(T_{m,eq} = F_x R_w + J_w\left(\frac{\dot{v}}{R_w} + \frac{v\dot{\lambda^*}}{R_w(1-\lambda^*)}\right)\)

  3. 自适应增益: \(K = K_0 + \gamma\int_0^t|s|d\tau\)

仿真结果

在冰面起步加速场景(μ = 0.2):

实车测试结果

在北汽新能源冬季测试场(黑河)进行的实车验证:

测试条件

性能对比: | 控制方法 | 0-60km/h加速时间 | 最大滑转率 | 能量消耗 | 轮胎磨损指数 | |———|—————-|———–|———|————| | 无TCS | 12.3s | 0.85 | 145 Wh | 100% | | PID-TCS | 8.7s | 0.35 | 128 Wh | 62% | | SMC-TCS | 7.2s | 0.18 | 118 Wh | 41% |

滑模控制展现出明显优势,特别是在快速变化的路面条件下(如从冰面过渡到雪地),其鲁棒性确保了平稳的动力传递。

案例2:MIT Cheetah四足机器人地形适应控制

背景

MIT Cheetah机器人需要在不平整地形上保持平衡和稳定行走,面临地形不确定性、接触力突变等挑战。

系统描述

浮动基座动力学: \(M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) = S^Tu + J_c^TF_c\)

其中:

分层滑模控制架构

上层:躯干姿态控制

滑模面(保持躯干水平): \(s_{roll} = \phi + k_\phi\dot{\phi}, \quad s_{pitch} = \theta + k_\theta\dot{\theta}\)

虚拟力控制: \(F_{virtual} = -K_p s - K_d\dot{s} - K_s \cdot sign(s)\)

下层:腿部阻抗控制

每条腿的滑模面: \(s_{leg,i} = (p_{foot,i} - p_{des,i}) + \Lambda(v_{foot,i} - v_{des,i})\)

腿部力控制: \(F_{leg,i} = K_{imp}(p_{des,i} - p_{foot,i}) + D_{imp}(v_{des,i} - v_{foot,i}) - K_{smc}\cdot sat(s_{leg,i}/\phi)\)

地形适应策略

  1. 接触检测与切换
    IF contact_detected AND |F_z| > threshold:
        Switch to stance mode
        Activate impedance + sliding control
    ELSE:
        Switch to swing mode
        Track desired trajectory
    
  2. 自适应滑模增益: 根据地形粗糙度估计调整: \(K_{smc} = K_0(1 + \alpha\hat{\sigma}_{terrain})\)

  3. Super-twisting观测器: 估计外部扰动力: \(\begin{aligned} \dot{\hat{F}}_{ext} &= -l_1|F_{meas} - \hat{F}_{ext}|^{1/2}sign(F_{meas} - \hat{F}_{ext}) + v \\ \dot{v} &= -l_2sign(F_{meas} - \hat{F}_{ext}) \end{aligned}\)

实验结果

在MIT的测试场地:

关键性能指标:

历史人物:Vadim Utkin (1977)

Vadim Ivanovich Utkin(1937-2022)是滑模控制理论的奠基人之一。1977年,他出版了具有里程碑意义的专著《Variable Structure Systems with Sliding Modes》,系统化了滑模控制理论。

主要贡献

  1. 建立了滑模控制的数学基础
  2. 提出了等效控制方法
  3. 发展了滑模观测器理论
  4. 将滑模控制推广到离散系统和分布参数系统

影响:Utkin的工作使滑模控制从苏联的军事应用走向全球工业界,特别是在电机控制、机器人和汽车工业中得到广泛应用。他的”不变性原理”证明了滑模控制对匹配不确定性的完全鲁棒性,这一特性使其成为工业控制的重要工具。

前沿专题:超螺旋算法与有限时间收敛控制

超螺旋算法的最新进展

超螺旋(Super-twisting)算法作为最实用的二阶滑模算法,近年来有重要进展:

1. 自适应超螺旋算法

Shtessel等人(2012)提出的自适应版本: \(\begin{aligned} u &= -k_1(t)|s|^{1/2}sign(s) + v \\ \dot{v} &= -k_2(t)sign(s) \\ \dot{k}_1 &= \begin{cases} \omega_1\sqrt{\gamma_1} & |s| > \mu \\ 0 & |s| \leq \mu \end{cases} \\ \dot{k}_2 &= \begin{cases} \omega_2\gamma_2 & |s| > \mu \\ 0 & |s| \leq \mu \end{cases} \end{aligned}\)

2. 多变量超螺旋

对MIMO系统的扩展: \(\begin{aligned} u_i &= -k_{1i}||s||^{1/2}\frac{s_i}{||s||} + v_i \\ \dot{v}_i &= -k_{2i}sign(s_i) \end{aligned}\)

有限时间收敛控制

1. 固定时间收敛

新型滑模面设计实现与初始条件无关的收敛时间: \(s = \dot{e} + \alpha_1e^{p_1/q_1} + \alpha_2e^{p_2/q_2}\)

其中 $p_1/q_1 > 1$,$0 < p_2/q_2 < 1$。

收敛时间上界: \(T_{max} = \frac{1}{\alpha_1(p_1/q_1 - 1)} + \frac{1}{\alpha_2(1 - p_2/q_2)}\)

2. 预设时间控制

通过时变增益实现精确的预设收敛时间: \(u = -\frac{k(t)}{(T_c - t)^\alpha}sign(s)\)

其中 $T_c$ 是预设收敛时间。

应用前景

  1. 精密制造:纳米级定位控制
  2. 航天器交会对接:严格时间约束下的精确控制
  3. 外骨骼机器人:人机交互的快速响应
  4. 量子系统控制:有限时间内的态制备

本章小结

滑模控制作为一种强鲁棒的非线性控制方法,其核心优势在于:

关键概念

  1. 变结构控制:通过切换控制结构实现鲁棒性
  2. 滑模面:约束系统运动的降维流形
  3. 等效控制:维持滑动运动的连续控制分量
  4. 到达律:保证有限时间到达滑模面

核心公式

实际考虑

滑模控制在电动汽车、机器人、航空航天等领域展现出优异性能,特别是在面对大不确定性和强扰动的场合。随着超螺旋算法、固定时间收敛等新理论的发展,滑模控制正在向更高精度、更快响应的方向演进。

练习题

基础题

习题9.1 考虑二阶系统: \(\ddot{x} + 2\dot{x} + x = u + d(t)\) 其中 $|d(t)| \leq 0.5$。设计滑模控制器使系统跟踪 $x_d = \sin(t)$。

Hint: 选择滑模面 $s = \dot{e} + \lambda e$,其中 $e = x - x_d$。

答案 定义跟踪误差:$e = x - x_d$ 误差动态: $$\ddot{e} = \ddot{x} - \ddot{x}_d = -2\dot{x} - x + u + d(t) + \sin(t)$$ 选择滑模面:$s = \dot{e} + 3e$(选择 $\lambda = 3$) 计算 $\dot{s}$: $$\dot{s} = \ddot{e} + 3\dot{e} = -2\dot{x} - x + u + d(t) + \sin(t) + 3\dot{e}$$ 等效控制: $$u_{eq} = 2\dot{x} + x - \sin(t) - 3\dot{e}$$ 完整控制律: $$u = 2\dot{x} + x - \sin(t) - 3\dot{e} - K \cdot sign(s)$$ 其中 $K > 0.5$ 以克服扰动。建议 $K = 1$。 验证到达条件: $$s\dot{s} = s(-Ksign(s) + d) \leq -K|s| + |d||s| = -(K - |d|)|s| < 0$$ 当 $K > 0.5$ 时满足。

习题9.2 分析边界层厚度 $\phi$ 对系统性能的影响。给定系统: \(\dot{x} = -x + u + 0.1\sin(10t)\) 比较 $\phi = 0.01, 0.1, 1$ 时的稳态误差和抖振水平。

Hint: 在边界层内,系统表现为高增益线性系统。

答案 使用边界层的控制律: $$u = x - K \cdot sat(s/\phi)$$ 在边界层内 $|s| \leq \phi$: $$u = x - \frac{K}{\phi}s$$ 闭环动态: $$\dot{s} = -\frac{K}{\phi}s + 0.1\sin(10t)$$ 稳态误差界: $$|s_{ss}| \leq \frac{0.1\phi}{K}$$ 结果分析: - $\phi = 0.01$:稳态误差 $\approx 0.001/K$,高频抖振明显 - $\phi = 0.1$:稳态误差 $\approx 0.01/K$,中等抖振 - $\phi = 1$:稳态误差 $\approx 0.1/K$,无抖振但精度降低 权衡:$\phi = 0.1$ 通常是好的折中选择。

习题9.3 设计积分滑模控制器消除常值扰动。系统: \(\dot{x}_1 = x_2\) \(\dot{x}_2 = -x_1 - 2x_2 + u + d_0\) 其中 $d_0$ 是未知常值扰动。

Hint: 在滑模面中加入积分项。

答案 定义增广状态:$\xi = \int_0^t x_1 d\tau$ 滑模面设计: $$s = x_2 + 3x_1 + 2\xi$$ 当在滑模面上($s = 0$): $$x_2 = -3x_1 - 2\xi$$ 得到误差动态: $$\dot{x}_1 = -3x_1 - 2\xi$$ $$\dot{\xi} = x_1$$ 特征方程:$\lambda^2 + 3\lambda + 2 = 0$,根为 $\lambda = -1, -2$,系统稳定。 控制律: $$u = x_1 + 2x_2 + 3x_2 + 2x_1 - K \cdot sign(s)$$ $$u = 3x_1 + 5x_2 + 2\xi - K \cdot sign(s)$$ 积分项自动补偿常值扰动。

挑战题

习题9.4 对于非最小相位系统: \(\ddot{y} - \dot{y} + 2y = u\) 设计输出反馈滑模控制器,仅使用 $y$ 和 $\dot{y}$ 的测量。

Hint: 需要设计高增益观测器估计不可测状态。

答案 这是一个非最小相位系统(有不稳定零点),不能直接使用输入-输出线性化。 引入新的输出:$z = y + \alpha\dot{y}$,选择 $\alpha = 0.5$ 使相对阶为1。 系统变换: $$\ddot{z} = (1 + \alpha)\ddot{y} = (1.5)(\dot{y} - 2y + u)$$ 设计滑模面: $$s = \dot{z} + \lambda z$$ Super-twisting观测器估计 $\ddot{y}$: $$\dot{\hat{v}} = -l_1|\dot{y} - \hat{v}|^{1/2}sign(\dot{y} - \hat{v}) + \hat{a}$$ $$\dot{\hat{a}} = -l_2sign(\dot{y} - \hat{v})$$ 控制律: $$u = 2y - \dot{y} - \frac{1}{1.5}(\lambda\dot{z} + k_1|s|^{1/2}sign(s) + v)$$ $$\dot{v} = k_2sign(s)$$ 参数选择:$\lambda = 2$,$k_1 = 3$,$k_2 = 1.5$,$l_1 = 10$,$l_2 = 100$。

习题9.5 设计自适应滑模控制器处理未知控制增益。考虑: \(\dot{x}_1 = x_2\) \(\dot{x}_2 = f(x) + b(x)u\) 其中 $b_{min} \leq b(x) \leq b_{max}$,但具体值未知。

Hint: 使用增益自适应律或切换增益策略。

答案 滑模面:$s = x_2 + \lambda x_1$ 控制律设计: $$u = \frac{1}{\hat{b}}(-f(x) - \lambda x_2 - k(t)sign(s))$$ 自适应律: $$\dot{\hat{b}} = \gamma |s| sign(\hat{b} - b_{min})$$ $$\dot{k} = \rho |s|$$ 保证 $\hat{b} \in [b_{min}, b_{max}]$: $$\hat{b} = \begin{cases} b_{min} & \text{if } \hat{b} < b_{min} \\ b_{max} & \text{if } \hat{b} > b_{max} \\ \hat{b} & \text{otherwise} \end{cases}$$ 或使用保守设计: $$u = \frac{2}{b_{min} + b_{max}}u_{nom} - \frac{b_{max} - b_{min}}{b_{max} + b_{min}}|u_{nom}|sign(s)$$ 其中 $u_{nom} = -f(x) - \lambda x_2$。

习题9.6 为柔性关节机械臂设计滑模控制器: \(\begin{aligned} I\ddot{q} + mgl\sin(q) &= k(\theta - q) \\ J\ddot{\theta} &= u - k(\theta - q) \end{aligned}\) 其中 $q$ 是连杆角度,$\theta$ 是电机角度,$k$ 是关节刚度。

Hint: 这是一个欠驱动系统,需要设计级联控制结构。

答案 采用反步法设计级联控制: **步骤1**:将 $\theta$ 视为虚拟控制,设计使 $q \to q_d$ 定义:$e_1 = q - q_d$ 虚拟控制: $$\theta_d = q + \frac{1}{k}(I\ddot{q}_d + mgl\sin(q) - c_1\dot{e}_1 - c_2e_1)$$ **步骤2**:设计实际控制使 $\theta \to \theta_d$ 定义:$e_2 = \theta - \theta_d$ 滑模面: $$s = \dot{e}_2 + \lambda e_2$$ 控制律: $$u = k(\theta - q) + J(\ddot{\theta}_d - \lambda\dot{e}_2) - K \cdot sat(s/\phi)$$ 其中: $$\ddot{\theta}_d = \ddot{q} + \frac{1}{k}\frac{d^2}{dt^2}(I\ddot{q}_d + mgl\sin(q))$$ 参数选择: - $c_1 = 10$,$c_2 = 25$(内环) - $\lambda = 15$,$K = 50$,$\phi = 0.1$(外环) 稳定性分析使用复合Lyapunov函数: $$V = \frac{1}{2}(\dot{e}_1^2 + c_2e_1^2) + \frac{1}{2}s^2$$

习题9.7(开放性思考题)比较滑模控制与MPC在处理约束和鲁棒性方面的优劣。在什么情况下应该选择滑模控制而不是MPC?

答案 **滑模控制优势**: 1. 计算效率高,适合快速系统(kHz级采样) 2. 对匹配不确定性完全鲁棒 3. 理论保证有限时间收敛 4. 实现简单,易于嵌入式部署 **MPC优势**: 1. 显式处理状态和输入约束 2. 优化多目标性能指标 3. 预测未来行为,处理延迟 4. 输出自然平滑 **选择滑模控制的场景**: 1. 高频控制回路(电机控制、振动抑制) 2. 计算资源受限(嵌入式系统) 3. 存在大的匹配不确定性 4. 需要理论鲁棒性保证 5. 系统模型简单但扰动复杂 **混合方案**: - 外环MPC + 内环SMC:结合优化与鲁棒性 - 滑模预测控制(SMPC):MPC框架下的滑模约束 - 切换策略:正常MPC,异常切换到SMC 实例:SpaceX火箭着陆使用凸优化MPC规划轨迹,但姿态控制可能使用滑模保证鲁棒性。

常见陷阱与错误 (Gotchas)

1. 滑模面设计错误

错误:随意选择滑模面参数

s = ė + 0.01e  // λ太小,收敛极慢
s = ė + 100e   // λ太大,对噪声敏感

正确:基于期望带宽和鲁棒性权衡选择

2. 忽视采样时间影响

问题:离散化导致的抖振

解决:采样频率至少为滑模带宽的10-20倍

3. 控制增益选择不当

过小:无法克服扰动,不能到达滑模面 过大:严重抖振,执行器饱和

建议:$K = (1.5 \sim 2) \times D_{max}$

4. 直接微分带来噪声

错误

s = (x - x_prev)/dt + lambda * x  # 数值微分

正确:使用滤波器或观测器估计导数

5. 未考虑执行器动态

问题:忽略执行器带宽限制导致失稳

解决

6. 多滑模面相互冲突

MIMO系统常见错误:滑模面设计导致奇异解耦矩阵

检查:确保 $\frac{\partial s}{\partial x}B$ 可逆

7. 非最小相位系统处理不当

错误:直接对输出设计滑模面

正确:重新定义输出或使用特殊技术

8. 初始化问题

问题:积分滑模的初始积分值设置不当

解决:使用软启动或初始化程序

最佳实践检查清单

设计阶段

抖振抑制

实现考虑

参数调整

测试验证

性能优化

文档与维护