4、动力学参数辨识:惯性参数、摩擦模型、辨识实验设计、最小二乘与优化方法
机械臂动力学模型是控制器设计、仿真验证与状态观测的基础。然而,理论推导得到的动力学方程中包含了大量未知参数,如连杆质量、质心位置、惯性张量以及关节摩擦系数等。这些参数若直接采用CAD模型标称值,往往因装配误差、线缆拖拽、磨损等因素导致模型失准,进而影响前馈控制精度与力控性能。动力学参数辨识正是通过设计激励轨迹、采集关节运动与力矩数据,并运用参数估计方法,从实验数据中反演出高保真度的模型参数。本章将系统阐述惯性参数的可辨识性、摩擦建模方法、辨识实验设计准则以及最小二乘与优化求解策略。
上图展示了动力学参数辨识的完整工程链路:从动力学建模出发,经过惯性参数集与摩擦模型的定义,设计激励轨迹,采集数据后进行参数估计,最终通过模型验证闭环迭代。整个流程的核心在于“可辨识性”与“激励充分性”两大原则,下面逐一展开。
4.1 惯性参数的可辨识性与最小惯性参数集
核心原理:机械臂的动力学方程可以表示为关节空间中的二阶非线性微分方程。对于刚体连杆,每个连杆的惯性特性由10个独立参数描述:质量 \(m_i\)、质心位置向量 \([c_{ix}, c_{iy}, c_{iz}]^T\) 以及惯性张量中的6个独立分量(\(I_{xx}, I_{yy}, I_{zz}, I_{xy}, I_{xz}, I_{yz}\))。然而,这10个参数并非全部可辨识。由于动力学方程中某些参数以线性组合的形式出现,或者某些参数对关节力矩的影响为零,导致参数冗余。通过符号推导或数值方法,可以消去不可辨识的参数组合,得到一组“最小惯性参数集”(Base Parameters)。该参数集的维度 \(N_b\) 通常远小于 \(10n\)(\(n\) 为关节数)。例如,一个6自由度串联机械臂,其最小惯性参数集通常为30~42个参数,而非60个。
判断方法:确定最小参数集的标准方法是基于动力学模型的回归矩阵(Regressor Matrix)\(Y(q,\dot{q},\ddot{q})\)。动力学方程可线性化为:
τ = Y(q, q̇, q̈) · π
其中 \(\pi\) 为待辨识参数向量。若 \(Y\) 的列向量之间存在线性相关,则对应的参数组合不可辨识。通过QR分解或奇异值分解(SVD)可以找出线性相关的列,从而确定最小参数集。工程上,常用符号计算工具(如SymPy、Mathematica)自动生成最小参数集。
| 参数类别 | 符号 | 可辨识性说明 |
|---|---|---|
| 连杆质量 | \(m_i\) | 通常与质心位置组合出现,单独不可辨识 |
| 一阶质量矩 | \(m_i c_{ix}, m_i c_{iy}, m_i c_{iz}\) | 可辨识,但受关节配置影响 |
| 惯性张量分量 | \(I_{xx}, I_{xy}, ...\) | 部分分量与质量矩耦合,需合并 |
| 关节摩擦系数 | \(F_v, F_c\) | 与速度相关,可辨识 |
4.2 摩擦模型的选择与参数化
核心原理:关节摩擦是影响低速跟踪精度和力控性能的主要扰动源。简单的库仑+粘性摩擦模型为:
τ_f = F_c · sign(q̇) + F_v · q̇
该模型在高速段拟合良好,但在零速附近存在不连续,且无法描述Stribeck效应(低速时摩擦力随速度增加而下降)。更精确的模型包括Stribeck模型:
τ_f = F_c + (F_s - F_c) · exp(-|q̇/v_s|²) + F_v · q̇
其中 \(F_s\) 为静摩擦力,\(v_s\) 为Stribeck速度。此外,摩擦还受温度、关节位置(由于重力负载和密封圈变形)以及运动方向的影响。工程中,常采用分段线性或多项式模型来近似Stribeck曲线。
操作流程:摩擦参数辨识通常采用恒速跟踪实验:让关节以一系列恒定速度运动,记录稳态力矩,然后拟合速度-力矩曲线。具体步骤为:
- 对每个关节,设定一组速度点(如 ±0.01, ±0.05, ±0.1, ±0.5, ±1.0 rad/s)。
- 在每个速度点下,让关节匀速运动,持续2~3秒,取力矩平均值。
- 将正反向数据分别拟合,得到正反向摩擦参数。
- 若发现力矩-速度曲线在低速段有明显非线性,则引入Stribeck项。
4.3 辨识实验设计:激励轨迹与数据采集
核心原理:辨识实验的目标是使回归矩阵 \(Y\) 的条件数尽可能小,从而降低参数估计对测量噪声的敏感性。理想的激励轨迹应充分激发所有惯性参数,同时满足关节位置、速度、加速度的物理约束。最常用的激励轨迹是有限傅里叶级数:
q_i(t) = q_{i0} + Σ_{k=1}^{N} [a_{ik}·sin(kω_f t) + b_{ik}·cos(kω_f t)]
其中基频 \(\omega_f\) 决定了轨迹的周期,\(N\) 为谐波次数。傅里叶轨迹的优点是:位置、速度、加速度均为周期信号,便于数据平均处理;且可以通过优化系数 \(a_{ik}, b_{ik}\) 来最小化条件数。
操作流程:设计激励轨迹的工程步骤如下:
- 确定基频和谐波次数:基频通常取0.1~0.5 Hz,谐波次数取5~10,保证轨迹平滑且频率成分丰富。
- 设置约束:关节位置限制、速度限制、加速度限制以及力矩饱和限制。
- 优化系数:以回归矩阵条件数最小为目标,使用非线性优化算法(如fmincon)求解系数。
- 数据采集:以1 kHz采样率记录关节位置、力矩指令和实际力矩(若有力传感器)。
- 数据预处理:对位置信号进行低通滤波(截止频率10~20 Hz),然后数值微分得到速度和加速度。注意:直接对位置差分会放大噪声,建议使用零相位滤波器和中心差分法。
| 轨迹类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 傅里叶级数 | 周期性好,频带可控 | 优化复杂 | 离线辨识 |
| 多项式插值 | 实现简单 | 频带不易控制 | 快速测试 |
| 伪随机序列 | 激励充分 | 加速度冲击大 | 特殊研究 |
4.4 最小二乘与优化求解方法
核心原理:将采集到的 \(M\) 组数据点堆叠,形成超定方程组:
τ_stack = Y_stack · π + e
其中 \(e\) 为测量噪声。标准最小二乘解为 \(\hat{\pi} = (Y^T Y)^{-1} Y^T \tau\)。但在实际中,\(Y^T Y\) 可能病态,因此需要引入正则化方法。常用的有:
- 加权最小二乘(WLS):根据不同关节力矩的噪声方差赋予不同权重。
- 岭回归(Tikhonov正则化):在目标函数中加入 \(\lambda \|\pi\|^2\),抑制参数过大。
- 截断SVD:舍弃小的奇异值,提高数值稳定性。
案例拆解:以某6轴协作机器人为例,其最小参数集为38个参数。我们设计了5阶傅里叶轨迹,基频0.2 Hz,周期5秒,共采集10个周期的数据。初始最小二乘结果中,第3、4关节的惯性参数出现负值(物理上不合理)。分析发现,由于第3关节的负载耦合较弱,回归矩阵条件数高达1.2e4。采用岭回归(\(\lambda=0.01\))后,条件数降至800,参数全部变为正值,且预测力矩误差从15%降至4.2%。
模型验证:辨识完成后,必须用独立的验证轨迹(不同于激励轨迹)测试模型预测精度。验证指标包括:均方根误差(RMSE)、最大误差以及决定系数 \(R^2\)。若验证轨迹上的误差明显大于激励轨迹,说明模型过拟合,应减少参数数量或增加激励的丰富度。
综上所述,动力学参数辨识是一个“模型-实验-算法”三位一体的系统工程。精确的惯性参数与摩擦模型是高性能控制的前提,而科学的实验设计与稳健的估计算法则是获取可信参数的保障。在实际应用中,应结合机器人的具体工况(如负载变化、温度范围)对模型进行在线修正,以实现长期高精度的动力学补偿。