📁 Sunhao's Log
← 返回笔记列表 / SE(3) 滑模控制
SE(3) 滑模控制 ★ 读者评价

SE(3) 航天器交会对接滑模控制 (二):速度未测、扩张状态观测器与超扭曲扰动重构

从状态全测到输出反馈:深入解析李群 SE(3) 上六自由度姿轨一体化交会对接中的非线性扩张状态观测器 (ESO)、二阶滑模扰动重构、速度未测输出反馈与抗饱和自适应滑模控制体系。

#se3-control #lie-group #sliding-mode-control #extended-state-observer #super-twisting #rendezvous-and-docking #output-feedback #math-heavy

引言:从全状态反馈的温室走向恶劣空间现实

在航天器自主交会对接与近距离邻近操作(Rendezvous, Proximity Operations, and Docking, RPOD)的基础控制文献中,绝大多数控制律推导都建立在一个近乎严苛的前提假设之上:全状态完全可测——即跟随航天器在任意控制控制步内,都能实时、无延迟、无噪声地精确获取相对于目标航天器的相对旋转矩阵 、相对位置向量 、相对角速度旋量 以及相对线速度旋量 。

然而,一旦将目光投向真实的在轨工程应用场景,这一理想化假设便面临严峻挑战:

  1. 传感器质量与功耗预算受限:对于空间微小卫星(CubeSat / SmallSat)、低成本离轨清除飞行器或分布式编队卫星,受限于载荷质量、体积与功耗(SWaP)红线,往往无法装载高精度、高频响的光纤陀螺仪(FOG)或星载三维雷达测速组件;
  2. 高频微分噪声雪崩:星载光学敏感器(如双目相机、激光雷达 LiDAR 或超宽带 UWB 测距阵列)仅能直接输出航天器间的相对几何构型(位姿测量),若通过简单的数值差分(如向后差分 )强行计算相对速度,测量中不可避免存在的毫米级量化白噪声与时间抖动将被高频差分算子急剧放大数千倍,直接击穿下游控制回路;
  3. 真实空间摄动与执行器非理想特性的深度交织:在低地球轨道(LEO)或非合作目标翻滚交会区,航天器不仅承受着地球 高阶引力摄动、大气阻尼与太阳光压,还时刻承受着推进剂消耗引起的质量/转动惯量不确定性()、推力器机械加工与装配带来的安装偏斜角矩阵(Misalignment Matrix ),以及物理硬件必然存在的输出推力截断硬饱和(Actuator Saturation)。

这些现实困境共同将控制系统推向了现代非线性控制的深水区:如何在相对速度未测、系统存在强状态依赖乘性扰动与执行器物理硬饱和的极限工况下,在李群 流形上实现严格有限时间稳定的姿轨一体化自主交会控制?

本文作为 “SE(3) 航天器交会对接滑模控制四部曲” 的第二篇,将系统解构空间六自由度相对运动中的扰动重构与输出反馈控制范式:

  • 速度已知下的扰动重构基石:叶东、张建桥等学者(Ye 2017)提出的基于 指数坐标的快速终端滑模(FTSM)与非线性扩张状态观测器(ESO),揭示利用 Moreno-Osorio 矩阵李雅普诺夫技术证明扰动重构有限时间收敛的数学精髓;
  • 推力器偏差与抗饱和架构:张建桥、孙兆伟等学者(Zhang 2018)针对通用全驱动推力器安装偏差与输入饱和,提出的带有线性校正项的二阶滑模观测器(SOSM-ESO + Linear Correction)及自适应快速终端滑模抗饱和控制律;
  • 速度完全未测下的终极挑战:Gong 2021 创立的三阶连续有限时间扩张状态观测器(3rd-Order FTESO),利用加权齐次性理论(Weighted Homogeneity)严密证明在纯位姿测量下全相对速度与复合扰动的双重有限时间一致最终有界(FT-UUB)收敛,并结合超扭曲算法(Super-Twisting)实现完全无抖振的非奇异终端滑模输出反馈闭环。

一、空间六自由度相对运动学与李代数对数映射

在开展观测器与控制器设计之前,必须建立统一、精确且无奇异的几何微分动力学模型。

1.1 坐标参考系与李群构型表达

定义以下标准笛卡尔坐标正交参考系:

  • 地心惯性坐标系(ECI, ):原点位于地球质心,坐标轴在空间固连;
  • 跟随航天器本体固连系(Body, ):原点位于跟随航天器质心,坐标轴与惯性主轴重合;
  • 目标航天器本体固连系(Target Body, ):原点位于目标航天器质心。

设跟随航天器在惯性系中的姿态旋转矩阵为 ,质心位置向量为 。特殊欧几里得群 的元素以 齐次变换矩阵紧凑描述:

目标航天器的位姿矩阵记为 。跟随航天器相对于目标航天器的实际相对位形矩阵为:

设期望相对位形为 ,则相对位形跟踪误差群元素定义为:

1.2 指数坐标解析展开与逆左雅可比算子

利用李代数对数映射 ,相对误差的六维指数坐标向量定义为:

通过 Rodrigues 解析逆展开,旋转指数坐标误差 与平移指数坐标误差 分别为:

其中 为主旋转角。正向左雅可比算子 与逆向左雅可比算子 具有经典解析多项式形式:

1.3 微分运动学方程与几何算子特性

在跟随航天器本体系 中表示的相对速度旋量为:

由微分流形切空间传递原理,六维指数坐标的时间导数严格满足下三角分块微分运动学方程:

其中微分运动学矩阵 为:

平移耦合张量 的解析表达式为:

关键几何引理(正定投影特性):
在工作域 内,矩阵 处处非奇异,其所有特征值实部严格大于零,并且精确满足如下几何投影恒等式:

这一恒等式是后续所有李雅普诺夫滑动模态收敛性证明的支柱。


二、空间六自由度相对动力学与复合总扰动解构

2.1 刚体相对动力学方程

设航天器标称质量为 ,标称惯性张量为 ,全状态惯量矩阵定义为 。相对速度旋量的动态演化遵循如下方程:

其中:

  • 名义非线性耦合项: 包含科氏力矩、相对速度向心耦合以及目标星轨道加速度传输项;
  • 重力与 摄动旋量: 详细涵盖了中心引力、重力梯度力矩与地球 扁率摄动;
  • 广义控制输入旋量:。

2.2 复合集总总扰动 的四维物理构成

设航天器实际惯量参数为 ,其实际逆为 。若同时考虑执行器安装偏差 、外部空间摄动 以及执行机构饱和截断 ,复合集总总扰动 精确展开为:

这一展开清晰地展现了 绝非简单的外部白噪声,而是一个高度交织了状态量、控制输入与硬件物理边界的复合动态系统。


三、速度已知条件下的有限时间扰动重构 (Ye 2017)

在许多空间交会任务中,航天器配备了相对测速雷达或陀螺仪,相对速度 可被直接测量。此时,控制器的主要挑战是如何在短时间内准确估计并主动抵消未知扰动 ,从而消除滑模控制的高频切换抖振。

3.1 辅助状态升维与 12 维扩张状态空间

Ye 2017 引入了巧妙的切空间辅助变量:

其中 为正定对角增益。对 求时间导数:

定义名义已知项 与控制输入矩阵 。将复合总扰动扩展为新系统状态 ,全系统重构为 12 维线性结构扩张状态方程:

其中 为扰动变化率向量,满足幅值有界性 。

3.2 非线性有限时间扩张状态观测器 (FTESO)

针对式 (19),设计非线性连续有限时间 ESO:

其中 为对 的估计, 为对总扰动 的估计; 为估计误差;分数幂次参数严格选取在 。观测误差系统演化方程为:

3.3 Moreno-Osorio 矩阵李雅普诺夫有限时间收敛证明

针对每个独立通道 ,引入辅助误差向量 。构造如下非光滑矩阵二次型候选李雅普诺夫函数:

其中实对称正定矩阵 明确为:

行列式 ,满足双边二次型上下界:。沿误差轨迹 (21) 求时间导数:

其中正定常数矩阵 与常向量 为:

利用范数缩放定理,可推导出严格的负半定有限时间微分不等式:

当状态误差范数满足 时,有 。根据有限时间稳定性判据,观测器估计误差向量 将在有限时间内严格收敛至原点的紧致邻域残差集 :

3.4 改进型快速终端滑模主动补偿控制律

借助 ESO 的高精度实时扰动输出 ,Ye 2017 构建了复合前馈对消快速终端滑模控制律:

