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 模型與規格書轉化為能預測真實機器人之模型的方法,直接影響追蹤精度、安全餘裕,以及模擬訓練轉移到硬體的效果。
主要應用
- 在模擬到現實(sim-to-real)轉移之前,校正物理模擬器以符合真實機器人
- 為前饋控制與計算力矩控制估計慣性與摩擦參數
- 為致動器建模,包括馬達常數、延遲與扭矩限制
- 識別負載的質量與慣量,讓機器手臂能補償所抓取的物體
- 為參數難以從第一原理計算的軟性或柔順系統建立模型
實際應用
啟用一支新機器手臂的團隊,通常從 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