第四章 动力学基础:牛顿-欧拉方程、拉格朗日方程、惯性参数辨识与动力学建模方法
运动学描述了“运动是什么”,而动力学回答了“运动为什么发生”。在机器人控制、伺服驱动与精密机械系统设计中,动力学模型是前馈控制、力矩规划、负载观测与振动抑制的理论基石。本章从牛顿-欧拉递推与拉格朗日能量法两条主线出发,深入讲解刚体系统动力学方程的建立过程,并重点讨论惯性参数的辨识方法以及工程中常用的动力学建模流程。理解本章内容后,你将能够为一个多轴运动系统建立可用的动力学模型,并据此设计基于模型的控制算法。
4.1 牛顿-欧拉方程:递推的力量
牛顿-欧拉法基于牛顿第二定律和欧拉方程,从机构运动的几何关系出发,通过“向外递推”计算各连杆的速度、加速度,再通过“向内递推”计算各关节的力与力矩。这种方法物理意义明确,计算效率高,特别适合串联机器人及多轴运动系统的实时控制。
4.1.1 核心原理:外推与内推
牛顿-欧拉递推算法分为两个阶段:向外递推(从基座到末端)和向内递推(从末端到基座)。向外递推利用运动学关系,依次计算每个连杆的角速度、角加速度、线加速度以及质心加速度;向内递推则利用牛顿方程和欧拉方程,计算每个连杆所需的惯性力/力矩以及关节驱动力/力矩。
对于第 i 个连杆,其牛顿方程和欧拉方程可表示为:
牛顿方程:f_i = m_i · a_ci
欧拉方程:n_i = I_i · α_i + ω_i × (I_i · ω_i)
其中,f_i 为作用在连杆质心上的合力,n_i 为合力矩,m_i 为连杆质量,I_i 为惯性张量,a_ci 为质心加速度,α_i 为角加速度,ω_i 为角速度。实际工程中,通常将连杆视为刚体,忽略弹性变形,并假设关节为理想转动副或移动副。
4.1.2 操作流程:从运动学到动力学
- 运动学初始化:设定基座坐标系的速度、加速度(通常为0),并给定各关节的角度、角速度、角加速度。
- 向外递推:从关节1到关节n,依次计算连杆 i 的角速度 ω_i、角加速度 α_i、线加速度 a_i 及质心加速度 a_ci。
- 向内递推:从连杆n到连杆1,计算作用在连杆 i 上的惯性力 F_i 和惯性力矩 N_i,进而求得关节 i 的驱动力矩 τ_i。
- 加入外力/力矩:若末端执行器与外界环境接触,需在向内递推前将外力/力矩加入末端连杆的力平衡方程。
4.1.3 案例拆解:二连杆机械臂的动力学计算
考虑一个平面二连杆机械臂,连杆1和连杆2的质量分别为 m₁=2kg、m₂=1.5kg,长度均为 L=0.5m,质心位于连杆中点。假设关节1以角加速度 α₁=2rad/s² 运动,关节2保持静止(ω₂=0),忽略摩擦。采用牛顿-欧拉法计算关节1所需的驱动力矩。
分析过程:首先向外递推,计算连杆2质心的加速度;然后向内递推,计算连杆2对关节2的力矩,再累加到关节1。关键计算步骤为:
连杆2质心加速度:a_c2 = a_2 + α₂ × r_c2 + ω₂ × (ω₂ × r_c2)
连杆2惯性力:F_2 = m₂ · a_c2
连杆2惯性力矩:N_2 = I₂ · α₂
关节2力矩:τ₂ = N_2 + r_c2 × F_2
关节1力矩:τ₁ = N_1 + r_c1 × F_1 + τ₂(含连杆2传递的力矩)
代入数值后可得 τ₁ ≈ 4.9 N·m(含重力项)。若忽略重力,则 τ₁ ≈ 1.25 N·m。该案例表明,重力项在低速运动中占主导,而惯性项在高速运动中不可忽略。
4.2 拉格朗日方程:能量视角的优雅
拉格朗日法从系统总能量出发,通过定义拉格朗日函数 L = T - V(T为动能,V为势能),利用变分原理推导动力学方程。该方法不需要考虑内部约束力,对于复杂系统建模更为系统化,尤其适合并联机构、柔性关节等牛顿-欧拉法难以处理的场景。
4.2.1 核心原理:广义坐标与能量函数
对于 n 自由度的运动系统,选取广义坐标 q = [q₁, q₂, ..., qₙ]ᵀ,拉格朗日方程可写为:
d/dt(∂L/∂q̇) - ∂L/∂q = τ
其中,τ 为广义力(关节力矩)。展开后可得标准形式:
M(q)q̈ + C(q,q̇)q̇ + G(q) = τ
M(q) 为惯性矩阵,C(q,q̇) 为科氏力和离心力矩阵,G(q) 为重力项。拉格朗日法的优势在于:只要正确写出系统的动能和势能表达式,就能机械地推导出动力学方程,无需逐杆分析受力。
4.2.2 操作流程:从能量到方程
- 定义广义坐标:选择独立的关节变量作为广义坐标。
- 计算动能 T:每个连杆的动能 = 平动动能 + 转动动能,即 T_i = ½m_i·v_ci² + ½ω_iᵀ·I_i·ω_i。
- 计算势能 V:通常为重力势能,V = Σ m_i·g·h_i。
- 构造拉格朗日函数:L = T - V。
- 代入拉格朗日方程:对每个广义坐标求偏导,整理成标准矩阵形式。
4.2.3 案例拆解:单摆与弹簧负载系统
考虑一个旋转关节驱动的单摆系统,摆杆质量 m、长度 L,关节处有刚度 K 的弹簧。取广义坐标 q = θ(摆角),则:
动能 T = ½·m·(L·θ̇)² + ½·I·θ̇²
势能 V = m·g·L·(1-cosθ) + ½·K·θ²
拉格朗日方程:d/dt(∂L/∂θ̇) - ∂L/∂θ = τ
展开得:(mL² + I)·θ̈ + m·g·L·sinθ + K·θ = τ
该方程清晰地展示了惯性项、重力项和弹性项的贡献。若在控制中忽略弹簧项 K·θ,系统在低速时会出现稳态误差,且可能激发谐振。
4.3 惯性参数辨识:让模型贴近现实
理论推导的动力学方程中包含质量、质心位置、惯性张量等参数,这些参数往往无法从CAD模型精确获得(如电机转子惯量、电缆拖链的附加质量、负载变化等)。惯性参数辨识通过实验数据估计这些参数,是动力学模型落地应用的关键步骤。
4.3.1 核心原理:最小参数集与线性回归
动力学方程关于惯性参数是线性的,可改写为:
τ = Y(q, q̇, q̈) · π
其中,Y 为回归矩阵(由运动学变量组成),π 为惯性参数向量。由于部分参数对关节力矩无独立影响,可通过重组得到最小参数集 π_min,其维度远小于原始参数数量。例如,六轴工业机器人的最小惯性参数通常为30~40个,而原始参数可达60个以上。
4.3.2 操作流程:激励-采集-估计
| 步骤 | 内容 | 关键要点 |
|---|---|---|
| 1. 激励轨迹设计 | 设计关节角度、速度、加速度的时变轨迹 | 需充分激励所有参数,避免奇异;常用有限傅里叶级数 |
| 2. 数据采集 | 同步记录关节位置、力矩指令/传感器读数 | 采样率≥1kHz,需滤波去除噪声 |
| 3. 数据预处理 | 数值微分获得速度、加速度;力矩补偿 | 使用零相位滤波,避免相位延迟 |
| 4. 参数估计 | 加权最小二乘求解 π_min | 需检查回归矩阵条件数,剔除病态数据 |
| 5. 模型验证 | 用新轨迹验证预测力矩与实际力矩的误差 | RMS误差应小于5%额定力矩 |
4.3.3 案例拆解:SCARA机器人负载辨识
某SCARA机器人在更换末端执行器后,原有动力学模型失效。采用以下步骤进行负载辨识:
- 激励轨迹:设计5阶傅里叶级数轨迹,基频0.1Hz,周期10s,幅值覆盖各关节±60°范围,确保加速度峰值达1.5g。
- 数据采集:以2kHz采样率记录关节位置和电流环力矩指令,采集10个周期数据。
- 预处理:对位置信号进行零相位低通滤波(截止频率20Hz),采用中心差分计算速度,再对速度滤波后差分得加速度。
- 参数估计:构建回归矩阵Y,使用加权最小二乘(权重与力矩幅值成反比),估计出负载质量m=3.2kg、质心偏移r=[0.02, 0.05, 0.01]m、惯性张量I_zz=0.045kg·m²。
- 验证:用另一条验证轨迹测试,预测力矩与实际力矩的RMS误差从辨识前的18%降至3.5%。
4.4 动力学建模方法:从理论到工程实践
在实际工程项目中,动力学建模并非单纯的理论推导,而是需要根据应用场景、精度要求和计算资源选择合适的方法。本节总结三种主流建模路径,并给出选型建议。
4.4.1 三种建模路径对比
| 方法 | 原理 | 精度 | 计算量 | 适用场景 |
|---|---|---|---|---|
| 理论推导 | 基于CAD模型和物理定律 | 中(受参数误差影响) | 低(离线) | 初步设计、控制仿真 |
| 实验辨识 | 基于输入输出数据回归 | 高(贴合实际) | 中(需实验) | 高精度控制、负载变化 |
| 混合建模 | 理论结构+实验参数修正 | 高 | 中 | 工业机器人、精密平台 |
4.4.2 混合建模实战:六轴机器人动力学模型修正
某六轴工业机器人用于精密装配,要求轨迹跟踪误差小于0.5mm。初始CAD模型计算的理论力矩与实际力矩偏差达25%。采用混合建模流程:
- 结构辨识:利用拉格朗日法推导动力学方程结构,确定M、C、G矩阵的符号表达式。
- 参数辨识:设计激励轨迹,辨识最小参数集,获得修正后的惯性参数。
- 摩擦建模:在关节低速段(<10rpm)进行匀速扫描,拟合Stribeck摩擦模型:τ_f = τ_c·sign(q̇) + b·q̇ + τ_s·exp(-|q̇|/v_s)。
- 模型验证:在典型装配轨迹(含频繁启停)下,前馈力矩与实际力矩的RMS误差降至2.8%,跟踪误差从1.2mm降至0.3mm。
4.4.3 常见误区与复盘
- 误区一:认为CAD模型参数足够精确。实际上,电机转子惯量、减速器惯量、电缆拖链的附加惯量往往占关节总惯量的30%~50%,必须通过辨识获得。
- 误区二:忽略关节柔性。对于谐波减速器或长传动链,需引入关节刚度模型,否则高速运动时会出现谐振。
- 误区三:激励轨迹幅值过大。过大的加速度会激发非线性摩擦和柔性模态,反而降低辨识精度。建议加速度峰值不超过系统额定值的70%。
- 误区四:只辨识不验证。参数辨识后必须用独立于辨识数据的轨迹进行验证,防止过拟合。
动力学建模是连接运动学与控制算法的桥梁。掌握牛顿-欧拉法和拉格朗日法的本质区别与适用场景,理解惯性参数辨识的实验设计要点,并能够根据工程需求选择合适的建模路径,是每一位运动控制工程师的核心能力。在实际项目中,建议采用“理论结构+实验辨识”的混合建模策略,并建立模型验证与更新机制,使动力学模型在整个设备生命周期内保持有效。