sensor based planners bug algorithms. bug algorithms world: the world is, has obstacles, starting...

27
Sensor Based Planners Bug algorithms

Upload: duane-padelford

Post on 14-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Sensor Based Planners

Bug algorithms

Page 2: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 3: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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..)

Page 4: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Bug Behaviors

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

Page 5: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Definitions

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

sq

goalq

Hiq

Liq

Page 6: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 7: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Bug 0 - Example

Assuming a left tturning robot

Page 8: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

What map will foil bug 0?

Page 9: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

What map will foil bug 0?

Page 10: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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)

Page 11: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Bug 1 - Example

Page 12: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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.

Page 13: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 14: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Tangent Bug

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

Page 15: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Tangent Bug

[0, ]( , ) min ( , [cos ,sin ]

such that [ ,

,

]

)T

Ti

x d x x

x cos siniwo

( , ), if ( , ))

, other(

wis,

eR

x xx

R

Page 16: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Tangent Bug

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

R

Page 17: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Tangent Bug

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

R

Page 18: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 19: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Motion to Goal Example

Page 20: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

What if the distance starts to go up?

M is the point with shortestdistance to goal

Page 21: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 22: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 23: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

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

Page 24: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Example – Zero Sensor Range

Page 25: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Example – Finite Sensor Range

Page 26: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

Example – Infinite Sensor Range

Page 27: Sensor Based Planners Bug algorithms. Bug Algorithms World: The world is, has obstacles, starting point {S} and target point {T} The obstacles are closed

d_followed (M) is constantly updated