Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

Differentiable Simulation

  • 別名: differentiable physics, differentiable simulator, differentiable dynamics
  • カテゴリ: Software & tooling › Simulation & twins
  • タグ: simulation, automatic-differentiation, system-identification, trajectory-optimization, sim-to-real, physics-engine

入力とパラメータに対する出力の勾配を計算できる物理シミュレーション。ロボットのコントローラ、設計、モデルを勾配降下法で直接最適化できる。

定義

微分可能シミュレーション(differentiable simulation)は、その中を通して微分を計算できるように書かれた物理シミュレーションである。従来のシミュレータは、状態、制御入力、物理パラメータを受け取り、次の状態を返す。微分可能シミュレータはさらに、その次の状態、あるいはシミュレーションした軌道全体から計算される任意の量が、それらの入力に対してどのように変化するかも返す。勾配は通常、JAX、PyTorch、NVIDIA Warp などのフレームワークの自動微分によって、あるいはダイナミクス方程式の解析的な微分から得られる。

物理を通した勾配はいくつかの用途を開く。軌道最適化では、シミュレーションしたロールアウトを通したコストの勾配に従って、制御入力の系列を改善できる。ポリシー学習では、解析的ポリシー勾配がタスク損失をシミュレータを通してポリシーネットワークへと逆伝播させるため、報酬だけから勾配を推定する強化学習手法よりもはるかに少ないサンプルで済む場合がある。システム同定では、質量、摩擦、剛性などのパラメータを実測値に当てはめ、コデザインでは、ロボットの寸法をコントローラと同時に最適化する。

ロボティクスは、接触があるため微分可能物理にとって厳しい領域である。衝突と摩擦は不連続性と硬いダイナミクスを生むため、真の勾配がゼロであったり、定義されなかったり、誤解を招くものであったりする。シミュレータは、平滑化した接触モデルやソフトな接触モデル、柔軟なペナルティ力、あるいは接触を解くために用いる最適化問題を通して微分することで、これに対処する。いずれの選択も、物理的な精度と勾配の質とのトレードオフである。長いロールアウトは第 2 の問題をもたらす。多くの時間ステップにわたって勾配が爆発したり消失したりすることがあり、勾配が存在する場合でも最適化の地形が起伏に富むことがある。

微分可能シミュレーションは、学習されたコンポーネントと組み合わされることが多い。アクチュエータの挙動やソフトボディの変形など、導出が難しいダイナミクスの部分をニューラルネットワークでモデル化し、シミュレータの残りの部分は物理ベースのままにして、システム全体をエンドツーエンドで学習させることができる。微分可能レンダリングにより、カメラ画像からシーンのパラメータへと勾配を流せる。利用可能なツールには MuJoCo MJX、Brax、NVIDIA Warp がある。

重要な理由

勾配によって、最適化はシミュレータをブラックボックスとして扱うのではなく物理の構造を利用できるようになり、学習、キャリブレーション、設計のデータ効率を大きく高められる。微分可能シミュレーションは、シミュレータを実機ハードウェアに合わせ込み、シミュレーションと実機の挙動の差を縮めるための実用的な方法でもある。

主な用途

  • システム同定 — ロボットや物体の物理パラメータを測定データに当てはめる
  • 軌道最適化 — シミュレーションしたダイナミクスを通した勾配降下で制御系列を洗練する
  • ポリシー学習 — シミュレータを通した解析的勾配でコントローラを学習させる
  • ソフトロボットのモデリング — 変形体シミュレーションを実機ハードウェアに対してキャリブレーションする
  • ロボットのコデザイン — 機械的パラメータをコントローラと同時に最適化する

実際の使われ方

微分可能シミュレーションを使うチームは、まずロボットの動作と関節トルクのデータを記録し、シミュレーションした軌道と測定した軌道の差を勾配降下法で最小化することで、摩擦、減衰、質量のパラメータを当てはめることがある。キャリブレーション済みのモデルを使えば、短いシミュレーションのロールアウトを通してタスク損失を逆伝播させることで軌道を最適化したりポリシーを学習させたりでき、勾配を安定に保つためにホライズンを打ち切ったり、解析的勾配と強化学習を組み合わせたりすることが多い。勾配の質は、たとえば有限差分と比較するなどして慎重に確認し、接触の設定にも注意を払う。滑らかな勾配のために選んだソフトな接触パラメータによって、シミュレーションが実機ロボットに忠実でなくなる場合があるからである。

よくある誤解

  • 微分可能シミュレーションは常に強化学習より良い勾配を与える — 接触の不連続性や長いホライズンによって、解析的勾配がノイズの多いものや誤解を招くものになりうる
  • どんなシミュレータも自動微分で包めば微分可能になる — 滑らかでない接触処理、分岐のあるコード、反復ソルバは、有用な勾配を得るために特別な扱いが必要である
  • 微分可能であることはより正確であることを意味する — 微分可能性は微分を計算することに関するものであり、良い勾配を得るための平滑化は物理的な精度を下げうる

知っておくべき人

  • モデルベースの制御と学習に取り組むロボット学習の研究者
  • 物理エンジンを構築するシミュレーションエンジニア
  • 変形モデルをキャリブレーションするソフトロボティクスの研究者
  • 軌道最適化を使う制御エンジニア

関連技術

  • 自動微分(Automatic Differentiation)
  • JAX
  • MuJoCo MJX
  • NVIDIA Warp
  • 軌道最適化(Trajectory Optimization)
  • システム同定(System Identification)

関連用語

  • Digital Twin
  • Sim2Real
  • Reinforcement Learning
  • System Identification

関連プロジェクト

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • 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

動画

  • Finally, Differentiable Physics is Here!: Two Minute Papers
  • Learning on the Fly: Rapid Policy Adaptation via Differentiable Simulation (RA-L 2026): UZH Robotics and Perception Group

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。