在此控制律中,由于 主动抵消了绝大部分未知空间扰动,切换增益 仅需克服残差集 的微弱界限,彻底告别了传统滑模控制必须将增益放大到绝对上界而引发的剧烈高频抖振!


四、执行器安装偏差与输入饱和:线性校正二阶滑模观测器 (Zhang 2018)

在真实的航天器推进子系统中,推力器往往以冗余阵列(如 8 推进器、12 推进器构型)布置于星体表面。然而,推进器的物理制造公差与机械装配误差会导致实际推力方向与标称轴线产生未知的微小安装偏角(Misalignment)。

4.1 通用推力器构型与输入饱和建模

设航天器装配有 个推力器,推力器指令向量为 。标称推力分配配置矩阵为 。考虑安装偏斜角矩阵 与推力系数偏差,实际推力作用矩阵为:

各推力器受物理硬饱和约束:。定义饱和截断误差为 。则实际作用于航天器的广义控制力旋量写为:

4.2 带有线性校正项的二阶滑模观测器 (SOSM-ESO + Linear Correction)

针对包含推力器安装偏差与输入饱和的相对运动系统,Zhang 2018 提出了带有线性校正项的新型二阶滑模扩张状态观测器:

其中 为状态误差, 为扰动估计误差,。

该结构最具突破性的设计在于显式融入了线性校正阻尼项 与 :

  • 在系统处于大误差初始阶段,分数阶幂次 由于 呈现亚线性增长(斜率小于 1),其收敛拉力弱于线性系统;此时线性项占主导,为系统提供极强的指数级加速收敛,大幅缩短初始捕获过渡期并消除超调;
  • 在误差进入原点微小邻域后,非线性分数阶项恢复统治地位,利用原点切线斜率趋于无穷的非光滑特性实现极速有限时间歼灭。

4.3 基于 Schur 补的增益整定与矩阵李雅普诺夫分析

为了严格证明式 (32) 的有限时间一致最终有界性,作者构造了三维增广状态向量 。通过应用分块矩阵的 Schur 补正定判据,推导出观测器参数选择的充要代数不等式:

在此增益约束下,系统的李雅普诺夫导数矩阵 严格正定,保证观测器状态在大范围有界扰动率下在有限时间 内进入紧致吸引域:

4.4 自适应快速终端滑模控制律 (AFTSM) 与动态增益演化

为了进一步抵御推力器饱和引起的未建模残差,Zhang 2018 构造了自适应切换增益调节器:

该自适应律能够根据滑模面变量 的离面距离动态调整切换边界层厚度,从而在抵消推力器安装偏差的同时,实现了完全避免高频颤振的连续控制推力分配。


五、速度完全未测下的终极挑战:三阶连续有限时间 ESO 与齐次性收敛 (Gong 2021)

当航天器由于传感器故障或硬件裁剪而完全丧失相对速度测量时,系统退化为典型的欠信息输出反馈控制问题。此时不仅外界扰动未知,连作为阻尼基础的相对角速度与线速度也无从获知。

5.1 二阶规范动力学重构与输出反馈问题表述

回顾相对指数坐标微分运动学:。对时间再度求导:

将相对动力学方程 (14) 代入,可将六自由度运动学与动力学合二为一,写为纯位姿空间的二阶拉格朗日规范形式:

其中 将动力学名义耦合、重力摄动、未知外扰以及最为复杂的运动学高阶微分非线性张量全部合成为一个集总流形扩张扰动:

在全状态不可测的情况下,我们仅能通过星载几何敏感器测量到位姿误差 。

5.2 三阶连续有限时间扩张状态观测器 (3rd-Order FTESO) 架构

Gong 2021 定义了三阶扩展状态变量:

  • (位姿误差)
  • (未测速度误差)
  • (集总流形总扰动)

微分系统写为:

设计如下三阶非线性连续有限时间观测器:

其中,参数严格限制在:

当 时,该观测器退化为标准的韩京清三阶线性 ESO,其特征多项式为 ;而当 时,系统呈现出高阶非光滑齐次收敛特性。

5.3 加权齐次性理论 (Weighted Homogeneity) 与有限时间收敛证明

定义观测误差 ()。在无扰动导数名义情况下,观测误差系统为:

引入加权伸缩算子 。选取权值向量:

易证系统各分量向量场关于伸缩算子具备负度数齐次性 。根据 Bhat & Bernstein 齐次稳定性定理:

负度数且渐近稳定的连续自治齐次系统必是严格有限时间稳定的!

当计及扰动变化率有界项 时,根据齐次扰动抑制原理,误差状态在有限时间 内一致最终收敛到以原点为中心的紧致不变集:

5.4 超扭曲非奇异终端滑模输出反馈控制 (ST-NTSM)

在获取高精度速度重构 与扰动重构 后,Gong 2021 构造了基于重构速度的非奇异终端滑模面:

结合超扭曲(Super-Twisting)高阶滑模算法,设计连续无抖振控制力矩:

该控制律不仅实现了完全不依赖实际速度传感器的闭环稳定,更利用超扭曲积分结构将不连续控制作用平滑吸收在时间积分器内部,彻底消除了推力器执行机构的高频机械抖振!


六、学术复现图景对比分析 (Ye 2017 vs Zhang 2018 vs Gong 2021)

为了直观呈现上述三种控制体系在扰动估计精度、位姿跟踪品质与抗饱和特性上的差异,本节从各论文的基准复现成果中提取典型图谱进行多维对比。

6.1 Ye 2017:二阶有限时间 ESO 扰动估计与姿轨一体化收敛

Ye 2017 ESO 控制闭环架构 图 1: Ye 2017 基于 SE(3) 指数坐标与扩张状态观测器的六自由度相对运动控制体系架构

Ye 2017 观测器扰动估计误差曲线 图 2: Ye 2017 二阶 ESO 对复合扰动的有限时间估计误差(在 2.5 秒内迅速歼灭并保持在极小残差带内)

Ye 2017 相对姿态跟踪曲线 图 3: Ye 2017 改进型 FTSM 控制器下的相对姿态指数坐标收敛轨迹(平滑快速入轨,无超调)

6.2 Zhang 2018:全驱动推力器安装偏差与输入饱和抗扰

Zhang 2018 推力器构型图 图 4: Zhang 2018 星载通用全驱动推力器空间分布几何构型

Zhang 2018 推力器安装偏斜角几何描述 图 5: Zhang 2018 推力器机械安装偏角与推力线偏斜示意图

Zhang 2018 SOSM-ESO 闭环系统架构 图 6: Zhang 2018 集成带线性校正项 SOSM-ESO 与自适应抗饱和 FTSM 的闭环控制拓扑

Zhang 2018 扰动重构响应曲线 图 7: Zhang 2018 复合扰动真实值与 SOSM-ESO 估计值的实时跟踪对比曲线

6.3 Gong 2021:无速度测量下的三阶 FTESO 与超扭曲平滑输出

Gong 2021 FTESO-1 观测误差 图 8: Gong 2021 三阶 FTESO 在完全无速度测量下对相对速度与流形总扰动的收敛响应

Gong 2021 FTESO-4 观测误差 图 9: Gong 2021 不同观测器幂次参数下的速度误差收敛细节对比

Gong 2021 位姿跟踪误差对比 图 10: Gong 2021 超扭曲非奇异终端滑模 (ST-NTSM) 与传统对比算法在位姿跟踪精度上的优越表现

Gong 2021 控制力矩与推力幅值对比 图 11: Gong 2021 输出反馈控制力与控制力矩响应:超扭曲算法将高频颤振彻底抹平,呈现平滑控制曲线

6.4 核心方法横向对比矩阵

特性指标Ye 2017 (FTSM + ESO)Zhang 2018 (AFTSM + SOSM-ESO)Gong 2021 (ST-NTSM + 3rd-FTESO)
状态测量依赖相对位姿 + 相对速度全测相对位姿 + 相对速度全测仅需相对位姿测量 (速度完全未测)
观测器阶数2 阶(估计扰动)2 阶(估计扰动,含线性阻尼)3 阶(同时重构速度与总扰动)
理论收敛性证明Moreno-Osorio 矩阵李雅普诺夫Lyapunov + Schur 补正定判据加权齐次性理论 (Weighted Homogeneity)
执行器饱和处理边界层饱和替换显式推力分配抗饱和辅助系统闭环物理限幅与有界性分析
安装偏差自适应无显式偏差矩阵适应自适应动态增益更新律补偿偏差并入流形总集总扰动进行重构
抖振抑制机制前馈主动对消 + 边界层平滑自适应死区平滑因子超扭曲高阶滑模算法 (绝对连续力矩)

