leggedrobotics/pace-sim2real

PACE: A systematic approach for sim-to-real transfer of legged robots, identifying actuator and joint dynamics with standard joint encoders.

PACE – 脚式ロボットのシミュレーションから実機への転移

機能 – PACE(Precise Adaptation through Continuous Evolution)は、脚式ロボットのコントローラを物理シミュレータから実機へ移行するための Python フレームワークです。以下の手順で動作します:

  • 実世界のアクチュエータ/関節データを収集する(またはシミュレーションデータを代用する)。
  • CMA‑ES 進化アルゴリズムを使用して、物理的に意味のあるダイナミクスパラメータ(例:モータ定数、摩擦)を最適化する。
  • 学習したパラメータを NVIDIA Isaac Lab にフィードバックし、シミュレーションロボットがハードウェアのように動作するようにして、移動性能を向上させる。

主要コンポーネント

  • pace_sim2real パッケージ – コアクラス(PaceCfg、PaceSim2realEnvCfg、CMAESOptimizer)とモータモデルを定義するユーティリティ。
  • サンプルスクリプト:
    • scripts/pace/data_collection.py – Isaac Lab で短い励起動作を実行し、データを保存します。
    • scripts/pace/fit.py – CMA‑ES を実行してアクチュエータ/関節パラメータをフィッティングし、ログフォルダを書き込みます。
  • Isaac Lab のタスク/環境システムとの統合(pace_sim2real.tasks が環境を登録)。

対象読者 – 脚式プラットフォーム(例:ANYmal D)を扱う研究者やエンジニアで、すでに NVIDIA Isaac Lab を使用しており、シミュレーションから実機への転移のためにロボットのダイナミクスを体系的に特定する必要がある方。

始め方

  1. Isaac Lab(v5.0 以降)をインストールします。
  2. リポジトリをクローンし、パッケージを編集可能モードでインストールします(pip install -e source/pace_sim2real)。
  3. Isaac Lab の conda 環境をアクティベートします。
  4. データ収集スクリプトを実行し、次にフィッティングスクリプトを実行します。フィッティングされたパラメータは logs/pace/<robot>_sim/ に表示されます。

ドキュメントとサポート – 完全なドキュメントは https://pace.filipbjelonic.com (MkDocs) でホストされています。このプロジェクトは Apache‑2.0 ライセンスで、ETH Zurich Robotic Systems Lab が積極的にメンテナンスしており、コントリビューションガイドラインと pre‑commit フォーマットフックが含まれています。


要約 – PACE は、システム同定と進化的最適化のための専門的なオープンソースツールボックスであり、Isaac Lab シミュレーションと実際の脚式ロボットの間のリンクを強化し、シミュレーションから実機への転移をより信頼性の高いものにします。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト