2. 数学基础
机器人系统辨识与仿真参数标定,本质上是一个“用数据反推模型”的过程。传感器给出的是带噪声的离散序列,仿真器给出的是由参数驱动的连续或离散状态演化,而我们要在这两者之间建立可计算、可优化、可验证的数学桥梁。本节不追求数学教材式的完整推导,而是围绕辨识与标定任务,梳理五类数学工具中最关键、最常用的概念,并说明它们在机器人工程中的具体落点。
一、线性代数:状态、参数与观测的矩阵语言
机器人模型通常可写成状态空间形式:x_{k+1} = f(x_k, u_k, θ),y_k = h(x_k, u_k, θ) + v_k。其中 x 是状态,u 是输入,y 是观测,θ 是待辨识参数,v 是噪声。当模型对参数线性时,可整理为最小二乘形式 Y = Φθ + ε,其中 Φ 是回归矩阵,每一列对应一个基函数或参数方向。
线性代数在此提供三件关键工具:第一,矩阵分解。QR 分解用于稳定求解最小二乘,避免直接求逆带来的数值病态;SVD 用于分析回归矩阵的秩、条件数和零空间,判断哪些参数不可辨识。第二,特征值与特征向量。在协方差传播、卡尔曼滤波和模态分析中,特征值决定系统响应快慢与稳定性,特征向量描述状态空间中的主方向。第三,伪逆与投影。当参数冗余或观测不足时,伪逆给出最小范数解,投影矩阵则用于分离可辨识子空间与不可辨识子空间。
一个常见误区是直接计算 (ΦᵀΦ)⁻¹ΦᵀY。当 Φ 列间高度相关时,ΦᵀΦ 接近奇异,参数估计会剧烈震荡。工程上更推荐 QR 或 SVD,并配合条件数检查。
二、概率统计:噪声、估计与不确定性
机器人数据几乎不可能无噪声。概率统计的任务不是“消除噪声”,而是“描述噪声并量化估计的不确定性”。核心概念包括:随机变量与分布、期望与协方差、条件概率与贝叶斯公式、最大似然估计(MLE)与最大后验估计(MAP)。
在参数标定中,若假设观测噪声为零均值高斯白噪声,则最小二乘等价于最大似然估计;若引入参数先验,则 MAP 对应带正则项的最小二乘。协方差矩阵 Σ 描述参数估计的置信椭球,其对角线元素是方差,非对角线元素反映参数间的相关性。若两个参数高度相关,单独调整其中一个往往无法改善残差,必须联合标定。
此外,卡方检验、残差白噪声检验和置信区间估计,是判断辨识结果是否可信的常用手段。不要只看残差平方和下降,还要看残差是否仍存在结构性趋势。
三、优化理论:从目标函数到可解问题
系统辨识最终常转化为优化问题:θ* = argmin_θ Σ ||y_k - h(x_k, u_k, θ)||²_Σ。优化理论提供问题分类与求解策略。若目标函数关于 θ 线性,则是线性最小二乘,有闭式解;若非线性,则需迭代求解,如高斯-牛顿法、Levenberg-Marquardt 法、梯度下降及其变体。
关键概念包括:凸性、局部极小、雅可比矩阵、海森矩阵、步长与信赖域。高斯-牛顿法利用雅可比近似海森矩阵,收敛快但对初值敏感;LM 方法通过阻尼因子在梯度下降与高斯-牛顿之间切换,鲁棒性更好。对于带约束问题,如参数上下界、关节限位、物理一致性约束,可使用序列二次规划或内点法。
四、信号处理:从时序中提取有效信息
机器人传感器输出是时间序列,信号处理负责滤波、重采样、频域分析和特征提取。常用工具包括:低通/高通/带通滤波器、滑动平均、卡尔曼滤波、傅里叶变换、功率谱密度、相关函数和互相关。
在辨识中,激励信号的设计至关重要。若输入信号频率成分不足,某些动态参数无法被激发,导致不可辨识。常用激励包括扫频信号、伪随机二进制序列(PRBS)和多正弦信号。采样频率应满足奈奎斯特条件,并避免与机器人本体振动频率混叠。滤波时要注意相位延迟,否则会引入额外的时间偏差,影响参数估计。
五、系统动力学:模型结构与物理约束
系统动力学决定模型的形式与参数物理意义。机器人中常见模型包括:刚体动力学模型、关节摩擦模型、电机电流-力矩模型、柔性关节模型和接触模型。关键概念有:状态变量、输入输出、质量矩阵、科氏力与离心力、重力项、摩擦项和惯量参数。
动力学模型不仅提供回归矩阵的结构,还提供物理约束:质量矩阵正定、惯量参数满足三角不等式、摩擦系数非负等。这些约束可用于正则化,防止辨识出物理上不可实现的参数。若忽略动力学结构,直接拟合黑箱模型,虽然短期残差可能很小,但外推能力和可解释性往往很差。
六、五类工具的协同关系
下表总结五类数学工具在辨识与标定中的典型作用、关键对象和常见误区。
| 数学工具 | 典型作用 | 关键对象 | 常见误区 |
|---|---|---|---|
| 线性代数 | 构建回归矩阵、求解最小二乘、分析可辨识性 | QR、SVD、特征值、伪逆、条件数 | 直接求逆导致数值不稳定 |
| 概率统计 | 描述噪声、量化不确定性、检验残差 | 协方差、MLE、MAP、置信区间 | 只看残差平方和,忽略参数相关性 |
| 优化理论 | 求解线性/非线性参数估计问题 | 目标函数、雅可比、LM、约束 | 初值选择随意,陷入局部极小 |
| 信号处理 | 滤波、重采样、频域分析、激励设计 | 滤波器、FFT、PRBS、采样率 | 忽略相位延迟和频率混叠 |
| 系统动力学 | 提供模型结构、物理约束和参数意义 | 状态空间、质量矩阵、摩擦、惯量 | 黑箱拟合导致外推能力差 |
七、案例:单关节参数标定中的数学链条
以单关节机械臂为例,假设模型为 τ = I q̈ + b q̇ + c sign(q̇) + g(q),待辨识参数为 θ = [I, b, c]。采集 q, q̇, q̈, τ 序列后,构造回归矩阵 Φ,每行对应一个采样时刻,列为 [q̈, q̇, sign(q̇)]。此时问题化为 Y = Φθ + ε。
先用 SVD 检查 Φ 的条件数,若条件数过大,说明激励不足或参数相关。然后设计 PRBS 或扫频激励,重新采集数据。接着用 QR 求解最小二乘,得到初始估计。若残差存在结构性偏差,可引入非线性摩擦模型,并用 LM 方法迭代优化。最后用协方差矩阵给出参数置信区间,并用残差白噪声检验验证模型充分性。
# 伪代码:单关节参数标定流程
Phi = build_regressor(q, dq, ddq) # 构造回归矩阵
U, S, Vt = svd(Phi) # 检查条件数
theta_ls = qr_solve(Phi, tau) # QR 最小二乘初值
theta_nl = lm_optimize(residual, theta_ls) # 非线性精修
Sigma = estimate_covariance(Phi, residual) # 参数协方差
check_whiteness(residual) # 残差白噪声检验
八、复盘:常见错误与纠正思路
- 只关注算法,不关注激励:数据本身不含信息时,任何优化器都无法给出可靠参数。先检查输入信号的频率丰富度和幅值范围。
- 忽略参数相关性:协方差矩阵的非对角元素很大时,单独标定某个参数没有意义,应联合标定或固定部分参数。
- 把仿真参数当作真值:仿真参数标定是使仿真输出逼近实测输出,不是追求物理真值。应明确标定目标和评价指标。
- 不做残差分析:残差若存在趋势、周期性或异方差,说明模型结构或噪声假设不成立,需要回到建模阶段。
- 混淆离线与在线:离线辨识可用批处理最小二乘,在线辨识则需递推最小二乘或卡尔曼滤波,计算复杂度和实时性要求不同。
综上,线性代数、概率统计、优化理论、信号处理和系统动力学共同构成机器人系统辨识与参数标定的数学底座。理解它们各自解决什么问题、彼此如何衔接,比孤立记忆公式更重要。在实际项目中,先判断数据是否充分、模型是否可辨识,再选择合适工具,才能得到稳定、可信、可复现的标定结果。