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 odometry)을 연결합니다. 목표는 노트북 시뮬레이션에서 Jetson 기반 드론까지 작동하는 "배터리 포함" 파이프라인입니다.

주요 기능

  • 멀티 비히클 시뮬레이션 – 쿼드로터, VTOL, 테일시터는 풍력 및 파도 플러그인과 함께 Gazebo에서 함께 실행할 수 있습니다. 시뮬레이션은 실시간보다 빠르게 실행할 수 있으며 많은 병렬 인스턴스를 지원합니다.
  • ROS 2 중심 제어 – 오토파일럿 인터페이스는 ROS 2 액션/서비스(MAVROS 또는 XRCE-DDS를 통해)로 노출됩니다. 이륙, 착륙, 궤도 비행, 오프보드 컨트롤러를 명령하거나 사용자 지정 동작 트리 임무를 실행할 수 있습니다.
  • 인식 스택 – YOLO 객체 감지(ONNX GPU 런타임) 및 LiDAR odometry(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
  • 프로젝트
  • 프로젝트