4. 动力学基础
机械臂动力学研究的是关节运动与驱动力/力矩之间的映射关系,是控制器设计、轨迹优化、参数辨识与仿真验证的理论基石。对于六轴串联工业机器人或协作机器人,动力学模型描述了各关节力矩如何随关节角度、角速度、角加速度以及外部负载变化。本章围绕三大核心内容展开:基于力平衡的牛顿-欧拉递推算法、基于能量守恒的拉格朗日方程,以及面向控制工程应用的动力学模型标准形式。理解这三者之间的内在联系与适用边界,是后续进行计算力矩控制、自适应控制或阻抗控制的前提。
4.1 牛顿-欧拉递推算法:从力平衡到实时计算
牛顿-欧拉递推法基于经典力学中的牛顿第二定律(力平衡)和欧拉方程(力矩平衡),通过相邻连杆之间的速度、加速度和力的传递关系,递推求解各关节所需的驱动力矩。该方法将机械臂视为由刚性连杆通过关节连接的开链机构,每个连杆的质心运动遵循牛顿方程,转动遵循欧拉方程。
核心原理:算法分为两个阶段。第一阶段为外推(正向递推),从基座(惯性系)开始,依次计算每个连杆的角速度、角加速度、线加速度以及质心加速度。第二阶段为内推(反向递推),从末端执行器开始,向基座方向计算每个连杆受到的约束力和力矩,最终得到各关节的驱动力矩。外推过程依赖于关节的运动状态(角度、角速度、角加速度),内推过程则依赖于外推得到的惯性力和外力。
操作流程:以六轴串联机器人为例,递推步骤如下:
- 初始化:设定基座角速度 ω₀=0,角加速度 α₀=0,线加速度 a₀=g(重力加速度,方向竖直向下)。
- 外推(i=1→n):根据关节 i 的运动状态,计算连杆 i 的角速度 ωᵢ、角加速度 αᵢ、质心线加速度 a_ci。对于转动关节,角速度传递关系为 ωᵢ = Rᵢᵢ₋₁·ωᵢ₋₁ + q̇ᵢ·ẑᵢ。
- 内推(i=n→1):计算连杆 i 的惯性力 Fᵢ = mᵢ·a_ci 和惯性力矩 Nᵢ = Iᵢ·αᵢ + ωᵢ×(Iᵢ·ωᵢ)。然后根据力平衡和力矩平衡,从末端向基座累加约束力和力矩。
- 关节力矩:τᵢ = zᵢᵀ·(nᵢ)(转动关节),其中 nᵢ 为关节 i 处施加在连杆 i 上的约束力矩。
工程要点:牛顿-欧拉递推的计算复杂度为 O(n),即计算时间与关节数成正比。对于六轴机器人,在 1kHz 控制周期内完成完整递推计算仅需约 0.1-0.3ms(取决于处理器性能),因此非常适合实时控制中的前馈力矩补偿。实际实现时,需注意坐标系变换矩阵的存储与更新,避免重复计算三角函数。
4.2 拉格朗日方程:基于能量的解析建模
拉格朗日方程从系统总能量出发,通过定义拉格朗日函数 L = K - P(动能减去势能),建立动力学方程。该方法不涉及约束力的显式计算,而是通过广义坐标和广义力的抽象,直接得到关节力矩与运动状态之间的解析关系。
核心原理:对于 n 自由度机械臂,拉格朗日方程形式为:
d/dt(∂L/∂q̇ᵢ) - ∂L/∂qᵢ = τᵢ (i=1,2,...,n)
其中 qᵢ 为广义坐标(关节角度),q̇ᵢ 为广义速度,τᵢ 为广义力(关节力矩)。动能 K 是关节速度和关节位置的函数,势能 P 通常是关节位置的函数。通过偏微分运算,可以得到包含惯性矩阵、科里奥利/离心力项和重力项的完整动力学方程。
建模步骤:
- 步骤1:建立 D-H 参数表,确定各连杆坐标系之间的齐次变换矩阵。
- 步骤2:计算每个连杆质心的位置、速度和角速度,进而得到系统总动能 K = Σ(½mᵢv_ciᵀv_ci + ½ωᵢᵀIᵢωᵢ)。
- 步骤3:计算系统总势能 P = Σmᵢgᵀp_ci(重力势能)。
- 步骤4:代入拉格朗日方程,进行偏微分和求导运算,整理得到标准形式。
案例拆解:考虑一个二连杆平面机械臂,连杆长度 l₁=l₂=0.5m,质量 m₁=m₂=5kg,质心位于连杆中点。通过拉格朗日方程推导,可以得到惯性矩阵 M(q) 的显式表达式:
M(q) = [m₁l₁²/4 + m₂(l₁² + l₂²/4 + l₁l₂cos(q₂)) + I₁ + I₂, m₂(l₂²/4 + l₁l₂cos(q₂)/2) + I₂;
m₂(l₂²/4 + l₁l₂cos(q₂)/2) + I₂, m₂l₂²/4 + I₂]
该表达式清晰地展示了惯性耦合项随关节角度 q₂ 的变化规律。当 q₂=0(手臂完全伸展)时,耦合项最大;当 q₂=π(手臂折叠)时,耦合项最小。这一特性对于理解机械臂在不同构型下的动态响应至关重要。
方法对比:拉格朗日方程适合离线推导和参数分析,能够得到解析表达式,便于理解系统结构;牛顿-欧拉递推适合在线计算,数值效率高。两者在数学上是等价的,但拉格朗日方法在推导过程中会产生大量符号运算,对于六轴以上机器人手工推导几乎不可行,通常借助符号计算工具(如 MATLAB Symbolic、SymPy)完成。
4.3 动力学模型的标准形式与工程意义
无论采用哪种方法推导,机械臂动力学模型最终都可以整理为统一的标准形式:
M(q)q̈ + C(q,q̇)q̇ + G(q) + τ_f(q̇) + τ_ext = τ
其中:M(q) 为 n×n 惯性矩阵(对称正定),C(q,q̇)q̇ 为科里奥利力和离心力项,G(q) 为重力项,τ_f(q̇) 为关节摩擦力矩,τ_ext 为外部负载力矩,τ 为关节驱动力矩。
各矩阵的物理意义与性质:
| 矩阵/向量 | 物理意义 | 关键性质 | 工程影响 |
|---|---|---|---|
| M(q) | 惯性矩阵,反映质量分布 | 对称正定,M(q)=M(q)ᵀ | 决定系统固有频率和加速度响应 |
| C(q,q̇) | 科里奥利/离心力矩阵 | Ṁ-2C 为反对称矩阵(若选取合适) | 高速运动时产生显著耦合效应 |
| G(q) | 重力力矩向量 | 仅与关节位置有关 | 低速时占主导,需前馈补偿 |
| τ_f(q̇) | 摩擦力矩(库仑+粘滞) | 与速度方向相关,非线性 | 低速时影响定位精度 |
| τ_ext | 外部力矩(负载/碰撞) | 可通过观测器估计 | 力控/阻抗控制的基础 |
标准形式的工程价值:该形式为控制器设计提供了统一接口。计算力矩控制律 τ = M(q)(q̈_d + K_d·ė + K_p·e) + C(q,q̇)q̇ + G(q) 直接利用标准形式进行逆动力学补偿,将非线性系统线性化为二阶误差动态。在轨迹规划阶段,标准形式可用于前馈力矩计算,提高跟踪精度。在参数辨识中,标准形式可线性化为 Y(q,q̇,q̈)·θ = τ,其中 Y 为回归矩阵,θ 为惯性参数向量,通过最小二乘法辨识。
常见误区:初学者常忽略科里奥利项 C(q,q̇)q̇ 的影响,在低速或小范围运动时该简化尚可接受,但在高速搬运、大惯量负载或连续轨迹插补场景下,忽略科里奥利项会导致明显的跟踪误差甚至系统失稳。此外,摩擦力模型的选择也需谨慎——简单的粘滞摩擦模型在低速换向时会产生较大误差,建议采用 Stribeck 模型或 Lugre 模型。
4.4 实战场景:六轴机器人动力学参数辨识与验证
背景与约束:某协作机器人厂商需要为其六轴机械臂建立精确的动力学模型,用于实现高精度力控和自适应前馈补偿。机器人额定负载 5kg,关节 1-3 为大型谐波减速器,关节 4-6 为小型行星减速器。控制周期 1kHz,要求模型计算时间不超过 0.2ms。
初始现象与目标:在高速轨迹跟踪测试中,关节 2 和关节 3 的跟踪误差达到 ±0.8°,超出规格书要求的 ±0.2°。初步分析认为动力学模型不准确,尤其是惯性参数和摩擦力参数存在较大偏差。目标是通过系统辨识获得高精度模型,将跟踪误差降低至 ±0.15°以内。
关键输入数据与参数:
- D-H 参数表:各连杆长度、偏置、扭转角(由 CAD 模型提供,精度 ±0.1mm)。
- 连杆质量与质心位置:通过三维建模软件估算,初始误差约 5%-10%。
- 关节摩擦力:采用 Stribeck 模型,需辨识静摩擦、库仑摩擦、粘滞系数和 Stribeck 速度。
- 激励轨迹:采用有限傅里叶级数轨迹,频率范围 0.1-5Hz,幅值根据关节限位和速度限制设计。
分析判断过程:首先,利用拉格朗日方法在 MATLAB Symbolic 中推导标准形式,得到惯性矩阵 M(q) 的符号表达式。然后,将模型线性化为 Y(q,q̇,q̈)·θ = τ,其中 θ 包含 10 个标准惯性参数(质量、质心位置、惯性张量元素)和 6 组摩擦参数。采用加权最小二乘法进行参数估计,权重根据各关节力矩传感器噪声水平设定。激励轨迹持续 30 秒,采样率 1kHz,共 30000 组数据点。
实际操作步骤:
- 数据采集:在机器人空载状态下,执行激励轨迹,同步采集各关节角度(编码器)、角速度(差分或观测器)、力矩(关节力矩传感器)。
- 数据预处理:对力矩信号进行低通滤波(截止频率 20Hz),去除高频噪声;对角度信号进行平滑处理,避免差分放大噪声。
- 参数辨识:使用 MATLAB System Identification Toolbox 或自编最小二乘程序,求解 θ = (YᵀWY)⁻¹YᵀWτ,其中 W 为权重矩阵。
- 模型验证:设计验证轨迹(不同于激励轨迹),对比模型预测力矩与实际测量力矩,计算拟合度 R²。
- 迭代优化:若拟合度低于 90%,检查是否存在参数耦合或激励不充分,调整激励轨迹频率成分或幅值后重新辨识。
结果对比:辨识后模型预测力矩与实际力矩的拟合度从初始的 78% 提升至 95.3%。在相同高速轨迹下,关节 2 跟踪误差从 ±0.8° 降至 ±0.12°,关节 3 从 ±0.6° 降至 ±0.10°。同时,重力补偿精度提升,在静态保持时关节力矩波动减小 40%。
风险与代价:参数辨识过程耗时约 2 个工作日,需要专业设备和软件支持。激励轨迹的设计需谨慎,避免激发机械共振(本案例中关节 2 的谐振频率约 12Hz,激励频率上限设为 5Hz 以避开)。此外,辨识得到的参数仅适用于特定负载条件,负载变化时需重新辨识或采用在线自适应算法。
复盘经验:动力学模型精度提升的关键在于:① 准确的 D-H 参数和连杆几何数据;② 合理的激励轨迹设计,确保所有参数被充分激发;③ 摩擦力模型的正确选择——本案例中 Stribeck 模型比简单库仑+粘滞模型拟合度提升约 8%;④ 数据预处理的质量直接影响辨识结果,滤波截止频率的选择需权衡噪声抑制与信号保真。
总结:牛顿-欧拉递推提供了高效的实时计算方法,拉格朗日方程提供了清晰的解析结构,而标准形式则架起了从模型到控制的桥梁。在实际工程中,三者往往结合使用:用拉格朗日方法离线推导标准形式,用牛顿-欧拉递推实现实时计算,用标准形式进行控制器设计和参数辨识。掌握这三种工具及其相互关系,是深入机械臂动力学控制的基础。