开发与工程 drone-simulationros2px4ardupilotgazebomulti-dronecomputer-visionlidar-odometry

Aerial Autonomy Stack

在仿真与真实无人机上开发、测试并部署多机感知自主系统。

FollowAgents 评估 · FARS-2.1
谨慎使用
68/ 100 五分制 3.4 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全13 / 29 · 2.2/5

架构图清楚标示容器、ROS2 主题、UDP/TCP、MAVLink、传感器与双子网的数据流,因此数据流透明度充分。CI 权限在部分作业中按 contents/packages 收窄,但运行栈仍需要 Docker、网络、GPU、飞控和 sudo 安装操作,未展示系统性的最小权限模型。部分飞行动作可取消,并建议 QGroundControl 监督,但起飞、降落、参数修改和清理命令会直接生效,缺少一致的高风险操作确认门槛。README 明示 Land/Orbit 会覆盖 ArduPilot 参数、开发挂载和容器清理等外部效果,但恢复原参数、飞行状态或主机配置的回滚方案很薄弱。未提供密钥、日志隐私、摄像头数据或敏感遥测处理政策。依赖有 CI 安装检查,但使用 latest 镜像、可变外部依赖和按标签引用的 Actions,未见锁定、校验、SBOM 或漏洞扫描。项目、论文作者及第三方世界/组件多有归属说明,但 LICENSE 的“The Drone Mafia”、仓库账户和论文作者之间的维护主体关系并不完全明确。

2可靠稳定9 / 14 · 3.2/5

README、环境检查脚本、CI 安装测试和两种飞控集成测试大体相互一致,也为 Ubuntu、NVIDIA 驱动、Docker 和容器工具包提供明确诊断。扣分在于许多能力仅由 README 陈述,CI 展示的集成范围仅覆盖单四旋翼、无摄像头/雷达的两条路径;大量外部镜像、硬件和网络依赖仍可能漂移。错误信息对环境变量和主机要求较具体,性能脚本也有重试与严重失败提示,但没有证据表明整个多容器飞行链路采用统一、可操作的错误分类与恢复指导。

3适用触发16 / 18 · 4.4/5

材料明确覆盖开发、仿真、Jetson 实机部署、HITL、Gymnasium、PX4/ArduPilot、多机型和多传感器场景,并列出大量精确环境变量、枚举值及命令入口。Ubuntu 24.04、WSL、amd64/arm64、Jetson Orin 和具体硬件要求描述充分。能力边界有若干具体说明,例如风效应不适用于相关 VTOL 传感器、SetSpeed 的限制以及 ArduPilot 检查延迟;但对真实飞行安全包线、失联行为、支持规模上限和实验性模块成熟度仍缺少统一边界说明。

4规范维护13 / 18 · 3.6/5

README 的安装、仿真、部署、HITL、RL、架构和目录结构组织清晰,示例广泛且可直接使用;安装步骤还给出预计耗时、平台要求和预检脚本。名称与参数整体一致,但没有正式的稳定 API/配置兼容性承诺。已记录若干限制,却缺少集中式已知问题或 FAQ。MIT 许可证文本完整。没有提供版本发布策略或 changelog,因此版本记录记为缺失;维护责任仅能从账户、版权名和论文作者间接推断,未给出明确支持渠道、负责人或更新政策。

5有效结果12 / 13 · 4.6/5

输出面向实际操作,提供从构建、启动、飞行动作、日志分析到 Gymnasium 使用的完整命令,且集成 PX4、ArduPilot、ROS2、感知、仿真和 Jetson 部署形成明显的组合价值。硬件规格、首次构建时间及一次明确环境下的性能数据有助于评估成本收益。扣分在于性能结果每种场景仅一次重复,未给出硬件采购之外的总体维护成本、资源上限、实机风险成本或与替代方案的系统比较。

6证据核验5 / 8 · 3.1/5

README 将许多能力指向具体脚本、源文件、配置、工作流和架构节点,CI 与环境检查脚本对安装及部分集成主张形成内部交叉印证,性能记录也注明提交、日期和硬件环境。扣分在于“flight-proven”“simplest/fastest”等主张缺少所给材料内的可核查依据,论文引用尚不能在本次材料中独立核验,性能数据是源码注释中的自述且仅单次运行;事实、营销性判断和推测没有始终明确分层。

