论文链接:https://arxiv.org/pdf/2503.04613
项目链接:https://johnzhang3.github.io/
简介
1.1 研究背景与动机
腿式机器人的运动控制长期以来面临高维度动力学建模、非光滑接触动力学、实时性要求等多重挑战。传统模型预测控制(MPC)方法通常依赖于定制化的机器人模型和优化求解器,导致算法复现性差、社区迭代速度慢。与此相反,基于强化学习(RL)的方法通过仿真到现实(sim-to-real)迁移在复杂任务中展现了潜力,但其依赖大量数据且策略解释性较弱。
本文提出了一种折中方案:利用MuJoCo物理引擎的高效仿真能力,结合迭代线性二次调节器(iLQR)算法,构建一种简单但高效的全身模型预测控制框架。该方法的核心优势在于标准化工具链(MuJoCo + iLQR)的采用,显著降低了模型预测控制的实现门槛。
论文特别强调了iLQR算法与MuJoCo软接触模型的结合在硬件实验中的意外有效性。尽管MuJoCo的软接触模型存在物理不真实性(如穿透现象),但其平滑的动力学特性使得有限差分导数近似成为可能,从而绕过了传统接触动力学解析导数的复杂性。这一发现挑战了传统观念——即高精度接触建模是硬件控制成功的必要条件。
1.2 相关技术对比
传统MPC方法在腿式机器人中的应用多基于简化模型(如质心动力学模型)或启发式接触模式选择,虽能实现实时性,但牺牲了全身动力学建模的完整性。例如,MIT Cheetah 3采用分层控制架构,上层规划质心轨迹,下层通过QP求解关节力矩,但其无法处理复杂接触序列的动态调整。相比之下,本文方法通过MuJoCo直接建模全身动力学,无需预设接触模式,体现了“端到端”优化的思想。
在优化算法层面,DDP(微分动态规划)和iLQR的对比值得关注。DDP通过对非线性动力学方程进行二阶泰勒展开,迭代求解最优控制序列,但其计算复杂度较高。iLQR作为DDP的近似版本,采用高斯-牛顿法忽略二阶动力学导数,从而提升计算效率。作者指出,iLQR的单次迭代(不依赖收敛性检验)即可生成有效的控制序列,这得益于其滚动时域优化(Receding Horizon)特性:每次规划仅需局部最优解,而非全局最优。
方法详析
2.1 问题建模与iLQR算法
iLQR的核心是求解以下非线性轨迹优化问题:
其中
为阶段成本,
为终端成本,f为离散时间动力学模型。iLQR通过迭代线性化动力学并求解线性二次型问题,最终生成时变线性反馈策略:
此处Kt为反馈增益矩阵,α为步长参数。与传统MPC不同,iLQR采用单次射击(Single Shooting)策略,仅优化控制序列u0:T-1,而状态序列通过前向仿真获得。这一特性使其天然支持动态可行性,且对不稳定系统具有鲁棒性。
2.2 MuJoCo软接触模型与导数近似
MuJoCo的软接触模型通过弹簧-阻尼系统近似刚体接触力,其接触力计算为:
其中δ为穿透深度,v为接触点相对速度,kp和kd为刚度与阻尼系数。尽管该模型存在穿透现象,但其凸性保证了求解效率。作者采用前向有限差分法近似动力学导数:
实验表明,中心差分法在接触任务中表现不佳,可能由于负方向扰动导致脚部脱离地面,破坏导数信息的一致性。此外,通过调整MuJoCo的impratio参数(控制摩擦与穿透的权衡),作者有效抑制了仿真中的脚部滑动现象(图4),从而提升硬件控制稳定性。
2.3 时间变化线性反馈(TV-LQR)
TV-LQR通过在线性化点附近设计反馈增益,增强开环控制序列的鲁棒性。实验显示,TV-LQR仅带来约30%的性能提升(图5),表明iLQR生成的标称轨迹本身已具备较高稳定性。这一现象可归因于MuJoCo动力学平滑性:接触力的连续变化减少了开环策略对扰动的敏感性。然而,在高度不稳定任务(如人形机器人单脚平衡)中,TV-LQR的边际增益可能更为显著。
实现细节与工程洞见
3.1 接触建模优化
默认MuJoCo参数下,脚部滑动导致控制序列抖动(图4红)。通过将impratio从1增至100,显著抑制滑动,但代价是单次iLQR迭代时间从10ms增至20ms。这一调整的物理意义在于增强接触法向力的主导性,等效于提高摩擦系数。值得注意的是,适度穿透未对硬件控制造成负面影响,说明仿真与现实的动力学失配可通过参数调整补偿。
3.2 执行器阻抗匹配
MuJoCo允许精确设定关节阻抗参数(刚度Kp、阻尼Kd),但实际机器人关节控制器常以黑盒形式提供阻抗接口。作者通过手动调参缓解模型失配问题,但指出系统化的动力学辨识工具缺失是当前瓶颈。例如,Unitree SDK未公开底层阻抗映射关系,导致仿真与硬件参数难以直接对应。
3.3 时间变化线性反馈
我们探讨了在H1人形机器人原地小跑任务中,iLQR策略有无TV-LQR反馈增益对实际性能的影响。结果表明,尽管TV-LQR策略确实提升了任务表现,但相比直接执行名义开环控制序列,提升幅度较为有限。图5所示的成本峰值揭示了没有反馈时政策短暂失效的情况,而在有反馈的情况下未出现同样的失败。我们的经验与先前工作一致,即对于稳定接触丰富的计划,线性反馈在平滑动力学上的表现并不令人满意。
3.4 导数近似启发式
为降低计算开销,作者提出跳跃导数计算(skip_deriv):在规划时域内间隔跳过部分节点的导数计算,通过邻近节点插值近似。其理论依据是局部动力学近似线性,节点间导数变化平缓。实验表明,在50Hz的更新频率下,该启发式对控制性能影响可忽略,但为更复杂系统(如多臂机器人)的实时控制提供了可能性。
实验设计与结果分析
4.1 交互式GUI在机器人硬件平台上的设置
我们通过Python接口与MuJoCo MPC GUI和iLQR规划器进行了集成,以便于机器人硬件部署。该界面接收最新的状态估计并发送当前控制指令。状态估计是通过融合Optitrack MoCap的位置和姿态测量(100Hz)以及机器人关节角度位置和速度测量(500Hz)得到的。浮游基地线速度和角速度是在本体坐标系中通过对位置和姿态测量的低通滤波差分值得出的。规划者的动作通过Unitree SDK传输给Go1机器人,通过Unitree SDK 2传输给Go2和H1机器人。
所有机器人控制均表示为关节目标并通过Unitree内部低级PD控制器跟踪。我们在一台配备第13代Intel i9 CPU芯片的台式计算机上计算MPC策略,并以约50Hz的频率更新iLQR策略,使用TV-LQR策略在求解间隔内稳定机器人(约300Hz)。除非另有说明,我们使用默认的预测范围为0.35秒,并在iLQR规划器中以100Hz的频率离散化动力学。
4.2 四足机器人运动控制
在Unitree Go1/Go2平台上,作者实现了动态行走、目标跟踪(图3)甚至双足行走(图1)。任务成本函数包含跟踪误差、能量消耗与接触力惩罚。实验显示,GUI交互式目标调整(绿色球体)可实现实时响应,验证了框架的灵活性。值得注意的是,尽管规划模型包含全身碰撞几何,实际任务中仅激活4个球形接触点,说明接触点简化对计算效率至关重要。
4.3 人形机器人小跑
在Unitree H1人形机器人上,作者禁用了上半身自由度(因编码器噪声)和躯干碰撞检测,将系统简化为10自由度+4接触点。预测时域延长至0.5秒以应对更高复杂性,iLQR仍能以50Hz频率运行。结果表明,即使部分自由度被冻结,全身动力学协同仍能维持稳定步态,说明iLQR对模型简化的鲁棒性。
4.4 人形运动
最后,我们将iLQR策略部署到了一个人形大小的Unitree H1机器人上,以跟踪周期性的小跑步态,如图6所示。类似于四足运动任务,我们让机器人走向由绿色球体定义的位置。为了在更复杂的系统上实现实时控制,我们禁用了机器人身体其他部分的碰撞检测,除了每只脚上的两个球形接触点。此外,我们还禁用了配备相对编码器的人形机器人上半身的自由度,因为这些编码器提供的关节角度估计不可靠,对运动不是关键因素。虽然这减少了iLQR的计算时间,但我们认为这对任务的成功并不是必要的。总体而言,系统拥有10个自由度的关节驱动器和4个接触点,我们使用了0.5秒的预测范围。
结论与未来方向
5.1 方法优势
本文最大的贡献在于验证了“简单工具链+标准算法”的可行性。MuJoCo iLQR框架无需定制模型或复杂调参,即能跨越仿真与现实鸿沟,支持四足/人形机器人的多样化运动任务。其开源实现(代码与GUI)显著降低了全身MPC的研究门槛。
5.2 局限与挑战
· 状态估计依赖:实验依赖OptiTrack运动捕捉系统,限制了室外应用。未来需融合IMU、关节编码器与视觉数据实现全自主状态估计。
· 接触模式探索:iLQR作为局部优化器,依赖预设接触序列。对于接触丰富的操作任务(如推箱、攀爬),采样类方法(如MPPI)可能更具优势。
· 计算并行化:iLQR的前向仿真与反向传播本质串行,难以利用GPU并行加速。作者提及的ReLU-QP等GPU优化求解器或是突破方向。
5.3 社区意义
本文为模型预测控制研究提供了可复现的基线,推动社区从“定制化实现”转向“标准化工具链开发”。结合JAX等自动微分框架,未来有望实现更高阶导数的高效计算,进一步提升iLQR的收敛速度与稳定性。
公式解析与扩展讨论
6.1 iLQR与DDP的数学联系
传统DDP的哈密尔顿函数为:
其通过二阶泰勒展开求解最优条件,而iLQR忽略交叉导数项Hxu,将问题简化为序列线性二次调节。这种近似牺牲了部分收敛速度,但换取了计算效率,使其适合在线应用。
6.2 MuJoCo导数近似的误差分析
有限差分法的误差阶为O(ϵ)(前向差分)或O(ϵ2)(中心差分)。然而,在接触动力学中,导数不连续可能导致误差非线性增长。作者发现前向差分在硬件控制中表现更优,可能因为正向扰动(如脚部下压)更贴近实际接触过程。
6.3 控制频率与时域离散化
规划时域0.35秒(四足)与0.5秒(人形)的选择平衡了预测能力与计算延迟。100Hz的时域离散化(即35或50节点)需在iLQR单次迭代时间(20ms)内完成,这对算法实现提出了严苛的代码优化要求。
总结
本文介绍了一种非常简单但意外有效的四足和人形机器人全身MPC方法,基于MuJoCo。尽管取得了有希望的结果,但仍有一些关键限制需要在未来工作中解决。
首先是可靠的状态估计,这是基于模型的规划和控制的关键挑战之一。其次,社区还需要更多的工具来严格识别机器人的关节驱动和接触动力学,以克服仿真到现实的差距。此外,iLQR算法本身也存在一些局限性,如在探索接触模式方面的困难以及其单射击性质带来的敏感性等问题。
未来的工作应致力于扩展当前的MPC库,使多射击和配点方法更容易被社区接受。总之,本文希望通过展示这种方法的成功硬件验证,鼓励研究人员利用现有的工具进行基于模型的控制研究。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有