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环境,支持以不同速度(步进、加速、向量化)进行强化学习实验。
典型工作流程
- 安装 在Ubuntu 24.04(或WSL)上安装并拉取Docker镜像。
- 运行模拟 使用
sim_run.sh,选择自动驾驶仪、飞行器数量、世界和实时因子。 - 控制无人机 通过ROS 2动作/服务、地面站节点(
dtc_controller)或QGroundControl。 - 分析日志 使用PX4 flight_review、MAVExplorer或PlotJuggler。
- 部署到Jetson板 使用
deploy_build.sh/deploy_run.sh,可选地将Jetson连接到真实网络(AIR_SUBNET)并执行HITL测试。
适用对象 – 为空中机器人构建感知驱动自主性的研究人员和工程师,尤其是需要快速模拟、ROS 2集成和NVIDIA GPU加速的人。该栈抽象了低级自动驾驶仪细节,同时仍允许自定义控制器和行为树。
从哪里开始 – 阅读BOM.md了解硬件,RATIONALE.md了解设计目标,并按照README中的快速入门命令操作。仓库还包含学术使用的引用。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目