证据充分度: 评估于 2026年9月11日 审查版本 e5e2d2595901
源码中未见的安全控制:敏感信息处理
使用前请注意
  • 这是仅基于所给文件的静态审查;未执行构建、仿真、HITL 或真实飞行,也未独立验证论文、CI 结果或性能数据。
  • 实机命令能够起飞、降落并覆盖 ArduPilot 参数;在隔离仿真中验证任务、故障保护、失联行为和参数恢复流程后,才应连接真实飞行器。
  • 不要直接依赖 latest 容器或可变依赖进行安全关键部署;应固定镜像摘要和依赖版本,并补充 SBOM、漏洞扫描及来源校验。
  • 摄像头、LiDAR、遥测、飞行日志和网络桥接可能包含敏感或受监管数据,但所给材料没有数据保留、访问控制或隐私说明。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Aerial Autonomy Stack(AAS)是一套经过实际飞行验证的开放式无人机自主开发框架,覆盖多机开发、快于实时的仿真和 Jetson 实机部署。它把 PX4 或 ArduPilot、ROS2 Jazzy、Gazebo Sim、YOLO、KISS-ICP LiDAR 里程计以及地面站组件组织进 Docker 容器。系统支持四旋翼、复合翼 VTOL 和倾转旋翼机,并可通过 ROS2 action、行为树任务或地面编队控制器执行飞行。仿真能够运行多个实例、调节实时倍率、生成相机与三维 LiDAR 数据,并通过 Gymnasium 环境逐步推进。部署边界主要是搭载 NVIDIA Jetson Orin 的机载计算机、Pixhawk 飞控和运行地面容器的电脑;它不是面向 ChatGPT、Codex 或模型 API 的对话式智能体。

端到端流程从 sim_run.sh 启动:simulation 容器运行 Gazebo 世界以及一个或多个 PX4/ArduPilot SITL 实例,将相机、LiDAR 和 MAVLink/UDP 数据送往 aircraft 容器。机载侧的 yolo_py 通过 GStreamer 获取视频并发布 YOLO 检测框,kiss_icp 处理 LiDAR 里程计;missionoffboard_controlautopilot_interfacedrone_traffic_client 将任务或控制参考转换为 PX4 Offboard 或 ArduPilot Guided 操作。ground 容器中的 drone_traffic_controller 发布编队命令,ground_system 发布轨迹,Zenoh 在地面与各无人机的 ROS2 域之间桥接状态、轨迹和控制主题。用户可调用 Takeoff、Land、Orbit、Offboard action,以及 reposition、speed 和云台控制接口;日志可交给 flight_review、MAVExplorer 或 PlotJuggler 分析。aas-gym 还把仿真封装成可逐步推进和向量化运行的 Gymnasium 环境,而 deploy_run.sh 可在 Jetson Orin 上启动真实飞机的 aircraft 容器。

  1. 无人机算法团队需要在同一套 ROS2 接口下比较 PX4 与 ArduPilot,并验证四旋翼、VTOL 或倾转旋翼机的任务逻辑。
  2. 感知研发人员需要在多种三维 Gazebo 场景中联合测试 YOLO 相机检测和 KISS-ICP LiDAR 里程计。
  3. 多机研究人员需要运行同步编队、单机行为树任务或多个并行仿真实例。
  4. 强化学习研究人员需要通过 aas-gym 手动步进、加速或向量化执行无人机仿真。
  5. 机载系统工程师需要先用多 Jetson HITL 检查计算负载与机间网络,再部署到 Jetson Orin、Pixhawk 和真实飞机。
  6. 飞行测试人员需要统一采集 ROS bag、PX4 .ulg 或 ArduPilot .bin 日志并使用配套分析工具排查问题。

这个 Agent 有哪些优点和局限?

优点
  • 同一框架原生覆盖 PX4 与 ArduPilot,并为二者提供统一的 ROS2 高层 action 接口。
  • 同时覆盖 SITL、快于实时仿真、多实例仿真、Gymnasium 和多 Jetson HITL,而非只提供单机 Gazebo 模型。
  • 相机、YOLO、三维 LiDAR、KISS-ICP、风效应和动态波浪等感知与环境组件已经纳入容器化流程。
  • 同一 aircraft 镜像面向 amd64 仿真和 arm64/Jetson 部署,有助于缩小仿真与实机软件差异。
  • 提供编队控制、行为树任务和直接 ROS2 action 三种自主飞行入口。
