270 likes | 383 Views
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.
E N D
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 tturning robot
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 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 exhaustivesearch 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 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 choosethe point that minimizes
What if the distance starts to go up? • M is the point with shortestdistance to goal
What if the distance starts to go up? • M is the point with shortestdistance 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).