4、动力学参数辨识:惯性参数、摩擦模型、辨识实验设计、最小二乘与优化方法

机械臂动力学模型是控制器设计、仿真验证与状态观测的基础。然而,理论推导得到的动力学方程中包含了大量未知参数,如连杆质量、质心位置、惯性张量以及关节摩擦系数等。这些参数若直接采用CAD模型标称值,往往因装配误差、线缆拖拽、磨损等因素导致模型失准,进而影响前馈控制精度与力控性能。动力学参数辨识正是通过设计激励轨迹、采集关节运动与力矩数据,并运用参数估计方法,从实验数据中反演出高保真度的模型参数。本章将系统阐述惯性参数的可辨识性、摩擦建模方法、辨识实验设计准则以及最小二乘与优化求解策略。

机械臂动力学参数辨识工程链路 1. 动力学建模 牛顿-欧拉/拉格朗日 线性化参数形式 2. 惯性参数集 质量/质心/惯性张量 最小惯性参数集 3. 摩擦模型 库仑+粘性+Stribeck 温度/方向依赖 4. 激励轨迹 傅里叶级数/多项式 条件数优化 5. 数据采集 关节位置/力矩/温度 滤波与重采样 6. 参数估计 加权最小二乘 正则化/优化 7. 模型验证 预测力矩误差评估 泛化能力测试 高保真动力学模型参数 用于前馈控制/仿真/监测 模型更新迭代

上图展示了动力学参数辨识的完整工程链路:从动力学建模出发,经过惯性参数集与摩擦模型的定义,设计激励轨迹,采集数据后进行参数估计,最终通过模型验证闭环迭代。整个流程的核心在于“可辨识性”与“激励充分性”两大原则,下面逐一展开。

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\)与速度相关,可辨识
工程提示:在辨识前,务必先进行参数可辨识性分析。若直接使用完整参数集进行最小二乘,回归矩阵将出现病态,导致参数估计值方差极大,甚至发散。建议使用MATLAB的Symbolic Math Toolbox或Python的SymPy自动推导最小参数集。

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曲线。

操作流程:摩擦参数辨识通常采用恒速跟踪实验:让关节以一系列恒定速度运动,记录稳态力矩,然后拟合速度-力矩曲线。具体步骤为:

  1. 对每个关节,设定一组速度点(如 ±0.01, ±0.05, ±0.1, ±0.5, ±1.0 rad/s)。
  2. 在每个速度点下,让关节匀速运动,持续2~3秒,取力矩平均值。
  3. 将正反向数据分别拟合,得到正反向摩擦参数。
  4. 若发现力矩-速度曲线在低速段有明显非线性,则引入Stribeck项。
风险提示:摩擦参数对温度极其敏感。在辨识实验前,应让机器人充分预热(运行20分钟以上),并在实验过程中监测关节温度。若温度变化超过±2°C,建议暂停实验并等待热平衡。

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}\) 来最小化条件数。

操作流程:设计激励轨迹的工程步骤如下:

  1. 确定基频和谐波次数:基频通常取0.1~0.5 Hz,谐波次数取5~10,保证轨迹平滑且频率成分丰富。
  2. 设置约束:关节位置限制、速度限制、加速度限制以及力矩饱和限制。
  3. 优化系数:以回归矩阵条件数最小为目标,使用非线性优化算法(如fmincon)求解系数。
  4. 数据采集:以1 kHz采样率记录关节位置、力矩指令和实际力矩(若有力传感器)。
  5. 数据预处理:对位置信号进行低通滤波(截止频率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%。

复盘经验:当辨识结果出现物理上不可能的参数(如负质量、负惯性)时,不要急于增加正则化系数。首先检查数据同步性——力矩指令与位置反馈之间是否存在延迟。通常1~2 ms的延迟就会导致显著的参数偏差。建议在采集时使用以太网总线同步时钟,或事后进行互相关分析校正延迟。

模型验证:辨识完成后,必须用独立的验证轨迹(不同于激励轨迹)测试模型预测精度。验证指标包括:均方根误差(RMSE)、最大误差以及决定系数 \(R^2\)。若验证轨迹上的误差明显大于激励轨迹,说明模型过拟合,应减少参数数量或增加激励的丰富度。

工程建议:对于批量生产的机器人,建议建立参数数据库,记录每台机器人的辨识结果。通过统计过程控制(SPC)监控参数漂移,可提前发现机械磨损或装配异常。

综上所述,动力学参数辨识是一个“模型-实验-算法”三位一体的系统工程。精确的惯性参数与摩擦模型是高性能控制的前提,而科学的实验设计与稳健的估计算法则是获取可信参数的保障。在实际应用中,应结合机器人的具体工况(如负载变化、温度范围)对模型进行在线修正,以实现长期高精度的动力学补偿。