3. 机器人动力学基础

机器人动力学研究的是机器人运动与产生这种运动的力/力矩之间的关系。无论是进行轨迹规划、前馈补偿、仿真验证,还是后续章节将要重点讲解的动力学参数辨识,都必须以精确的动力学模型为基石。本章将系统梳理三种核心的动力学建模方法:牛顿-欧拉递推算法、拉格朗日方程,以及动力学模型的标准线性形式。理解这三者之间的内在联系与适用场景,是走向参数辨识实践的第一步。

机器人动力学建模方法体系与标准形式 牛顿-欧拉递推 外推:速度/加速度传递 内推:力/力矩平衡 O(N) 计算效率 适合实时控制 拉格朗日方程 基于能量(动能-势能) 广义坐标/广义力 解析表达式清晰 适合分析与仿真 标准线性形式 τ = Y(q, q̇, q̈) · π Y:回归矩阵 π:最小惯性参数集 参数辨识的基础 三种方法在数学上等价,均能推导出相同的动力学方程 选择取决于应用场景:实时性、解析性、辨识需求 动力学参数辨识工程链路 激励轨迹设计 傅里叶级数/优化 数据采集与滤波 位置/力矩/加速度 回归矩阵计算 Y(q, q̇, q̈) 最小二乘参数估计 π = (YᵀY)⁻¹Yᵀτ

3.1 牛顿-欧拉递推算法:从关节到末端的速度/力传递

牛顿-欧拉法是解决机器人动力学问题最直观且计算效率最高的方法。其核心思想是将机器人视为一系列刚性连杆通过关节连接而成的开链结构,利用牛顿第二定律(力与加速度的关系)和欧拉方程(力矩与角加速度的关系),在连杆之间进行两次递推:外推(从基座到末端执行器)计算每个连杆的角速度、角加速度、线加速度以及质心处的惯性力和力矩;内推(从末端执行器到基座)计算每个关节所需的驱动力/力矩。

对于第 i 个连杆,其角速度与角加速度的递推关系为:

ωᵢ = ωᵢ₋₁ + Rᵢᵀ · q̇ᵢ · z₀
αᵢ = αᵢ₋₁ + Rᵢᵀ · q̈ᵢ · z₀ + ωᵢ₋₁ × (Rᵢᵀ · q̇ᵢ · z₀)

其中 Rᵢ 为旋转矩阵,z₀ 为关节轴单位向量。线加速度递推则需考虑连杆质心的位置。内推过程中,作用在第 i 个连杆上的总力 Fᵢ 和总力矩 Nᵢ 为:

Fᵢ = mᵢ · a_cᵢ
Nᵢ = Iᵢ · αᵢ + ωᵢ × (Iᵢ · ωᵢ)

关节力矩 τᵢ 由相邻连杆的力/力矩平衡方程求得。该算法的时间复杂度为 O(N),其中 N 为关节数,非常适合实时控制中的前馈计算。

工程经验:在实际编程实现牛顿-欧拉算法时,建议使用旋量(Screw Theory)或李群李代数表示,可以避免万向锁问题,并简化坐标变换。同时,注意将连杆质量、质心位置、惯性张量等参数集中封装为结构体,便于后续参数辨识时批量修改。

3.2 拉格朗日方程:基于能量的解析建模

拉格朗日法从系统总能量出发,定义拉格朗日函数 L = T - U(动能 T 减去势能 U),然后通过变分原理得到动力学方程:

d/dt(∂L/∂q̇) - ∂L/∂q = τ

其中 q 为广义坐标(关节角度),τ 为广义力(关节力矩)。对于 n 自由度机器人,展开后得到:

M(q)q̈ + C(q, q̇)q̇ + G(q) = τ

M(q) 为 n×n 惯性矩阵,C(q, q̇) 为科里奥利力和离心力矩阵,G(q) 为重力项。拉格朗日法的优势在于其解析表达式清晰,能够显式地展示各动力学项对关节力矩的贡献,非常适合理论分析和控制器设计。但其计算复杂度通常为 O(N³) 或 O(N⁴),实时性不如牛顿-欧拉法。

3.3 动力学模型的标准线性形式:参数辨识的基石

无论是牛顿-欧拉法还是拉格朗日法,最终得到的动力学方程都可以改写为关于惯性参数的线性函数。这是参数辨识最关键的数学性质。标准形式为:

τ = Y(q, q̇, q̈) · π