七、深度批判性学术评述卡片 (Critique Cards)

评注 1:流形几何与欧氏向量空间的结构割裂 —— 为什么经典线性 ESO 不能直接套用于 SE(3)?
坐标化表象下的微分几何本质:切空间联络与雅可比算子的不可忽略性
许多文献尝试将姿态与位置指数误差拼装为 6 维列向量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo>=</mo><mo stretchy="false">[</mo><msup><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mi mathvariant="normal">⊤</mi></msup><mo separator="true">,</mo><msup><mover accent="true"><mi mathvariant="bold-italic">β</mi><mo>~</mo></mover><mi mathvariant="normal">⊤</mi></msup><msup><mo stretchy="false">]</mo><mi mathvariant="normal">⊤</mi></msup><mo>∈</mo><msup><mi mathvariant="double-struck">R</mi><mn>6</mn></msup></mrow><annotation encoding="application/x-tex">\tilde{\boldsymbol{\eta}} = [\tilde{\boldsymbol{\Theta}}^\top, \tilde{\boldsymbol{\beta}}^\top]^\top \in \mathbb{R}^6</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8757em;vertical-align:-0.1944em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.4203em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.162em;"><span style="top:-3.3759em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">⊤</span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.034em;">β</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.1703em;"><span style="top:-3.3842em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">⊤</span></span></span></span></span></span></span></span><span class="mclose"><span class="mclose">]</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">⊤</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathbb">R</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">6</span></span></span></span></span></span></span></span></span></span></span>,随后直接生搬硬套标准的经典欧氏 ESO 结构(如 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mover accent="true"><mi>x</mi><mo>^</mo></mover><mo>˙</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mn>2</mn></msub><mo>−</mo><msub><mi>β</mi><mn>1</mn></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><mspace width="1em"/><msub><mover accent="true"><mover accent="true"><mi>x</mi><mo>^</mo></mover><mo>˙</mo></mover><mn>2</mn></msub><mo>=</mo><mi>u</mi><mo>+</mo><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mn>3</mn></msub><mo>−</mo><msub><mi>β</mi><mn>2</mn></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>x</mi><mo>^</mo></mover><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\dot{\hat{x}}_1 = \hat{x}_2 - \beta_1 (\hat{x}_1 - y), \quad \dot{\hat{x}}_2 = u + \hat{x}_3 - \beta_2 (\hat{x}_1 - y)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0813em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span></span><span style="top:-3.2634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0528em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0528em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1813em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:1em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span></span><span style="top:-3.2634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">3</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0528em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0528em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">x</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.2222em;"><span class="mord">^</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span></span></span></span>)。这种处理在严谨微分几何视角下是完全不可行的。<br><br>
核心根源在于李群动力学的非欧拓扑扭曲:指数坐标的时间微分满足 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo>˙</mo></mover><mo>=</mo><mi mathvariant="bold-italic">G</mi><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo stretchy="false">)</mo><mover accent="true"><mi mathvariant="bold-italic">ξ</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\dot{\tilde{\boldsymbol{\eta}}} = \boldsymbol{G}(\tilde{\boldsymbol{\eta}})\tilde{\boldsymbol{\xi}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1126em;vertical-align:-0.1944em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9182em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span></span><span style="top:-3.2503em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1813em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">G</span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0302em;">ξ</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span></span></span></span>。微分运动学算子 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">G</mi><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{G}(\tilde{\boldsymbol{\eta}})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">G</span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 绝非单位矩阵,其对角块由反向左雅可比 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="script">S</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{\mathcal{S}}^{-1}(\tilde{\boldsymbol{\Theta}})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.173em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathcal" style="margin-right:0.075em;">S</span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8873em;"><span style="top:-3.1362em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 构成,非对角块更包含了复杂的平动-转动几何耦合张量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">T</mi><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mo separator="true">,</mo><mover accent="true"><mi mathvariant="bold-italic">β</mi><mo>~</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{T}(\tilde{\boldsymbol{\Theta}}, \tilde{\boldsymbol{\beta}})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1813em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.1597em;">T</span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.034em;">β</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。若在欧氏空间简单对误差做积分估计,观测器内部状态将不可避免地与实际流形切空间产生坐标漂移。<br><br>
针对此难题,<b>Ye 2017</b> 独辟蹊径地构造了混合切空间辅助变量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="bold-italic">x</mi><mn>1</mn></msub><mo>=</mo><mover accent="true"><mi mathvariant="bold-italic">ξ</mi><mo>~</mo></mover><mo>+</mo><mi mathvariant="bold-italic">K</mi><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\boldsymbol{x}_1 = \tilde{\boldsymbol{\xi}} + \boldsymbol{K}\tilde{\boldsymbol{\eta}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5944em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">x</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1257em;vertical-align:-0.1944em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0302em;">ξ</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8805em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0698em;">K</span></span></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span></span></span></span>,巧妙将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">G</mi><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{G}(\tilde{\boldsymbol{\eta}})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">G</span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 转移至名义已知模型项;而 <b>Gong 2021</b> 则直接将全流形高阶非线性耦合 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi mathvariant="bold-italic">G</mi><mo>˙</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold-italic">η</mi><mo>~</mo></mover><mo stretchy="false">)</mo><mover accent="true"><mi mathvariant="bold-italic">ξ</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\dot{\boldsymbol{G}}(\tilde{\boldsymbol{\eta}})\tilde{\boldsymbol{\xi}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1813em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">G</span></span></span></span><span style="top:-3.2551em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.037em;">η</span></span></span></span><span style="top:-3.3634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0302em;">ξ</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span></span></span></span> 整体推入扩张集总扰动 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">D</mi></mrow><annotation encoding="application/x-tex">\boldsymbol{D}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6861em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0319em;">D</span></span></span></span></span></span>。两种策略各有千秋,但共同的前提是系统必须严格驻留在微分同胚单射工作域 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∥</mi><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mi mathvariant="normal">∥</mi><mo>&lt;</mo><mi>π</mi></mrow><annotation encoding="application/x-tex">\|\tilde{\boldsymbol{\Theta}}\| &lt; \pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.173em;vertical-align:-0.25em;"></span><span class="mord">∥</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mord">∥</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">π</span></span></span></span> 内。
评注 2:扩张状态的本质解构 —— 真实外生扰动与“建模残差垃圾桶”的物理界限
导数有界性假设的物理脆弱点:当执行器硬饱和跳变撞上连续微积分假设
在几乎所有关于扩张状态观测器的稳定性论文中,第一条核心假设必然是“复合集总扰动的一阶导数全局有界”,即 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∥</mi><mover accent="true"><mover accent="true"><mi mathvariant="bold-italic">d</mi><mo>~</mo></mover><mo>˙</mo></mover><mi mathvariant="normal">∥</mi><mo>≤</mo><msub><mi>δ</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\|\dot{\tilde{\boldsymbol{d}}}\| \le \delta_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.4182em;vertical-align:-0.25em;"></span><span class="mord">∥</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.1682em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">d</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span></span><span style="top:-3.5003em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="mord">∥</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0379em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>。但在高动态空间交会对接与逼近任务中,将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi mathvariant="bold-italic">d</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\tilde{\boldsymbol{d}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9313em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">d</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span></span></span></span> 视为缓慢变化平滑信号的假设常常面临物理现实的严酷考验:<br><br>
1. <b>空间环境外扰</b>:地球 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">J_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0962em;">J</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0962em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 摄动力、大气阻力与光压虽然微弱,但沿轨道周期性平滑波动;<br>
2. <b>惯量参数失配</b>:在推进剂大幅消耗或抓捕非合作目标后,惯量偏差 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi mathvariant="double-struck">I</mi><mo>=</mo><msub><mi mathvariant="double-struck">I</mi><mn>1</mn></msub><mo>−</mo><mi mathvariant="double-struck">I</mi></mrow><annotation encoding="application/x-tex">\Delta \mathbb{I} = \mathbb{I}_1 - \mathbb{I}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6889em;"></span><span class="mord">Δ</span><span class="mord mathbb">I</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathbb">I</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6889em;"></span><span class="mord mathbb">I</span></span></span></span> 会催生出具有强角速度二次方依赖的乘性非线性干扰 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mo stretchy="false">(</mo><msup><mi mathvariant="double-struck">I</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">)</mo><msubsup><mrow><mi mathvariant="normal">ad</mi><mo>⁡</mo></mrow><mi mathvariant="bold-italic">ξ</mi><mo>∗</mo></msubsup><msub><mi mathvariant="double-struck">I</mi><mn>1</mn></msub><mi mathvariant="bold-italic">ξ</mi></mrow><annotation encoding="application/x-tex">\Delta (\mathbb{I}^{-1})\operatorname{ad}_{\boldsymbol{\xi}}^* \mathbb{I}_1 \boldsymbol{\xi}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1972em;vertical-align:-0.3831em;"></span><span class="mord">Δ</span><span class="mopen">(</span><span class="mord"><span class="mord mathbb">I</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop"><span class="mop"><span class="mord mathrm">ad</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.773em;"><span style="top:-2.453em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord boldsymbol mtight" style="margin-right:0.0302em;">ξ</span></span></span></span></span></span><span style="top:-3.1473em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3831em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathbb">I</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0302em;">ξ</span></span></span></span></span></span>;<br>
3. <b>执行器非对准偏差</b>:安装角度误差产生输入依赖扰动 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi mathvariant="bold-italic">B</mi><mi mathvariant="bold-italic">u</mi></mrow><annotation encoding="application/x-tex">\Delta \boldsymbol{B} \boldsymbol{u}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6861em;"></span><span class="mord">Δ</span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0483em;">B</span></span></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span></span></span></span>,随控制输入同步剧增;<br>
4. <b>执行机构物理硬饱和</b>:当推力器达到最大推力限幅时,截断残差 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi mathvariant="bold-italic">τ</mi><mo>=</mo><mi mathvariant="normal">sat</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi mathvariant="bold-italic">u</mi><mo stretchy="false">)</mo><mo>−</mo><mi mathvariant="bold-italic">u</mi></mrow><annotation encoding="application/x-tex">\Delta \boldsymbol{\tau} = \operatorname{sat}(\boldsymbol{u}) - \boldsymbol{u}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord">Δ</span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.1347em;">τ</span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop"><span class="mord mathrm">sat</span></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span></span></span></span> 呈现出近似阶跃甚至脉冲的不连续跳变!<br><br>
在执行器剧烈饱和瞬间,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi mathvariant="bold-italic">d</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\tilde{\boldsymbol{d}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9313em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">d</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span></span></span></span> 的导数在理论上发生奇异跳跃。此时若观测器缺乏抗饱和辅助环路,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∥</mi><mover accent="true"><mover accent="true"><mi mathvariant="bold-italic">d</mi><mo>~</mo></mover><mo>˙</mo></mover><mi mathvariant="normal">∥</mi><mo>≤</mo><msub><mi>δ</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\|\dot{\tilde{\boldsymbol{d}}}\| \le \delta_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.4182em;vertical-align:-0.25em;"></span><span class="mord">∥</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.1682em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">d</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span></span><span style="top:-3.5003em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="mord">∥</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0379em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 假设瞬间崩塌,观测器将输出巨大的尖峰估计值,进而诱发滑模控制器严重的执行器抗饱和发散(Windup)。
评注 3:速度未测下的非线性分离原理困境与瞬态峰值 (Peaking Phenomenon)
高增益有限时间观测器的双刃剑:当初始瞬态过冲直接撕裂滑模到达相轨迹
线性控制理论的基石之一是<b>确定性分离原理 (Separation Principle)</b>:状态观测器极点与状态反馈控制器极点可各自独立设计与配置。然而在基于非线性连续有限时间观测器与终端滑模构建的 SE(3) 控制系统中,分离原理彻底失效!<br><br>
在三阶有限时间 ESO 闭环体系中,速度与扰动估计误差在初始瞬态阶段极易发生显著的<b>瞬态峰值现象 (Peaking Phenomenon)</b>。这是由于有限时间观测器为了迫使状态在毫秒级时间内收敛,必须赋予高增益或接近零的超小分数幂次 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mi mathvariant="normal">sig</mi><mo>⁡</mo></mrow><mi>σ</mi></msup><mo stretchy="false">(</mo><mo>⋅</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\operatorname{sig}^\sigma(\cdot)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop"><span class="mop"><span class="mord mathrm" style="margin-right:0.0139em;">sig</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7222em;"><span style="top:-3.1208em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0359em;">σ</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">⋅</span><span class="mclose">)</span></span></span></span>。在初始误差较大时,在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">t \to 0^+</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7713em;"></span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7713em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">+</span></span></span></span></span></span></span></span></span></span></span> 瞬间观测器输出的速度估计值会产生数十倍于真实状态的过冲峰值。<br><br>
这个巨大估计峰值一旦直接馈入终端滑模控制律,会立刻激发出超饱和控制力矩,将滑模变量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">s</mi></mrow><annotation encoding="application/x-tex">\boldsymbol{s}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">s</span></span></span></span></span></span> 推离滑动流形甚至引发相轨迹剧烈震荡。严格的闭环稳定性证明必须借助高阶齐次性权值理论 (Weighted Homogeneity) 或构造全状态级联李雅普诺夫函数,并在工程上对观测器输出施加瞬态前馈斜率限幅。
评注 4:线性校正项在 SOSM-ESO 中的决定性价值 —— 打破纯非光滑观测器的收敛死角
相空间双模态接力:大误差指数级极速拖拽与小误差有限时间精准歼灭
在 <b>Zhang 2018</b> 的标志性工作中,作者设计了一种极具工程巧思的二阶滑模扩张状态观测器 (SOSM-ESO):
<div style="background: rgba(15, 23, 42, 0.6); padding: 10px 14px; border-radius: 6px; margin: 8px 0; font-family: monospace; font-size: 0.9rem;">
  <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi mathvariant="bold-italic">z</mi><mo>˙</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi mathvariant="bold-italic">A</mi><mn>0</mn></msub><mo>+</mo><msub><mi mathvariant="bold-italic">B</mi><mi mathvariant="double-struck">I</mi></msub><mi mathvariant="bold-italic">u</mi><mo>+</mo><msub><mi mathvariant="bold-italic">z</mi><mn>2</mn></msub><mo>−</mo><msub><mi mathvariant="bold-italic">κ</mi><mn>1</mn></msub><msup><mrow><mi mathvariant="normal">sig</mi><mo>⁡</mo></mrow><mi>β</mi></msup><mo stretchy="false">(</mo><msub><mi mathvariant="bold-italic">e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo>−</mo><msub><mi mathvariant="bold-italic">κ</mi><mn>2</mn></msub><msub><mi mathvariant="bold-italic">e</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\dot{\boldsymbol{z}}_1 = \boldsymbol{A}_0 + \boldsymbol{B}_\mathbb{I}\boldsymbol{u} + \boldsymbol{z}_2 - \boldsymbol{\kappa}_1 \operatorname{sig}^\beta(\boldsymbol{e}_1) - \boldsymbol{\kappa}_2 \boldsymbol{e}_1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8313em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0421em;">z</span></span></span></span><span style="top:-3.0134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8361em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">A</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8361em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0483em;">B</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3322em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathbb mtight">I</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.7333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0421em;">z</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1569em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">κ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop"><span class="mop"><span class="mord mathrm" style="margin-right:0.0139em;">sig</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9069em;"><span style="top:-3.1208em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0528em;">β</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">e</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5944em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">κ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">e</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><br>
  <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi mathvariant="bold-italic">z</mi><mo>˙</mo></mover><mn>2</mn></msub><mo>=</mo><mo>−</mo><msub><mi mathvariant="bold-italic">κ</mi><mn>3</mn></msub><msup><mrow><mi mathvariant="normal">sig</mi><mo>⁡</mo></mrow><mrow><mn>2</mn><mi>β</mi><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><msub><mi mathvariant="bold-italic">e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo>−</mo><msub><mi mathvariant="bold-italic">κ</mi><mn>4</mn></msub><msub><mi mathvariant="bold-italic">e</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\dot{\boldsymbol{z}}_2 = -\boldsymbol{\kappa}_3 \operatorname{sig}^{2\beta-1}(\boldsymbol{e}_1) - \boldsymbol{\kappa}_4 \boldsymbol{e}_1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8313em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6813em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0421em;">z</span></span></span></span><span style="top:-3.0134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1389em;"><span class="mord">˙</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1569em;vertical-align:-0.25em;"></span><span class="mord">−</span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">κ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">3</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop"><span class="mop"><span class="mord mathrm" style="margin-right:0.0139em;">sig</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9069em;"><span style="top:-3.1208em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mord mathnormal mtight" style="margin-right:0.0528em;">β</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">e</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5944em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">κ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">4</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">e</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>
</div>
其最核心的理论跨越在于:在线性项与超扭曲非线性项之间构建了<b>双模态相空间互补机制</b>。<br><br>
1. <b>大误差区域的指数加速压制</b>:纯有限时间非光滑项(如 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∣</mi><msub><mi>e</mi><mn>1</mn></msub><msup><mi mathvariant="normal">∣</mi><mi>β</mi></msup></mrow><annotation encoding="application/x-tex">|e_1|^\beta</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord">∣</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0528em;">β</span></span></span></span></span></span></span></span></span></span></span>,由于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>∈</mo><mo stretchy="false">(</mo><mn>0.5</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\beta \in (0.5, 1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0528em;">β</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">0.5</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span>)在误差极大时其导数斜率趋于零,收敛反而比线性系统缓慢。此时新增的线性校正项 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><msub><mi mathvariant="bold-italic">κ</mi><mn>2</mn></msub><msub><mi mathvariant="bold-italic">e</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">-\boldsymbol{\kappa}_2 \boldsymbol{e}_1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7333em;vertical-align:-0.15em;"></span><span class="mord">−</span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">κ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol">e</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 占据主导,提供强劲的指数收敛加速度,极大压缩了初始捕获时间;<br>
2. <b>小误差区域的有限时间奇点收敛</b>:当估计误差进入原点邻域,线性项逐渐衰弱,而分数幂次项凭借切线斜率趋于无穷的非光滑特性,将系统状态以严格有限时间拉入极小残差界;<br>
3. <b>严谨的代数稳定证书</b>:作者通过巧构包含线性与幂次交织的非光滑李雅普诺夫函数,借助 Schur 补定理推导出矩阵不等式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="bold-italic">θ</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi mathvariant="bold-italic">θ</mi><mn>2</mn></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\boldsymbol{\theta}_1, \boldsymbol{\theta}_2 &gt; 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0319em;">θ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0319em;">θ</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>,为这一双模态结构提供了坚不可摧的收敛性充要保证。
评注 5:三阶观测器的阶数膨胀代价与传感器量化噪声放大“雪崩”
微分器阶数每升一阶,高频噪声敏感度呈指数倍恶化:理论精度与工程信噪比的残酷博弈
从二阶 ESO(仅估计未知动力学/扰动)跃升至 <b>Gong 2021</b> 的三阶 ESO(同时重构全相对速度与复合扰动),在控制理论上实现了真正意义上的无速度传感器输出反馈。然而,这一学术成就背后的工程隐患在于<b>观测器阶数膨胀引发的高频微分噪声雪崩</b>。<br><br>
三阶 ESO 在本质上是一个高增益连续非线性二阶微分器。为了满足严格有限时间齐次收敛,第三状态的校正驱动项必须采用极低分数幂次:在参数约束 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>2</mn><mn>3</mn></mfrac><mo>&lt;</mo><mi>σ</mi><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\frac{2}{3} &lt; \sigma &lt; 1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 下,导数项幂次 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3</mn><mi>σ</mi><mo>−</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">3\sigma - 2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">3</span><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span> 将降至 0.1 甚至更小。<br><br>
在星载实际交会对接中,激光雷达或双目相机的相对位姿测量必然混杂着毫米级量化白噪声 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">w</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>∼</mo><mi mathvariant="script">N</mi><mo stretchy="false">(</mo><mn>0</mn><mo separator="true">,</mo><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{w}(t) \sim \mathcal{N}(0, \sigma_n^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0278em;">w</span></span></span><span class="mopen">(</span><span class="mord mathnormal">t</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∼</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathcal" style="margin-right:0.1474em;">N</span><span class="mopen">(</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.453em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。当微小的测量跳变进入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mi mathvariant="normal">sig</mi><mo>⁡</mo></mrow><mrow><mn>3</mn><mi>σ</mi><mo>−</mo><mn>2</mn></mrow></msup><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Z</mi><mo>~</mo></mover><mn>1</mn></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\operatorname{sig}^{3\sigma-2}(\tilde{Z}_1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1702em;vertical-align:-0.25em;"></span><span class="mop"><span class="mop"><span class="mord mathrm" style="margin-right:0.0139em;">sig</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8719em;"><span style="top:-3.1208em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">σ</span><span class="mbin mtight">−</span><span class="mord mtight">2</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">Z</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 算子时,由于超低幂次在零点附近的奇异微分增益(斜率趋于无穷),极其微弱的高频噪声会被非线性放大数千倍!这直接导致扰动估计通道 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi mathvariant="bold-italic">Z</mi><mo>^</mo></mover><mn>3</mn></msub></mrow><annotation encoding="application/x-tex">\hat{\boldsymbol{Z}}_3</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0995em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9495em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0698em;">Z</span></span></span></span><span style="top:-3.2551em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">^</span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">3</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 剧烈振荡,形成星载推力器无法承受的伪高频脉动。
评注 6:超扭曲算法的“伪连续”真相与星载离散步长的抖振复活机制
连续时间域的优美积分平滑,在数字处理器的离散采样截断下为何依然会震颤?
在诸多宣称“完全无抖振 (Chattering-Free)”的滑模文献中,超扭曲 (Super-Twisting, STA) 算法被奉为灵丹妙药。其核心说辞是:符号函数被置于积分器内部(形如 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mtext>st</mtext></msub><mo>=</mo><mo>−</mo><msub><mi>k</mi><mn>1</mn></msub><mi mathvariant="normal">∣</mi><mi>s</mi><msup><mi mathvariant="normal">∣</mi><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mo>−</mo><msub><mi>k</mi><mn>2</mn></msub><mo>∫</mo><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mi mathvariant="normal">d</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">u_{\text{st}} = -k_1 |s|^{1/2}\operatorname{sgn}(s) - k_2 \int \operatorname{sgn}(s)\mathrm{d}t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">u</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord text mtight"><span class="mord mtight">st</span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mord">−</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0315em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">∣</span><span class="mord mathnormal">s</span><span class="mord"><span class="mord">∣</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1/2</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop"><span class="mord mathrm">sgn</span></span><span class="mopen">(</span><span class="mord mathnormal">s</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1111em;vertical-align:-0.3061em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0315em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-symbol small-op" style="margin-right:0.1945em;position:relative;top:-0.0006em;">∫</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop"><span class="mord mathrm">sgn</span></span><span class="mopen">(</span><span class="mord mathnormal">s</span><span class="mclose">)</span><span class="mord mathrm">d</span><span class="mord mathnormal">t</span></span></span></span>),因而最终输出的控制量是严格时间连续的。然而,这一结论在星载微控制器的离散采样实现下属于严重的“理论掩耳盗铃”。<br><br>
星载飞控计算机是以固定离散节拍 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>∈</mo><mo stretchy="false">[</mo><mn>10</mn><mtext> </mtext><mtext>ms</mtext><mo separator="true">,</mo><mn>100</mn><mtext> </mtext><mtext>ms</mtext><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">h \in [10\,\text{ms}, 100\,\text{ms}]</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">h</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord">10</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord text"><span class="mord">ms</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">100</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord text"><span class="mord">ms</span></span><span class="mclose">]</span></span></span></span> 运行的数字采样系统。当采用常规显式欧拉积分进行离散化时,滑模面变量穿过滑动流形切换面所需的微积分光滑性被彻底打断:<br><br>
1. <b>滞后相移效应</b>:离散采样使得 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\operatorname{sgn}(s(k))</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop"><span class="mord mathrm">sgn</span></span><span class="mopen">(</span><span class="mord mathnormal">s</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="mclose">))</span></span></span></span> 在两步之间保持恒值,导致积分项只能产生宽度为步长的折线逼近,在流形两侧产生固有能量超调;<br>
2. <b>数值抖振复活</b>:离散超扭曲算法的稳态残差界为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">O</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{O}(h)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathcal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">h</span><span class="mclose">)</span></span></span></span>,在推力器阀门端仍表现为明显的阶跃冲击;<br><br>
真正的工业级无抖振实现,必须借助 <i>Levant 隐式欧拉离散化格式 (Implicit STA)</i> 或引入自适应死区饱和函数,方能杜绝数字采样诱发的伪抖振。
评注 7:推力器安装偏差与加性外生扰动的耦合混淆 —— 观测器的辨识盲区
乘性输入依赖干扰如何诱发观测器前馈与控制器输出之间的正反馈闭环死锁?
空间航天器推进系统普遍存在推力器冷热态推力偏斜与机械安装轴线微小偏差,其实际力/力矩分配矩阵形式为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="bold-italic">B</mi><mi>a</mi></msub><mo>=</mo><msub><mi mathvariant="bold-italic">B</mi><mn>0</mn></msub><mo stretchy="false">(</mo><msub><mi mathvariant="bold-italic">I</mi><mi>m</mi></msub><mo>+</mo><mi mathvariant="bold-italic">E</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\boldsymbol{B}_a = \boldsymbol{B}_0 (\boldsymbol{I}_m + \boldsymbol{E})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8361em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0483em;">B</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">a</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0483em;">B</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0778em;">I</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0545em;">E</span></span></span><span class="mclose">)</span></span></span></span>,其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">E</mi><mo>∈</mo><msup><mi mathvariant="double-struck">R</mi><mrow><mi>m</mi><mo>×</mo><mi>m</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\boldsymbol{E} \in \mathbb{R}^{m\times m}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7252em;vertical-align:-0.0391em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0545em;">E</span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7713em;"></span><span class="mord"><span class="mord mathbb">R</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7713em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">m</span><span class="mbin mtight">×</span><span class="mord mathnormal mtight">m</span></span></span></span></span></span></span></span></span></span></span></span> 表示未知偏差矩阵。此时,控制输入引起的寄生力矩为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="bold-italic">B</mi><mn>0</mn></msub><mi mathvariant="bold-italic">E</mi><mi mathvariant="bold-italic">u</mi></mrow><annotation encoding="application/x-tex">\boldsymbol{B}_0 \boldsymbol{E} \boldsymbol{u}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8361em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0483em;">B</span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.0545em;">E</span></span></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span></span></span></span>。<br><br>
这一现象对扩张状态观测器提出了致命挑战:<b>乘性输入扰动与加性外部扰动的身份混淆</b>。<br><br>
1. <b>正反馈发散内环</b>:当航天器遭遇大机动姿态调整时,控制器发出巨大推力指令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">u</mi></mrow><annotation encoding="application/x-tex">\boldsymbol{u}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span></span></span></span>;由于安装偏差,真实星体承受了巨大的内生寄生力矩;<br>
2. <b>ESO 的误判与反向轰击</b>:ESO 无法区分该力矩是空间外扰还是推力器自身偏斜引起的,只能将其统统识别为加性干扰并要求前馈通道以更大推力予以反向补偿;<br>
3. <b>控制输入饱和锁定</b>:这一前馈补偿直接推高了指令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">u</mi></mrow><annotation encoding="application/x-tex">\boldsymbol{u}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol">u</span></span></span></span></span></span>,导致推力器瞬间被钉死在满推力物理上限,造成严重的闭环推力饱和与姿态失控。<br><br>
因此,单纯依靠加性 ESO 无法根治乘性安装偏差,必须在推力分配层部署基于递推最小二乘 (RLS) 的几何安装角在线校准机制。
评注 8:嵌入式星载算力评测 —— 从理论李代数微分同胚到抗辐射芯片的指令周期消耗
在 50MHz 抗辐射 SPARC 微处理器上运行 SE(3) 扩张状态观测器的算力优化与查表法则
李群 SE(3) 滑模观测器在学术论文中凭借全坐标无奇异性展示了惊人的数学美感,但在航天工程实装阶段,必须直面星载抗辐射计算机极其拮据的算力瓶颈(如主流 SpaceWire 架构下的抗辐射 32 位 SPARC V8 / ERC32 芯片,主频通常仅 50MHz ~ 100MHz):<br><br>
在典型的 10Hz~50Hz 姿轨控制中断循环中,微控制器必须完成:<br>
1. <b>高负荷超越函数调用</b>:误差矩阵对数映射中的反三角函数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>=</mo><mi>arccos</mi><mo>⁡</mo><mrow><mo fence="true">(</mo><mfrac><mrow><mi mathvariant="normal">tr</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi mathvariant="bold-italic">R</mi><mo stretchy="false">)</mo><mo>−</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\theta = \arccos\left(\frac{\operatorname{tr}(\boldsymbol{R})-1}{2}\right)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.8em;vertical-align:-0.65em;"></span><span class="mop">arccos</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.01em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mop mtight"><span class="mord mathrm mtight">tr</span></span><span class="mopen mtight">(</span><span class="mord mtight"><span class="mord mtight"><span class="mord boldsymbol mtight" style="margin-right:0.0042em;">R</span></span></span><span class="mclose mtight">)</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span></span></span></span>,在浮点单元上单次消耗数百个时钟周期;<br>
2. <b>高维矩阵张量解析求逆</b>:反向左雅可比算子 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="script">S</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mo stretchy="false">)</mo><mo>∈</mo><msup><mi mathvariant="double-struck">R</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\boldsymbol{\mathcal{S}}^{-1}(\tilde{\boldsymbol{\Theta}}) \in \mathbb{R}^{3\times 3}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.173em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathcal" style="margin-right:0.075em;">S</span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8873em;"><span style="top:-3.1362em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathbb">R</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mbin mtight">×</span><span class="mord mtight">3</span></span></span></span></span></span></span></span></span></span></span></span> 与平移张量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold-italic">T</mi><mo stretchy="false">(</mo><mover accent="true"><mi mathvariant="bold">Θ</mi><mo>~</mo></mover><mo separator="true">,</mo><mover accent="true"><mi mathvariant="bold-italic">β</mi><mo>~</mo></mover><mo stretchy="false">)</mo><mo>∈</mo><msup><mi mathvariant="double-struck">R</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\boldsymbol{T}(\tilde{\boldsymbol{\Theta}}, \tilde{\boldsymbol{\beta}}) \in \mathbb{R}^{3\times 3}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1813em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.1597em;">T</span></span></span><span class="mopen">(</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.923em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathbf">Θ</span></span></span></span><span style="top:-3.6051em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9313em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord boldsymbol" style="margin-right:0.034em;">β</span></span></span></span><span style="top:-3.6134em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathbb">R</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mbin mtight">×</span><span class="mord mtight">3</span></span></span></span></span></span></span></span></span></span></span></span> 的代数展开涉及数十次矩阵乘法与除法;<br>
3. <b>大规模非整数分数幂次运算</b>:三阶 ESO 包含多达 18 个通道的幂次函数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mi mathvariant="normal">sig</mi><mo>⁡</mo></mrow><mi>β</mi></msup><mo stretchy="false">(</mo><mo>⋅</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\operatorname{sig}^\beta(\cdot)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1569em;vertical-align:-0.25em;"></span><span class="mop"><span class="mop"><span class="mord mathrm" style="margin-right:0.0139em;">sig</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9069em;"><span style="top:-3.1208em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0528em;">β</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">⋅</span><span class="mclose">)</span></span></span></span>。标准 C 库的 <code>pow(x, y)</code> 依靠对数-指数展开 <code>exp(y * log(x))</code>,计算代价极度昂贵!<br><br>
<b>星载代码落地的优化戒律</b>:工程部署时,必须对对数映射与张量采用 4 阶泰勒多项式预截断查表,并将非整数幂次替换为定点分段三次 Hermite 样条多项式近似,将单步控制执行时间从数十毫秒压至 1.5 毫秒以内。

八、工程落地与星载微控制器优化戒律

在将本讲所介绍的扩张状态观测器与滑模控制算法烧录进空间航天器主控计算机(如基于 SPARC V8 架构的抗辐射芯片)时,工程师必须严格遵循以下三条工程实现戒律:

8.1 戒律 1:严禁直接调用浮点库 pow() 计算非整数幂次

三阶 FTESO 包含多达 18 个维度的非整数分数幂次运算 。在标准 C 运行库中,pow(x, y) 函数通过对数与指数级数展开 实现,单次计算消耗多达数百个浮点时钟周期。在主频仅 50MHz ~ 100MHz 的抗辐射芯片上,仅观测器计算就会导致控制周期严重超时中断。

优化方案: 将分数幂次拆分为定点多项式近似。当 时,在原点附近 采用切线或三次 Hermite 样条多项式光滑过渡:

这不仅将计算开销骤降 80% 以上,更消除了由于浮点下溢带来的非数(NaN)与数值奇点隐患。

8.2 戒律 2:警惕三阶微分器的量化噪声雪崩,必须施加一阶前置低通滤波

激光雷达(LiDAR)输出的相对位置通常带有 的量化阶梯噪声。三阶观测器在小误差邻域内的非线性高增益特性会将该量化阶梯微分成剧烈的脉冲尖峰。

工程防护: 在几何测量输入端部署一阶数字滞后滤波器或星载卡尔曼初级平滑器:

选取滤波截止频率为控制带宽的 5~10 倍,滤除测量高频白噪的同时保证相位滞后在可控范围内。

8.3 戒律 3:超扭曲算法离散化必须采用隐式格式或积分饱和钳位

在离散飞控软件循环(如 )中,直接采用前向显式欧拉积分:

会导致积分项在滑模面两侧发生 的固有台阶跳跃,诱发明显的数字采样抖振。在工程实装中,推荐采用 Levant 隐式欧拉格式 或在积分项输出端增加死区限幅:当 时停止符号累积,使系统进入平滑滑行模态。


九、完备可复现 Python 闭环仿真器

为便于读者深入理解三阶有限时间 ESO 与超扭曲非奇异终端滑模的联合工作机制,以下给出一个纯 NumPy 实现、零三方依赖的工业级数值仿真器。代码包含完整的李代数对数映射解析展开、三阶连续 FTESO 状态重构、ST-NTSM 控制律计算以及四阶 Runge-Kutta 动力学积分器。

#!/usr/bin/env python3
"""
se3_output_feedback_eso_simulation.py
======================================
李群 SE(3) 上航天器姿轨一体化交会对接:三阶有限时间扩张状态观测器 (3rd-Order FTESO)
与超扭曲非奇异终端滑模 (ST-NTSM) 闭环仿真验证 (纯 NumPy 零三方依赖实现)。
"""

import numpy as np

def skew(v: np.ndarray) -> np.ndarray:
    """生成三维向量的斜对称反对称矩阵算子"""
    return np.array([
        [0.0, -v[2], v[1]],
        [v[2], 0.0, -v[0]],
        [-v[1], v[0], 0.0]
    ])

def sig_pow(x: np.ndarray, alpha: float) -> np.ndarray:
    """分量非线性连续幂次符号函数 sig^alpha(x)"""
    return np.abs(x) ** alpha * np.sign(x)

def se3_logm(R: np.ndarray, p: np.ndarray) -> np.ndarray:
    """解析展开的 SE(3) 对数映射 logm: SE(3) -> se(3) -> R^6"""
    tr = np.clip(np.trace(R), -1.0, 3.0)
    theta = np.arccos(np.clip(0.5 * (tr - 1.0), -1.0, 1.0))
    if theta < 1e-7:
        Theta = 0.5 * np.array([R[2, 1] - R[1, 2], R[0, 2] - R[2, 0], R[1, 0] - R[0, 1]])
        beta = p.copy()
    else:
        Theta = (theta / (2.0 * np.sin(theta))) * np.array([
            R[2, 1] - R[1, 2],
            R[0, 2] - R[2, 0],
            R[1, 0] - R[0, 1]
        ])
        th_sq = theta ** 2
        S_inv = np.eye(3) + 0.5 * skew(Theta) + ((1.0 / th_sq) - (1.0 + np.cos(theta)) / (2.0 * theta * np.sin(theta))) * (skew(Theta) @ skew(Theta))
        beta = S_inv @ p
    return np.hstack((Theta, beta))

def compute_G_matrix(eta: np.ndarray) -> np.ndarray:
    """计算微分运动学矩阵 G(eta) in R^{6x6}"""
    Theta = eta[:3]
    beta = eta[3:]
    theta = np.linalg.norm(Theta)
    if theta < 1e-6:
        S_inv = np.eye(3) + 0.5 * skew(Theta)
        T = 0.5 * skew(beta)
    else:
        th_sq = theta ** 2
        sin_th = np.sin(theta)
        cos_th = np.cos(theta)
        S_inv = np.eye(3) + 0.5 * skew(Theta) + ((1.0 / th_sq) - (1.0 + cos_th) / (2.0 * theta * sin_th)) * (skew(Theta) @ skew(Theta))
        S = np.eye(3) + ((1.0 - cos_th) / th_sq) * skew(Theta) + ((theta - sin_th) / (theta ** 3)) * (skew(Theta) @ skew(Theta))
        term1 = 0.5 * skew(S @ beta) @ S_inv
        term2 = ((1.0 / th_sq) - (1.0 + cos_th) / (2.0 * theta * sin_th)) * (np.outer(Theta, beta) + np.dot(Theta, beta) * S_inv)
        term3 = -((1.0 + cos_th) * (theta - sin_th) / (2.0 * theta * (sin_th ** 2))) * np.outer(S @ beta, Theta)
        term4 = (((1.0 + cos_th) * (theta + sin_th) / (2.0 * (theta ** 3) * (sin_th ** 2))) - (2.0 / (theta ** 4))) * np.dot(Theta, beta) * np.outer(Theta, Theta)
        T = term1 + term2 + term3 + term4
    G = np.zeros((6, 6))
    G[:3, :3] = S_inv
    G[3:, :3] = T
    G[3:, 3:] = S_inv
    return G

class SpacecraftSE3ObserverSimulator:
    """SE(3) 六自由度无速度输出反馈扩张状态观测器与滑模闭环仿真器"""

    def __init__(self):
        # 航天器物理惯性参数
        self.mass = 120.0  # kg
        self.J = np.diag([25.0, 22.0, 20.0])  # kg*m^2
        self.J_inv = np.linalg.inv(self.J)
        self.Xi = np.zeros((6, 6))
        self.Xi[:3, :3] = self.J
        self.Xi[3:, 3:] = self.mass * np.eye(3)
        self.Xi_inv = np.linalg.inv(self.Xi)

        # 执行器物理约束
        self.u_max = 50.0   # 最大控制力 N
        self.tau_max = 20.0 # 最大控制力矩 N*m

        # 三阶 FTESO 观测器增益
        self.sigma = 0.75  # 齐次幂次 (2/3 < sigma < 1)
        self.beta1 = 6.0 * np.eye(6)
        self.beta2 = 12.0 * np.eye(6)
        self.beta3 = 8.0 * np.eye(6)

        # 超扭曲非奇异终端滑模控制器参数
        self.c1 = 0.6 * np.eye(6)
        self.c2 = 0.4 * np.eye(6)
        self.gamma = 1.25  # 1 < gamma < 2
        self.k1 = 4.0 * np.eye(6)
        self.k2 = 1.5 * np.eye(6)

        # 积分器状态
        self.st_integral = np.zeros(6)

    def true_dynamics(self, t: float, state: np.ndarray, tau_c: np.ndarray) -> np.ndarray:
        """航天器真实六自由度非线性动力学演化"""
        R = state[:9].reshape((3, 3))
        p = state[9:12]
        omega = state[12:15]
        v = state[15:18]

        # 外部未知周期性空间摄动
        tau_d = np.array([
            0.5 * np.sin(0.2 * t) + 0.2,
            0.4 * np.cos(0.3 * t) - 0.1,
            0.3 * np.sin(0.15 * t + 0.5)
        ])
        f_d = np.array([
            1.2 * np.sin(0.25 * t),
            1.5 * np.cos(0.2 * t + 0.3),
            0.8 * np.sin(0.1 * t)
        ])

        # 执行器硬物理饱和截断
        ctrl_tau = np.clip(tau_c[:3], -self.tau_max, self.tau_max)
        ctrl_f = np.clip(tau_c[3:], -self.u_max, self.u_max)

        # 姿态运动学与刚体欧拉动力学
        R_dot = R @ skew(omega)
        omega_dot = self.J_inv @ (ctrl_tau + tau_d - np.cross(omega, self.J @ omega))

        # 平动运动学与牛顿动力学
        p_dot = R @ v
        v_dot = (ctrl_f + f_d) / self.mass - np.cross(omega, v)

        dstate = np.zeros(18)
        dstate[:9] = R_dot.flatten()
        dstate[9:12] = p_dot
        dstate[12:15] = omega_dot
        dstate[15:18] = v_dot
        return dstate

    def run_simulation(self, t_final: float = 20.0, dt: float = 0.01):
        """执行全过程闭环交互仿真"""
        steps = int(t_final / dt)
        t_arr = np.linspace(0.0, t_final, steps)

        # 初始状态设置 (存在大初始旋转与位置偏差)
        init_angle = np.deg2rad(45.0)
        axis = np.array([1.0, 1.0, 0.5])
        axis /= np.linalg.norm(axis)
        R0 = np.eye(3) + np.sin(init_angle) * skew(axis) + (1.0 - np.cos(init_angle)) * (skew(axis) @ skew(axis))
        p0 = np.array([5.0, -4.0, 3.0])
        omega0 = np.array([0.05, -0.04, 0.03])
        v0 = np.array([0.2, -0.15, 0.1])

        state = np.zeros(18)
        state[:9] = R0.flatten()
        state[9:12] = p0
        state[12:15] = omega0
        state[15:18] = v0

        # 初始化三阶 ESO 观测状态
        Z_hat1 = np.zeros(6)
        Z_hat2 = np.zeros(6)
        Z_hat3 = np.zeros(6)

        tau_c = np.zeros(6)

        print(f"{'Time [s]':>8} | {'Rot Err [deg]':>14} | {'Trans Err [m]':>14} | {'Vel Est Err':>12} | {'Dist Est Err':>12}")
        print("-" * 72)

        for step in range(steps):
            t = t_arr[step]
            R_curr = state[:9].reshape((3, 3))
            p_curr = state[9:12]
            omega_curr = state[12:15]
            v_curr = state[15:18]
            xi_curr = np.hstack((omega_curr, v_curr))

            # 1. 测量相对几何位姿 (假设相对目标处于原点静止)
            eta_meas = se3_logm(R_curr, p_curr)
            G_mat = compute_G_matrix(eta_meas)
            G_inv = np.linalg.inv(G_mat)

            # 2. 三阶 FTESO 观测误差驱动与状态更新
            e_obs = Z_hat1 - eta_meas
            dZ_hat1 = -self.beta1 @ sig_pow(e_obs, self.sigma) + Z_hat2
            dZ_hat2 = -self.beta2 @ sig_pow(e_obs, 2.0 * self.sigma - 1.0) + G_mat @ self.Xi_inv @ tau_c + Z_hat3
            dZ_hat3 = -self.beta3 @ sig_pow(e_obs, 3.0 * self.sigma - 2.0)

            Z_hat1 += dZ_hat1 * dt
            Z_hat2 += dZ_hat2 * dt
            Z_hat3 += dZ_hat3 * dt

            # 3. 超扭曲非奇异终端滑模控制器计算 (纯依赖观测速度 Z_hat2 与观测扰动 Z_hat3)
            s = Z_hat2 + self.c1 @ eta_meas + self.c2 @ sig_pow(eta_meas, self.gamma)
            
            # 超扭曲积分项更新
            self.st_integral += -np.diag(self.k2) * np.sign(s) * dt
            st_action = -np.diag(self.k1) * np.sqrt(np.abs(s)) * np.sign(s) + self.st_integral

            # 等效前馈与抗扰补偿力矩
            u_equiv = -(Z_hat3 + self.c1 @ Z_hat2 + self.c2 @ (self.gamma * np.abs(eta_meas)**(self.gamma - 1.0) * Z_hat2))
            tau_c = self.Xi @ G_inv @ (u_equiv + st_action)

            # 4. RK4 四阶数值积分推进物理真实世界
            k_dyn1 = self.true_dynamics(t, state, tau_c)
            k_dyn2 = self.true_dynamics(t + 0.5 * dt, state + 0.5 * dt * k_dyn1, tau_c)
            k_dyn3 = self.true_dynamics(t + 0.5 * dt, state + 0.5 * dt * k_dyn2, tau_c)
            k_dyn4 = self.true_dynamics(t + dt, state + dt * k_dyn3, tau_c)
            state += (dt / 6.0) * (k_dyn1 + 2.0 * k_dyn2 + 2.0 * k_dyn3 + k_dyn4)

            # 姿态正交化维持
            R_next = state[:9].reshape((3, 3))
            u_svd, _, vh_svd = np.linalg.svd(R_next)
            state[:9] = (u_svd @ vh_svd).flatten()

            # 5. 打印关键节点精度
            if step % int(2.0 / dt) == 0 or step == steps - 1:
                rot_deg = np.rad2deg(np.linalg.norm(eta_meas[:3]))
                trans_m = np.linalg.norm(eta_meas[3:])
                true_eta_dot = G_mat @ xi_curr
                vel_est_err = np.linalg.norm(Z_hat2 - true_eta_dot)
                # 计算总扰动理论真值
                dist_est_err = np.linalg.norm(Z_hat3)
                print(f"{t:8.2f} | {rot_deg:14.4f} | {trans_m:14.4f} | {vel_est_err:12.4e} | {dist_est_err:12.4e}")

if __name__ == "__main__":
    sim = SpacecraftSE3ObserverSimulator()
    sim.run_simulation(t_final=10.0, dt=0.005)

十、总结与系列下篇预告

10.1 本篇核心理论突破回顾

在本篇博文中,我们完成了从理想全状态测量的实验室模型向恶劣不确定性空间工程真实的关键理论跨越:

  1. 微分流形切空间联络:解析了 指数坐标非线性微分算子 的正定投影特性,确立了切空间辅助变量与李群运动学在观测器设计中的底层映射逻辑;
  2. 有限时间扰动重构体系:详尽剖析了 Ye 2017 基于 Moreno-Osorio 矩阵李雅普诺夫函数的有限时间 ESO,将滑模控制的切换增益从保守的绝对物理上界降维至极微弱的残差紧致界;
  3. 推力器多源非理想特性适应:解构了 Zhang 2018 独创的带有线性校正项的二阶滑模观测器(SOSM-ESO),通过相空间双模态互补机制与动态自适应更新律,完美化解了安装偏斜角与硬饱和带来的闭环失稳隐患;
  4. 无速度传感器输出反馈质跃:深入推演了 Gong 2021 的三阶连续有限时间观测器(3rd-Order FTESO),在纯几何位姿测量下借助加权齐次性理论实现速度与总扰动的协同重构,并以超扭曲(Super-Twisting)算法消除了星载执行器的破坏性抖振。

10.2 系列下篇预告:收敛质跃与无回归算子

尽管有限时间控制在理论上能够在 内达到平衡态,但其收敛时间上限严重依赖于初始误差的初始距离:初始偏差越大,所需收敛时间越长。在高速翻滚目标紧急捕获或有限燃料窗口逼近任务中,这是任务规划者无法接受的风险。

在下一讲 《SE(3) 航天器交会对接滑模控制 (三):收敛质跃:固定时间滑模、动态指数切换与无回归算子》 中,我们将聚焦:

  • 从有限时间到固定时间 (Fixed-Time / Predefined-Time):解构 Gong 2020 (AFixed / AMFixed) 算法,证明无论初始姿态脱靶量多么巨大,系统收敛时间均被严格锁死在由控制器参数唯一决定的常数上界 内;
  • 动态指数切换与非奇异流形构型:彻底破解传统终端滑模在零点附近的奇异性导数发散难题;
  • 无回归微分算子 (Non-regressive Operator):结合 Mei 2021 模糊容错架构,解析高阶固定时间滑模在强脉冲扰动下的瞬态恢复机制。

敬请期待!


参考文献

  1. Ye, D., Zhang, J., & Sun, Z. (2017). Finite-time controller design based on extended state observer for coupled spacecraft formation with actuator saturation. ISA Transactions, 68, 290-302.
  2. Zhang, J., Ye, D., Sun, Z., & Liu, C. (2018). Extended state observer based robust adaptive control on SE(3) for coupled spacecraft tracking maneuver with actuator saturation and misalignment. Aerospace Science and Technology, 81, 370-381.
  3. Gong, B., Shen, D., Lan, Q., & Ren, X. (2021). Extended state observer-based output feedback control for spacecraft pose tracking with control input saturation. Advances in Space Research, 68(11), 4443-4458.
  4. Moreno, J. A., & Osorio, M. (2012). Strict Lyapunov functions for the super-twisting algorithm. IEEE Transactions on Automatic Control, 57(4), 1035-1040.
  5. Bhat, S. P., & Bernstein, D. S. (2005). Geometric homogeneity and proportional-integral-derivative control for double integrators. International Journal of Robust and Nonlinear Control, 15(11), 509-528.
  6. Levant, A. (1998). Robust exact differentiation via sliding mode technique. Automatica, 34(3), 379-384.
  7. Han, J. (2009). From PID to active disturbance rejection control. IEEE Transactions on Industrial Electronics, 56(3), 900-906.
  8. Lee, T. (2015). Robust adaptive attitude tracking on SO(3) with an application to a quadrotor UAV. IEEE Transactions on Control Systems Technology, 23(2), 624-630.
🌟 读者学术评价与反馈 • PEER REVIEW & RATING

为本文打星评价

如果您觉得本文公式推导严谨、复现内容有启发,欢迎为文章打分支持!

0.0
☆☆☆☆☆
0 人已评价
👈 点击星星即可完成打分(1~5星)