iamaisim/ProjectAirSim

Project AirSim is Microsoft's evolution of AirSim, an advanced simulation platform for building, training, and testing autonomous systems in high-fidelity virtual environments

Project AirSim – 概要

Project AirSim は、ドローン、固定翼航空機、無人地上車両(UGV)などの自律システム向けのオープンソース、エンジン非依存のシミュレーションプラットフォームです。Microsoft の元の AirSim および Project AirSim コードベースに基づいており、現在は IAMAI Consulting によって保守されています。コアシミュレーションライブラリと API は、3D エンジンなし(軽量な Project AirSim Runtime)で実行することも、Unreal Engine 5 内でホストして完全な 3D ワールド、レンダリングされたセンサー、複雑な環境を提供することもできます。


コア機能(main ブランチ / 1.0.0 リリース時点)

機能 詳細
車両タイプ 構成可能な単一または複数車両シーン; ドローン、固定翼航空機(JSBSim Cessna 310、Skywalker X8)、UGV(SimpleDrive SUV Blueprint)。
物理エンジン Fast Physics (C++)、JSBSim、Simulink (MATLAB) – カスタム C++ レイヤーで拡張可能。
フライトコントローラー PX4、ArduPilot の SITL/HITL サポート、手動制御。
センサー カメラ、LiDAR(GPU 360°)、レーダー、IMU、GPS、気圧計、磁力計、対気速度など(Runtime では非レンダリングセンサーも利用可能)。
マルチビークル&スウォーム 共有シミュレーションで多数の車両を同時に実行し、センサースイートを構成可能。
API アクセス Python および C++ クライアントライブラリ; ROS 2 C++ ブリッジ。
実行モード • Unreal ホスト – 完全レンダリング、メッシュ衝突、動的な都市。
• Runtime ホスト – ヘッドレス、レンダリングなし、高速物理; 平坦な地面衝突に限定。
クロスエンジン参照 実験的な Unity ホスト(参照のみ、サポート対象外)。

典型的なユースケース

  • 知覚誘導制御 – 例: ライブカメラフィードによる自律着陸。
  • 環境テスト – 車両飛行中に天候、風、照明を調整。
  • インフラ検査 – 大規模な Unreal ワールドでの風力タービンや再生可能エネルギー資産の検査。
  • スウォーム研究 – 数十機の固定翼または回転翼航空機を同時にシミュレート。
  • エアタクシーと都市モビリティ – 密集した都市モデルでの自律エアタクシー運用のテスト。
  • ロボティクス統合 – 提供されたブリッジを介して ROS 2 スタック、PX4、またはカスタムコントローラーを接続。

はじめに

  1. クイック評価 – 最新の GitHub リリースからプリビルド環境をダウンロードし、プリビルド環境ガイド に従ってシーンを起動し、Python で車両を制御します。
  2. フルビルド – Unreal 5.2/5.7/5.8 をインストールし、UE_ROOT を設定し、setup_linux_dev_tools.sh(または Windows 相当)を実行し、シミュレーションライブラリをビルドします(./build.sh simlibs_debug)。プロジェクトファイルを生成し、VS Code/Visual Studio でワークスペースを開きます。
  3. ヘッドレスモード – -RenderOffScreen でパッケージ化された Unreal ビルドを実行するか、-nullrhi でレンダリングを完全に無効にして、クラウドまたは CI ワークロードに使用します。
  4. Runtime のみ – 軽量な Project AirSim Runtime を使用して、Unreal なしで物理と非レンダリングセンサーを実行します(コントローラー開発や大規模バッチ実行に便利)。

アーキテクチャ概要

クライアントライブラリ (Python / C++ / ROS2)  <--->  シミュレーションホスト
   |                                         |
   |   • Runtime(ヘッドレス)                  |   • シミュレーションライブラリ(コア物理、ロボット定義、センサーモデル)
   |   • Unreal Engine プラグイン(レンダリング)      |

両方のホストは同じコアライブラリを共有しているため、Runtime 用に書かれたコードは Unreal ホストで変更なしで動作します。


プラットフォームサポート

  • Linux – Ubuntu 22.04(プライマリ)、Clang 13 または Unreal のパッケージ化されたツールチェーンを使用。
  • Windows – Windows 11、Visual Studio 2022(MSVC 14.37/14.44)。
  • macOS – Apple Silicon (ARM64) ヘッドレスビルドおよびライブラリテスト用。
  • Unreal Engine – 5.2、5.7、5.8。
  • Python – ≥ 3.10(4 未満)。
  • ROS 2 – Ubuntu 22.04 上の Humble。

コミュニティとサポート

  • GitHub – バグ、機能、貢献のための Issue、Discussion、Pull Request。
  • Discord – リアルタイムのコミュニティチャット。
  • プロフェッショナルサービス – IAMAI は、シミュレーション準備、PX4/ROS 2 統合、カスタム Unreal 環境、検証パイプラインのコンサルティングを提供しています。

ライセンス

コアシミュレーションコード、API、構成システムは MIT ライセンス の下でリリースされています。サードパーティコンポーネント(例: JSBSim 航空機定義、Unreal アセット)は元のライセンスを保持します。詳細は NOTICE.txt および thirdparty/Licenses/ を参照してください。


結論: Project AirSim は、自律車両の研究開発のための柔軟でモジュール式のシミュレーションスタックを提供し、重量級の 3D エンジンを使用するかどうかに関係なく使用でき、ROS 2、PX4、ArduPilot などの一般的なロボットツールと直接統合できます。

関連

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