其中 Y 为 n×p 的回归矩阵(Regressor Matrix),仅与关节位置、速度、加速度有关;π 为 p 维的惯性参数向量,包含连杆质量 mᵢ、质心位置 r_cᵢ、惯性张量 Iᵢ 等。由于机器人连杆的惯性张量具有对称性,且某些参数对关节力矩的影响存在线性相关,实际可辨识的参数数量 p 远小于 10N(N 为连杆数)。通过符号化简或数值方法可以提取出最小惯性参数集(Base Parameters),消除冗余参数。

参数类别 符号 维度 对力矩的影响
质量 mᵢ 1 重力、惯性力
质心位置 r_cᵢ = [xᵢ, yᵢ, zᵢ] 3 重力矩、惯性耦合
惯性张量 Iᵢ (3×3 对称) 6 角加速度、科里奥利力
关节摩擦力 F_v, F_c 2/关节 速度相关、方向相关
电机转子惯量 I_m 1/关节 等效到连杆惯量

标准线性形式的价值在于:它允许我们通过采集足够的关节运动数据(q, q̇, q̈)和对应的力矩 τ,利用最小二乘法直接估计参数向量 π。这正是后续章节中激励轨迹设计和参数辨识实验的理论依据。

3.4 案例拆解:六轴工业机器人的动力学建模与参数化简

以典型的六轴串联关节机器人(如 ER3A 型)为例,其完整动力学模型包含 60 个原始惯性参数(6 连杆 × 10 参数)。直接使用这些参数进行辨识不仅计算量大,而且由于参数间的线性相关性,会导致回归矩阵病态,辨识结果极不稳定。

初始现象与目标:某产线机器人出现高速运动时轨迹跟踪误差增大,需要建立精确动力学模型进行前馈补偿。目标是将参数辨识误差控制在 5% 以内。

分析判断过程:首先,利用符号计算工具(如 MATLAB Symbolic Toolbox 或 SymPy)将牛顿-欧拉递推公式展开,得到关于 60 个参数的线性表达式。然后,通过 QR 分解或奇异值分解(SVD)分析回归矩阵的秩,发现其秩仅为 42,意味着有 18 个参数是冗余的或不可辨识的。

实际操作步骤:

  1. 对每个连杆定义 10 个标准惯性参数(质量、3 个质心坐标、6 个惯性张量元素)。
  2. 利用符号计算生成回归矩阵 Y(q, q̇, q̈) 的解析表达式。
  3. 对 Y 进行列化简,消去线性相关的列,得到最小参数集 π_min(42 维)。
  4. 重新组织动力学方程,使 τ = Y_min · π_min。
  5. 设计傅里叶级数激励轨迹,采集多组数据,构建超定方程组。

结果对比:使用最小参数集后,回归矩阵的条件数从 10⁶ 降至 10³,最小二乘解的方差显著减小。前馈补偿后,高速轨迹跟踪误差从 ±3mm 降至 ±0.5mm。

风险与代价:参数化简过程需要仔细验证,避免误删对动力学行为有实际影响的参数。此外,摩擦力参数(库仑摩擦、粘滞摩擦)通常需要单独建模,且与温度、负载有关,需定期重新辨识。

常见误区:初学者常试图直接测量每个连杆的质量和惯性张量(如通过 CAD 模型),但实际装配间隙、线缆、末端工具等因素会导致理论值与真实值偏差 10%-20%。因此,基于实验数据的整体辨识是获取精确动力学参数的唯一可靠途径。

3.5 三种建模方法的对比与选型建议

对比维度 牛顿-欧拉递推 拉格朗日方程 标准线性形式
计算复杂度 O(N),实时性最优 O(N³)~O(N⁴),适合离线 取决于 Y 矩阵规模
解析性 递推形式,物理意义直观 全局解析式,便于理论分析 线性结构,便于辨识
对参数辨识的适配性 需额外推导线性化形式 可直接提取 M/C/G 项 天然适配最小二乘
典型应用 实时前馈控制、仿真 控制器设计、稳定性分析 参数辨识、自适应控制

在实际工程中,三种方法并非互斥。例如,在参数辨识实验中,通常先用拉格朗日法或符号化牛顿-欧拉法推导出标准线性形式,然后在实时控制器中采用高效的牛顿-欧拉递推算法计算前馈力矩。理解三者的关系,能够帮助工程师在不同场景下灵活切换建模策略。

总结复盘:本章的核心脉络是:牛顿-欧拉法提供高效的递推计算框架,拉格朗日法提供全局解析视角,而标准线性形式则是连接动力学模型与参数辨识算法的桥梁。掌握标准形式 τ = Y·π 的推导与化简,是后续设计激励轨迹、处理测量噪声、实现参数估计的关键前提。建议读者在仿真环境(如 MATLAB/Simulink 或 PyBullet)中,对一个两连杆或三连杆机器人手动推导其标准线性形式,以加深对参数线性化过程的理解。