4、动力学基础:牛顿-欧拉法、拉格朗日法、浮动基座动力学、质心动力学与角动量守恒
双足机器人的动力学模型是步态规划与控制的核心依据。与固定基座机械臂不同,双足机器人没有与地面刚性固连的基座,其运动过程中支撑脚交替、躯干姿态不断调整,系统呈现典型的浮动基座(Floating Base)特性。本章从牛顿-欧拉法与拉格朗日法两种经典建模框架出发,逐步引入浮动基座动力学、质心动力学与角动量守恒,帮助学习者建立从“完整多体模型”到“简化质心模型”的递进认知,为后续步态规划与控制策略设计奠定理论基础。
4.1 牛顿-欧拉法:递推建模与约束力求解
4.1.1 核心原理
牛顿-欧拉法基于牛顿第二定律(力与加速度关系)和欧拉方程(力矩与角加速度关系),对每个连杆逐一建立力与力矩平衡方程。对于双足机器人这类开链/闭链混合结构,通常采用外推-内推两阶段递推:
- 外推(正向递推):从浮动基座(或支撑脚)出发,依次计算每个连杆的角速度、角加速度、线加速度,以及质心加速度。
- 内推(反向递推):从末端执行器(摆动脚或手臂)向基座方向,依次计算每个关节所需的力与力矩,同时得到关节间约束力。
该方法的核心优势在于:计算复杂度为 O(n)(n 为连杆数),非常适合实时控制中的逆动力学求解。同时,关节约束力(如地面反作用力)在递推过程中自然显式出现,便于进行足底力分配与稳定性分析。
4.1.2 操作流程与关键方程
以单腿支撑相为例,设支撑脚为固定参考系,躯干为浮动基座。递推过程如下:
- 初始化:支撑脚处角速度 ω₀ = 0,线加速度 a₀ = g(重力加速度,向上为正)。
- 外推:对每个关节 i,利用关节速度 q̇ᵢ 和上一连杆状态递推:
ωᵢ = ωᵢ₋₁ + Rᵢ·q̇ᵢ·ẑ
αᵢ = αᵢ₋₁ + Rᵢ·q̈ᵢ·ẑ + ωᵢ₋₁ × (Rᵢ·q̇ᵢ·ẑ) - 内推:从摆动脚开始,计算每个连杆的惯性力、重力项,并累加得到关节力矩 τᵢ。
对于双足支撑相,系统形成闭链,需引入约束雅可比矩阵将闭链拆分为两个开链分别求解,再通过约束力协调。
4.1.3 案例拆解:单腿摆动相逆动力学
假设一个 5 连杆双足机器人(双腿各 2 关节 + 躯干 1 关节),在单腿支撑相中,摆动腿从后向前摆动。已知关节角度、角速度、角加速度轨迹(由步态规划器给出),需要计算各关节驱动力矩。
| 参数 | 数值 | 说明 |
|---|---|---|
| 连杆质量 | 大腿 8 kg,小腿 4 kg,躯干 30 kg | 集中质量近似 |
| 摆动周期 | 0.8 s | 步态周期 1.2 s,双支撑 0.4 s |
| 最大髋关节力矩 | ≈ 85 N·m | 牛顿-欧拉递推结果 |
| 最大膝关节力矩 | ≈ 45 N·m | 摆动腿伸展阶段 |
通过牛顿-欧拉递推,可同时获得髋关节和膝关节的力矩曲线。若发现膝关节在摆动末期出现负力矩(即需要制动),说明步态规划中摆动腿减速过快,可调整轨迹的加速度曲线以降低峰值力矩。
4.2 拉格朗日法:从能量到运动方程
4.2.1 核心原理
拉格朗日法从系统总动能 T 和总势能 V 出发,定义拉格朗日函数 L = T - V,通过欧拉-拉格朗日方程推导运动方程:
d/dt(∂L/∂q̇ᵢ) - ∂L/∂qᵢ = τᵢ + Σⱼ Jⱼᵀ·F_extⱼ
其中 qᵢ 为广义坐标,τᵢ 为广义力,Jⱼ 为外力作用点的雅可比矩阵。对于双足机器人,广义坐标通常选择为:浮动基座的 6 个自由度(位置 3 + 姿态 3)+ 所有关节角。
4.2.2 浮动基座下的拉格朗日方程结构
将广义坐标分为浮动基座坐标 q_b ∈ R⁶ 和关节坐标 q_j ∈ Rⁿ,运动方程可写为分块形式:
[ M_bb M_bj ] [q̈_b] [C_b] [G_b] [0 ] [J_bᵀ]
[ M_jb M_jj ] [q̈_j] + [C_j] + [G_j] = [τ_j ] + [J_jᵀ] · F_ext
其中 M_bb 为基座惯性矩阵,M_jj 为关节惯性矩阵,M_bj 为耦合项。关键特征:基座行对应的广义力为零(浮动基座不受外部直接驱动),因此基座加速度由关节运动和外部接触力隐式决定。
4.2.3 案例拆解:双支撑相闭链约束处理
双足支撑时,两只脚同时接触地面,形成闭链。拉格朗日法处理闭链的标准方法是引入约束方程:
- 建立约束方程 Φ(q) = 0(如两脚位置固定在地面)。
- 计算约束雅可比 J_c = ∂Φ/∂q。
- 在运动方程中加入约束力项 J_cᵀ·λ,其中 λ 为拉格朗日乘子(物理意义为约束力)。
- 联立求解 q̈ 和 λ。
该方法在仿真中精度高,但计算量较大。实际步态规划中,常将双支撑相简化为“瞬时切换”或“软接触模型”,以降低计算复杂度。
4.3 浮动基座动力学与质心动力学
4.3.1 浮动基座动力学的核心特征
双足机器人区别于固定基座机械臂的本质在于:基座(躯干)没有物理锚点,其运动由重力、地面反作用力和关节力矩共同决定。浮动基座动力学的关键结论:
- 基座的线加速度 a_b 和角加速度 α_b 是“自由”的,由系统总外力决定。
- 关节力矩不仅驱动关节运动,还间接影响基座姿态——这就是行走时躯干自然前倾的动力学原因。
- 地面反作用力(GRF)是唯一的外部力源,其作用点(CoP)和大小直接决定基座加速度。
4.3.2 质心动力学的简化与意义
将整个机器人视为一个质点系统,定义质心位置 r_c 和总质量 M。质心动力学方程为:
M·r̈_c = ΣF_ext = F_GRF + M·g
L̇_c = Στ_ext = (p_CoP - r_c) × F_GRF
其中 L̇_c 为绕质心的角动量变化率,p_CoP 为压力中心(CoP)。这一简化模型将复杂的多体动力学压缩为两个方程,是线性倒立摆(LIPM)、质心轨迹规划等经典步态规划方法的基础。
| 模型类型 | 状态变量 | 计算复杂度 | 适用场景 |
|---|---|---|---|
| 完整多体模型 | 所有连杆位姿 + 速度 | O(n³) 矩阵运算 | 精确仿真、动力学分析 |
| 浮动基座模型 | 基座 6 DoF + 关节角 | O(n) 递推 | 实时控制、力矩前馈 |
| 质心模型 | 质心位置 + 角动量 | O(1) 常微分方程 | 步态规划、稳定性判据 |
4.3.3 案例拆解:从质心动力学推导 ZMP 约束
ZMP(零力矩点)是双足稳定性的核心判据。由质心动力学方程可推导:当角动量变化率 L̇_c = 0 时(即姿态稳定),ZMP 位置为:
p_ZMP_x = r_cx - (r_cz / g) · r̈_cx
p_ZMP_y = r_cy - (r_cz / g) · r̈_cy
这意味着:ZMP 位置由质心水平加速度决定。若质心加速度过大,ZMP 将超出支撑多边形,导致翻倒。实际步态规划中,通常先规划质心轨迹,再反算 ZMP 轨迹,确保其始终落在支撑脚范围内。
4.4 角动量守恒与姿态稳定
4.4.1 角动量守恒的物理意义
在无外力矩作用时,系统绕质心的角动量守恒:L̇_c = 0。对于双足机器人,这意味着:
- 若机器人处于腾空相(双脚离地),其角动量守恒,姿态只能通过关节内部运动调整(如摆臂、摆腿改变质量分布)。
- 在支撑相,地面反作用力提供外力矩,角动量可以变化——这正是姿态控制的“输入通道”。
- 角动量变化率与 ZMP 位置直接相关:L̇_c = (p_CoP - r_c) × F_GRF,因此控制 ZMP 就是控制角动量。
4.4.2 角动量控制在步态中的应用
实际行走中,完全保持角动量为零并不现实(摆动腿运动必然产生角动量)。工程上采用角动量规划策略:
- 设定期望角动量轨迹 L_d(t),通常为平滑曲线,在单步周期内从零开始并归零。
- 通过关节力矩控制使实际角动量跟踪期望值。
- 将角动量误差转化为躯干姿态修正量,与质心位置控制解耦。
这种“质心位置 + 角动量”的双通道控制架构,是当前双足机器人运动控制的主流范式。
4.4.3 案例拆解:腾空相姿态调整
在跑步或跳跃动作中,机器人进入腾空相,此时角动量守恒。假设机器人起跳时具有初始角动量 L₀ = 2.5 kg·m²/s(由起跳姿态决定),腾空时间 0.3 s,需要在落地前将躯干姿态调整回竖直方向。
| 调整策略 | 角动量变化 | 效果 |
|---|---|---|
| 摆臂(双臂快速旋转) | 手臂产生反向角动量,躯干获得正向角动量 | 躯干前倾角减小 8° |
| 收腿(屈膝缩短转动惯量) | 躯干角速度增大(角动量守恒) | 躯干旋转速度提升 30% |
| 不对称摆腿 | 产生偏航角动量 | 调整落地朝向 |
该案例说明:腾空相中虽然总角动量守恒,但通过改变质量分布(转动惯量)和内部动量交换,可以控制躯干姿态。这正是跑跳动作中“空中姿态控制”的动力学本质。
4.5 模型选择与工程实践总结
在实际双足机器人开发中,不同动力学模型服务于不同目的:
| 应用场景 | 推荐模型 | 原因 |
|---|---|---|
| 实时力矩控制(>1 kHz) | 牛顿-欧拉递推 | 计算效率高,适合嵌入式实现 |
| 步态离线优化 | 拉格朗日 + 约束 | 闭式方程便于梯度计算 |
| 在线步态调整 | 质心动力学 + LIPM | 低维模型响应快,适合预测控制 |
| 稳定性分析 | ZMP + 角动量 | 直接对应物理稳定判据 |
本章从牛顿-欧拉法和拉格朗日法两种经典建模方法出发,建立了从完整多体模型到质心模型的递进框架。浮动基座动力学揭示了双足机器人“无根”运动的本质,质心动力学与角动量守恒则为步态规划提供了低维而有效的控制模型。理解这些动力学基础,是后续学习步态规划算法(如 ZMP 规划、模型预测控制、全身力矩控制)的前提。