Skip to main content

Module tangent_bug

Module tangent_bug 

Source
Expand description

Tangent Bug path planning algorithm.

An improvement over the basic Bug algorithms that uses a finite-range sensor to detect obstacle boundaries and selects the tangent point that minimises the heuristic distance to the goal.

§Algorithm summary

  1. Motion-to-Goal: move one step toward the goal on the integer grid. If the next cell is an obstacle, enter Boundary-Following mode.
  2. Boundary-Following: scan all boundary cells within sensor_range, pick the one with the minimum Euclidean distance to goal as the tangent point. Walk along the obstacle boundary (4-connected free cells adjacent to at least one obstacle cell) in the direction that makes progress toward the tangent point. Switch back to Motion-to-Goal when the direct path to the goal is unobstructed and the current distance to the goal is less than d_reach (the distance recorded when boundary-following began).

Reference: Kamon & Rivlin (1997), Sensory-based motion planning with global proofs, IEEE Trans. Robotics & Automation.

Structs§

TangentBugConfig
Configuration for the TangentBugPlanner.
TangentBugPlanner
Tangent Bug planner operating on an integer grid.
TangentBugResult
The planned path returned by TangentBugPlanner::plan.