通过全身冲量控制和模型预测控制实现高度动态的四足运动【文献解读】(已开源)

通过全身冲量控制和模型预测控制实现高度动态的四足运动【文献解读】(已开源)

文献:Highly Dynamic Quadruped Locomotion via Whole-Body Impulse
Control and Model Predictive Control

作者:Donghyun Kim, Jared Di Carlo, Benjamin Katz, Gerardo Bledt, Sangbae Kim

单位:Massachusetts Institute of Technology,

MIT 论文地址:https://arxiv.org/abs/1909.06586

相关开源项目参考:https://github.com/Robot-Nav/legbot-Convex-MPC

该论文面向 MIT Mini-Cheetah 四足机器人,提出了一种结合 模型预测控制(Model Predictive Control, MPC)全身冲量控制(Whole-Body Impulse Control, WBIC) 的动态运动控制框架。其核心思想是:上层 MPC 基于简化质心动力学模型,在较长预测时域内优化足端地面反作用力;下层 WBIC 基于完整多体动力学模型,将期望接触力转化为关节力矩、关节位置和关节速度命令,从而实现高速、动态、多步态的四足运动控制。


1. 研究背景

四足机器人动态运动控制一直是腿式机器人领域的重要研究方向。与轮式机器人相比,四足机器人具有更强的地形适应能力,但其控制问题也更加复杂。尤其是在高速奔跑、跳跃、bounding、pronking 等动态步态中,机器人会频繁出现腾空相、短支撑相以及高速摆腿过程。

在这种情况下,控制器需要同时处理以下问题:

  1. 机器人处于腾空相时,机身质心不可直接通过地面接触力控制;
  2. 支撑时间很短,必须在短时间内产生合适的地面反作用力;
  3. 摆腿速度很高,对足端轨迹跟踪和落脚点规划要求更高;
  4. 四足机器人是浮动基座系统,动力学强耦合、非线性强;
  5. 实物机器人还受到执行器带宽、状态估计误差、地面摩擦变化等因素影响。

传统 WBC 通常强调机身轨迹、质心轨迹或足端轨迹跟踪。但对于高速动态运动来说,质心轨迹并不总是可以被直接控制。例如,在腾空阶段,机器人没有足端接触地面,因此不能通过接触力调节质心运动。如果仍然强行要求机器人严格跟踪某个质心轨迹,就可能导致控制器输出不合理命令,甚至破坏机器人动态运动的自然过程。

因此,本文提出的思路是:不要让 WBC 过度关注质心轨迹跟踪,而是让 WBC 重点跟踪 MPC 规划出的地面反作用力。也就是说,控制目标从"轨迹跟踪"转向"接触力/冲量跟踪"。


2. 文献要解决的关键问题

本文主要解决的问题可以概括为:

如何在真实四足机器人上实现高速、鲁棒、多步态的动态运动控制?

具体来说,论文关注以下几个核心技术挑战。

2.1 腾空相与短支撑相下的控制问题

高速四足运动中,机器人经常出现所有腿离地的腾空阶段。在腾空阶段,机器人无法通过地面反作用力直接改变质心运动,因此系统处于明显的欠驱动状态。

对于 bounding、pronking、hopping 等步态,机器人并不是每时每刻都能控制质心,而是需要在支撑阶段通过足端与地面的短暂接触产生足够冲量,使机器人完成起跳、飞行和落地过程。

因此,动态运动控制的关键不只是"质心在哪里",而是"支撑相应该产生多大的地面反作用力"。


2.2 MPC 模型简化与 WBC 实时控制之间的矛盾

MPC 可以在未来一段时间内进行预测优化,适合规划接触力。但是,如果直接使用完整多体动力学模型进行长时域非线性 MPC,计算量会非常大,难以在机载计算机上实时运行。

因此,本文采用简化质心模型进行凸 MPC 求解。这样计算速度快,但模型精度不够高,不能充分描述完整四足机器人的关节动力学、摆腿动力学和接触耦合。

另一方面,WBC 可以基于完整动力学进行高频反馈控制,但传统 WBC 通常只考虑当前时刻,缺乏未来预测能力。

因此,论文将二者结合:

  • MPC 负责长期预测和接触力规划;
  • WBIC 负责高频反馈和完整动力学执行。

2.3 传统 WBC 难以直接处理高动态步态

