精读笔记

Problem Setting

Stability Criterion and Stability Enhancement for a Thruster-Assisted Underwater Hexapod Robot(IEEE Transactions on Robotics / 2025)

这篇论文处理的不是一般水下腿式机器人稳定性,而是一个更窄但更难的场景:六条 C 形腿负责接触/滚动推进,八个推进器同时提供 body wrench,机器人在水下粗糙、倾斜结构表面爬行。稳定性不再能只看支撑多边形、ZMP 或 CoM,因为推进器可以主动改变法向载荷、抗滑能力和俯仰/横滚力矩;同时水动力和浮力又让接触力分配与地面机器人不同。

真正困难点在于:稳定性边界由多类力共同决定,而且这些力分属不同物理空间。腿端接触力受摩擦锥和关节力矩上限限制,推进器受布局和推力分配限制,流体力依赖速度/加速度,浮力和重力依赖姿态。传统判据通常把问题压成一个几何量,如 ZMP 是否在支撑区域内;但这里的关键矛盾是,最可控的稳定性杠杆是推进器,而最直接决定是否滑/翻的是接触可行性。论文的任务就是在二者之间建立一个可计算映射。

Motivation

已有路线缺的是“面向推进器辅助腿式系统的稳定性坐标系”。ZMP 类方法清晰但假设太强:平地、足够摩擦、通常不处理多源外力,也很难处理 C 形腿在粗糙地形上的接触几何。Poincare / capture 类方法能表达周期或交替支撑,但往往依赖特定 gait、平地假设或状态域构造,难以直接转成推力调节约束。multicontact force-balance 更接近本文,但多数工作仍是腿端/接触 wrench 可行性分析,推进器只是外力项,而不是稳定性判据的主变量。

作者的核心观察是:对这个机器人,推进器不是扰动,也不是附加 actuator,而是稳定性边界的主调节变量。与其问“当前 CoM/ZMP 是否安全”,不如问“在当前姿态、速度、接触状态、摩擦和力矩限制下,哪些推进器 wrench 是可行的”。这样稳定判断、控制输入选择、稳定裕度定义可以统一在同一个推力空间里。这是本文比传统判据更贴近系统实际的原因。

Core Idea

核心思想可以概括为:把稳定性从“状态空间/接触空间的判断”改写为“推进器 wrench 空间的 membership test”。具体来说,给定当前机器人状态和接触配置,论文通过 force-balance 约束求出一组允许推进器力/力矩;如果当前推进器 wrench 落在这个可行集合内,则存在一组满足摩擦、关节力矩和动力学平衡要求的接触力,机器人被判为稳定;否则判为不稳定。稳定增强则变成把推进器 wrench 移动到可行集合内部或边界附近。

这个建模方式的本质变化是:它没有把推进器作为控制之后再检验稳定性,而是把推进器输入空间直接变成稳定性证书空间。这个 inductive bias 很强:对于 thruster-assisted legged robot,稳定性最容易实时改变的量就是 thrust。相比用 CoM/ZMP/capture 域,推力集合更容易直接接入控制器,也更容易解释“为什么某个推力会导致滑移或翻倒”。

与 prior 的本质区别不是 force balance 本身,而是 force balance 的输出对象变了:传统 multicontact stability 多数是在问接触力是否存在,本文进一步把可行接触力存在性投影为可行推进器集合。这使得稳定性判据和稳定性增强共享同一个几何对象。

Method

1. Force-balance model:解决的是“如何把水下六足系统的多源力放进同一个可行性问题”。模型包含惯性项、浮力/重力、水动力、推进器 wrench、腿端接触力、摩擦约束和髋关节力矩上限。必要性在于,如果不显式放入摩擦和力矩上限,稳定性判据会退化成理想接触假设,无法解释滑移和腿塌陷。核心变化是把稳定性判断还原为接触力 feasibility。

2. Walking motion definition and relaxation:论文用“是否存在满足静态/动态 force balance 的接触力”定义 static / quasi-dynamic / dynamic walking,而不是复用 ZMP 语义。更重要的是,它把严格等式平衡松弛成不等式平衡,用来表达腿式系统的交替支撑特性:某一瞬间严格不可平衡不一定意味着必然失稳,因为 swing leg 可能及时接触并恢复支撑。这一步是为了避免 force-balance 判据过于保守。

3. Vertical-thrust criterion:先做一个低维版本,只搜索允许的垂向推力区间。它解决的是在线实现和物理解释问题:垂向推力直接改变法向载荷,从而影响摩擦余量和关节负载。若当前垂向推力在区间内,则稳定;稳定裕度就是到区间边界的距离。这个版本简单但保守,因为横向力和力矩没有被充分利用。

4. 6D thrust criterion:把推进器产生的完整 6D wrench 作为判据变量。通过沿多个方向优化得到极值点,再用这些点构造一个近似凸集。当前 wrench 是否在凸包内由线性规划判断。稳定增强则是在凸集内选择“更中心”的 wrench,或选择距离上一时刻最近的可行 wrench。它解决的是垂向推力判据过度保守的问题,核心变化是利用推进器全自由度调节稳定性。

5. Robust version:考虑未建模动力学、流体高阶项和外部扰动,作者没有做 disturbance observer,而是把不确定性转移到接触点并收紧摩擦约束。这个机制是保守鲁棒化:牺牲可行集合大小换取对模型误差的容忍。它不是精确鲁棒控制,更像 robust feasibility margin。

Key Insight / Why It Works

最关键的 insight 是:对推进器辅助腿式机器人,稳定性增强最有效的入口不是改 gait,也不是在线重新规划接触,而是调 body wrench。推进器可以快速改变接触力分布:垂向推力改变法向力和摩擦余量,俯仰/横滚力矩改变各腿负载,横向/纵向推力可以抵消惯性和流体扰动。只要接触力可行域没有空,推进器 wrench 的调整就能把系统重新拉回可行平衡附近。

方法有效的核心不是优化算法本身,而是“把多物理量压缩成可行推力集合”的表示。这个表示带来两个好处:第一,它把姿态、速度、加速度、腿角、角速度、地形几何、摩擦、力矩限制等异质变量统一为同一种可控量;第二,它天然给出稳定裕度和控制修正方向。换句话说,论文真正贡献的是 representation alignment:把稳定性证书和 actuator command 对齐。

垂向推力版本可能更多是 engineering simplification。它能解释很多现象,例如推力太小导致法向载荷不足、摩擦不够,推力太大导致关节力矩负担过高或翻倒风险上升。但它不可能完整刻画 6D 水下运动稳定性,因此其增益上限明显。

6D 凸集版本更接近实质创新,但仍有近似性质。有限方向采样构造凸包,本质是用 support-function sampling 近似可行 wrench set;这在工程上合理,但判据的准确性依赖采样方向覆盖和模型精度。文中没有充分量化这个近似误差对稳定判断的影响。

模型松弛是另一个关键但脆弱的环节。它把交替支撑的时间效应压缩为当前时刻允许的力/力矩残差,这确实提高了必要性,避免把所有瞬时不平衡都判为失稳。但这也是把一个 hybrid dynamics / finite-time recovery 问题简化为局部 inequality margin。它是否等价于真实可恢复性,文中未充分说明。

鲁棒判据的增益来源比较清楚:不是更准确,而是更保守。它通过收紧摩擦锥降低 false stable 的概率,但也会增加 false unstable。这个 trade-off 在真实部署中可能合理,但不应被解读为完整解决了水动力和接触不确定性。

Relation To Prior Work

最接近的谱系是 multicontact force-balance stability,而不是 ZMP 或 Poincare。ZMP 把稳定性几何化为支撑区域内的零力矩点;capture / Poincare 把稳定性看成状态是否能回到周期轨道或可捕获域;本文则把稳定性看成在当前状态下是否存在满足约束的接触力,并进一步把这个 feasibility 反投影到推进器 wrench 空间。

看似新的 static/quasi-dynamic/dynamic walking 定义,本质上是把传统 ZMP/CoM 分类换成 force feasibility 分类。它的实质价值在于适配粗糙地形、摩擦约束和推进器外力,而不是分类概念本身。

与 Caron/Audren 等 multicontact 可行性工作的区别在于:那些工作通常输出的是 CoM 区域、接触力可行性或 robust contact wrench cone;本文输出的是“允许推进器 wrench 集合”。这个输出变量的改变很重要,因为它直接对应机器人可调输入,因而天然支持 stability enhancement。

与作者之前的 capture-domain 类判据相比,本文放弃了主要依赖运动状态域的判断,改成推力域判断。这降低了设计稳定增强方法的复杂度,也扩展到粗糙地形。但代价是更依赖动力学建模和接触参数。

总体上,本文不是在理论稳定性上提出全新范式,而是把已有 force feasibility / wrench cone / convex approximation 思想重组到 thruster-assisted legged robot 上,并把结果做成了可执行的推力调节框架。实质创新主要在系统建模对象和稳定性变量选择,而不是优化技术。

Dataset / Evaluation

评估包含 Gazebo 粗糙曲面仿真、不同质量/摩擦/力矩/加速度/扰动上界分析,以及水池真机在曲面坡和楼梯上的实验。任务覆盖相对贴合 claim:都是水下粗糙结构表面爬行,且有真实机器人验证,这比只做仿真强很多。

实验主要验证了三类现象:稳定概率随摩擦系数、力矩上限、质量和模型松弛变化的趋势符合物理直觉;固定推力不如根据可行推力区间/集合调节;垂向推力和 6D 推力方法都能提高稳定概率。这个证据足以说明该判据有工程指导价值。

但 evaluation 没有完全证明理论 claim。稳定性概率是后验统计量,不等于严格稳定性保证。论文没有系统报告 false positive / false negative,即判据说稳定但实际滑/翻、或判据说不稳定但实际可恢复的比例。也没有和一个强 MPC / contact-implicit planner / robust wrench controller 做直接对比。因此增益到底来自“稳定性判据更正确”,还是来自“推力被调到更温和、更保守的范围”,并不完全清楚。

真机实验提升幅度有限,而且很多设置仍需要人工选定摩擦、松弛、力矩和推力策略。它支持“该方法有用”,但不足以支持“可普遍迁移到任意水下结构表面”的强泛化结论。

Limitation

第一,方法成立依赖当前状态、接触点、地形局部几何、摩擦系数、水动力参数和支撑腿集合都足够可靠。水下场景里这些量往往最难估。文中虽然讨论了未建模动力学,但主要靠保守收紧约束处理,不能替代在线辨识或 disturbance estimation。

第二,判据是局部瞬时 feasibility,不是完整 hybrid locomotion stability proof。交替支撑通过松弛项或有限时间摆动边界近似表达,但真实 gait 的接触时序、冲击、延迟、推进器动态和控制饱和都可能破坏这种局部判断。所谓“稳定”更准确应理解为“当前状态存在可行 quasi-static/dynamic force balance margin”。

第三,松弛量和 allowable swing velocity 是关键超参数。它们直接决定可行集合大小和稳定概率,但文中未充分说明如何从任务需求、gait planner 或闭环恢复能力中系统推导。若这些参数调得宽,判据会偏乐观;调得窄,又会过度保守。

第四,6D 可行集合由有限方向搜索得到。方向数越多越准但计算越重;方向少则可能漏掉重要边界。论文没有充分分析采样方向对稳定判断和控制输出的敏感性。

第五,稳定增强可能与轨迹跟踪/机动性冲突。作者也观察到最大稳定裕度不一定带来最好爬行表现,因为过度稳定会牺牲运动灵活性。这说明该方法不能单独作为控制目标,必须和任务跟踪、能耗、推进器饱和、gait phase 一起优化。

第六,鲁棒版本的保守性上限明显。若不确定性上界设大,可行集合会快速缩小;若设小,则鲁棒性不足。这里没有自适应机制,scalability 取决于人工上界是否合理。

Takeaway

  • 1. 对 hybrid legged + thruster systems,最有价值的稳定性表示可能不是 CoM/ZMP/capture state,而是 actuator-feasible wrench set。
  • 把稳定性证书对齐到可控输入,是这篇最值得迁移的思想。
  • 2. Force-balance feasibility 只有在包含摩擦、关节力矩和外部流体力之后才有工程意义;否则稳定判据容易变成理想接触下的几何判断。
  • 3. 交替支撑不应简单等同于严格瞬时平衡。

一句话总结

这篇论文把水下推进器辅助六足机器人的稳定性从传统状态/接触几何判据改写为“当前推进器 wrench 是否落在动力学可行集合内”的问题,是 force-balance stability 向 actuator-space stability certificate 演化的一篇工程上有价值的工作。