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
- Motion-to-Goal: move one step toward the goal on the integer grid. If the next cell is an obstacle, enter Boundary-Following mode.
- 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 thand_reach(the distance recorded when boundary-following began).
Reference: Kamon & Rivlin (1997), Sensory-based motion planning with global proofs, IEEE Trans. Robotics & Automation.
Structs§
- Tangent
BugConfig - Configuration for the
TangentBugPlanner. - Tangent
BugPlanner - Tangent Bug planner operating on an integer grid.
- Tangent
BugResult - The planned path returned by
TangentBugPlanner::plan.