2、数学基础回顾:李导数与李括号、微分同胚与反馈线性化的基本概念

好,咱们进入正题。这一节是数学基础,听起来有点枯燥,但相信我——这是后面所有非线性补偿技巧的「地基」。我当年刚接触飞控时,觉得这些数学工具离工程太远,结果在调试一个高攻角机动时栽了大跟头。后来才明白,不懂李导数,你连问题出在哪都说不清楚。

2.1 李导数:沿着向量场的方向导数

先说说李导数。说白了,它就是「沿着某个向量场的方向导数」。你想想看,我们做姿态控制时,状态量是姿态角和角速度,控制量是力矩。系统状态在相空间里流动,李导数就是描述某个标量函数沿着这个流动方向的变化率。

定义上,给定一个光滑标量函数 h(x) 和一个向量场 f(x),李导数记作 Lfh(x),计算公式是:

L_f h(x) = ∂h/∂x · f(x)

嗯,这里要注意:李导数可以嵌套使用。比如 Lf2h(x) 就是先对 h 求一次李导数,再对结果求一次。这在后面做输入输出线性化时会反复用到。

我个人习惯:把李导数理解成「系统状态沿着某个方向流动时,某个观测量的变化速度」。比如在四旋翼中,高度 h 沿着垂直速度方向的李导数,就是垂直加速度。

2.2 李括号:向量场的交换子

李括号就更有意思了。它衡量的是两个向量场「交换顺序」后的差异。定义是:

[f, g] = ∂g/∂x · f - ∂f/∂x · g

为什么需要这个?我在做欠驱动系统控制时遇到过一个问题:两个控制输入明明都能影响系统,但组合起来却无法覆盖整个状态空间。后来用李括号一算,发现它们的「交换子」为零,说明这两个向量场是对合的——说白了就是它们生成的分布是「可积」的,系统存在不可控的子空间。

避坑指南:我曾经在调试一个倾转旋翼机时,忽略了李括号的非零性,以为两个控制通道是独立的。结果在过渡飞行阶段,系统出现了意料之外的耦合振荡。后来用李括号分析才发现,两个向量场的交换子产生了新的方向,这个方向没有被任何控制输入直接覆盖。

李括号有几个重要性质:

  • 反对称性:[f, g] = -[g, f]
  • 双线性性:对两个参数都是线性的
  • 雅可比恒等式:[f, [g, h]] + [g, [h, f]] + [h, [f, g]] = 0

这些性质在判断系统可控性时非常有用。特别是雅可比恒等式,它保证了李括号运算的「自洽性」。

2.3 微分同胚:非线性坐标变换

微分同胚,名字听着吓人,其实就是「光滑可逆的坐标变换」。要求变换 φ(x) 本身光滑,且它的逆变换也存在且光滑。

为什么在非线性控制中这么重要?因为我们可以通过微分同胚,把一个复杂的非线性系统「映射」成一个简单的线性系统。你想想看,如果能把姿态动力学中的强耦合项通过坐标变换解耦,那控制器的设计就简单多了。

判断一个变换是不是微分同胚,核心条件是雅可比矩阵 ∂φ/∂x 处处非奇异。我在项目中常用这个条件来检查我设计的变换是否合理——如果雅可比矩阵在某点奇异,说明那个点附近变换会「塌缩」,控制律会失效。

注意:微分同胚是全局概念还是局部概念?工程中我们通常只关心局部微分同胚。因为飞行器的姿态通常不会跑到奇异点附近(比如万向节锁),但在全姿态机动中,这个问题就绕不过去了。我建议在设计变换时,先检查工作点附近的雅可比矩阵条件数。

2.4 反馈线性化:核心思想

好了,前面铺垫了这么多,终于到主角了。反馈线性化的核心思想就一句话:通过状态反馈和非线性坐标变换,把非线性系统变成线性系统

具体来说,考虑一个仿射非线性系统:

ẋ = f(x) + g(x)u
y = h(x)

我们希望找到反馈律 u = α(x) + β(x)v,使得新系统对输入 v 是线性的。这个过程分两步:

  1. 相对阶计算:对输出 y 反复求李导数,直到出现输入 u。这个「反复求导的次数」就是相对阶 r。
  2. 坐标变换与反馈:用李导数构造新坐标 z = [h, L_f h, ..., L_f^{r-1}h, η]^T,其中 η 是内部动态。然后设计反馈律消去非线性项。

举个简单的例子。假设一个单输入单输出系统:

ẋ₁ = x₂
ẋ₂ = -sin(x₁) + u
y = x₁

相对阶是多少?对 y 求导:ẏ = x₂,没有 u。再求导:ÿ = -sin(x₁) + u,出现了 u。所以相对阶 r = 2。

反馈律设计为 u = sin(x₁) + v,代入后得到 ÿ = v。你看,原来的非线性项 sin(x₁) 被抵消了,系统变成了一个简单的双积分器。

我的一点体会:反馈线性化不是万能的。它要求系统相对阶等于系统维数(即没有内部动态),或者内部动态是稳定的。我在做四旋翼姿态控制时,发现偏航通道的相对阶是2,但滚转和俯仰通道的相对阶是3——这意味着存在内部动态。如果不处理这个内部动态,系统可能会「偷偷」变得不稳定。

2.5 小结与工程建议

这一节的内容偏理论,但每个概念都有明确的工程对应:

数学概念 工程含义 常见坑点
李导数 状态沿某个方向的变化率 嵌套计算时容易漏项
李括号 两个控制通道的耦合程度 忽略交换子会导致可控性误判
微分同胚 非线性坐标变换 雅可比矩阵奇异点附近失效
反馈线性化 用反馈抵消非线性 内部动态稳定性需单独验证

最后说一句:这些工具在仿真里跑得漂漂亮亮,但上了真机,模型误差、执行器饱和、测量噪声都会让反馈线性化的效果打折扣。我建议在工程实现时,保留一个鲁棒性裕度——比如在反馈律中加入一个小的阻尼项,防止模型失配时系统发散。

下一节我们会把这些工具用到具体的姿态控制问题上,看看如何设计一个完整的非线性补偿控制器。