april 20111 bug algorithms shmuel wimer bar ilan univ., school of engineering

15
April 2011 1 Bug Algorithms Shmuel Wimer Bar Ilan Univ., School of Engineering

Upload: charlotte-eaton

Post on 16-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

April 2011 1

Bug Algorithms

Shmuel Wimer

Bar Ilan Univ., School of Engineering

April 2011 2

Bug1 and Bug2 Algorithm

• Move towards the goal, unless an obstacle is

encountered.

• Circumnavigate the obstacle until motion toward the goal

is again allowable.

• Robot is assumed to be a point with perfect positioning.

• Robot has a contact sensor which detects the obstacle

boundary if it touches it.

• The robot can measure the distance d(x,y) between any

two points.

• The workspace is bounded.

April 2011 3

The Bug1 algorithm successfully finds the goal.

April 2011 4

• Bug1 exhibits two behaviors:

– motion to goal, and

– boundary following.

• The robot moves along a line from qstart to qgoal until it hits

an obstacle at a hit point - q1,hit.

• It circumnavigate the obstacle until it returns the hit point.

• It then determines the nearest point to qgoal and traverses

along the boundary to that leave point - q1,leave.

• From q1,leave it heads straight to qgoal again.

• The algorithm terminates when qgoal is reached or the

planner determines that qgoal is not reachable.

April 2011 5

The Bug1 algorithm reports the goal is unreachable.

April 2011 6

The Bug2 algorithm

successfully finds the

goal.

April 2011 7

The Bug2 algorithm reports the goal is unreachable.

April 2011 8

• Bug2 also exhibits two behaviors:

– motion to goal, and

– boundary following.

• The motion line is fixed, connecting qstart to qgoal.

• From a hit point qi,hit it circumnavigate an obstacle until it

reaches a new point along the motion line, closer to qgoal.

• If it returns to qi,hit the goal is not reachable.

• At first glance it seems that Bug1 is more effective than

Bug2, yielding a shorter path.

• This is not always the case.

April 2011 9

April 2011 10

For Bug1, when the robot hits an obstacle it completely

circumnavigate the boundary and then returns to the leave

point, traversing it 1.5 times in the worst case. If there are

n obstacles then:

Bug1 start goal 1, 1.5

n

iiL d q q p

Let the motion line connecting qstart to qgoal intersects and

obstacle ni times. Bug2 may perform a complete traversal

of the boundary on half of those point. Therefore:

Bug2 start goal 1

1,

2

n

i iiL d q q n p

LBug2 can be arbitrarily longer than LBug1.

April 2011 11

Tangent Bug

The robot has an azimuth distance sensor with infinitesimal angular resolution. For every point of an obstacle, azimuth distance is defined:

2

0,

: 0,360 .

For cos ,sin , define

, min cos ,sin .

T

i i

Tx d x

R R.

.WO

The range of the sensor is usually limited.

, , if ,,

, otherwise. R

x x Rx

April 2011 12

ρR is piecewise continuous.

The tangent Bug planner

assumes that the robot can

detect discontinuities in ρR.

Intervals of continuity:

[O1,O2] , [O3,O4], [O5,O6] and [O7,O8]

April 2011 13

• Like Bug1 and Bug2, Tangent Bug has motion-to-goal

and boundary-following behaviors.

• Unlike Bug1 and Bug2, its motion-to-goal behavior may

have both straight and boundary following phases.

Similarly, in boundary-following behavior it may have a

straight motion phase.

• The robot starts in a motion-to-goal by moving straight

towards the goal until it senses an obstacle at distance

of R units.

• By definition, the line connecting the robot to the goal

must intersect an interval of continuity.

April 2011 14

The robot is sensing

WO1 and WO2, but

ignores WO1.

After touching WO2

the first time, an

interval [O1,O2] of

continuity is defined.

The robot then moves towards Oi that maximally decreases

a heuristic distance to goal, for example, d(x,Oi)+d(Oi,qgoal).

April 2011 15

2t 1t 3t

Motion-to-goal is also following boundary