Centroidal Dynamics
- 又称: centroidal model, centroidal momentum dynamics, centroidal momentum
- 类别: Control › Locomotion control
- 标签: legged-locomotion, humanoids, dynamics, balance, model-predictive-control
足式或人形机器人的一种降阶模型,描述接触力如何改变其质心运动和总角动量,而不跟踪每个肢体。
定义
质心动力学(Centroidal dynamics)用多体机器人(例如人形机器人或四足机器人)绕质心的整体线动量和角动量来描述其运动。无论机器人有多少个关节,牛顿定律和欧拉定律都表明,只有外力,主要是重力以及脚或手上的接触力,才能改变这些量。线动量的变化率等于外力之和,绕质心的角动量的变化率等于绕质心的外力矩之和。
这就得到一个只有六个方程的模型,与关节数量无关,却抓住了对平衡和运动最重要的东西:质心往哪里走,以及机器人对周围环境施加的力使身体如何转动。内部关节运动只通过质心动量影响系统,而质心动量通过质心动量矩阵与关节速度相联系,这一概念由 Orin 和 Goswami 提出。
规划器会在不同的细节层次上使用质心动力学。单刚体模型把整个机器人当作一个惯量固定的刚体,这对腿部较轻的四足机器人效果很好。完整质心模型保留关节构型以计算变化的惯量,这对肢体较重的人形机器人很重要。更简单的是线性倒立摆模型,它忽略角动量并固定质心高度。
在实践中,质心规划器选择满足摩擦锥和接触时序的质心轨迹和接触力,然后由全身控制器计算实现它们的关节力矩。
为何重要
质心动力学让控制器无需求解每个关节的完整动力学就能对平衡、行走和跳跃进行推理,这使人形机器人和四足机器人的实时规划成为可能。它是基于模型的足式运动中的标准中间层,介于简单的倒立摆模型和完整的刚体动力学之间。
主要应用
- 四足机器人运动的模型预测控制
- 人形机器人的行走、奔跑和跳跃
- 规划攀爬和移动操作(loco-manipulation)等多接触运动
- 受推后的平衡恢复
实际应用
在典型的基于模型的运动控制栈中,模型预测控制器在单刚体模型或质心模型上运行,在摩擦锥和接触时序约束下,于一个短时域内优化质心运动和地面反作用力。它的输出交给以更高频率运行的全身控制器,后者求解一个关于关节力矩的二次规划,在遵守关节限位的同时跟踪规划的动量。Pinocchio 等库可以计算质心动量矩阵,OCS2 等最优控制框架包含面向足式机器人的质心模型。团队通过检查机器人实测的基座运动与规划的质心轨迹吻合得有多紧密,来验证这一降阶模型。
常见误解
- 质心动力学完全忽略肢体 — 完整质心模型通过依赖构型的惯量考虑了肢体运动;只有单刚体近似才忽略它
- 关节力矩可以直接改变机器人的总动量 — 只有接触力和重力等外力才能做到;关节是通过改变这些接触力来起作用的
- 它与倒立摆模型相同 — 倒立摆模型是进一步的简化,舍弃了角动量,并且通常固定质心高度
谁需要了解
- 足式运动和人形机器人控制工程师
- 研究步行机器人模型预测控制的研究人员
- 研究多接触任务的运动规划研究人员
- 机器人动力学方向的研究生
相关技术
- Pinocchio
- OCS2
- 模型预测控制(Model Predictive Control)
- 全身控制(Whole-Body Control)
- 线性倒立摆(Linear Inverted Pendulum)
- 单刚体模型(Single Rigid Body Model)
相关术语
相关项目
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- python_simple_mppi: MPPI control derived and implemented in numpy, with four worked examples
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
- mjbatch: Runs thousands of MuJoCo simulations in parallel on the CPU