Add perception-aware lattice A* planning (transplant from mad_demo) - #34
Open
nehirgerek wants to merge 1 commit into
Open
Add perception-aware lattice A* planning (transplant from mad_demo)#34nehirgerek wants to merge 1 commit into
nehirgerek wants to merge 1 commit into
Conversation
Brings the perception-aware global planner onto the dev-rr-mad-eth-elevation
branch. Plans a heading-lattice A* over the tristate belief (FREE/OCC/UNK)
under a sensor-coverage invariant: an unknown cell may only be traversed if it
was (or will be) observed from the primitive start pose or a back-projected
virtual pose (Livox Mid-360 tilted-ground FOV model). Enabled per-config for
ground-robot 2D planning via perception_aware_planning; otherwise a no-op.
Contents:
- perception_planner.{hpp,cpp}: sensor models (Mid360FOV, AnnulusSensor),
motion primitives, memoized Amanatides-Woo visibility, lattice A* with
timeout/max-expand guards and best-node partial recovery, ladder-based
coverage audit (diagnostic).
- hgp_planner: configurePerceptionAware() + planPerceptionAware(); plan()
routes through it when enabled. Fail-stop: never falls back to grid A*;
rejects the replan (robot holds) when the belief is not ready or not in 2D
mode. Partial paths gated on >= ~1 cell net progress; partial-ness exposed
via getters and logged.
- hgp_manager / mighty_type / mighty_node / config: plumb the enable flag and
hand the planner the tristate belief + robot radius.
- scripts/diag_grid_test.py, scripts/mid360_fov_viz.py, launch/diag_test.launch.py,
rviz overlay: RViz test harness and FOV visualization.
Merge notes: transplanted onto the diverged eth-elevation line; only
CMakeLists.txt conflicted (union of installed scripts). The graph_search
diagonal corner-cut fix was already present on this branch.
NOTE: NOT yet compiled or run in sim on this branch. A colcon build,
frontier-start sim validation, and confirmation that the Mid-360 extrinsics
match the real rover are all still outstanding before any rover deployment.
Co-Authored-By: Claude Opus 4.8 <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.
Brings the perception-aware global planner onto the dev-rr-mad-eth-elevation branch. Plans a heading-lattice A* over the tristate belief (FREE/OCC/UNK) under a sensor-coverage invariant: an unknown cell may only be traversed if it was (or will be) observed from the primitive start pose or a back-projected virtual pose (Livox Mid-360 tilted-ground FOV model). Enabled per-config for ground-robot 2D planning via perception_aware_planning; otherwise a no-op.
Contents:
Merge notes: transplanted onto the diverged eth-elevation line; only CMakeLists.txt conflicted (union of installed scripts). The graph_search diagonal corner-cut fix was already present on this branch.
NOTE: NOT yet compiled or run in sim on this branch. A colcon build, frontier-start sim validation, and confirmation that the Mid-360 extrinsics match the real rover are all still outstanding before any rover deployment.