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 の慣性値から出発し、関節の位置、電流、指令トルクを記録しながら、各関節またはアーム全体で励振軌道を実行する。最小二乗法で、摩擦(多くの場合クーロン項と粘性項の和)、モータのトルク定数、基底慣性パラメータを推定し、取り分けておいた軌道で当てはめたモデルを確認し、同定した値を制御器のフィードフォワード項とシミュレータの両方に読み込む。シミュレーションでポリシーを訓練するときは、同じ同定値がドメインランダム化の範囲の中心を決め、遅延やトルク飽和といったアクチュエータの効果は別途計測して明示的にモデル化する。
よくある誤解
- システム同定は厳密なモデルを生み出す — 選んだモデル構造とデータの範囲の中で最もよく当てはまるものを見つけるのであり、モデル化されていない効果は残る
- 記録した動きなら何でも十分なデータになる — 入力は推定するすべてのパラメータを励振しなければならず、そうでなければ一部のパラメータはそもそも観測できない
- システム同定とドメインランダム化は競合する手法である — 両者は補完的であり、同定が範囲を狭め、ランダム化がその範囲をカバーする
知っておくべき人
- モデルに基づく制御器を設計する制御エンジニア
- Sim-to-Real 転移に取り組むロボット学習の研究者
- 物理的なロボットのデジタルツインを構築するシミュレーションエンジニア
- 新しいアクチュエータの特性を評価するハードウェアエンジニア
関連技術
- ドメインランダム化(Domain Randomization)
- Sim-to-Real 転移(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