gym-pybullet-drones
シングル・マルチエージェントのドローン強化学習のためのPyBullet Gymnasium環境
ライセンス
MIT
概要
gym-pybullet-dronesは、学習ベースのクアッドロータ制御のための標準的なオープンシミュレーションスイートです。PyBullet物理エンジン上に構築されたGymnasium(旧OpenAI Gym)環境で、地面効果・空気抵抗・ダウンウォッシュを含む現実的なダイナミクスでCrazyflie 2.xクアッドロータをモデル化しています。シングルエージェントとマルチエージェントのRLを標準でサポートし、stable-baselines3と統合されており、トロント大学のDynamic Systems Lab / Vector Instituteで生まれました。
このスイートはPyBulletベースのクアッドロータダイナミクスをクリーンなGymnasium APIでラップしています。BaseAviary環境は1機または多数のドローンに対してRPM・PID・速度レベルの制御を公開し、観測空間は運動学的状態とオプションのオンボードカメラ映像をカバーします。物理はおもちゃレベルのモデルを超えており、プロペラレベルの推力とトルク、空気抵抗、地面効果、ドローン間のダウンウォッシュがシミュレートされ、パラメータはBitcraze Crazyflie 2.xのシステム同定に由来します。リファレンスワークフローではstable-baselines3のPPOでホバリング、軌道追従、マルチエージェントタスクを学習し、リポジトリにはアセット、ロギング・プロットユーティリティに加え、実機Crazyflieへのsim-to-real転移の例も含まれています。IROS 2021で発表され、ドローンRLの論文やコースワークにおけるデフォルトのベンチマーク環境となり、数百の派生研究プロジェクトを生んでいます。
重要な理由
gym-pybullet-dronesは、空中ロボットの強化学習におけるリファレンス環境スイートです。実機Crazyflieでのsim-to-real研究に耐える物理的信頼性を持ちながら、ラップトップで学習できるほど軽量であり、ドローンRL論文の大部分がその上に構築するか比較対象とするベンチマークです。
解決する課題
ドローンのRL研究には、高速で、クアッドロータの空力について物理的に誠実で、かつ標準のRL APIでラップされたシミュレーションが必要です。gym-pybullet-dronesはこの3つをまとめてパッケージ化し、かつては空中学習プロジェクトの前に必ず必要だったカスタムシミュレータのエンジニアリングを不要にしました。
主なポイント
- PyBullet物理上のクアッドロータ向けGymnasium環境、シングル・マルチエージェント対応
- Crazyflie 2.xのシステム同定パラメータで地面効果・空気抵抗・ダウンウォッシュをモデル化
- RPM、PID、速度の制御モード。オンボードカメラからのオプションの視覚観測
- stable-baselines3ですぐに動作。IROS 2021で発表されたベンチマーク
- 実機Bitcraze Crazyflieへのsim-to-real転移実験をサポート
対象
- 連続制御に取り組むRL研究者
- 空中ロボティクスの学生と教育者
- マルチエージェントシステムの研究者
- 飛行試験の前にドローンコントローラをプロトタイピングするエンジニア
制限事項
- Crazyflieクラスのマイクロクアッドロータに特化 — 大型機体には再同定が必要
- PyBulletの空力はCFDレベルのシミュレーションに比べて簡略化されている
- 重い視覚ベース学習のためのフォトリアリスティックなレンダリングはない(カメラポリシーには注意して使用)