Skip to content

New easynav_bonxai_planner: 3D A* with clearance over Bonxai maps - #170

Merged
fmrico merged 1 commit into
rollingfrom
bonxai_planner
Nov 1, 2026
Merged

fmrico merged 1 commit into
rollingfrom
bonxai_planner

Conversation

@fmrico

@fmrico fmrico commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Closes #168.

New package easynav_bonxai_planner (plugin easynav_bonxai_planner/BonxaiPlanner). It plans 3D paths for aerial robots over map.bonxai, as follows:

  • Clearance grid: an exact Euclidean distance transform of the occupied voxels, built once per map.
    • fill_below sets what counts as solid below the scanned surfaces. lowest makes the ground solid. highest makes buildings solid blocks, as in an elevation map.
    • Columns with gaps take their neighbours' height.
  • Search: 26-connected A* that only goes through cells at least min_clearance from the obstacles. Steps closer than preferred_clearance cost more.
  • Start and goal: if one is too close to an obstacle, it moves to the nearest free cell within snap_radius.
  • Path: shortcuts wherever the clearance allows, then sampled every path_step and smoothed. The smoothing never moves a point closer than min_clearance.
  • No path: the warning says why (start blocked, goal blocked, unreachable).

Tests: unit tests for the distance transform, fill_below, A*, snapping and the smoother, plus plugin tests.

In Gazebo: with the MPC from #169, it guided the UFO of the aerial playground through a town, between buildings and over them.

Builds: Humble, Jazzy, Kilted, Lyrical and Rolling.

Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
@fmrico
fmrico merged commit 8a6330f into rolling Nov 1, 2026
1 check passed
@fmrico
fmrico deleted the bonxai_planner branch November 1, 2026 13:52
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.

3D path planner over Bonxai maps for aerial robots

1 participant