feat(stacks): full_mighty reference stack + mighty module marketplace entry - #405
Merged
Merged
Conversation
Upstreams the MIGHTY local-planner integration from the paper branch: - stacks/full_mighty: full_default with the local-planner include swapped to the asm_mighty module's mighty_module.launch.xml (MIGHTY Hermite- spline planner + acl-mapping voxel world model + NavigateTask bridge); modules.repos pins asm_mighty v0.1.1. The module-swap demonstration for the modular architecture. wiring.md pending the first validated wiring-snapshot run (bootstrap rule). - Marketplace: mighty module + full_mighty stack registered in the fixture index and docs/modules regenerated (registry PR to airstack-modules-index carries the live entries); mkdocs nav + reference-stack enumerations updated. - VERSION 0.20.0-alpha.16 -> 0.20.0-alpha.17 + release notes entry. Validated at the pinned module version on Isaac Sim: 44/44 vendored gtests, synthetic smoke, empty-world NavigateTask route (goal error 0.14 m), 7/7 pillar-field traversals, 5/5 judged obstacle-route flights (min clearances 1.59-1.65 m vs the 1.0 m gate). Motivating DROAN comparison (figures + numbers) lives in the asm_mighty README. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Test Metrics —
|
andrewjong
added a commit
that referenced
this pull request
Aug 29, 2026
…nd or the deployed catalog drops the module The mighty module made it into trunk (fixture index + committed docs/modules pages, #405) while its airstack-modules-index PR sat unmerged, so the docs deploy — which regenerates the catalog from the LIVE registry — silently published a catalog without it. Record the two-merge rule and the recovery command (re-dispatch deploy_docs_from_develop) in AGENTS.md and the create-module / extract-module skills. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The DROAN GPU local planner (
droan_gl) hit an architectural ceiling on judged obstacle-route evaluation: its 2018-era reactive design has no persistent map (accumulated collision votes make cluttered pockets absorbing hover states) and its ~86° forward stereo FOV + voxel quantization produce close-quarters near-contacts. This PR upstreams the replacement integration developed on the paper branch: MIGHTY (MIT ACL, RA-L 2026, arXiv:2511.10822) — a map-based Hermite-spline planner with its acl-mapping voxel world model — packaged as the external asm_mighty module and consumed by a new reference stack. The integration doubled as the requested stress test of the RFC #379 module workflow (module add/sync/lock --buildall held up with zero manual bypasses).What's in the PR
stacks/full_mighty/—full_defaultwith exactly one wiring difference: thedroan_glinclude is replaced by the module'smighty_module.launch.xmlinclude (planner +global_mapper_rosvoxel mapper +mighty_bridge, which serves the sametasks/navigateaction and publishes to the sametrajectory_controllerseam — controller/PID/safety-monitor/takeoff-landing untouched).modules.repospins asm_mighty v0.1.1. This is the module-swap demonstration for the modular architecture: swap one include, pin one module.wiring.mdfollows the bootstrap rule (generated by the first validated wiring-snapshot run).mightymodule +full_mightystack registered: fixture index entries, regenerateddocs/modules/pages (gen_docs_catalog.py), mkdocs nav, and the reference-stack enumerations indocs/development/stacks.md,docs/robot/autonomy_modes.md,adding_a_controller.md,adding_a_world_model_and_planner.md(full_mighty is now the worked example for a module-shipped planner swap). Registry PR with the live entries: Register mighty (asm_mighty v0.1.1) + full_mighty stack airstack-modules-index#1 — merge that first so docs deploys regenerate against a registry that has the entries.0.20.0-alpha.16→0.20.0-alpha.17+ release-notes entry.Validation (at the pinned module version, Isaac Sim)
module add→sync→lock --build→bws, fresh clone from the GitHub pin)colcon test --packages-select mighty)TrajectoryXYZVYawstream outglobal_planfollower)The motivating DROAN-vs-MIGHTY comparison (quantitative table + same-field flown-track and clearance-profile figures) is in the asm_mighty README.
tests/metacontract suite passes locally (docs-catalog drift check, stack-anatomy, single-locus launch lint);mkdocs build --strictclean.Notes
full_mightyneeds castacks-member credentials; the docs deploy's per-clone failure isolation handles the unfetchable repo.full_defaultkeepsdroan_gl— flipping the trunk default planner is a separate decision.🤖 Generated with Claude Code