sensor based planners bug algorithms. bug algorithms world: the world is, has obstacles, starting...
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.
2R
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”
sq
goalq
Hiq
Liq
Bug 0 (No memory)
1. Head toward goal2. Follow obstacle until you can head
toward goal again (left or right but not both)
3. continue
Bug 0 - Example
Assuming a left tturning robot
What map will foil bug 0?
What map will foil bug 0?
Bug 1
1. Head toward goal2. If an obstacle is encountered,
circumnavigate it and remember how close you get to the goal
3. 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
1. Head toward goal on the m-line2. If an obstacle in the way, follow it
until you encounter the m-line again.
3. 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
[0, ]( , ) min ( , [cos ,sin ]
such that [ ,
,
]
)T
Ti
x d x x
x cos siniwo
( , ), if ( , ))
, other(
wis,
eR
x xx
R
Tangent Bug
Tangent bug relies on finding endpoints of finite, continuous segments of
R
Tangent Bug
Tangent bug relies on finding endpoints of finite, continuous segments of
R
Tangent Bug – Motion to Goal
1. Move to in a straight line toward goal
2. If you “see” something in front of you
1. For any such that choosethe point that minimizes
iO ( , ) ( , ),i goal goald O q d x q
iO ( ) (, ),i i goald d O qx O
Motion to Goal Example
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. , )min (
creach goalAd d q c
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).
reach followedd d
Example – Zero Sensor Range
Example – Finite Sensor Range
Example – Infinite Sensor Range
d_followed (M) is constantly updated