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的无人机。

主要功能

  • 多飞行器模拟 – 四旋翼、垂直起降机和尾座式飞行器可以在Gazebo中同时运行,并带有风和波浪插件。模拟可以比实时更快地运行,并支持许多并行实例。
  • 以ROS 2为中心的控制 – 自动驾驶仪接口以ROS 2动作/服务(通过MAVROS或XRCE-DDS)的形式公开。您可以命令起飞、降落、环绕、离板控制器,或运行自定义行为树任务。
  • 感知栈 – YOLO物体检测(ONNX GPU运行时)和LiDAR测距(KISS-ICP)。可选的VIO/LIVO包(openvins、fastlio、superodom、mimosa)可用于无GNSS飞行。
  • Docker化环境 – 为模拟、地面站和飞行器提供独立的容器。提供amd64(桌面)和arm64(Jetson)的镜像,可在本地构建或从GitHub容器注册表拉取。
  • 硬件部署 – 已在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
  • 项目
  • 项目