Skip to content

feat(stacks): full_mighty reference stack + mighty module marketplace entry - #405

Merged
andrewjong merged 1 commit into
developfrom
feature/asm-mighty-integration
Aug 29, 2026
Merged

feat(stacks): full_mighty reference stack + mighty module marketplace entry#405
andrewjong merged 1 commit into
developfrom
feature/asm-mighty-integration

Conversation

@andrewjong

Copy link
Copy Markdown
Member

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 --build all held up with zero manual bypasses).

What's in the PR

  • stacks/full_mighty/full_default with exactly one wiring difference: the droan_gl include is replaced by the module's mighty_module.launch.xml include (planner + global_mapper_ros voxel mapper + mighty_bridge, which serves the same tasks/navigate action and publishes to the same trajectory_controller seam — controller/PID/safety-monitor/takeoff-landing untouched). modules.repos pins asm_mighty v0.1.1. This is the module-swap demonstration for the modular architecture: swap one include, pin one module. wiring.md follows the bootstrap rule (generated by the first validated wiring-snapshot run).
  • Marketplace catalogmighty module + full_mighty stack registered: fixture index entries, regenerated docs/modules/ pages (gen_docs_catalog.py), mkdocs nav, and the reference-stack enumerations in docs/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#1merge that first so docs deploys regenerate against a registry that has the entries.
  • VERSION 0.20.0-alpha.160.20.0-alpha.17 + release-notes entry.

Validation (at the pinned module version, Isaac Sim)

Check Result
Module workflow (module addsynclock --buildbws, fresh clone from the GitHub pin) clean, zero manual bypasses
Vendored upstream gtests (colcon test --packages-select mighty) 44/44 (6 suites, incl. L-BFGS gradient check)
Synthetic smoke (no sim): cloud+odom in → TrajectoryXYZVYaw stream out ~10 Hz replan, no solver errors over the session
Empty-world Isaac flight: takeoff → 3-waypoint NavigateTask route → land in-order, goal error 0.14 m, clean land, no controller mode fights
Pillar-field avoidance flights (both command paths: NavigateTask + global_plan follower) 7/7 clean traversals, zero collisions, min clearances ≥ 1.06 m
Judged obstacle-route evaluation (ground-truth scoring, 1.0 m clearance gate, fresh routes per flight) 5/5 passes + validation flight, goal errors 0.01–0.15 m, min clearances 1.59–1.65 m

The motivating DROAN-vs-MIGHTY comparison (quantitative table + same-field flown-track and clearance-profile figures) is in the asm_mighty README.

tests/meta contract suite passes locally (docs-catalog drift check, stack-anatomy, single-locus launch lint); mkdocs build --strict clean.

Notes

  • asm_mighty is private until the AirStack agent study concludes, then flips public (noted in the stack README, modules.repos comment, registry entry, and release notes). Until the flip, syncing full_mighty needs castacks-member credentials; the docs deploy's per-clone failure isolation handles the unfetchable repo.
  • full_default keeps droan_gl — flipping the trunk default planner is a separate decision.
  • v0.1.1 is code-identical to the validated v0.1.0 (README-only delta).

🤖 Generated with Claude Code

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>
@andrewjong
andrewjong merged commit 6c0a4e7 into develop Aug 29, 2026
3 of 5 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Test Metrics — e79be503ba8f53d304541df5686b1af45992a7b1

No metrics report generated.

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>
@andrewjong
andrewjong deleted the feature/asm-mighty-integration branch August 29, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant