2024 开放原子开发者大会人形机器人分论坛 | 从算法到实践:基于MPC与WBC的人形机器人运动控制的实现(上)
人形机器人的运动控制系统决定了它的行动能力和反应速度,是实现其自主性、灵活性和智能化的关键。在2024年12月20日至21日举办的开放原子开发者大会期间,国家地方共建人形机器人创新中心的运动控制系统专家马老师在人形机器人分论坛上发表了题为《从算法到实践:基于 MPC 与 WBC 的人形机器人运动控制的实现》的主题演讲,概述了人形机器人运动控制技术的发展,介绍了MPC与WBC算法框架,并对 Open
前言:人形机器人的运动控制系统决定了它的行动能力和反应速度,是实现其自主性、灵活性和智能化的关键。目前人形机器人控制方案包括传统控制、优化控制、仿生控制和基于学习的控制方法。随着科技的发展,像MPC和WBC这样的先进控制策略在人形机器人运动控制领域的应用日益广泛,提升了机器人的功能表现。本文将带您一探人形机器人运动控制的奥秘,并分析这些技术如何通过开源社区促进整个行业的发展。
在2024年12月20日至21日举办的开放原子开发者大会期间,国家地方共建人形机器人创新中心的运动控制系统专家马老师在人形机器人分论坛上发表了题为《从算法到实践:基于 MPC 与 WBC 的人形机器人运动控制的实现》的主题演讲,概述了人形机器人运动控制技术的发展,介绍了MPC与WBC算法框架,并对 OpenLoong 动力学控制开源仓库的实践经验进行分享。

下面是对马老师演讲的整理:
马老师的演讲从以下几个方面展开,第一部分回顾了人形机器人运动控制技术发展历程和现状,第二部分介绍了基于 MPC 与 WBC 的运动控制算法框架,第三部分分享了 OpenLoong 动力学控制开源仓库,最后进行了总结和展望。下文整理了马老师在演讲过程中关于这几部分的思考。
1、人形机器人运动控制技术发展现状
2022年开始,国家对人形机器人领域的投入逐渐加大,也极大的促进了人形机器人领域的技术发展。从上个世纪人形机器人的技术研究开始,发展到目前,它的主流控制方向主要是分为两个,基于模型的传统方法控制方案和基于学习的运动控制方案。
第一个传统方法控制方案,从1990年到2020年,以日本和美国为代表,传统控制方案推动了人形机器人从静态平衡到动态平衡的快速发展,实现了从基本行走向跑酷等高动态动作的转变。这一时期主要采用基于模型的传统控制方案,经历了从简化模型到全身动力学模型,以及从确定解到在线优化求解的演进。传统控制机理明确,精细化调节能力强,但在存在工作点范围不大,抗干扰能力相对较差的问题。

日本 ASIMO 机器人向奥巴马展示行走和现场踢球互动

美国 Atlas 机器人跑酷运动
第二个基于学习的运动控制方案,自2020年以来,美国科研机器人 Cassie 在强化学习领域进行了大量研究,同时得益于英伟达提升并行训练的基础工具,强化学习得以快速发展,在不同机器人上展示了其卓越的运动鲁棒性和适应性。这期间的主流方案是基于深度神经网络的强化学习控制方案,通常采用从传感器输入直接到关节轨迹输出的端到端模式。深度强化学习显著提升了机器人的运动灵活性和鲁棒性,但也存在一些问题,如奖励设计依赖工程师经验、黑箱不透明及无法在线调整参数等。
尽管基于学习的控制方案表现出色,传统控制仍具有优势,如机理明晰、参数调整时间短,且无需训练过程和高算力支持。基于这些特点,马老师所在团队选择了传统控制方案进行研究,并将其开源。
2、基于 MPC 与 WBC 的运动控制算法框架
2.1 运动控制算法概述与框架
基于 MPC 和 WBC 的运动控制,是业内比较主流的传统控制的方案。MPC 增强全局性与长期规划能力、提升动态稳定性、提高复杂地形适应性;WBC更加侧重于协调机器人多自由度的全身运动,在多任务和复杂约束条件下完成高效、鲁棒的控制。
通常的运动控制算法框架分为以下几个部分,首先是外部接触控制,主要是依靠 MPC 还有落脚点的规划进行末端的接触力和末端轨迹的求取;然后输入到内部多关节协同控制当中,依托 WBC 在进行关节的速度位置依据指令的计算。最后是底层关节跟踪与感知模块,能够计算出机器人最终需要的依据指令,并且这个模块当中还有状态估计,能够获取机器人的状态,为前面的控制模块提供反馈。

基于MPC与WBC的人形机器人运动控制算法框架
2.2 核心算法模块
整个控制框架当中,比较主要的核心算法有以下四个。
一、模型预测控制(MPC):基于单刚体模型,通过动态优化,在未来一定的时间内预测和优化系统行为,其控制过程包括模型预测、优化求解和实时控制。在模型预测阶段,通过测量机器人的状态(如机身位置、速度和角速度),结合单刚体模型,预测出一个时间序列内的机身状态。将这些参考状态与实际测量值输入优化求解器,并结合约束条件,求得一段时间内的控制指令。选取第一个控制指令作为期望的末端接触力与力矩,再输入到下一个控制模块——内部多关节系统控制中。
优化求解器的输入是一个时间序列的状态,因此其求解结果不仅使当前状态与期望状态契合,还会综合考虑整个时间段内的控制效果,体现了 MPC 的全局性和长期规划能力。

二、全身动力学控制(WBC):WBC 基于全维动力学模型,协调机器人的全身运动,在满足物理约束的同时完成多任务,实现冗余自由度机器人的运动控制。它分为运动学和动力学两部分。运动学部分,团队开源了基于零空间映射的任务优先级控制方法,其主要目的是生成满足多项任务要求的关节位置、速度和加速度指令,例如保持机身姿态和位置的稳定,以及确保落脚点与规划一致。这些运动学指令输入到动力学求解器中,同时结合MPC计算出的基础力,进行优化,生成最终的关节控制指令。

三、基于卡尔曼滤波的状态估计:状态估计结合传感器测量数据与运动学信息,在存在噪声的情况下,应用卡尔曼滤波融合预测值和测量值来获得当前机身状态。状态估计在实物部署里面是非常重要的,因为仿真其实是可以获取仿真引擎里面的位置速度,但是实物获取不了,只能通过状态估计获取。状态估计对最后的控制效果影响还是非常大的,虽然团队开源的是仿真,但是在 OpenLoong 项目的动力学仓库低阻尼分支上,团队也把状态估计算法开源上去了,大家也可以下载测试一下。

基于卡尔曼滤波的状态估计
四、基于估计速度的落脚点规划:团队基于线性倒立摆模型(LIPM),通过估计的机身速度预测未来的落脚点位置;应用贝塞尔曲线组合生成相位可调的z方向轨迹。其实也有一些其他的方式,像基于角动量的一些落脚点规划也都有,大家可以会后查阅一些资料。

x、y方向落脚点规划

z方向落脚点规划
2.3 算法实物部署
以上对算法流程的进行了简单介绍,然而,要将该算法流程应用于实物样机,还需要实时框架。团队采用模块化设计,各模块独立运行,便于后续优化和测试。此外,规范化测试流程对提高实物部署效率至关重要。参考国家地方共建人形机器人创新中心(下称“国地中心”)的几个算法测试流程:一是单关节测试,用于获取电机力矩与电流的关系;二是上电无动作测试,用于测试实时框架和标定机器人信息;三是悬空测试,通过空中踏步动作可以验证动力学和多关节联动的正常性;四是站立和行走测试,将算法迁移并根据仿真调试经验和功能需求进行调试。

国地中心算法测试流程
国地中心已将上述传统控制框架成功部署于实物,并取得了良好的运动控制效果。为促进行业知识共享和行业发展,国地中心建立了 OpenLoong 开源社区,开源了青龙人形机器人的软硬件,包括上文介绍的传统控制项目在 OpenLoong 动力学控制仓库中。开源以来,国地中心运动控制团队的控制框架受到广泛关注,帮助众多开发者快速进入调试流程。
以上内容回顾了马老师演讲中关于人形机器人运动控制技术发展历程和现状以及基于 MPC 与 WBC 的运动控制算法框架两部分的内容,下篇文章将介绍 OpenLoong 动力学控制开源仓库的内容、仓库热度与用户活跃度、开发者案例,以及开发者提出的常见问题分析,并提供控制框架代码仓库的地址。
精彩内容,不容错过,敬请期待下篇文章的发布,让我们一起继续探索 OpenLoong 动力学控制开源仓库的奥秘!
OpenLoong开源社区介绍
“OpenLoong”是一个全球领先的综合性人形机器人开源社区。社区秉持着技术驱动和开放透明的价值观,致力于汇聚全球开发者,共同推动人形机器人产业的发展,为全球人形机器人产业赋能。
我们的使命是通过在机器人本体技术、平台软件、具身智能、具身数据集以及上层应用等多个方面做出重大贡献,从而推动整个产业的进步。
注册成为 OpenLoong 开源社区的一员,与机器人研究者和爱好者共同开启人形机器人探索之旅!
注册地址:OpenLoong
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)