mit-acl/mighty

MIGHTY: Hermite spline-based real-time trajectory planner for single- and multi-agent UAVs and ground robots (ROS 2). Accepted to IEEE RA-L.

MIGHTY – Hermite‑spline based trajectory planner

개요 – MIGHTY는 공중 및 지상 로봇의 빠르고 매끄러운 궤적 계획을 위한 ROS 2 기반 오픈 소스 라이브러리입니다. Hermite spline을 사용하여 실시간으로 충돌 없는 경로를 생성하며, 단일 에이전트, 멀티 에이전트 및 탐색 시나리오를 지원합니다.

주요 기능

  • 멀티 UAV 스와핑 – 수십 대의 쿼드로터가 원형으로 시작하여 서로 충돌을 피하며 위치를 교환합니다.
  • 지상 로봇 탐색 – Pioneer 3-AT가 미지의 사무실을 자율적으로 매핑하고 시작 지점으로 돌아옵니다.
  • 동적 장애물 처리 – 장애물이 이동할 때 플래너가 즉시 재계획을 수행합니다.
  • 시뮬레이션 및 하드웨어 – Gazebo, RViz2 또는 실제 로봇(UAV, Pioneer 3-AT)에서 실행됩니다. 임베디드 배포를 위한 Jetson 호환 빌드가 제공됩니다.

사용 방법

  1. Docker (Linux/macOS)make build를 실행하면 모든 고정된 종속성을 가져오는 재현 가능한 이미지가 생성됩니다. 그 다음 make run-* 타겟 중 하나를 사용하여 시나리오를 실행합니다. 예: UAV 스왑 데모에는 make run-multiagent, Pioneer 테스트에는 make run-ground-exploration을 사용합니다.
  2. 네이티브 (Ubuntu 22.04, ROS 2 Humble) – 저장소를 클론하고 ./setup.sh를 실행합니다(ROS 2 설치, mighty.repos 종속성 가져오기, C++ 코드 빌드, ~/.bashrc에 소싱 추가). 그 후 통합 런처 src/mighty/scripts/run_sim.py를 사용하여 모든 시나리오를 실행합니다.
  3. Jetson – 동일한 setup.sh 스크립트가 Jetson 하드웨어를 감지하고 Gazebo를 건너뛰며 경량 ARM64 버전을 빌드합니다.

전형적인 명령줄 (단일 UAV에 대한 대화형 RViz 목표를 위한 네이티브 예시):

python3 src/mighty/scripts/run_sim.py \
    --mode interactive \
    -s ~/code/mighty_ws/install/setup.bash

--modemultiagent, gazebo, exploration-singleagent-ground 등으로 바꾸고, 헤드리스 실행을 위해 --num-agents 5, --env easy_forest, --no-rviz와 같은 플래그를 사용하십시오.

논문 및 비디오 – 이 방법은 IEEE Robotics & Automation Letters 논문 MIGHTY: Hermite Spline‑based Efficient Trajectory Planning (2026) 및 관련 arXiv 프리프린트에 설명되어 있습니다. 전체 데모 비디오는 YouTube (https://youtu.be/Pvb-VPUdLvg)에 호스팅되어 있으며, README에는 복잡한 숲, 동적 환경 및 장시간 비행에서 플래너를 보여주는 많은 GIF가 포함되어 있습니다.

사용 대상 – 로봇 연구자, UAV 스웜 개발자 또는 시뮬레이션과 실제 하드웨어 모두에서 즉시 작동하는 가벼운 실시간 플래너가 필요한 모든 사람.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트