传统 WBC 的控制目标往往是严格跟踪给定机身轨迹或质心轨迹。但高速动态步态并不适合完全依赖轨迹跟踪。原因在于:

  1. 腾空阶段没有接触力,质心不可直接控制;
  2. 高速运动中机身高度会自然上下波动;
  3. 起跳和落地更应该由冲量决定,而不是由固定轨迹强行约束;
  4. 过强的轨迹跟踪可能抑制动态运动本身。

因此,本文提出 WBIC,将 MPC 规划的地面反作用力作为 WBC 的主要跟踪对象,使机器人能够更自然地完成高速动态运动。


3. 整体控制框架

论文提出的控制框架可以分为两个核心模块:

  1. Model Predictive Control, MPC
  2. Whole-Body Impulse Control, WBIC

整体流程如下:

Framework:

text 复制代码
用户输入:步态类型、期望速度、运动方向
        ↓
步态调度器 Gait Scheduler
        ↓
落脚点规划器 Foot Step Planner
        ↓
凸 MPC 优化足端地面反作用力
        ↓
WBIC 基于完整动力学生成关节级命令
        ↓
关节级 PD 控制器执行
        ↓
Mini-Cheetah 实物机器人运动

该控制框架的核心特征是分层控制:

  • 上层 MPC 使用简化模型,低频运行,但具有预测能力;
  • 下层 WBIC 使用完整动力学,高频运行,负责关节级控制;
  • 最底层关节 PD 控制器以更高频率执行力矩、位置和速度命令。

论文中的控制频率大致为:

  • MPC:约 30 Hz 到 40 Hz;
  • WBIC:约 500 Hz;
  • 关节级控制:约 40 kHz。

这种分层设计可以兼顾实时性和控制精度。


4. MPC:基于简化模型的地面反作用力优化

4.1 MPC 的作用

MPC 的作用是根据当前机器人状态、期望速度、步态接触序列和落脚点信息,在未来一个预测时域内优化各足端的地面反作用力。

MPC 并不直接输出关节力矩,而是输出每条支撑腿应该产生的期望地面反作用力。之后,WBIC 再根据完整机器人动力学将这些期望接触力转化为关节级命令。


4.2 简化质心动力学模型

MPC 使用的是 simplified lumped mass model,即将四足机器人近似为一个集中质量刚体。该模型主要描述机身质心的平动和转动。

质心平动动力学为:

m p ¨ = ∑ i = 1 n c f i − m g m\ddot{p}=\sum_{i=1}^{n_c} f_i - mg mp¨=i=1∑ncfi−mg

机身转动动力学为:

d d t ( I ω ) = ∑ i = 1 n c r i × f i \frac{d}{dt}(I\omega)=\sum_{i=1}^{n_c} r_i \times f_i dtd(Iω)=i=1∑ncri×fi

其中:

  • m m m 表示机器人质量;
  • p p p 表示机器人质心位置;
  • p ¨ \ddot{p} p¨ 表示质心加速度;
  • f i f_i fi 表示第 i i i 个接触足端的地面反作用力;
  • n c n_c nc 表示当前接触足数量;
  • g g g 表示重力加速度;
  • I I I 表示机身转动惯量;
  • ω \omega ω 表示机身角速度;
  • r i r_i ri 表示第 i i i 个接触点相对于质心的位置向量,也就是力臂。

从公式可以看出,MPC 本质上是在计算:各条支撑腿应该施加怎样的地面反作用力,才能让机器人质心和姿态朝期望状态运动。


4.3 凸化处理

即使采用简化质心模型,系统动力学中仍然包含非线性项。例如:

  • 姿态旋转矩阵是非线性的;
  • 力臂与姿态有关;
  • 转动动力学中存在角速度耦合项。

为了构造凸 MPC,论文采用了三个主要近似。

4.3.1 小横滚角和小俯仰角假设

假设机器人运动过程中 roll 和 pitch 较小,只保留 yaw 角对坐标变换的主要影响。这样可以简化姿态变换关系。

姿态角速度近似为:

Θ ˙ ≈ R z ( ψ ) ω \dot{\Theta} \approx R_z(\psi)\omega Θ˙≈Rz(ψ)ω

惯量矩阵在世界系下可近似为:

G I ≈ R z ( ψ ) B I R z ( ψ ) T {}^G I \approx R_z(\psi){}^B I R_z(\psi)^T GI≈Rz(ψ)BIRz(ψ)T

其中:

  • Θ = ϕ , θ , ψ T \Theta=\\phi,\\theta,\\psi^T Θ=ϕ,θ,ψT;
  • ϕ \phi ϕ 表示 roll;
  • θ \theta θ 表示 pitch;
  • ψ \psi ψ 表示 yaw;
  • R z ( ψ ) R_z(\psi) Rz(ψ) 表示绕 z 轴的旋转矩阵;
  • G I {}^G I GI 表示世界坐标系下的转动惯量;
  • B I {}^B I BI 表示机体系下的转动惯量。

4.3.2 状态接近期望轨迹假设

论文假设机器人实际状态接近期望轨迹,因此可以围绕期望 yaw 角和预定义落脚点进行线性化。这样可以避免在优化过程中反复处理复杂非线性项。


4.3.3 角速度和惯量矩阵近似

完整转动动力学中存在如下项:

d d t ( I ω ) = I ω ˙ + ω × ( I ω ) \frac{d}{dt}(I\omega)=I\dot{\omega}+\omega \times (I\omega) dtd(Iω)=Iω˙+ω×(Iω)

论文近似忽略 ω × ( I ω ) \omega \times (I\omega) ω×(Iω) 项,因此有:

d d t ( I ω ) ≈ I ω ˙ \frac{d}{dt}(I\omega)\approx I\dot{\omega} dtd(Iω)≈Iω˙

通过这些近似,系统可以写成离散线性形式。


4.4 离散线性动力学模型

经过离散化后,系统动力学可以表示为:

x ( k + 1 ) = A k x ( k ) + B k f ^ ( k ) + g ^ x(k+1)=A_kx(k)+B_k\hat{f}(k)+\hat{g} x(k+1)=Akx(k)+Bkf^(k)+g^

其中状态量定义为:

x = Θ T p T ω T p ˙ T T x= \begin{bmatrix} \Theta^T & p^T & \omega^T & \dot{p}^T \end{bmatrix}^T x=ΘTpTωTp˙TT

控制量为所有接触足端的地面反作用力:

f ^ = f 1 f 2 ⋯ f n T \hat{f}= \begin{bmatrix} f_1 & f_2 & \cdots & f_n \end{bmatrix}^T f^=f1f2⋯fnT

重力项为:

g ^ = 0 1 × 3 0 1 × 3 0 1 × 3 g T T \hat{g}= \begin{bmatrix} 0_{1\times3} & 0_{1\times3} & 0_{1\times3} & g^T \end{bmatrix}^T g^=01×301×301×3gTT

该离散模型使 MPC 可以被构造成标准二次规划问题。


4.5 MPC 优化目标

MPC 的目标是使预测时域内的机器人状态尽量接近期望状态,同时限制地面反作用力过大。

优化目标可写为:

min ⁡ x , f ∑ k = 0 m ( ∣ x ( k + 1 ) − x r e f ( k + 1 ) ∣ Q + ∣ f ( k ) ∣ R ) \min_{x,f} \sum_{k=0}^{m} \left( \left|x(k+1)-x^{ref}(k+1)\right|_Q + \left|f(k)\right|_R \right) x,fmink=0∑m( x(k+1)−xref(k+1) Q+∣f(k)∣R)

其中:

  • x ( k + 1 ) x(k+1) x(k+1) 表示预测得到的下一时刻状态;
  • x r e f ( k + 1 ) x^{ref}(k+1) xref(k+1) 表示参考状态;
  • f ( k ) f(k) f(k) 表示当前预测步的足端反作用力;
  • Q Q Q 表示状态跟踪权重矩阵;
  • R R R 表示接触力正则化权重矩阵;
  • m m m 表示预测时域长度。

可以理解为:MPC 一方面希望机器人状态跟踪期望速度、姿态和位置;另一方面又希望接触力不要过大,避免产生不合理的力。


4.6 摩擦锥约束

足端接触力必须满足地面摩擦约束。真实摩擦锥是非线性的,为了保持 QP 的凸性,论文使用线性近似摩擦锥。

约束形式为:

∣ f x ∣ ≤ μ f z |f_x| \leq \mu f_z ∣fx∣≤μfz

∣ f y ∣ ≤ μ f z |f_y| \leq \mu f_z ∣fy∣≤μfz

f z > 0 f_z > 0 fz>0

其中:

  • f x f_x fx 和 f y f_y fy 表示切向接触力;
  • f z f_z fz 表示法向接触力;
  • μ \mu μ 表示地面摩擦系数。

该约束保证足端接触力不会超出摩擦极限,从而避免理论上产生不可能实现的滑移接触力。


4.7 非接触腿变量删除

对于处于摆动相的腿,足端不接触地面,因此对应的地面反作用力应该为零。论文在构造 QP 时直接删除非接触腿对应的接触力变量。

这样做有两个好处:

  1. 减小优化变量维度;
  2. 提升 QP 求解速度。

论文中提到,这种处理可以显著提升 MPC 求解效率。


5. 步态调度器 Gait Scheduler

MPC 需要知道未来每条腿什么时候接触地面,什么时候进入摆动相。因此,论文使用相位式步态调度器。

每条腿的运动周期由两个参数定义:

  1. phase offset:相位偏移;
  2. stance duration:支撑相持续比例。

通过为四条腿设置不同的相位偏移和支撑比例,可以生成不同步态,例如:

  • walk;
  • trot;
  • pace;
  • bound;
  • pronk;
  • gallop。

对于 Trot 步态,通常是对角腿成对支撑:

  • 左前腿和右后腿为一组;
  • 右前腿和左后腿为一组。

两组对角腿交替支撑,从而实现较高速、稳定的周期性运动。

相位式步态调度的优点是结构简单、可扩展性强。只需要改变接触相位和支撑比例,就可以切换不同步态,而不需要重新设计整个控制器。


6. 落脚点规划 Foot Step Planner

6.1 落脚点规划的作用

落脚点规划用于决定摆动腿下一次应该落在哪里。对于四足机器人来说,落脚点直接影响:

  1. 机器人速度跟踪;
  2. 身体姿态稳定;
  3. 支撑相期间的力矩分布;
  4. 转向和抗扰能力。

如果落脚点太靠前,可能导致减速;如果落脚点太靠后,可能导致加速或失稳。因此,落脚点规划是动态步态控制中的关键模块。


6.2 论文中的落脚点公式

论文中落脚点规划可以写成:

r i c m d = p s h o u l d e r , i + p s y m m e t r y + p c e n t r i f u g a l r_i^{cmd}=p_{shoulder,i}+p_{symmetry}+p_{centrifugal} ricmd=pshoulder,i+psymmetry+pcentrifugal

其中:

  • r i c m d r_i^{cmd} ricmd 表示第 i i i 条腿的期望落脚点;
  • p s h o u l d e r , i p_{shoulder,i} pshoulder,i 表示肩部位置项;
  • p s y m m e t r y p_{symmetry} psymmetry 表示 Raibert 对称落脚点项;
  • p c e n t r i f u g a l p_{centrifugal} pcentrifugal 表示转向时的离心补偿项。

6.3 肩部位置项

肩部位置项可以写为:

p s h o u l d e r , i = p k + R z ( ψ k ) l i p_{shoulder,i}=p_k+R_z(\psi_k)l_i pshoulder,i=pk+Rz(ψk)li

其中:

  • p k p_k pk 表示当前机身位置;
  • R z ( ψ k ) R_z(\psi_k) Rz(ψk) 表示当前 yaw 角对应的旋转矩阵;
  • l i l_i li 表示第 i i i 条腿肩关节相对于机身中心的位置。

该项表示:在当前机身姿态下,第 i i i 条腿自然应该落在其肩关节附近的位置。


6.4 Raibert 落脚点思想

Raibert heuristic 是腿式机器人运动控制中非常经典的落脚点规划方法。其基本思想是:

通过调整落脚点相对于质心的位置,调节机器人的水平速度。

如果机器人当前速度大于期望速度,落脚点可以适当前移,使支撑相产生减速效果;如果当前速度小于期望速度,落脚点可以适当后移,使支撑相产生加速效果。

简化理解为:

text 复制代码
速度太快 → 脚落得靠前一些 → 产生制动效果
速度太慢 → 脚落得靠后一些 → 产生加速效果

因此,Raibert 落脚点规划本质上是一种基于速度误差的反馈控制方法。


6.5 摆腿轨迹规划

当某条腿处于摆动相时,该腿不参与支撑力优化,而是执行摆腿轨迹。摆腿轨迹通常需要满足以下要求:

  1. 起点为上一支撑相的离地点;
  2. 终点为规划得到的目标落脚点;
  3. 中间具有一定抬脚高度,避免拖地;
  4. 轨迹速度和加速度尽量平滑;
  5. 在落地时足端速度不能过大。

常见摆腿轨迹可以使用三次多项式、五次多项式、Bezier 曲线等生成。论文框架中,摆腿控制由 WBIC 结合任务空间控制实现。


7. WBIC:全身冲量控制

7.1 为什么需要 WBIC

MPC 输出的是期望足端地面反作用力,但机器人最终执行的是关节力矩。如何从期望接触力得到关节力矩,需要依赖完整多体动力学。

这就是 WBIC 的作用。

WBIC 的目标是:

  1. 根据完整动力学计算关节力矩;
  2. 执行 MPC 给出的期望地面反作用力;
  3. 稳定机身姿态;
  4. 控制摆动足轨迹;
  5. 处理腾空相和欠驱动问题。

7.2 完整多体动力学模型

四足机器人是浮动基座系统,其完整动力学可以写为:

A ( q ) q ¨ + b ( q , q ˙ ) + g ( q ) 0 6 τ + J c T f r A(q)\ddot{q}+b(q,\dot{q})+g(q) \begin{bmatrix} 0_6 \ \tau \end{bmatrix} + J_c^T f_r A(q)q¨+b(q,q˙)+g(q)06 τ+JcTfr

其中:

  • A ( q ) A(q) A(q) 表示广义质量矩阵;
  • q q q 表示广义坐标;
  • q ¨ \ddot{q} q¨ 表示广义加速度;
  • b ( q , q ˙ ) b(q,\dot{q}) b(q,q˙) 表示科氏力和离心力项;
  • g ( q ) g(q) g(q) 表示重力项;
  • τ \tau τ 表示关节力矩;
  • J c J_c Jc 表示接触雅可比矩阵;
  • f r f_r fr 表示实际接触反作用力;
  • 0 6 0_6 06 表示浮动基座部分没有直接驱动力。

由于浮动基座没有电机直接驱动,因此机器人不能直接控制机身 6 自由度,只能通过足端接触力间接影响机身运动。


7.3 WBIC 与传统 WBC 的区别

传统 WBC 通常以机身轨迹或质心轨迹跟踪为主要目标,而 WBIC 更强调对 MPC 规划出的反作用力进行跟踪。

也就是说,传统 WBC 更像是:

text 复制代码
给定机身轨迹 → 求接触力和关节力矩 → 跟踪轨迹

而本文 WBIC 更像是:

text 复制代码
MPC 给定期望接触力 → WBIC 修正并执行接触力 → 生成关节命令

这种差异非常重要。

对于高速动态运动来说,接触力和冲量往往比质心轨迹本身更关键。尤其是在腾空步态中,机器人无法一直控制质心,因此不应该强行让 WBC 严格跟踪质心轨迹。


7.4 任务空间控制

WBIC 中的任务空间控制通常采用 PD 加速度形式。任务空间期望加速度可以写为:

x ¨ c m d x ¨ d e s + K p ( x d e s − x ) + K d ( x ˙ d e s − x ˙ ) \ddot{x}^{cmd} \ddot{x}^{des} + K_p(x^{des}-x) + K_d(\dot{x}^{des}-\dot{x}) x¨cmdx¨des+Kp(xdes−x)+Kd(x˙des−x˙)

其中:

  • x d e s x^{des} xdes 表示期望任务空间位置;
  • x x x 表示当前任务空间位置;
  • x ˙ d e s \dot{x}^{des} x˙des 表示期望任务空间速度;
  • x ˙ \dot{x} x˙ 表示当前任务空间速度;
  • x ¨ d e s \ddot{x}^{des} x¨des 表示期望任务空间加速度;
  • K p K_p Kp 和 K d K_d Kd 分别表示比例增益和微分增益。

该公式可以用于机身姿态控制、机身位置控制和摆动足轨迹控制。


7.5 任务优先级与零空间投影

WBIC 使用任务优先级方法,保证高优先级任务不会被低优先级任务破坏。

例如,常见任务优先级可以设置为:

  1. 接触约束;
  2. 机身姿态控制;
  3. 机身位置控制;
  4. 摆动足位置控制。

对于低优先级任务,控制器会将其投影到高优先级任务的零空间中。这样可以保证在满足高优先级任务的前提下,尽量完成低优先级任务。

动力学一致伪逆可以写为:

J ˉ A − 1 J T ( J A − 1 J T ) − 1 \bar{J} A^{-1}J^T \left( JA^{-1}J^T \right)^{-1} JˉA−1JT(JA−1JT)−1

其中:

  • J J J 表示任务雅可比矩阵;
  • A A A 表示质量矩阵;
  • J ˉ \bar{J} Jˉ 表示动力学一致伪逆。

相比普通伪逆,动力学一致伪逆考虑了机器人质量矩阵,因此更符合真实动力学特性。


7.6 WBIC 中的 QP 优化

WBIC 中通常会构造一个 QP 问题,用于同时满足:

  1. 任务空间加速度跟踪;
  2. MPC 接触力跟踪;
  3. 完整动力学约束;
  4. 接触约束;
  5. 摩擦锥约束。

优化变量通常包括:

  • 广义加速度 q ¨ \ddot{q} q¨;
  • 接触反作用力 f r f_r fr;
  • 浮动基座松弛变量;
  • 接触力松弛变量。

其中,浮动基座松弛变量非常关键。因为机器人浮动基座本身没有直接驱动,在腾空相或欠驱动状态下,不可能完全按照期望轨迹运动。如果没有松弛变量,优化问题可能不可行。

引入松弛变量后,WBIC 可以允许机身运动与期望轨迹存在一定偏差,从而让控制器更加适合动态运动。


7.7 关节力矩求解

在获得期望广义加速度和接触力后,可以根据完整动力学方程求解关节力矩。

关节力矩可以写为:

τ = S j ( A ( q ) q ¨ + b ( q , q ˙ ) + g ( q ) − J c T f r ) \tau = S_j \big(A(q)\ddot{q}+b(q,\dot{q})+g(q)-J_c^{\mathrm T}f_r\big) τ=Sj(A(q)q¨+b(q,q˙)+g(q)−JcTfr)

其中:

  • S j S_j Sj 表示关节选择矩阵;
  • A ( q ) q ¨ A(q)\ddot{q} A(q)q¨ 表示惯性力项;
  • b ( q , q ˙ ) b(q,\dot{q}) b(q,q˙) 表示科氏力和离心力项;
  • g ( q ) g(q) g(q) 表示重力项;
  • J c T f r J_c^T f_r JcTfr 表示接触力对广义力的贡献。

该公式体现了 WBC/WBIC 的核心作用:将期望接触力和任务空间运动要求转化为机器人各个关节的实际力矩命令。


8. MPC 与 WBIC 的关系

本文最重要的思想可以总结为:

MPC 负责规划"应该产生什么地面反作用力",WBIC 负责计算"如何通过全身关节力矩实现这些反作用力"。

二者之间不是简单的上下层轨迹跟踪关系,而是基于接触力的协同关系。

8.1 如果只有 MPC

如果只有 MPC,控制器可以规划未来接触力,但由于使用的是简化质心模型,难以准确考虑:

  • 关节动力学;
  • 摆腿运动;
  • 多体耦合;
  • 执行器限制;
  • 高频扰动。

因此,单独 MPC 不足以稳定控制真实机器人。


8.2 如果只有 WBC

如果只有 WBC,控制器可以进行高频全身动力学控制,但缺少未来预测能力,难以提前规划不同步态周期内的接触力变化。

尤其在动态步态中,接触序列和支撑相冲量对稳定性非常重要,单步 WBC 很难独立完成长期运动规划。


8.3 MPC + WBIC 的优势

MPC 和 WBIC 结合后,可以实现互补:

模块 优势 不足
MPC 有预测时域,适合规划接触力 模型简化,频率较低
WBIC 使用完整动力学,高频反馈 缺少长时域预测
MPC + WBIC 兼顾预测能力、动力学一致性和实时性 需要较复杂的软件架构

因此,该框架非常适合四足机器人高速动态运动控制。


9. 实验设计与结果

9.1 实验平台

论文使用 MIT Mini-Cheetah 四足机器人进行实验。Mini-Cheetah 是一款小型高性能四足机器人,具有较高的力矩输出能力和较好的动态运动能力。

机器人主要传感器包括:

  • IMU;
  • 关节编码器;
  • 电机状态反馈;
  • 机身状态估计器。

控制器通过状态估计器获取机器人机身姿态、速度、足端位置等信息,再输入到 MPC 和 WBIC 中计算控制命令。


9.2 高速跑步实验

论文展示了 Mini-Cheetah 在跑步机上的高速运动实验。机器人最终实现了最高约 3.7 m/s 的速度。

该结果说明,基于 MPC + WBIC 的控制框架可以支持高速动态运动,并且能够在真实机器人上稳定运行。

在高速跑步中,机器人机身高度并不是固定不变的,而是会随着支撑相和腾空相自然上下波动。这也体现了本文方法的特点:控制器并不是强行让机身严格跟踪固定高度轨迹,而是通过合理规划和执行地面反作用力,使机器人形成自然的动态运动。


9.3 多步态实验

论文还测试了多种不同步态,包括具有明显腾空相的动态步态。由于步态由相位式 gait scheduler 定义,因此切换步态时只需要改变腿部接触时序和支撑比例,而不需要重新设计底层控制器。

这种设计提升了控制框架的通用性。


9.4 户外实验

论文还在户外环境中验证了控制器的鲁棒性,例如草地、碎石等非理想地面。

户外环境对控制器提出了更高要求,因为实际地面存在:

  1. 摩擦系数变化;
  2. 接触高度变化;
  3. 足端打滑;
  4. 传感器噪声;
  5. 状态估计误差。

实验结果表明,该控制框架可以在一定程度上适应真实复杂地面环境。


10. 论文主要创新点

10.1 以地面反作用力为核心的 MPC-WBC 接口

本文最大的创新点不是简单地将 MPC 和 WBC 组合起来,而是改变了 MPC 与 WBC 之间的信息接口。

传统方法通常是:

text 复制代码
MPC 输出质心轨迹 → WBC 跟踪质心轨迹

本文方法则是:

text 复制代码
MPC 输出地面反作用力 → WBIC 跟踪并执行地面反作用力

这种设计更适合高速动态运动,因为高速步态中的质心轨迹不总是完全可控,而支撑相冲量才是决定运动状态变化的关键。


10.2 提出 Whole-Body Impulse Control

WBIC 可以看作是传统 WBC 面向动态运动的扩展。它不仅考虑机身姿态和摆腿控制,还重点考虑 MPC 规划出的接触力执行。

WBIC 的核心特点包括:

  1. 跟踪 MPC 规划的地面反作用力;
  2. 基于完整多体动力学求解关节力矩;
  3. 通过松弛变量处理浮动基座不可完全控制的问题;
  4. 支持腾空相和短支撑相动态步态。

10.3 使用凸 MPC 提高实时性和稳定性

论文使用凸 MPC,而不是复杂的非线性全身 MPC。这样做的好处是:

  1. 优化问题可以稳定求解;
  2. 不容易陷入局部最优;
  3. 计算速度较快;
  4. 更适合实物机器人实时部署。

虽然简化模型会降低精度,但通过下层 WBIC 的完整动力学控制可以弥补这一问题。


10.4 多步态统一控制框架

本文使用统一的控制框架实现多种步态。不同步态主要通过改变 gait scheduler 中的相位偏移和支撑相持续时间来实现。

这说明该框架具有较好的可扩展性。对于不同步态,不需要重新设计整个控制器,只需要改变高层接触时序和落脚点规划即可。


10.5 在真实 Mini-Cheetah 上实现高速运动

很多四足控制方法只停留在仿真验证阶段,而本文在真实 Mini-Cheetah 机器人上完成了实验验证,并实现了高速跑步和多步态运动。

这说明该方法不仅具有理论价值,也具有较强工程可实现性。


11. 学术贡献总结

本文的学术贡献主要体现在以下几个方面。

11.1 提出适合高速动态运动的分层控制架构

论文将简化模型 MPC 与完整动力学 WBIC 结合起来,实现了预测规划与高频反馈控制的互补。

这种架构避免了完整全身 NMPC 计算量过大的问题,同时又避免了单纯简化 MPC 模型精度不足的问题。


11.2 强调接触力/冲量在动态运动中的核心作用

本文指出,对于高速四足运动来说,控制地面反作用力和冲量往往比严格跟踪质心轨迹更重要。

这一观点对于四足机器人动态运动控制具有很强启发意义。


11.3 实现真实机器人高速多步态控制

论文在 Mini-Cheetah 实物平台上验证了该控制方法,展示了较高速度、多步态和户外环境下的运动能力。

这增强了方法的工程可信度。