# Sensor Based Planners Bug algorithms.

## Presentation on theme: "Sensor Based Planners Bug algorithms."— Presentation transcript:

Sensor Based Planners Bug algorithms

Bug Algorithms World: The world is , has obstacles, starting point {S} and target point {T} The obstacles are closed and simple. Each point belongs at most to one obstacle. The world contains a finite number of obstacles locally.

Bug Algorithms Robot The robot is a point (Configuration Space)
The robot knows his position The robot knows the target position Equipped with a sensor Infinite memory (though not necessary..)

Bug Behaviors Bug behaviors are simple:
Move in a straight line to the target Follow a wall (right or left)

Definitions Start point Target point “Hit point” “Leave point”

Bug 0 (No memory) Head toward goal
Follow obstacle until you can head toward goal again (left or right but not both) continue

Bug 0 - Example Assuming a left t turning robot

What map will foil bug 0?

What map will foil bug 0?

Bug 1 Head toward goal If an obstacle is encountered, circumnavigate it and remember how close you get to the goal Return to the closest point (by wall-following and continue)

Bug 1 - Example

Bug 2 Call the line from the starting point to the goal the m-line
Head toward goal on the m-line If an obstacle in the way, follow it until you encounter the m-line again. Leave the obstacle and continue toward goal.

Bug1 vs Bug2 Bug1 is an exhaustive search algorithm
It looks all the choices before committing Bug2 is a greedy algorithm It takes the first thing that looks better In many cases Bug2 will outperform bug 1

Tangent Bug Assume we have a range sensor (with a finite resolution and is noisy)

Tangent Bug

Tangent Bug Tangent bug relies on finding endpoints of finite, continuous segments of

Tangent Bug Tangent bug relies on finding endpoints of finite, continuous segments of

Tangent Bug – Motion to Goal
Move to in a straight line toward goal If you “see” something in front of you For any such that choose the point that minimizes

Motion to Goal Example

What if the distance starts to go up?
M is the point with shortest distance to goal

What if the distance starts to go up?
M is the point with shortest distance to goal Start to act like a BUG! And follow boundary

d_reach and d_follow d_follow: is the shortest distance between the boundary which had been sensed and the goal. (observed thus far) d_reach: let A be all the points within line of sight of x with range R that are on the followed obstacle.

Tangent Bug – terminate boundary-following behavior
When We found a point on the obstacle, which is closer to the goal than any point we sensed so far (on the currently followed obstacle).

Example – Zero Sensor Range

Example – Finite Sensor Range

Example – Infinite Sensor Range

d_followed (M) is constantly updated