第四节 动力学模型线性化与回归形式:参数线性化、观测矩阵与最小参数集
六轴机械臂的动力学模型,无论是用于前馈控制、力矩补偿,还是用于碰撞检测与自适应控制,其核心前提是模型参数必须准确。然而,直接基于牛顿-欧拉或拉格朗日方程进行参数辨识,会面临一个根本性难题:动力学方程中,惯性张量、质心位置、摩擦系数等参数与关节加速度、速度、位置之间存在高度非线性耦合。若直接采用非线性优化方法求解,不仅计算量大、易陷入局部极小,而且对初始值极其敏感。本节的核心任务,就是通过数学变换将非线性动力学模型转化为关于参数的线性回归形式,从而将参数辨识问题转化为经典的线性最小二乘问题。我们将深入剖析参数线性化的数学原理、观测矩阵(回归矩阵)的构造方法、最小参数集(基参数)的推导逻辑,并讨论其在实际辨识工程中的可行性与边界条件。
上图展示了从非线性模型到可辨识线性回归形式的完整工程链路。下面我们将分模块深入拆解每一个环节的数学本质与操作要点。
4.1 核心原理:为什么必须线性化?
六轴机械臂的动力学方程,若采用牛顿-欧拉递推算法,其计算形式是关于运动状态的非线性函数。例如,惯性矩阵 M(q) 中的元素包含 sin(q₂)、cos(q₂) 等三角函数项,科氏力/离心力项 C(q,q̇)q̇ 包含 q̇ᵢq̇ⱼ 的乘积项,重力项 G(q) 同样包含三角函数。若将这些项展开,会发现所有动力学参数(如连杆质量 mᵢ、质心位置 rᵢ、惯性张量 Iᵢ)都是以线性组合的形式出现在方程中的。这意味着,虽然方程关于 q、q̇、q̈ 是非线性的,但关于参数本身却是线性的。这一性质被称为动力学模型的线性化特性。
数学上,我们可以将动力学方程重写为:
τ = Y(q, q̇, q̈) · π
其中,τ ∈ Rⁿ 为关节力矩向量(n 为关节数,六轴机械臂 n=6);Y(q, q̇, q̈) 是一个 n×k 的矩阵,称为观测矩阵或回归矩阵,其元素是关节位置、速度、加速度的已知函数(如 sin(q₂)、q̇₁q̇₂ 等);π ∈ Rᵏ 是待辨识的动力学参数向量,包含所有连杆的质量、质心、惯性张量分量以及摩擦系数。这种形式将参数辨识问题从非线性优化转化为线性最小二乘问题,极大地降低了求解难度和计算成本。
4.2 观测矩阵(回归矩阵)的构造方法
构造观测矩阵 Y 是参数辨识的第一步。对于六轴机械臂,通常采用符号推导或数值自动微分两种方式。符号推导基于拉格朗日方程或牛顿-欧拉递推,将动力学方程展开为关于参数的显式线性组合。以二连杆为例,其动力学方程可展开为:
τ₁ = Y₁₁·π₁ + Y₁₂·π₂ + ... + Y₁ₖ·πₖ
τ₂ = Y₂₁·π₁ + Y₂₂·π₂ + ... + Y₂ₖ·πₖ
其中 Yᵢⱼ 是包含 sin/cos 项和速度乘积项的标量函数。对于六轴机械臂,直接符号展开会得到非常冗长的表达式,因此工程上更常用基于牛顿-欧拉递推的数值构造法:对每个参数 πⱼ,令其为 1,其余参数为 0,运行一次递推算法,得到的力矩输出即为观测矩阵的第 j 列。这种方法避免了复杂的符号运算,且易于编程实现。
观测矩阵的维度为 n×k,其中 k 是原始参数总数。对于六轴机械臂,每个连杆包含 10 个惯性参数(质量 1 个、质心位置 3 个、惯性张量 6 个),加上关节摩擦系数(库仑摩擦和粘性摩擦各 1 个),总参数 k = 6×10 + 6×2 = 72 个。然而,这 72 个参数并非全部独立可辨识,因为某些参数对关节力矩的影响是线性相关的,或者某些参数在特定运动状态下不可观测。
| 参数类别 | 每连杆数量 | 六轴总数 | 物理含义 |
|---|---|---|---|
| 质量 mᵢ | 1 | 6 | 连杆质量 |
| 质心位置 rᵢ (x,y,z) | 3 | 18 | 质心在连杆坐标系中的坐标 |
| 惯性张量 Iᵢ (6分量) | 6 | 36 | 转动惯量和惯性积 |
| 库仑摩擦 f_c | 1 | 6 | 与速度方向相关的摩擦力矩 |
| 粘性摩擦 f_v | 1 | 6 | 与速度成正比的摩擦力矩 |
| 合计 | 12 | 72 | 原始参数总数 k |
4.3 最小参数集(基参数)的推导与降维
直接对 72 个参数进行辨识,不仅计算量大,而且观测矩阵 Y 往往是秩亏的,即某些列之间存在线性相关关系。这意味着无论采用何种激励轨迹,都无法唯一确定所有参数。因此,必须通过线性代数方法找出最小参数集(也称为基参数),使得观测矩阵列满秩。
推导最小参数集的标准方法是基于QR 分解或奇异值分解(SVD)。具体步骤如下:
- 构造符号观测矩阵:在多个随机采样点计算观测矩阵 Y 的数值,并堆叠成一个大矩阵 Y_stack。
- 进行 QR 分解:对 Y_stack 进行列主元 QR 分解,得到列秩 r。秩 r 即为最小参数集的维度 m。
- 识别线性相关列:通过 QR 分解的置换矩阵,确定哪些原始参数列是线性独立的,哪些是冗余的。冗余参数可以表示为独立参数的线性组合。
- 重组参数向量:将独立参数保留为 π_min ∈ Rᵐ,并将冗余参数的影响合并到独立参数中,得到新的观测矩阵 Y_min。
对于六轴机械臂,最小参数集的维度 m 通常在 30~40 之间,具体取决于机械臂的运动学结构(如是否存在平行轴、球腕结构等)。例如,对于常见的 6R 关节型机械臂,m 通常为 36~42。降维后,辨识问题变为:
τ = Y_min(q, q̇, q̈) · π_min
其中 Y_min 的列数 m 远小于原始 k,且列满秩,保证了参数的可辨识性。
4.4 辨识可行性分析:激励轨迹与条件数
即使获得了最小参数集,辨识结果的质量仍取决于激励轨迹的设计。观测矩阵的条件数 cond(Y) 是衡量辨识可行性的关键指标。条件数越大,参数估计对测量噪声越敏感,辨识结果越不可靠。理想情况下,条件数应接近 1,但实际中通常要求 cond(Y) < 50~100。
为了获得良好的辨识效果,激励轨迹必须满足持续激励(PE)条件,即轨迹要能充分激发所有参数对应的运动模式。常用的激励轨迹包括:
- 傅里叶级数轨迹:每个关节的位置由多个正弦/余弦分量叠加,频率互不相同,且频率范围覆盖机械臂的主要动力学频带。
- 多项式插值轨迹:在关节空间规划平滑的起点-终点运动,通过多次重复不同速度、加速度的组合来丰富激励。
- 随机轨迹:在关节限位内生成随机但平滑的位置序列,通过多次试验累积数据。
在实际操作中,通常先设计一条候选轨迹,在仿真环境中计算观测矩阵的条件数,若不满足要求,则调整轨迹参数(如幅值、频率、相位)重新计算,直至条件数达标。这一过程称为轨迹优化。
4.5 案例拆解:六轴机械臂基参数辨识实战
以某型号六轴工业机械臂为例,其运动学结构为传统 6R 关节型,末端带有球腕。我们按照以下流程进行参数辨识:
第一步:参数初值获取。从 CAD 模型中提取每个连杆的质量、质心位置和惯性张量作为初值。注意,CAD 模型通常忽略轴承摩擦和电机转子惯量,因此初值并不准确。
第二步:最小参数集推导。使用 MATLAB 符号工具箱,基于牛顿-欧拉递推构造观测矩阵,并在 100 个随机采样点计算数值矩阵,进行 QR 分解。结果显示原始 72 个参数中,只有 38 个独立参数,其余 34 个参数可由这 38 个参数线性表示。例如,连杆 2 的惯性张量 I_yy 与连杆 3 的质量 m₃ 存在耦合,无法单独辨识。
第三步:激励轨迹设计。设计 5 阶傅里叶级数轨迹,每个关节的基频为 0.1 Hz,幅值在关节限位的 60% 以内,相位随机。在仿真中计算观测矩阵条件数为 45,满足要求。实际实验中,以 1 kHz 采样率采集关节位置和力矩数据,并采用零相位低通滤波(截止频率 20 Hz)去除高频噪声。
第四步:加权最小二乘求解。将采集到的 N 组数据堆叠为 Y_stack ∈ R^(6N×38) 和 τ_stack ∈ R^(6N),采用加权最小二乘求解,权重矩阵 W 取力矩测量噪声方差的倒数。求解得到 π_min 后,再通过线性变换还原为物理参数。
第五步:模型验证。设计一条不同于激励轨迹的验证轨迹(如正弦扫频),将辨识得到的参数代入动力学模型,预测力矩并与实测力矩对比。结果显示,预测误差的均方根值小于 0.5 N·m,相对于最大力矩的 5%,验证了辨识结果的准确性。
| 步骤 | 关键操作 | 输入/输出 | 质量指标 |
|---|---|---|---|
| 1 | CAD 参数提取 | 72 个原始参数 | 初值误差 < 20% |
| 2 | QR 分解降维 | 38 个基参数 | 列满秩,条件数 < 100 |
| 3 | 傅里叶轨迹优化 | 5 阶轨迹,时长 60s | 仿真条件数 45 |
| 4 | 加权最小二乘 | π_min 估计值 | 残差白噪声检验通过 |
| 5 | 独立轨迹验证 | 预测 vs 实测力矩 | RMSE < 5% 最大力矩 |
复盘与经验:本次辨识中,最耗时的环节是激励轨迹的优化。初始设计的轨迹条件数高达 300,导致参数估计方差极大。通过增加轨迹的频谱丰富度(增加高频分量)并调整各关节的相位差,才将条件数降至 45。此外,在数据采集时,发现关节 4 和关节 5 的力矩传感器噪声较大,因此对这两个通道的权重进行了降低处理,有效抑制了噪声放大效应。
4.6 常见误区与总结复盘
在动力学参数辨识的工程实践中,以下误区需要特别警惕:
- 误区一:忽略最小参数集的必要性。直接对 72 个参数进行最小二乘,会导致观测矩阵奇异,求解结果发散或产生无物理意义的参数值(如负质量)。
- 误区二:激励轨迹过于简单。仅使用梯形速度轨迹或单频正弦轨迹,无法激发所有动力学模态,导致观测矩阵条件数过大,辨识结果不可靠。
- 误区三:未处理测量噪声。力矩信号中的高频噪声会被观测矩阵放大,尤其是包含加速度项时。必须进行滤波,且滤波截止频率应低于激励轨迹的最高频率。
- 误区四:忽视摩擦模型的选择。库仑+粘性摩擦模型在低速时可能不准确,若机械臂存在明显的静摩擦或 Stribeck 效应,应在模型中增加相应项,否则摩擦参数会吸收其他参数的误差。