System Identification
- 又称: SysID, Sys ID, model identification, parameter identification
- 类别: Learning & autonomy › RL & simulation
- 标签: dynamics, modeling, sim-to-real, parameter-estimation, control, simulation
根据测得的输入和输出数据,为机器人或其他动态系统建立数学模型的过程,使其预测的行为与真实硬件相符。
定义
系统辨识(System identification)是根据实验数据估计动态系统模型的方法。工程师施加已知的输入(电机指令、力矩、电压),记录由此产生的输出(关节位置、速度、力),并拟合模型的参数,使其预测与测量结果相符。这一领域有自己的教材传统,Lennart Ljung 的 System Identification: Theory for the User 是一本标准参考书。
各种方法常按其假设了多少物理知识来区分。白箱或灰箱辨识从已知的方程(例如刚体动力学)出发,估计未知常数:连杆质量、质心、惯量、摩擦系数、电机常数和齿轮效率。黑箱辨识拟合一个通用模型,例如传递函数或神经网络,几乎不带先验结构。对于串联机械臂,刚体动力学对惯性参数是线性的,因此一旦根据测得的关节轨迹构建出回归矩阵,就可以用最小二乘法估计这些参数。
数据质量决定结果。输入必须是持续激励的,也就是说它要让系统运动得足够充分,以揭示每一个待估计的参数;只做慢速运动的机器人无法揭示其惯量,而从不反向运动的机器人则会掩盖其摩擦。因此,团队会设计激励轨迹,对含噪声的速度和加速度估计进行滤波,并在未用于拟合的数据上验证模型。
在机器人学习中,系统辨识用于标定仿真器,使在仿真中训练的策略在真实硬件上遇到更接近的情况。它与域随机化并用,后者覆盖辨识无法确定的部分;也与学习得到的残差模型并用,后者捕捉所选模型结构遗漏的效应。一些学习型控制器会在线执行某种形式的辨识,适应它们在运行中观察到的动力学。
为何重要
每个基于模型的控制器、仿真器和规划器,都只能和它背后的模型一样好。系统辨识是团队把 CAD 模型和数据手册变成能预测真实机器人的模型的方法,它直接影响跟踪精度、安全裕度,以及仿真训练向硬件迁移的效果。
主要应用
- 在仿真到现实迁移之前,标定物理仿真器以匹配真实机器人
- 为前馈控制和计算力矩控制估计惯性参数和摩擦参数
- 为执行器建模,包括电机常数、延迟和力矩限制
- 辨识负载的质量和惯量,使机械臂能够补偿所抓取的物体
- 为参数难以从第一性原理计算的软体或柔顺系统建立模型
实际应用
启用一台新机械臂的团队,通常从 URDF 和 CAD 中的惯量出发,然后在每个关节或整条机械臂上运行激励轨迹,同时记录关节位置、电流和指令力矩。他们用最小二乘法估计摩擦(通常是库仑项加黏性项)、电机力矩常数和基本惯性参数,用一条留出的轨迹检验拟合得到的模型,并把辨识出的数值同时载入控制器的前馈项和仿真器。在仿真中训练策略时,同样的辨识值确定域随机化范围的中心,而延迟或力矩饱和等执行器效应则单独测量并显式建模。
常见误解
- 系统辨识能得到精确的模型 — 它是在所选的模型结构和数据范围内找到最佳拟合;未建模的效应仍然存在
- 任何记录下来的运动都是足够好的数据 — 输入必须激励每一个待估计的参数,否则有些参数根本无法观测
- 系统辨识和域随机化是相互竞争的方法 — 它们是互补的,辨识缩小范围,随机化再覆盖这些范围
谁需要了解
- 设计基于模型的控制器的控制工程师
- 研究仿真到现实迁移的机器人学习研究人员
- 为实体机器人构建数字孪生的仿真工程师
- 对新执行器进行特性表征的硬件工程师
相关技术
- 域随机化(Domain Randomization)
- 仿真到现实迁移(Sim-to-Real Transfer)
- 最小二乘估计(Least Squares Estimation)
- 卡尔曼滤波器(Kalman Filter)
- 自适应控制(Adaptive Control)
- 数字孪生(Digital Twin)
相关术语
相关项目
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- RLinf: Scalable infrastructure for post-training foundation models via RL
- Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing
视频
- System Identification Methods: Brian Douglas
- What Is System Identification? | System Identification, Part 1: MATLAB