# 面向机器人工程师的系统辨识入门

这篇短文为 RL、全身控制（WBC）、仿真和规划工程师提供讨论机器人系统所需的共同语言，不要求每个人成为系统辨识专家。

## 1. 系统、状态、观测与模型

**被控系统（plant）** 是被控制的真实或仿真系统。一般的状态空间模型为：

$$
\dot x = f(x,u;\theta), \qquad y = h(x;\theta) + v.
$$

- `x`：内部状态；
- `u`：指令或控制输入；
- `y`：测量观测；
- `theta`：未知或不确定的参数。

模型可以来自物理规律、经验关系或仿真器原生结构。系统辨识通过实验选择有用的模型类别，并拟合其中的未知量。

## 2. 模型结构与参数

这是两个不同的问题：

- **模型结构选择**：系统应采用理想力矩控制、库仑摩擦、Stribeck 摩擦、柔性双质量传动、延迟系统，还是其他表示？
- **参数估计**：在已选结构内部，哪些参数值最合适？

结构错误时，优化器只能得到“最合适的错误模型”；参数可能补偿缺失物理。例如真实执行器有齿轮箱柔性，而 Student 假定刚性，增大 armature、阻尼或延迟可能降低轨迹误差，却不对应真实物理量。

## 3. 常见执行器术语

| 术语 | 实际含义 |
|---|---|
| 惯量 | 对加速度的阻抗 |
| 折算惯量 | 经传动比映射到目标侧的电机/转子惯量 |
| 阻尼 | 随速度变化的能量耗散 |
| 摩擦 | 阻力矩，可能包含库仑、黏性、Stribeck 或负载相关项 |
| 静摩擦 | 接近零运动时的摩擦 |
| 柔顺性 | 负载下的变形程度，是刚度的倒数 |
| 回差 | 换向时的死区或齿轮间隙 |
| 共振 | 某个动力学模态被强烈放大的频率现象 |
| 饱和 | 电流、力矩、电压或速度上限 |
| 延迟 | 指令到响应或测量的滞后 |
| 带宽 | 执行器能较好跟随指令的频率范围 |

## 4. 激励与可辨识性

参数存在于模型中，不代表就能从数据中恢复。实验必须让它的影响在数据中显现。

- 缓慢的准静态运动适合观察重力和低速摩擦，却很少提供惯量信息；
- 高加速度运动有助于显现惯量；
- 方向反转有助于暴露回差与非对称摩擦；
- 扫频与多正弦激励有助于暴露频率相关效应和共振。

因此系统辨识包含**实验设计**，不只是优化。

## 5. 拟合与验证

不能只根据用于拟合的数据评价模型。常用划分是：

- **拟合集**：优化器使用的轨迹；
- **验证集**：不同轨迹、负载、频率、方向、温度或电压。

模型若只贴合训练轨迹，却在留出工况下失败，就还不是有用的系统模型。

## 6. 残差是诊断信号

本篇采用：

$$
e(t)=y_{real}(t)-y_{model}(t).
$$

L0/L1 报告采用相反的符号 `model - observed`；看图时应先确认定义。残差的结构可以为缺失物理提供线索：

- 与速度相关：摩擦模型问题的可能线索；
- 与力矩/负载相关：力矩比例或负载相关摩擦；
- 集中于某个频带：缺少共振或柔性模态；
- 随温度改变：热相关效应；
- 换向后改变：回差或迟滞；
- 随电压偏移：电压/电流限幅效应。

这些关系用于提出假设，需要受控实验进一步区分。速度相关也可能由延迟引起。

## 7. 物理参数与等效仿真参数

拟合出的仿真参数可以有预测价值，而不具有字面物理含义。例如整机轨迹匹配得到的 MuJoCo `armature` 可以充当**等效惯量项**。除非得到独立验证，不应自动将其报告为测得的转子惯量。

## 8. 校准、辨识与域随机化

- **校准**消除关节零点、方向、比例和偏置等确定性误差；
- **系统辨识**估计动力学行为；
- **域随机化**围绕剩余不确定性训练鲁棒性。

常见流程为：

```text
已校准硬件 → 辨识后的标称模型 → 收窄不确定范围 → 鲁棒策略/控制
```

尽量不要用过宽的随机化范围掩盖尚未解释的系统误差。

## 9. 最小工程闭环

1. 定义执行器/系统边界。
2. 选择简单模型类别。
3. 设计能显现目标动力学的激励。
4. 拟合参数。
5. 在留出工况上验证。
6. 检查残差和频率响应。
7. 只有证据需要时才增加模型复杂度。
8. 在更大子系统上重复。
