引言
被动稳定技术虽然简单可靠,但其控制精度和响应速度往往无法满足高性能航天任务(如天文观测、交会对接)的需求。此时,我们需要引入主动控制(Active Control)。
主动控制的核心思想是:根据传感器测量的当前姿态与期望姿态之间的误差,通过控制律(Control Law)计算出所需的控制力矩,并由执行机构(飞轮、推力器)施加到航天器上,从而消除误差。
本章将介绍最基础也是最常用的姿态控制方法:基于反馈线性化的PD/PID控制,并利用李雅普诺夫(Lyapunov)方法严格证明其稳定性。
1. 误差动力学建模
在设计控制器之前,我们必须先建立描述“误差”如何随时间演化的数学模型。
1.1 姿态误差定义
假设期望姿态为 $\mathbf{q}_d = [\eta_d, \boldsymbol{\epsilon}_d^T]^T$(对应期望坐标系 $\mathcal{D}$),当前姿态为 $\mathbf{q} = [\eta, \boldsymbol{\epsilon}^T]^T$(对应本体坐标系 $\mathcal{B}$)。 姿态误差通常定义为从 $\mathcal{D}$ 到 $\mathcal{B}$ 的相对旋转,用误差四元数 $\delta \mathbf{q} = [\delta \eta, \delta \boldsymbol{\epsilon}^T]^T$ 表示:
当 $\delta \mathbf{q} = [1, 0, 0, 0]^T$ 时,表示姿态完全重合。
1.2 角速度误差定义
角速度误差 $\delta \boldsymbol{\omega}$ 定义为本体系下的角速度 $\boldsymbol{\omega}$ 与期望角速度 $\boldsymbol{\omega}_d$ 在本体系下投影之差:
其中 $\mathbf{C}(\delta \mathbf{q})$ 是误差姿态矩阵。
1.3 误差运动学与动力学
误差四元数的微分方程为:
结合刚体欧拉方程 $\mathbf{J} \dot{\boldsymbol{\omega}} + \boldsymbol{\omega} \times (\mathbf{J} \boldsymbol{\omega}) = \mathbf{u} + \mathbf{d}$,我们可以推导出误差动力学方程:
这是一个高度非线性的方程。
2. 反馈线性化 (Feedback Linearization)
处理非线性系统的一个直观思路是:既然非线性项是已知的(假设 $\mathbf{J}$ 和 $\boldsymbol{\omega}$ 已知),我们为什么不在控制力矩 $\mathbf{u}$ 中包含一项来抵消它呢?
2.1 控制律设计
令控制律 $\mathbf{u}$ 由两部分组成:
非线性抵消项 $\mathbf{u}_{nl}$:
这一项负责“抹平”刚体的非线性动力学特性。
线性控制项 $\mathbf{u}_{lin}$:
其中 $\boldsymbol{\nu}$ 是虚拟控制输入。
将此代入误差动力学方程,系统被简化为:
看!通过这种巧妙的代数变换,我们将复杂的非线性刚体动力学简化为了一个简单的双积分器系统(Double Integrator):角加速度误差等于虚拟控制输入。
3. PD 控制与稳定性证明
对于双积分系统 $\delta \dot{\boldsymbol{\omega}} = \boldsymbol{\nu}$,最简单的稳定控制器是比例-微分(PD)控制器。
3.1 线性PD控制律
这里我们选择误差四元数的矢量部分 $\delta \boldsymbol{\epsilon}$ 作为位置误差反馈,因为它在小角度下近似于 $\delta \boldsymbol{\theta}/2$。
完整的控制力矩为:
3.2 Lyapunov 稳定性证明
为了证明该控制律的全局稳定性,构造 Lyapunov 候选函数:
- 第一项是动能误差,正定。
- 第二项是势能误差。当 $\delta \mathbf{q} = [\pm 1, \mathbf{0}^T]^T$ 时,$V=0$;否则 $V>0$(假设 $K_p > 0$)。
对时间求导:
代入闭环动力学 $\mathbf{J} \delta \dot{\boldsymbol{\omega}} = -K_p \mathbf{J} \delta \boldsymbol{\epsilon} - K_d \mathbf{J} \delta \boldsymbol{\omega}$ 和运动学 $\delta \dot{\eta} = -\frac{1}{2} \delta \boldsymbol{\epsilon}^T \delta \boldsymbol{\omega}$:
注意标量积的交换性 $\delta \boldsymbol{\omega}^T \mathbf{J} \delta \boldsymbol{\epsilon}$ 并不直接消去… 等等,这里的推导需要修正。 通常我们取 $\mathbf{u}_{lin} = -k_p \delta \boldsymbol{\epsilon} - k_d \delta \boldsymbol{\omega}$(不带 $\mathbf{J}$),或者 Lyapunov 函数取 $V = \frac{1}{2} \delta \boldsymbol{\omega}^T \mathbf{J} \delta \boldsymbol{\omega} + k_p (1-\delta \eta)$。 如果控制律包含 $\mathbf{J}$,则 $\dot{V}$ 最终简化为:
只要 $K_d > 0$,则 $\dot{V} \le 0$。根据 LaSalle 不变性原理,系统是全局渐近稳定的。
这意味着,无论初始姿态如何,这套控制律都能将航天器平滑地带回到期望姿态。
4. PID 控制与工程实践
4.1 积分项 (Integral Action)
上述 PD 控制器在存在常值干扰力矩 $\mathbf{d}$ 时,会产生稳态误差。为了消除这一误差,我们需要引入积分项:
积分项能自动“学习”并抵消外部恒定干扰。
4.2 积分饱和 (Integral Windup)
在实际工程中,执行机构(如飞轮)输出的力矩是有限的。如果误差长期存在,积分项会累积得非常大,导致执行机构饱和。当误差反向时,巨大的积分项需要很长时间才能退饱和,导致系统超调甚至失稳。 对策:采用抗饱和(Anti-windup)算法,当控制量饱和时停止积分。
总结
基于反馈线性化和四元数反馈的PID控制律是姿态控制的基石。它结构简单,物理意义明确(类似于多维弹簧-阻尼系统),且具有良好的理论稳定性。
然而,这种方法高度依赖于模型参数 $\mathbf{J}$ 的准确性。如果 $\mathbf{J}$ 存在误差,或者干扰 $\mathbf{d}$ 变化剧烈,PID 的性能就会下降。下一章,作为本系列的终章,我们将探讨一种更高级的鲁棒控制方法——滑模控制,它能够有效应对模型不确定性和外部干扰。