局限
  • 核心构建依赖 NVIDIA 驱动、CUDA、cuDNN 和 NVIDIA Container Toolkit,实机路径进一步依赖 JetPack、DeepStream 与 Jetson Orin。
  • 首次仿真镜像构建约需 45 分钟,Jetson arm64 构建约需 50 分钟,首次实机运行还要约 3 分钟生成 TensorRT 缓存。
  • 官方记录的开发环境集中在 Ubuntu 24.04;Windows 11 只能通过 WSL 使用,没有原生 Windows 路径。
  • VTOL 和倾转旋翼机的模拟空速传感器不感知 Gazebo 风,因此风效应测试被明确建议只用于四旋翼。
  • ArduPilot 当前列出的版本为 4.6.3,升级到 4.7.1 仍标记为待办,采用新版 ArduPilot 可能需要迁移工作。
  • 所示实机验证硬件集中在 Holybro Jetson Baseboard、Pixhawk 6X、Orin NX 16GB、X650、IMX219 和 Livox Mid-360S;其他硬件组合的验证证据未给出。

如何安装或部署这个 Agent?

已记录的主机环境是 Ubuntu 24.04、NVIDIA 驱动、Docker 和 NVIDIA Container Toolkit;示例开发机使用 RTX 3060。安装与首次构建:

sudo apt update && sudo apt install -y git xterm xfonts-base wget unzip
git clone https://github.com/JacopoPan/aerial-autonomy-stack.git
cd aerial-autonomy-stack/tools_and_docs/
./tests/check_requirements.sh
./sim_build.sh

首次构建在网络良好时约需 45 分钟。仓库也提供每周从 main 重建的 GHCR 镜像,可分别拉取 aircraft-imageground-imagesimulation-image。未记录任何 API 密钥或付费凭据要求。

如何使用这个 Agent?

启动一个 PX4/ArduPilot 可选、含一架四旋翼和一架 VTOL 的仿真:

cd aerial-autonomy-stack/tools_and_docs/
NUM_QUADS=1 NUM_VTOLS=1 WORLD=swiss_town RTF=3 PLOT=true ./sim_run.sh

在 Ground 终端启动同步编队:

ros2 run drone_traffic_controller dtc_controller --ros-args -p use_sim_time:=true

在飞机终端执行行为树任务:

ros2 run mission mission --conops yalla.yaml --ros-args -r __ns:=/Drone$DRONE_ID -p use_sim_time:=true

也可向 /Drone${DRONE_ID}/takeoff_actionland_actionorbit_actionoffboard_action 发送 ROS2 goal。Gymnasium 示例在安装 aas-gym 后运行:

python3 gym_run.py --mode step

实机部署时,在 Jetson 上执行 ./deploy_build.sh,随后可运行:

DRONE_ID=1 CAMERA=true LIDAR=false AIR_SUBNET=10.223 HEADLESS=true ./deploy_run.sh

飞机类型、飞控、传感器和 ROS bag 录制通过环境变量配置。

这个 Agent 与同类方案有什么区别?

框架将 PX4 Offboard 与 ArduPilot Guided 作为两条可选飞控路径:PX4 可使用 CTBR/VehicleRatesSetpoint 等低层参考,ArduPilot 示例使用速度或加速度设定值。两者共享 ROS2 高层 action,但具体控制器名称、参数行为和限制并不完全相同;例如文档指出 ArduPilot VTOL 的速度变更命令无效。通信层也存在 XRCE-DDS 与 MAVROS 两种飞控接口路径。

常见问题

运行需要云服务、模型 API 或密钥吗?
所给资料没有任何云模型 API、密钥或付费服务要求。构建需要网络下载代码、容器镜像和依赖,运行主体是本地 Docker、ROS2、Gazebo 与 NVIDIA 软件栈。
可以不使用 NVIDIA GPU 吗?
已记录的要求检查包括 NVIDIA 驱动和 NVIDIA Container Toolkit,基础镜像也使用 CUDA/cuDNN;因此资料没有证明无 NVIDIA GPU 的受支持安装路径。
它能直接控制真实无人机吗?
可以,但需要完成 Jetson 航电设置并配置 Pixhawk。已测试组合是 Holybro Jetson Baseboard、Pixhawk 6X 和 NVIDIA Orin NX 16GB;真实飞行仍需操作员监督和适当的硬件、安全配置。
能否只用于仿真或强化学习?
可以。sim_run.sh 支持 SITL、多实例和实时倍率控制,aas-gym 提供 step、speedup 与 vectorenv-speedup 示例,不要求先部署真实飞机。
仿真失败时有哪些已知等待或限制?
ArduPilot SITL 起飞前约需 30 秒模拟时间完成检查;首次镜像构建耗时较长。风对 VTOL/倾转旋翼机的空速传感器不可见,且部分 ArduPilot VTOL 速度控制存在已记录限制。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents