Skip to content

mighty

MIGHTY Hermite-spline local planner (MIT ACL, RA-L 2026) with its acl-mapping voxel world model and a bridge to AirStack's NavigateTask / trajectory_controller seam — AirStack's default local planner (the map-based replacement for DROAN)

Repository castacks/asm_mighty
Type ros_package
Maintainer ajong@andrew.cmu.edu
License BSD-3-Clause-Clear
Registered ref v0.1.5
Declared compat >=0.21.0-dev.10 <0.22.0
Registry entry modules/mighty.yaml

Install

From an AirStack checkout (AirStack Modules guide):

airstack module add https://github.com/castacks/asm_mighty --version v0.1.5
airstack up

module add pins the module in modules.repos and syncs it into the gitignored modules/ overlay; airstack up automatically includes the generated compose override that mounts it into the containers.

Compatibility: declared vs verified

The range >=0.21.0-dev.10 <0.22.0 is DECLARED by the module author (copied from the module's module.yaml). The VERIFIED record — rows stamped exclusively by CI runs of the reusable module-system-tests workflow — lives in the registry's compat/ matrix (compat/mighty.yaml once stamped). A compatibility claim that isn't CI-verified rots: trust the matrix, read the declaration as intent.

Documentation

Registered stacks using this module

Registry notes

Public repo. v0.1.0 was validated end-to-end on Isaac Sim: 44/44 vendored gtests, synthetic smoke harness, empty-world NavigateTask flight, 7/7 practice pillar-field traversals, and 5/5 judged obstacle-route flights (min clearances 1.59–1.65 m vs a 1.0 m gate); v0.1.1 is code-identical (README delta). v0.1.2 fixes the bridge for AirStack 0.20.x — takeoff leaves the trajectory controller in ROBOT_POSE, where trajectory_override is merged but never flown, so v0.1.1 commits one trajectory and idles ("never replans"); the bridge now sets TRACK, bounds/preempts NavigateTask goals, drops stale global_plan routes and turns to the goal yaw on arrival (MIGHTY drops the goal orientation). v0.1.3 adds launch args for the mapper->planner grid seam and the altitude band (defaults unchanged). v0.1.4 is code-identical to v0.1.3: it targets AirStack 0.21.x, where MIGHTY is the DEFAULT local planner — the trunk robot image ships the nlohmann-json header dep, so the module declares no image-level deps and the default stack needs no composed layer. v0.1.5 fixes two mighty_bridge follower defects found in the first MIGHTY-default exploration runs: the follower now arms off takeoff_landing_planner/is_airborne (the 8 m climb gate never triggered after AirStack's ~3 m takeoff; fallback climb gate now 1.5 m), and landing clears the follower's route memory so repeated flights in one session fly again (the "already completed" check is keyed on plan identity, not a 2 m radius). Adds the mighty_is_airborne_topic launch arg. The v0.1.2 fixes were verified in closed-loop Isaac flights; the judged campaign was not re-run. Wrapper packages are BSD-3-Clause-Clear; vendored upstream packages (mighty, DecompROS2, acl-mapping) keep their own permissive licenses — see the module's VENDORED.md. Consumed by trunk reference stacks full_default (the no-stack default), lite_default and lite_offload_global (pin v0.1.5 or newer; use v0.1.3 on 0.20.x trunks).