JacopoPan/aerial-autonomy-stack

An open harness to simulate and deploy perception-based PX4/ArduPilot/Betaflight swarms with ROS2, YOLO, NVIDIA Jetson

Aerial-Autonomy-Stack (AAS)

これは何か – AASは、実際のハードウェア上でマルチドローンのミッションを開発、シミュレーション、実行できるオープンソースのソフトウェアスタックです。一般的なオートパイロット(PX4、ArduPilot)、ROS 2ロボティクスフレームワーク、NVIDIAアクセラレーテッド認識(YOLO、LiDARオドメトリ)を結び付けます。目標は、ラップトップ上のシミュレーションからJetsonベースのドローンまで機能する「バッテリー込み」のパイプラインです。

主な機能

  • マルチビークルシミュレーション – クアッドローター、VTOL、テールシッターは、風や波のプラグインとともにGazeboで一緒に実行できます。シミュレーションは実時間よりも速く実行でき、多数の並列インスタンスをサポートします。
  • ROS 2中心の制御 – オートパイロットインターフェースはROS 2のアクション/サービス(MAVROSまたはXRCE-DDS経由)として公開されます。離陸、着陸、周回、オフボードコントローラーをコマンドしたり、カスタムビヘイビアツリーミッションを実行したりできます。
  • 認識スタック – YOLOオブジェクト検出(ONNX GPUランタイム)とLiDARオドメトリ(KISS-ICP)。GNSS非依存飛行用のオプションのVIO/LIVOパッケージ(openvins、fastlio、superodom、mimosa)が利用可能です。
  • Docker化された環境 – シミュレーション用、地上局用、航空機用の別々のコンテナ。amd64(デスクトップ)とarm64(Jetson)の両方のイメージが提供され、ローカルでビルドするかGitHub Container Registryからプルできます。
  • ハードウェア展開 – Holybro JetsonベースボードとPixhawk 6X、IMX219カメラ、Livox Mid-360S LiDARでテスト済み。スクリプトはビルド、起動、HITL(ハードウェアインザループ)テストを処理します。
  • Gymnasium RLインターフェース – Pythonパッケージ(aas-gym)は、スタックをGymnasium環境としてラップし、さまざまな速度(ステップ、スピードアップ、ベクトル化)で強化学習実験を可能にします。

典型的なワークフロー

  1. インストール Ubuntu 24.04(またはWSL)で、Dockerイメージをプルします。
  2. シミュレーションを実行 sim_run.shで、オートパイロット、車両数、ワールド、リアルタイムファクターを選択します。
  3. ドローンを制御 ROS 2アクション/サービス、地上局ノード(dtc_controller)、またはQGroundControlを使用します。
  4. ログを分析 PX4 flight_review、MAVExplorer、またはPlotJugglerを使用します。
  5. Jetsonボードに展開 deploy_build.sh/deploy_run.shを使用し、必要に応じてJetsonを実際のネットワーク(AIR_SUBNET)にリンクし、HITLテストを実行します。

対象読者 – 航空ロボットのための認識駆動型自律性を構築する研究者やエンジニア、特に高速シミュレーション、ROS 2統合、NVIDIA GPUアクセラレーションを必要とする人々。スタックは低レベルのオートパイロット詳細を抽象化しつつ、カスタムコントローラーやビヘイビアツリーを可能にします。

開始方法 – BOM.mdでハードウェア、RATIONALE.mdで設計目標を読み、READMEのクイックスタートコマンドに従ってください。リポジトリには学術利用のための引用も含まれています。

関連

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