四、动力学基础:牛顿-欧拉方程、拉格朗日方程、惯量张量、科里奥利力与离心力,以及动力学建模的工程简化
运动控制算法的核心任务之一,是让执行器按照期望轨迹运动,并在此过程中抵抗外力、惯性力和耦合效应。动力学建模正是回答“力与运动如何相互转化”这一问题的数学工具。在面试中,考官不仅考察你是否能背诵牛顿第二定律,更关注你能否在工程约束下,从多刚体系统的角度建立可用的动力学模型,并理解各项力/力矩项的物理含义。本章将系统梳理牛顿-欧拉方程与拉格朗日方程两大建模体系,深入剖析惯量张量、科里奥利力与离心力的本质,并给出工程中常用的模型简化策略。
上图展示了动力学建模的核心知识框架。牛顿-欧拉方程与拉格朗日方程是两大支柱,它们最终都归结为惯量张量与速度耦合项的计算,而工程简化则是连接理论模型与实时控制算法的桥梁。下面我们逐一展开。
4.1 核心原理:两大建模体系的对偶性
牛顿-欧拉方程基于力/力矩的平衡,采用递推算法。对于串联机器人,从基座到末端执行器逐连杆“外推”角速度、角加速度和线加速度,再从末端向基座“内推”各关节所需的力/力矩。其计算效率高,适合实时控制,但物理意义隐含在递推过程中,不易直接看出各项的耦合关系。
拉格朗日方程则从能量标量函数出发:
L = K - P
τ = d/dt(∂L/∂q̇) - ∂L/∂q
其中 K 为系统总动能,P 为总势能,q 为广义坐标。拉格朗日法推导过程系统化,能显式给出惯性矩阵 M(q)、科里奥利/离心力矩阵 C(q,q̇) 和重力项 G(q),便于分析系统结构,但计算量较大。两种方法在数学上是等价的,工程中常混合使用:用牛顿-欧拉做实时计算,用拉格朗日做离线分析与控制器设计。
4.2 惯量张量:从标量到矩阵的跃迁
单刚体绕定轴转动时,惯量是标量 J。但三维空间中,刚体绕任意轴的转动惯量取决于质量分布和转轴方向,必须用 3×3 的惯量张量描述:
I = [Ixx Ixy Ixz
Iyx Iyy Iyz
Izx Izy Izz]
对角项 Ixx、Iyy、Izz 是绕各坐标轴的转动惯量,非对角项(惯性积)反映质量分布的不对称性。若选取的坐标系主轴与刚体的惯性主轴重合,则惯性积为零,张量退化为对角阵。工程中,CAD 软件可直接输出惯量张量,但需注意坐标系原点是否在质心。
| 参数 | 物理含义 | 工程影响 |
|---|---|---|
| Ixx/Iyy/Izz | 绕各轴转动的惯性阻力 | 决定加速度响应速度,影响伺服增益整定 |
| Ixy/Ixz/Iyz | 质量分布不对称程度 | 产生耦合力矩,导致多轴联动误差 |
| 质心位置 | 重力作用点 | 影响重力矩补偿精度,尤其大臂长机构 |
4.3 科里奥利力与离心力:速度耦合的本质
在多关节系统中,一个关节的运动会在另一个关节上产生力矩,这就是科里奥利力与离心力的体现。科里奥利力与两个关节速度的乘积成正比(如 q̇₁q̇₂),离心力与单一关节速度的平方成正比(如 q̇₁²)。在拉格朗日框架下,它们统一包含在 C(q,q̇)q̇ 项中。
以二连杆机械臂为例,当大臂高速旋转时,小臂关节会受到一个与 q̇₁² 成正比的离心力矩,试图将小臂“甩直”;若小臂同时运动,还会产生科里奥利力矩。这些力矩在低速时可能微不足道,但在高速高精度场景(如半导体设备、机器人打磨)中必须补偿。
4.4 动力学建模的工程简化策略
完整的多刚体动力学模型包含大量参数(质量、质心、惯量张量、摩擦系数等),直接用于实时控制既不现实也无必要。工程中常用以下简化路径:
- 忽略惯性积:若机构设计对称或工作范围远离奇异位形,可将惯量张量近似为对角阵,减少 60% 的计算量。
- 低速离心项截断:当关节速度低于阈值(如 0.5 rad/s)时,C(q,q̇) 项可忽略,模型退化为 M(q)q̈ + G(q) = τ。
- 解耦控制:将多轴系统视为多个独立的单轴系统,用 PID 加前馈补偿耦合项。适用于关节间耦合较弱或对精度要求不高的场合。
- 参数辨识简化:将质量、质心等参数合并为最小惯性参数集,通过实验辨识(如最大似然法)获得,避免依赖 CAD 数据。
4.5 案例拆解:SCARA 机器人的动力学建模与简化
背景与约束:某 SCARA 机器人用于 3C 电子装配,末端负载 2kg,要求循环时间小于 1.2s,重复定位精度 ±0.02mm。原始 CAD 模型包含 4 个连杆,完整动力学模型有 14 个参数。
初始现象:采用完整模型进行前馈控制时,伺服周期(1kHz)内无法完成全部计算,导致控制延迟 0.3ms,实际循环时间超标。
分析过程:SCARA 机器人的结构特点是前三关节为旋转关节(水平面内运动),第四关节为垂直升降。水平面内运动时,重力项为零;垂直关节与水平关节的耦合较弱。进一步分析速度曲线,发现最大关节速度 3.2 rad/s,属于中高速。
简化操作:
- 将惯量张量近似为对角阵(惯性积 < 5% 对角项);
- 保留科里奥利项中与 q̇₁q̇₂ 相关的项,忽略 q̇₃² 等弱耦合项;
- 垂直关节独立建模,与水平关节解耦;
- 参数从 14 个缩减为 8 个,通过 30 分钟激励轨迹辨识获得。
结果对比:简化后单次动力学计算耗时从 0.45ms 降至 0.12ms,控制周期稳定在 1kHz。轨迹跟踪误差从 ±0.08mm 降至 ±0.03mm,循环时间缩短至 1.05s。代价是模型在极端高速(>5 rad/s)时误差增大,但实际工况不会触及。
复盘经验:工程简化不是“拍脑袋”,而是基于物理分析和数据驱动的决策。先识别主导项(如科里奥利项中的主要耦合),再通过仿真或实验验证简化误差在可接受范围内。
4.6 常见误区与总结复盘
误区一:认为惯量张量只是“一个数”。实际三维运动必须用矩阵,且坐标系变换时张量需通过旋转矩阵转换:I' = R I Rᵀ。
误区二:混淆科里奥利力与离心力。科里奥利力需要两个不同速度的乘积,离心力是同一速度的平方。在单轴系统中不存在科里奥利力。
误区三:过度简化。有些工程师为了计算速度,直接忽略所有耦合项,导致高速时系统失稳。合理的做法是保留主导耦合项,并设置速度阈值切换模型。
误区四:忽视重力项的变化。对于大臂长机构,重力矩随位形变化显著,必须实时计算 G(q),不能当作常数。
总结而言,动力学建模的核心不是“背公式”,而是理解各项的物理来源和量级。面试时若能结合具体机构(如六轴机器人、Delta 并联机构)分析哪些项占主导、如何简化,将极大体现工程素养。建议准备一个自己熟悉的机构,从牛顿-欧拉和拉格朗日两个角度分别推导一次,并对比计算复杂度,这几乎是必考题型。