3、动力学基础:牛顿-欧拉方程、拉格朗日方程、质心动力学、动量与角动量、地面反作用力
人形机器人的运动控制与平衡,本质上是对多刚体系统动力学的实时求解与利用。与运动学只描述“位置、速度、加速度”的几何关系不同,动力学揭示了“力、力矩、质量、惯量”与运动状态之间的因果联系。无论是双足行走、跳跃落地,还是抗扰动站立,控制器的每一个输出力矩最终都要通过动力学方程映射为机器人的加速度响应。本章将围绕五块核心内容展开:牛顿-欧拉递推法、拉格朗日能量法、质心动力学、动量与角动量守恒、地面反作用力(GRF)的建模与约束。这些工具并非彼此孤立,而是分别从“构件间约束力递推”“系统能量全局描述”“整体质心运动”“动量交换”和“接触约束”五个视角描述同一物理系统,理解它们之间的等价关系与适用边界,是设计稳定控制器的关键前提。
3.1 核心原理:从递推到能量的两条路径
人形机器人通常被建模为 12~30 自由度的多刚体系统。动力学建模的两条经典路径——牛顿-欧拉法与拉格朗日法——在工程中各有不可替代的价值。牛顿-欧拉法基于每个刚体的力/力矩平衡,通过从基座到末端(或反向)的递推计算,直接得到关节驱动力矩和内部约束力。其计算复杂度为 O(n),非常适合实时控制中的逆动力学求解。拉格朗日法则从系统总动能与势能出发,通过广义坐标的偏导运算得到运动方程,虽然计算量较大(O(n³)),但能天然消除内部约束力,适合系统分析与仿真验证。
| 对比维度 | 牛顿-欧拉法 | 拉格朗日法 |
|---|---|---|
| 数学基础 | 牛顿第二定律 + 欧拉方程 | 最小作用量原理 / 能量守恒 |
| 计算复杂度 | O(n),适合实时控制 | O(n³),适合离线分析 |
| 输出信息 | 关节力矩 + 所有铰接点约束力 | 广义力/力矩,不含内部约束 |
| 工程应用 | 力矩前馈、力控制、阻抗控制 | 动力学仿真、参数辨识、能量分析 |
在实际控制器中,牛顿-欧拉法通常以“递归牛顿-欧拉算法(RNEA)”的形式出现。其核心步骤为:正向递推——从基座到末端,计算每个连杆的角速度、角加速度、线加速度;反向递推——从末端到基座,计算每个连杆所需的合力/合力矩,进而得到关节驱动力矩。这一过程在 1 kHz 控制周期内可完成 30 自由度系统的求解,是大多数足式机器人控制框架(如 MIT Cheetah、Cassie)的基础。
I·ω̇ + ω × (I·ω) = τ_ext其中 I 为刚体在质心坐标系下的惯性张量,ω 为角速度,τ_ext 为外力矩。对于人形机器人,每个连杆的惯性张量需通过 CAD 模型或系统辨识获得,误差直接影响力矩前馈的精度。
3.2 质心动力学与地面反作用力:平衡控制的基石
尽管人形机器人有数十个关节,但平衡控制的核心往往可以简化为质心(CoM)的动力学。将整个机器人视为一个等效质点,其运动由牛顿第二定律描述:
m·a_com = f_grf + m·g
其中 m 为总质量,a_com 为质心加速度,f_grf 为地面反作用力的合力,g 为重力加速度。这个方程揭示了平衡的本质:质心加速度完全由地面反作用力与重力的合力决定。当机器人静止站立时,f_grf 必须恰好抵消重力;当机器人需要向前加速时,地面必须提供向前的摩擦力分量。
地面反作用力并非任意方向都可行,它受到接触约束的限制:
- 法向力约束:f_z ≥ 0(地面只能推不能拉);
- 摩擦锥约束:√(f_x² + f_y²) ≤ μ·f_z(防止打滑);
- ZMP 约束:地面反作用力的等效作用点(零力矩点)必须落在支撑多边形内部。
ZMP(Zero Moment Point)是平衡控制中最核心的概念。它定义为地面上使水平力矩为零的点。当 ZMP 位于支撑多边形内时,机器人不会绕支撑边缘翻转。ZMP 与质心投影点(CoM Projection)的关系是:ZMP 超前于 CoM 投影,其偏移量正比于质心的水平加速度。这一关系构成了“捕获点”(Capture Point)和“模型预测控制”(MPC)等高级平衡策略的理论基础。
p_zmp_x = -τ_y / f_z,p_zmp_y = τ_x / f_z其中 τ_x、τ_y 为绕脚底坐标系 x、y 轴的力矩,f_z 为法向力。
3.3 动量与角动量:动态扰动下的守恒与交换
当人形机器人受到外部冲击(如被推搡)或执行快速动作(如踢腿、跳跃)时,线性动量与角动量的变化规律决定了身体的姿态响应。线性动量 P = m·v_com 的变化率等于外力合力;而角动量 H 的变化率等于外力矩之和。在无外力矩的瞬间(如腾空阶段),角动量守恒——这意味着机器人无法在空中改变其总角动量,只能通过肢体摆动调整各部分的角动量分配。
这一原理在跳跃与落地控制中至关重要。例如,机器人起跳时通过摆臂和摆腿增加身体的角动量;腾空阶段角动量守恒,身体姿态无法大幅调整;落地时通过脚底与地面的接触力矩来“吸收”角动量,实现稳定着陆。控制器设计时,通常将角动量变化率作为优化目标之一,避免过大的身体旋转。
| 场景 | 动量/角动量变化 | 控制策略 |
|---|---|---|
| 静止站立受推 | 线性动量突增,角动量变化 | 踝关节力矩调节 ZMP,迈步策略 |
| 行走摆动相 | 质心水平动量周期性变化 | 髋关节前馈力矩,足端轨迹规划 |
| 跳跃腾空 | 角动量守恒,姿态不可控 | 起跳前规划肢体角度,空中固定姿态 |
| 落地缓冲 | 角动量快速减小 | 膝关节/髋关节阻抗控制,吸收冲击 |
3.4 实战案例:双足机器人抗推扰动控制中的动力学应用
以某型 12 自由度双足机器人为例,其总质量 32 kg,身高 1.2 m,脚底装有六维力/力矩传感器,控制频率 1 kHz。实验目标:在静止站立状态下,承受来自背后 20 N·s 的冲击力(模拟人体碰撞),要求机器人不迈步、仅通过踝关节和髋关节调节恢复平衡。
初始现象与数据:冲击前机器人 ZMP 位于支撑多边形中心(两脚之间),质心投影在 ZMP 后方 1 cm。冲击持续 80 ms,实测地面反作用力合力峰值达到 450 N(含重力),ZMP 向前偏移至脚掌前缘附近,接近失稳边界。
分析判断过程:
- 根据质心动力学方程,冲击力导致质心获得前向加速度约 0.6 m/s²;
- ZMP 偏移量 Δp = (I_com · ω̇ + m·a_com·h) / f_z,其中 h 为质心高度(约 0.75 m),估算 ZMP 前移约 6 cm,接近脚掌前缘(支撑边界 7 cm);
- 角动量变化率 Ḣ = m·a_com·h ≈ 32 × 0.6 × 0.75 ≈ 14.4 N·m·s/s,需要踝关节产生反向力矩抵消。
实际操作步骤:
- 踝关节采用 PD 控制 + 前馈力矩:τ_ankle = Kp·(θ_des - θ) + Kd·(θ̇_des - θ̇) + τ_ff,其中 τ_ff 根据 ZMP 误差实时计算;
- 髋关节辅助调节:通过轻微屈髋(前倾 3°)降低等效质心高度,减小翻转力矩;
- 实时监测脚底力传感器,若 ZMP 超出安全边界(支撑多边形内缩 2 cm),触发迈步策略。
结果对比:采用纯踝关节策略时,机器人在冲击后 0.4 s 内 ZMP 超出边界,需要迈步;加入髋关节协同后,ZMP 峰值偏移控制在 5 cm 以内,机器人成功在 0.8 s 内恢复静止站立,无需迈步。代价是髋关节力矩峰值达到 45 N·m,接近电机额定值 80%。
复盘经验:质心动力学模型在低速扰动场景下精度足够,但未考虑腿部质量分布的影响;当冲击强度超过 30 N·s 时,必须引入全身动力学优化(如 MPC)才能实现无迈步平衡。
3.5 常见误区与总结复盘
误区二:忽略角动量变化。许多初学控制器只关注质心位置和 ZMP,忽略身体姿态的角动量。当机器人快速摆臂或受到侧向力时,角动量变化会导致上身旋转,进而影响 ZMP 位置。应在控制目标中加入角动量最小化项。
误区三:地面反作用力模型过于简化。摩擦锥假设为圆形锥体,但实际脚底与地面的接触压力分布不均,且地面可能不平整。工程中应使用六维力传感器实测数据,而非仅依赖理论模型。
本章总结:动力学基础是连接运动规划与执行器输出的桥梁。牛顿-欧拉法提供了实时力矩计算的工具,拉格朗日法提供了系统级分析的视角,质心动力学与 ZMP 构成了平衡控制的核心模型,动量与角动量则解释了动态扰动下的响应机制。在实际工程中,这五者需要协同使用:用牛顿-欧拉法做前馈力矩计算,用质心动力学做平衡状态估计,用 ZMP 做稳定性判据,用角动量约束做姿态保护。掌握这些工具的内在联系,才能在人形机器人的复杂动态环境中实现稳健控制。