sensor based planners
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Sensor Based PlannersBug 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 t
turning robot
What map will foil bug 0?
What map will foil bug 0?
Bug 11. 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-line1. 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 Goal1. Move to in a straight line toward
goal2. If you “see” something in front of
you1. 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