第8章:非线性控制系统
非线性控制是现代控制理论的核心分支,处理实际系统中普遍存在的非线性特性。与线性系统不同,非线性系统展现出丰富而复杂的动态行为,包括极限环、分岔、混沌等现象。本章将系统介绍非线性控制的基本理论和设计方法,从相平面分析到Lyapunov稳定性理论,再到现代的反步法设计,为理解和设计复杂控制系统奠定基础。
8.1 相平面分析
相平面分析是研究二阶非线性系统的直观工具,通过在状态空间中绘制系统轨迹来理解系统的全局行为。这种方法虽然仅适用于二维系统,但提供的几何直觉对理解高维系统同样有价值。相平面分析在工程实践中广泛应用于继电器控制系统、振荡器设计、以及飞行器姿态动力学分析。
8.1.1 基本概念
考虑二阶自治系统: $$\begin{aligned} \dot{x}_1 &= f_1(x_1, x_2) \\ \dot{x}_2 &= f_2(x_1, x_2) \end{aligned}$$ 相平面是以 $x_1$ 和 $x_2$ 为坐标轴的平面,系统的每个状态对应平面上的一点,系统演化形成相轨迹。相轨迹具有以下基本性质:
唯一性定理:如果 $f_1$ 和 $f_2$ 满足Lipschitz条件,则通过相平面上任一点(除奇点外)有且仅有一条相轨迹。这意味着相轨迹不会相交(除了在奇点处)。
方向场:在相平面的每一点 $(x_1, x_2)$,系统状态的变化方向由向量场 $[f_1(x_1, x_2), f_2(x_1, x_2)]^T$ 决定。相轨迹总是沿着向量场的方向演化。
奇点分类:系统的平衡点(奇点)满足 $f_1(x_1^*, x_2^*) = 0, f_2(x_1^*, x_2^*) = 0$。在平衡点附近线性化: $$\Delta \dot{x} = A \Delta x, \quad A = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} \end{bmatrix}_{(x_1^*, x_2^*)}$$ 根据雅可比矩阵 $A$ 的特征值 $\lambda_1, \lambda_2$,奇点可分为:
- 节点(Node):$\lambda_1, \lambda_2$ 实数且同号
- 稳定节点:$\lambda_1, \lambda_2 < 0$,轨迹单调收敛到平衡点
- 不稳定节点:$\lambda_1, \lambda_2 > 0$,轨迹单调发散
-
退化节点:$\lambda_1 = \lambda_2$,具有星形轨迹模式
-
鞍点(Saddle):$\lambda_1, \lambda_2$ 实数且异号
- 存在稳定流形和不稳定流形
- 仅有四条特殊轨迹收敛或发散于鞍点
-
其他轨迹呈双曲线形状绕过鞍点
-
焦点(Focus):$\lambda_1, \lambda_2 = \sigma \pm j\omega$ 为共轭复数
- 稳定焦点:$\sigma < 0$,轨迹螺旋收敛
- 不稳定焦点:$\sigma > 0$,轨迹螺旋发散
-
螺旋的频率由 $\omega$ 决定
-
中心(Center):$\lambda_1, \lambda_2 = \pm j\omega$ 为纯虚数
- 轨迹形成闭合椭圆
- 系统保守,无能量耗散
- 结构不稳定:微小扰动可能变为焦点
非线性效应的影响:线性化分析仅在平衡点附近有效。远离平衡点时,非线性项可能导致:
- 多个平衡点的存在
- 极限环的产生
- 同宿轨道和异宿轨道
- 混沌行为(三维及以上系统)
8.1.2 绘制相轨迹的方法
相轨迹的绘制是理解非线性系统行为的关键技术。除了数值仿真外,还有几种解析和半解析方法可以帮助我们构建相平面图。
等倾线法:相轨迹的斜率为: $$\frac{dx_2}{dx_1} = \frac{f_2(x_1, x_2)}{f_1(x_1, x_2)}$$ 等倾线是斜率相同的点的集合。对于给定斜率 $m$,等倾线满足: $$\frac{f_2(x_1, x_2)}{f_1(x_1, x_2)} = m$$ 通过绘制不同斜率的等倾线(如 $m = -2, -1, 0, 1, 2, \infty$),可以确定相轨迹在各点的切线方向,进而手工绘制相轨迹。
Liénard平面法:对于形如 $\ddot{x} + f(x)\dot{x} + g(x) = 0$ 的系统,引入Liénard变换: $$y = \dot{x} + F(x), \quad F(x) = \int_0^x f(s)ds$$ 系统变为: $$\begin{aligned} \dot{x} &= y - F(x) \\ \dot{y} &= -g(x) \end{aligned}$$ 这种变换常能简化相轨迹的分析,特别是对于Van der Pol类振荡器。
能量法:对于保守系统,总能量 $E = T + V$ 是常数,相轨迹沿等能量曲线运动。例如,无阻尼摆的相轨迹满足: $$\frac{1}{2}\dot{\theta}^2 - \cos\theta = E$$ 不同能量水平对应不同类型的运动:振荡、旋转或分界轨道。
例子:Van der Pol振荡器 $$\ddot{x} + \mu(x^2 - 1)\dot{x} + x = 0$$ 转换为状态方程: $$\begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= -x_1 - \mu(x_1^2 - 1)x_2 \end{aligned}$$ Van der Pol振荡器展现了自激振荡现象,其行为随参数 $\mu$ 变化:
- 当 $\mu = 0$:系统退化为谐振子,原点是中心
- 当 $0 < \mu < 2$:原点变为不稳定焦点,存在稳定极限环
- 当 $\mu > 2$:原点变为不稳定节点,极限环幅度增大
- 当 $\mu \gg 1$:出现松弛振荡,交替快慢动态
当 $\mu > 0$ 时,系统存在唯一稳定的极限环:
x2
↑
3 │ ╭─────╮
│ ╱ ╲
0 │ │ • │ <- 极限环(不稳定平衡点在中心)
────┼──┼─────────┼──→ x1
│ │ │
-3 │ ╲ ╱
│ ╰─────╯
│ -2 0 2
数值方法注意事项:
- 选择合适的积分步长,避免数值发散
- 使用辛积分器保持相空间体积(对哈密顿系统)
- 长时间仿真需要考虑数值误差累积
8.1.3 极限环与分岔
极限环是非线性系统特有的现象,在振荡器设计、生物节律、化学反应等领域有重要应用。
极限环的定义与性质
极限环是相平面中的孤立闭轨迹,表示系统的周期解。与线性系统的中心不同,极限环具有结构稳定性:
- 稳定极限环:邻近轨迹从内外两侧螺旋收敛,对应自持振荡
- 不稳定极限环:邻近轨迹螺旋发散,形成吸引域边界
- 半稳定极限环:一侧收敛一侧发散,常出现在分岔点
极限环的存在性判据
Poincaré-Bendixson定理:设 $R$ 是平面上的有界闭区域,如果:
- 向量场在 $R$ 上连续可微
- $R$ 内不包含平衡点
- 存在正向轨迹完全包含在 $R$ 内
则 $R$ 内必存在极限环。
Bendixson判据(负判据):如果散度 $\nabla \cdot f = \frac{\partial f_1}{\partial x_1} + \frac{\partial f_2}{\partial x_2}$ 在单连通区域内不变号且不恒为零,则该区域内不存在极限环。
Dulac判据:如果存在函数 $B(x_1, x_2)$ 使得 $\nabla \cdot (Bf)$ 在区域内不变号,则无极限环。
分岔现象
分岔是系统定性行为随参数变化发生突变的现象。主要类型包括:
-
Hopf分岔:平衡点稳定性改变,产生或消失极限环 - 超临界Hopf分岔:稳定平衡点变为不稳定,产生小幅稳定极限环 - 亚临界Hopf分岔:不稳定极限环收缩到平衡点,可能导致跳跃现象
-
鞍结分岔:两个平衡点碰撞消失 - 出现在 $\dot{x} = r - x^2$ 类系统 - 临界慢化现象:接近分岔点时响应变慢
-
叉形分岔:一个平衡点分裂为三个 - 超临界:$\dot{x} = rx - x^3$,平滑过渡 - 亚临界:$\dot{x} = rx + x^3$,突变和滞后
工程应用实例
继电器反馈系统:考虑带继电器的伺服系统: $$\ddot{x} + 2\zeta\omega_n\dot{x} + \omega_n^2 x = \omega_n^2 \cdot \text{sgn}(-x)$$ 系统产生稳定的方波极限环,频率和幅度可通过描述函数法分析。这种自振荡用于:
- 继电器自整定PID控制器
- 振动试验台
- PWM功率变换器
8.2 Lyapunov稳定性理论
Lyapunov方法是分析非线性系统稳定性的最重要工具,无需求解微分方程即可判断稳定性。这种方法的威力在于其普适性:从机械系统到生物系统,从电路到经济模型,Lyapunov理论提供了统一的稳定性分析框架。
8.2.1 稳定性定义
稳定性是控制系统最基本的要求。不同的稳定性概念对应不同的性能要求和应用场景。
考虑自治系统 $\dot{x} = f(x)$,其中 $f: \mathbb{R}^n \to \mathbb{R}^n$ 局部Lipschitz连续,$f(0) = 0$(原点为平衡点)。
Lyapunov稳定(稳定性):平衡点 $x = 0$ 是Lyapunov稳定的,如果对任意 $\epsilon > 0$,存在 $\delta(\epsilon) > 0$,使得: $$|x(0)| < \delta \Rightarrow |x(t)| < \epsilon, \quad \forall t \geq 0$$ 直观理解:初始状态足够接近平衡点时,轨迹永远不会远离。这是最弱的稳定性要求。
渐近稳定:平衡点既是Lyapunov稳定的,又满足: $$|x(0)| < \delta \Rightarrow \lim_{t \to \infty} x(t) = 0$$ 这保证了系统最终收敛到平衡点,是实际控制系统的基本要求。
指数稳定:存在常数 $c \geq 1, \alpha > 0, \delta > 0$,使得: $$|x(0)| < \delta \Rightarrow |x(t)| \leq c|x(0)|e^{-\alpha t}, \quad \forall t \geq 0$$ 指数稳定保证了收敛速率,$\alpha$ 称为收敛率。这在需要快速响应的系统中至关重要。
全局稳定性:上述定义中如果 $\delta$ 可以任意大(对渐近稳定)或对所有初始条件成立(对指数稳定),则称为全局稳定。
有限时间稳定:存在函数 $T(x_0) < \infty$,使得: $$x(t) = 0, \quad \forall t \geq T(x_0)$$ 这在需要快速精确到达目标的应用中很重要,如导弹制导。
输入-状态稳定(ISS):对带输入的系统 $\dot{x} = f(x,u)$,如果存在函数 $\beta \in \mathcal{KL}$ 和 $\gamma \in \mathcal{K}$,使得: $$|x(t)| \leq \beta(|x_0|, t) + \gamma(\sup_{0 \leq \tau \leq t}|u(\tau)|)$$ ISS概念统一处理了稳定性和输入输出增益。
8.2.2 Lyapunov直接法
Lyapunov直接法(第二方法)通过构造能量类函数来判断稳定性,避免了求解微分方程的困难。
正定函数与类$\mathcal{K}$函数
定义:$V: \mathbb{R}^n \to \mathbb{R}$ 是正定的,如果:
- $V(0) = 0$
- $V(x) > 0$ 对所有 $x \neq 0$
函数 $\alpha: [0,a) \to [0,\infty)$ 属于类$\mathcal{K}$,如果它连续、严格递增且 $\alpha(0) = 0$。
Lyapunov稳定性定理
定理(基本Lyapunov定理):设 $V: D \to \mathbb{R}$ 是连续可微的,其中 $D \subset \mathbb{R}^n$ 是包含原点的开集。
-
如果 $V$ 正定且 $\dot{V}(x) = \frac{\partial V}{\partial x} f(x) \leq 0$,则原点Lyapunov稳定。
-
如果 $V$ 正定且 $\dot{V}(x) < 0$ 对所有 $x \neq 0$,则原点渐近稳定。
-
如果存在 $\alpha_1, \alpha_2, \alpha_3 \in \mathcal{K}$ 使得: $$\alpha_1(|x|) \leq V(x) \leq \alpha_2(|x|)$$ $$\dot{V}(x) \leq -\alpha_3(|x|)$$ 则原点全局渐近稳定。
-
如果存在常数 $c_1, c_2, c_3, p > 0$ 使得: $$c_1|x|^p \leq V(x) \leq c_2|x|^p$$ $$\dot{V}(x) \leq -c_3|x|^p$$ 则原点指数稳定。
La Salle不变性原理
La Salle原理扩展了基本定理,允许 $\dot{V}$ 只是负半定。
定理(La Salle):设 $V: D \to \mathbb{R}$ 正定,$\dot{V} \leq 0$。定义: $$E = \{x \in D : \dot{V}(x) = 0\}$$ $$M = \text{最大不变集} \subset E$$ 则从 $D$ 内出发的所有轨迹收敛到 $M$。特别地,如果 $M = \{0\}$,则原点渐近稳定。
应用示例:摆的能量耗散
考虑阻尼摆: $$\ddot{\theta} + b\dot{\theta} + \sin\theta = 0$$ 选择能量函数: $$V = \frac{1}{2}\dot{\theta}^2 + (1 - \cos\theta)$$ 计算: $$\dot{V} = \dot{\theta}\ddot{\theta} + \dot{\theta}\sin\theta = -b\dot{\theta}^2 \leq 0$$ $\dot{V} = 0$ 当且仅当 $\dot{\theta} = 0$。在集合 $E = \{(\theta, 0)\}$ 上,系统动态为 $\ddot{\theta} = -\sin\theta$,只有 $\theta = k\pi$ 是不变的。因此系统收敛到平衡点集合。
Krasovskii方法
对于难以找到Lyapunov函数的系统,Krasovskii提供了一个系统化方法。
定理(Krasovskii):如果雅可比矩阵 $J(x) = \frac{\partial f}{\partial x}$ 满足: $$J(x) + J^T(x) < 0$$ 对所有 $x$ 在原点某邻域内,则 $V(x) = f^T(x)f(x)$ 是Lyapunov函数,原点渐近稳定。
8.2.3 Lyapunov函数的构造
构造Lyapunov函数是艺术性与技术性的结合,需要深入理解系统的物理本质和数学结构。以下介绍主要的构造方法和技巧。
能量函数法
对物理系统,能量是自然的Lyapunov函数候选。关键是识别合适的能量形式。
机械系统的总能量: $$V = T + U = \frac{1}{2}m\dot{x}^2 + U(x)$$ 对于更复杂的系统,考虑广义能量: $$V = \frac{1}{2}\dot{q}^T M(q)\dot{q} + U(q) + \frac{1}{2}(q - q_d)^T K(q - q_d)$$ 其中最后一项表示位置误差的"弹性势能"。
电路系统的能量: $$V = \frac{1}{2}Li^2 + \frac{1}{2C}q^2$$ 二次型函数法
对形如 $\dot{x} = Ax + g(x)$ 的系统,其中 $g(x) = O(|x|^2)$ 是高阶项。
步骤:
- 选择 $Q > 0$(通常取 $Q = I$)
- 求解Lyapunov方程:$A^T P + PA = -Q$
- 验证 $V(x) = x^T P x$ 对完整非线性系统的有效性
Lyapunov方程的解存在且唯一当且仅当 $A$ 的所有特征值实部为负。
扩展示例:考虑系统 $$\dot{x}_1 = -x_1 + x_2^2, \quad \dot{x}_2 = -x_2 - x_1 x_2$$ 线性部分 $A = \text{diag}(-1, -1)$,选择 $Q = I$,得 $P = \frac{1}{2}I$。 验证:$\dot{V} = -x_1^2 - x_2^2 + x_1 x_2^2 - \frac{1}{2}x_1^2 x_2 = -x_1^2 - x_2^2(1 - x_1 + \frac{x_1^2}{2})$
当 $|x_1| < 2$ 时,$\dot{V} < 0$,局部渐近稳定。
变量梯度法
假设Lyapunov函数的梯度形式,利用可积性条件构造。
设 $\nabla V = g(x) = [g_1(x), g_2(x), \ldots, g_n(x)]^T$
可积性条件(Schwarz定理): $$\frac{\partial g_i}{\partial x_j} = \frac{\partial g_j}{\partial x_i}, \quad \forall i,j$$ 步骤:
- 假设 $g(x)$ 的参数化形式
- 应用可积性条件确定参数
- 积分得到 $V(x)$
- 验证 $\dot{V} < 0$
示例:对系统 $\dot{x}_1 = -x_1 + x_1 x_2, \dot{x}_2 = -x_2$
假设 $g_1 = a_{11}x_1 + a_{12}x_2, g_2 = a_{21}x_1 + a_{22}x_2$
可积性要求 $a_{12} = a_{21}$,选择 $a_{11} = a_{22} = 2, a_{12} = a_{21} = 0$
得 $V = x_1^2 + x_2^2$,验证 $\dot{V} = -2x_1^2(1 - x_2) - 2x_2^2$
组合函数法
结合多个Lyapunov函数处理复杂系统: $$V = \sum_{i=1}^m c_i V_i(x)$$ 其中 $c_i > 0$ 是权重,$V_i$ 对应不同子系统或性能指标。
平方和(SOS)方法
利用多项式优化技术系统化地搜索Lyapunov函数。
对多项式系统,寻找多项式 $V(x)$ 使得:
- $V(x) - \epsilon(x^T x)$ 是SOS
- $-\dot{V}(x) - \epsilon(x^T x)$ 是SOS
这可转化为半定规划(SDP)问题,用数值方法求解。
8.2.4 全局稳定性与吸引域
实际系统常只在有限区域内稳定,准确估计吸引域对安全运行至关重要。
全局渐近稳定的条件
定理:系统 $\dot{x} = f(x)$ 全局渐近稳定,如果存在径向无界的Lyapunov函数 $V$:
- $\alpha_1(|x|) \leq V(x) \leq \alpha_2(|x|)$,其中 $\alpha_1, \alpha_2 \in \mathcal{K}_\infty$
- $\dot{V}(x) \leq -\alpha_3(|x|)$,其中 $\alpha_3 \in \mathcal{K}$
径向无界意味着 $V(x) \to \infty$ 当 $|x| \to \infty$。
Barbashin-Krasovskii定理:结合La Salle原理的全局版本,即使 $\dot{V}$ 只是负半定,如果:
- $V$ 径向无界
- $\dot{V} \leq 0$
- 集合 $\{x : \dot{V}(x) = 0\}$ 不包含除原点外的完整轨迹
则系统全局渐近稳定。
吸引域估计方法
Lyapunov水平集法:最大的不变水平集 $$\Omega_{c^*} = \{x : V(x) \leq c^*\}$$ 其中 $c^* = \min_{x \in \partial D} V(x)$,$D$ 是 $\dot{V} < 0$ 的区域。
Zubov方法:求解偏微分方程 $$\nabla W \cdot f(x) = -h(x)(1 - W(x))$$ 其中 $h(x) > 0$。解 $W$ 满足:吸引域 = $\{x : W(x) < 1\}$。
轨迹反向法:从边界向内反向积分,确定吸引域边界。
多Lyapunov函数法:使用多个函数的并集 $$\mathcal{R} = \bigcup_{i=1}^N \Omega_{c_i}^{(i)}$$ 其中 $\Omega_{c_i}^{(i)} = \{x : V_i(x) \leq c_i\}$。
实际应用示例:飞行器失速恢复
考虑简化的飞机纵向动力学: $$\begin{aligned} \dot{\alpha} &= q - \frac{1}{V}(L(\alpha)/m - g\cos\gamma) \\ \dot{q} &= \frac{M(\alpha, q, \delta_e)}{I_y} \end{aligned}$$ 其中 $\alpha$ 是迎角,$q$ 是俯仰角速率。
失速区域对应大迎角,升力系数 $C_L(\alpha)$ 下降。通过构造Lyapunov函数: $$V = \frac{1}{2}(\alpha - \alpha_{trim})^2 + \frac{1}{2}q^2$$ 可以估计安全飞行包线,即保证能恢复到平飞的初始条件集合。
8.3 Lyapunov再设计方法
Lyapunov再设计是一种系统化的控制器设计方法,通过修改已知的Lyapunov函数来处理不确定性和扰动。
8.3.1 基本思想
设标称系统 $\dot{x} = f(x) + g(x)u$ 已有控制律 $u = \alpha(x)$ 使闭环系统稳定,对应Lyapunov函数 $V(x)$。
当存在扰动或不确定性: $$\dot{x} = f(x) + g(x)u + \Delta(x,t)$$ 目标是设计新控制律 $u = \alpha(x) + v(x)$,使得扰动系统仍然稳定。
8.3.2 匹配条件与控制设计
匹配条件:扰动 $\Delta(x,t)$ 在控制输入的范围空间内,即: $$\Delta(x,t) = g(x)\delta(x,t)$$ 此时,通过选择: $$v = -\rho(x)\frac{g^T(x)\nabla V}{|g^T(x)\nabla V|}$$ 其中 $\rho(x) \geq |\delta(x,t)|$,可保证: $$\dot{V} = L_f V + L_g V \cdot \alpha(x) + L_g V \cdot v + L_g V \cdot \delta \leq \dot{V}_{nom} - (\rho - |\delta|)|L_g V| \leq 0$$
8.3.3 自适应Lyapunov再设计
当扰动界未知时,可采用自适应方法。设扰动界的估计为 $\hat{\rho}$,更新律: $$\dot{\hat{\rho}} = \gamma |L_g V|$$ 扩展Lyapunov函数: $$V_{aug} = V(x) + \frac{1}{2\gamma}(\hat{\rho} - \rho^*)^2$$ 可证明闭环系统渐近稳定。
8.4 反步法(Backstepping)
反步法是设计严格反馈系统控制器的递归方法,通过逐步"后退"构造Lyapunov函数和虚拟控制律。
8.4.1 严格反馈形式
考虑系统: $$\begin{aligned} \dot{x}_1 &= f_1(x_1) + g_1(x_1)x_2 \\ \dot{x}_2 &= f_2(x_1, x_2) + g_2(x_1, x_2)x_3 \\ &\vdots \\ \dot{x}_n &= f_n(x_1, \ldots, x_n) + g_n(x_1, \ldots, x_n)u \end{aligned}$$
8.4.2 递归设计步骤
步骤1:对子系统 $\dot{x}_1 = f_1(x_1) + g_1(x_1)x_2$,设计虚拟控制 $\alpha_1(x_1)$ 使其稳定。选择Lyapunov函数 $V_1(x_1)$,使得: $$\dot{V}_1 = L_{f_1}V_1 + L_{g_1}V_1 \cdot \alpha_1 < 0$$ 定义误差变量 $z_2 = x_2 - \alpha_1(x_1)$。
步骤2:考虑扩展系统: $$\begin{aligned} \dot{x}_1 &= f_1 + g_1(z_2 + \alpha_1) \\ \dot{z}_2 &= \dot{x}_2 - \dot{\alpha}_1 = f_2 + g_2 x_3 - \frac{\partial \alpha_1}{\partial x_1}\dot{x}_1 \end{aligned}$$ 选择增广Lyapunov函数: $$V_2 = V_1 + \frac{1}{2}z_2^2$$ 设计虚拟控制 $\alpha_2$ 使 $\dot{V}_2 < 0$。
递归继续直到得到实际控制输入 $u$。
8.4.3 自适应反步法
当系统包含未知参数 $\theta$: $$\dot{x}_i = f_i(x_1, \ldots, x_i) + \theta^T \phi_i(x_1, \ldots, x_i) + g_i x_{i+1}$$ 可结合参数估计: $$\dot{\hat{\theta}} = \Gamma \sum_{i=1}^n z_i \phi_i$$ 其中 $z_i$ 是误差变量,$\Gamma > 0$ 是自适应增益。
8.5 案例研究
8.5.1 案例1:机器人柔性关节控制
柔性关节广泛存在于现代协作机器人中,由于谐波减速器等传动机构的弹性变形,关节呈现出复杂的非线性动力学特性。
系统建模
考虑单关节柔性机械臂: $$\begin{aligned} I_m \ddot{\theta}_m &= u - K(\theta_m - \theta_l) - B(\dot{\theta}_m - \dot{\theta}_l) \\ I_l \ddot{\theta}_l &= K(\theta_m - \theta_l) + B(\dot{\theta}_m - \dot{\theta}_l) - mgl\sin(\theta_l) \end{aligned}$$ 其中:
- $\theta_m, \theta_l$:电机和连杆角度
- $I_m, I_l$:电机和连杆惯量
- $K$:关节刚度
- $B$:阻尼系数
- $u$:控制力矩
状态空间表示
定义状态 $x = [\theta_l, \dot{\theta}_l, \theta_m, \dot{\theta}_m]^T$: $$\dot{x} = \begin{bmatrix} x_2 \\ \frac{1}{I_l}[K(x_3 - x_1) + B(x_4 - x_2) - mgl\sin(x_1)] \\ x_4 \\ \frac{1}{I_m}[u - K(x_3 - x_1) - B(x_4 - x_2)] \end{bmatrix}$$ 反步法控制设计
目标:跟踪期望轨迹 $\theta_d(t)$。
步骤1:定义跟踪误差 $e_1 = \theta_l - \theta_d$,选择: $$V_1 = \frac{1}{2}e_1^2 + \frac{1}{2}I_l\dot{e}_1^2$$ 设计虚拟控制: $$\alpha_1 = \theta_d + \frac{1}{K}[I_l\ddot{\theta}_d + mgl\sin(\theta_l) - c_1 e_1 - c_2 \dot{e}_1]$$ 步骤2:定义 $e_2 = \theta_m - \alpha_1$,增广Lyapunov函数: $$V_2 = V_1 + \frac{1}{2}Ke_2^2$$ 最终控制律: $$u = K(e_2 + e_1) + B(\dot{e}_2 + \dot{e}_1) + I_m\dot{\alpha}_1 - c_3 e_2$$ 性能分析
通过选择增益 $c_1, c_2, c_3 > 0$,可实现:
- 全局渐近稳定
- 跟踪误差指数收敛
- 对参数不确定性的鲁棒性
实际应用中,KUKA iiwa和Universal Robots等协作机器人均采用类似的柔性关节控制策略。
8.5.2 案例2:7自由度机械臂力矩控制(Franka Emika Panda)
Franka Emika Panda是广泛应用于研究的7自由度协作机械臂,其冗余自由度和高精度要求使得控制设计充满挑战。
动力学模型
机械臂动力学方程: $$M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) + F(\dot{q}) = \tau + J^T(q)F_{ext}$$ 其中:
- $q \in \mathbb{R}^7$:关节角度
- $M(q) \in \mathbb{R}^{7×7}$:惯性矩阵
- $C(q,\dot{q})$:科氏力和离心力矩阵
- $G(q)$:重力矢量
- $F(\dot{q})$:摩擦力
- $J(q)$:雅可比矩阵
- $F_{ext}$:外部力
计算力矩控制
基本思想:通过反馈线性化消除非线性项。
设期望轨迹为 $q_d(t)$,定义误差: $$e = q - q_d, \quad \dot{e} = \dot{q} - \dot{q}_d$$ 控制律: $$\tau = M(q)[\ddot{q}_d - K_p e - K_d \dot{e}] + C(q,\dot{q})\dot{q} + G(q) + \hat{F}(\dot{q})$$ 闭环动力学: $$\ddot{e} + K_d \dot{e} + K_p e = 0$$ 通过选择 $K_p, K_d > 0$,可实现指数跟踪。
零空间控制
利用冗余自由度优化次要目标。定义任务空间位置 $x = f(q)$,其雅可比: $$\dot{x} = J(q)\dot{q}$$ 零空间投影矩阵: $$N = I - J^{\dagger}J$$ 其中 $J^{\dagger} = M^{-1}J^T(JM^{-1}J^T)^{-1}$ 是动力学一致的伪逆。
增强控制律: $$\tau = \tau_{task} + N^T \tau_{null}$$ 其中 $\tau_{null}$ 可用于:
- 避免关节极限:$\tau_{null} = -k_{lim}\nabla_q V_{lim}(q)$
- 避障:$\tau_{null} = -k_{obs}\nabla_q V_{obs}(q)$
- 优化可操作性:$\tau_{null} = k_{man}\nabla_q \sqrt{\det(JJ^T)}$
实验验证
在Panda机械臂上的典型性能指标:
- 位置跟踪精度:< 1mm
- 力控制精度:< 0.5N
- 响应带宽:5-10Hz(位置),2-3Hz(力)
Lyapunov稳定性分析
选择Lyapunov函数: $$V = \frac{1}{2}\dot{e}^T M(q) \dot{e} + \frac{1}{2}e^T K_p e$$ 可证明: $$\dot{V} = -\dot{e}^T K_d \dot{e} - \dot{e}^T [F(\dot{q}) - \hat{F}(\dot{q})] \leq -\lambda_{min}(K_d)|\dot{e}|^2 + \epsilon|\dot{e}|$$ 当摩擦补偿误差 $\epsilon$ 足够小时,系统全局渐近稳定。
8.6 历史人物:Aleksandr Lyapunov (1857-1918)
Aleksandr Mikhailovich Lyapunov是俄罗斯数学家和力学家,其在稳定性理论方面的开创性工作奠定了现代非线性控制理论的基础。
主要贡献:
- 1892年发表博士论文《运动稳定性的一般问题》,首次系统阐述稳定性理论
- 提出了两种方法:线性化方法(第一方法)和直接方法(第二方法)
- 引入Lyapunov函数概念,无需求解微分方程即可判断稳定性
- 建立了特征指数理论,用于分析时变系统
影响与传承:
- Lyapunov方法成为控制理论的基石,几乎所有现代控制方法都基于其思想
- 激发了后续研究:La Salle不变性原理、Krasovskii方法、控制Lyapunov函数等
- 在机器学习领域,Lyapunov方法用于分析神经网络稳定性和优化算法收敛性
8.7 前沿专题:控制Lyapunov函数与控制障碍函数
8.7.1 控制Lyapunov函数(CLF)
控制Lyapunov函数将Lyapunov理论与控制设计统一,提供了系统化的控制器综合方法。
定义:对系统 $\dot{x} = f(x) + g(x)u$,函数 $V(x)$ 是CLF,如果:
- $V$ 正定且径向无界
- 对所有 $x \neq 0$,存在 $u$ 使得 $\dot{V} < 0$
Sontag公式:给定CLF,万能控制律为: $$u = \begin{cases} -\frac{L_f V + \sqrt{(L_f V)^2 + (L_g V)^4}}{L_g V} & \text{if } L_g V \neq 0 \\ 0 & \text{if } L_g V = 0 \end{cases}$$
8.7.2 控制障碍函数(CBF)
CBF用于保证系统安全性,确保状态始终在安全集内。
定义:对安全集 $\mathcal{C} = \{x : h(x) \geq 0\}$,函数 $h$ 是CBF,如果存在类$\mathcal{K}$函数 $\alpha$ 使得: $$\sup_u [L_f h + L_g h \cdot u] \geq -\alpha(h)$$ QP-CBF控制:结合CLF和CBF的二次规划: $$\begin{aligned} \min_{u,\delta} \quad & |u|^2 + p\delta^2 \\ \text{s.t.} \quad & L_f V + L_g V \cdot u \leq -\gamma V + \delta \quad \text{(CLF约束)} \\ & L_f h + L_g h \cdot u \geq -\alpha(h) \quad \text{(CBF约束)} \end{aligned}$$
8.7.3 应用实例
自动驾驶避障:
- CLF:保证车辆跟踪期望轨迹
- CBF:避免与障碍物碰撞
- 实时求解QP得到安全且性能优化的控制
四足机器人稳定行走:
- CLF:维持期望步态
- CBF:防止腿部碰撞和关节极限
- 处理地形不确定性和外部扰动
8.8 本章小结
本章系统介绍了非线性控制的核心理论和方法:
关键概念:
- 相平面分析:直观理解二阶非线性系统的全局行为,识别极限环和分岔现象
- Lyapunov稳定性:无需求解方程即可判断稳定性,提供了强大的分析工具
- Lyapunov再设计:系统化处理不确定性和扰动的方法
- 反步法:递归设计严格反馈系统控制器的构造性方法
重要公式:
- Lyapunov稳定性条件:$V > 0, \dot{V} \leq 0$
- 反步法误差动态:$\dot{z}_i = -c_i z_i + z_{i+1}$
- CLF-CBF二次规划:安全与性能的优化权衡
实践要点:
- Lyapunov函数构造需要经验和直觉
- 反步法适用于特定系统结构
- 现代方法(CLF/CBF)提供了计算化的设计框架
8.9 练习题
基础题
习题8.1 考虑系统: $$\begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= -x_1 - x_2^3 \end{aligned}$$ a) 找出所有平衡点并分类 b) 使用能量函数 $V = \frac{1}{2}(x_1^2 + x_2^2)$ 分析稳定性 c) 绘制相平面图
提示:注意非线性阻尼项的作用
答案
a) 唯一平衡点 $(0,0)$,线性化后特征值 $\lambda = \pm j$,为中心点,但非线性项使其成为稳定焦点
b) $\dot{V} = x_1 x_2 - x_1 x_2 - x_2^4 = -x_2^4 \leq 0$,由La Salle原理,系统渐近稳定
c) 相轨迹螺旋收敛到原点,表现为稳定焦点
习题8.2 对系统 $\dot{x} = -x + x^3 + u$,设计控制律使原点全局渐近稳定。
提示:先考虑无控制时的稳定性,再设计反馈
答案
选择 $V = \frac{1}{2}x^2$,则: $$\dot{V} = x(-x + x^3 + u) = -x^2 + x^4 + xu$$ 设计 $u = -x^3 - kx$($k > 0$),得: $$\dot{V} = -x^2 - kx^2 = -(1+k)x^2 < 0$$ 系统全局渐近稳定。
习题8.3 使用反步法设计控制器,使系统: $$\begin{aligned} \dot{x}_1 &= x_2 + x_1^2 \\ \dot{x}_2 &= u \end{aligned}$$ 跟踪参考信号 $x_{1d} = \sin t$。
提示:第一步设计虚拟控制 $\alpha_1$
答案
步骤1:$e_1 = x_1 - \sin t$,$V_1 = \frac{1}{2}e_1^2$ 虚拟控制:$\alpha_1 = -x_1^2 + \cos t - c_1 e_1$
步骤2:$z_2 = x_2 - \alpha_1$,$V_2 = V_1 + \frac{1}{2}z_2^2$ 控制律:$u = \dot{\alpha}_1 - c_2 z_2 - e_1$
其中 $\dot{\alpha}_1 = -2x_1(x_2 + x_1^2) - \sin t - c_1(x_2 + x_1^2 - \cos t)$
挑战题
习题8.4 考虑磁悬浮系统: $$m\ddot{y} = mg - \frac{c i^2}{y^2}$$ 其中 $y$ 是球位置,$i$ 是线圈电流。设计非线性控制器实现位置调节。
提示:先线性化找工作点,再设计非线性控制
答案
平衡点:$i_0^2 = \frac{mgy_0^2}{c}$
定义误差 $\tilde{y} = y - y_0$,$\tilde{i} = i - i_0$
选择Lyapunov函数: $$V = \frac{1}{2}m\dot{y}^2 + mg(y - y_0) + \frac{c}{2y_0^2}(i - i_0)^2$$ 控制律: $$i = i_0\sqrt{\frac{y^2}{y_0^2}} - k_p(y - y_0) - k_d\dot{y}$$ 保证局部渐近稳定。
习题8.5 证明对于一般非线性系统,如果存在CLF,则系统是渐近可镇定的。进一步,如果CLF是光滑的,则存在光滑反馈使闭环系统全局渐近稳定。
提示:使用Sontag万能公式
答案
给定CLF $V(x)$,Sontag公式给出反馈: $$k(x) = \begin{cases} -\frac{L_f V + \sqrt{(L_f V)^2 + (L_g V)^4}}{L_g V} & L_g V \neq 0 \\ 0 & L_g V = 0 \end{cases}$$ 验证:
- 当 $L_g V \neq 0$:$\dot{V} = L_f V + L_g V k(x) = -\sqrt{(L_f V)^2 + (L_g V)^4} < 0$
- 当 $L_g V = 0$:由CLF定义,必有 $L_f V < 0$
因此 $\dot{V} < 0$ 对所有 $x \neq 0$,系统全局渐近稳定。
光滑性:除了集合 $\{x : L_g V = 0, L_f V = 0\}$,$k(x)$ 处处光滑。该集合测度为零。
习题8.6 (开放题)比较反步法和滑模控制在处理参数不确定性方面的优劣。考虑系统: $$\begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= \theta f(x_1, x_2) + u \end{aligned}$$ 其中 $\theta$ 未知但有界。设计两种控制器并分析性能。
提示:考虑收敛速度、抖振、自适应能力等方面
答案要点
反步法设计:
- 自适应律:$\dot{\hat{\theta}} = \gamma z_2 f(x_1, x_2)$
- 优点:平滑控制,无抖振,参数估计
- 缺点:需要持续激励,瞬态性能依赖初始估计
滑模控制设计:
- 滑模面:$s = \dot{e} + \lambda e$
- 控制:$u = -\hat{\theta}f - k\,\text{sgn}(s)$
- 优点:有限时间收敛,强鲁棒性
- 缺点:抖振问题,不提供参数估计
性能对比:
- 精度:反步法在稳态更精确
- 鲁棒性:滑模控制对扰动不敏感
- 实现:反步法更易于实际实现
8.10 常见陷阱与错误(Gotchas)
设计陷阱
-
Lyapunov函数选择不当 - 错误:盲目使用二次型 $V = x^T P x$ - 正确:根据系统结构选择,考虑能量、交叉项等
-
忽略peaking现象 - 错误:高增益观测器导致瞬态响应发散 - 正确:使用饱和函数或初始化策略
-
反步法中的微分爆炸 - 错误:直接微分复杂的虚拟控制 - 正确:使用动态面控制或命令滤波器
实现陷阱
-
数值微分引入噪声 - 错误:直接差分计算 $\dot{x}$ - 正确:使用状态观测器或滤波器
-
控制器奇异性 - 错误:分母接近零时控制量爆炸 - 正确:添加小正数或使用饱和
-
采样时间选择不当 - 错误:采样太慢丢失非线性特性 - 正确:至少10倍于系统最快动态
分析陷阱
-
局部vs全局稳定性混淆 - 错误:局部分析结论推广到全局 - 正确:明确吸引域范围
-
忽略未建模动态 - 错误:理想模型设计的控制器直接应用 - 正确:考虑执行器动态、时延等
8.11 最佳实践检查清单
控制器设计审查
- [ ] 稳定性分析完整性
- 明确稳定性类型(局部/全局/半全局)
- 估计吸引域大小
-
验证Lyapunov函数的正定性和导数负定性
-
[ ] 鲁棒性考虑
- 参数不确定性范围
- 未建模动态影响
-
外部扰动抑制能力
-
[ ] 性能指标
- 收敛速度量化
- 稳态精度要求
- 瞬态响应约束
实现验证
- [ ] 数值问题
- 避免除零和数值溢出
- 合适的积分算法
-
条件数检查
-
[ ] 实时性保证
- 计算复杂度分析
- 最坏情况执行时间
-
内存需求评估
-
[ ] 安全机制
- 控制量饱和处理
- 故障检测与处理
- 紧急停止策略
测试验证
- [ ] 仿真测试
- 标称情况性能
- 参数摄动测试
-
极端工况验证
-
[ ] 硬件在环测试
- 传感器噪声影响
- 执行器限制验证
-
通信延时处理
-
[ ] 现场调试
- 增益调整策略
- 性能监控指标
- 故障诊断工具