reactive and potential field planners

41
Reactive and Potential Field Planners David Johnson

Upload: tavi

Post on 23-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Reactive and Potential Field Planners. David Johnson. Previously. Use geometric reasoning to build path in environment Visibility graphs Cell decompositions Use robot controls to generate forces to follow path Such complete knowledge of environment is rare May need to react to sensor data. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reactive and Potential Field Planners

Reactive and Potential Field Planners

David Johnson

Page 2: Reactive and Potential Field Planners

Previously• Use geometric reasoning to build path in

environment– Visibility graphs– Cell decompositions

• Use robot controls to generate forces to follow path

• Such complete knowledge of environment is rare

• May need to react to sensor data

Page 3: Reactive and Potential Field Planners

A Simple Approach for Unknown Environments

• Bug algorithms– Highlights the sort of approach needed for

simple robots with simple sensors• From the text – but find the errata chapter

online

Page 4: Reactive and Potential Field Planners

Bug AlgorithmsAssumptions: The robot is modeled as a point The obstacles are bounded and

are finite The robot senses perfectly its

position and can measure traveled distance

The robot can perfectly detect contacts and their orientations

The robot can compute the direction to the goal and the distance between two points, and has small amount of memory

Start

Finish

Page 5: Reactive and Potential Field Planners

Bug-0 AlgorithmBug-0Repeat:1. Head toward the goal 2. If the goal is attained then

stop3. If contact is made with an

obstacle then follow the obstacle’s boundary (toward the left) until heading toward the goal is possible again.Start

Finish

Page 6: Reactive and Potential Field Planners

Is Bug-0 Guaranteed to Work?

Start

Finish

Start

FinishNo!

Page 7: Reactive and Potential Field Planners

Bug-1 AlgorithmBug-1:Repeat:1. Head toward the goal2. If the goal is attained then

stop3. If contact is made with an

obstacle then circumnavigate the obstacle (by wall-following), remember the closest point Li to the goal, and return to this point by the shortest wall-following path

Start

Finish

L1

L2

Page 8: Reactive and Potential Field Planners
Page 9: Reactive and Potential Field Planners

Bug-2 AlgorithmBug-2:Repeat:1. Head toward the goal along

the goal-line2. If the goal is attained then

stop3. If a hit point is reached then

follow the obstacle’s boundary (toward the left) until the goal-line is crossed at a leave point closer to the goal than the previous hit point

Start

Finish

goal-line

leave point

hit point

Page 10: Reactive and Potential Field Planners

Start

Finish

Path Followed by Bug-2?

Page 11: Reactive and Potential Field Planners

Start

Finish

Start

FinishBug-2 does better than Bug-1 Bug-1 does better than Bug-2

Which one --- Bug-1 or Bug-2 --- does better?

Page 12: Reactive and Potential Field Planners

Bug1 vs. Bug2

Bug1• Exhaustive search• Optimal leave point• Performs better with complex obstacles

Bug2• Opportunistic (greedy) search• Performs better with simple obstacles

Page 13: Reactive and Potential Field Planners

Kinds of sensors for Bug• Tactile sensing

– Infinite number?• Goal beacon

– Measure distance through• Signal strength • Time-of-flight• Phase

• Wheel encoders• Orientation

Page 14: Reactive and Potential Field Planners

Potential Field Planners

• Can use range information better– Also tangent bug planner in text

• Can also be used in known environment– Fast– Reactive to local data

• Rather than – generate forces from path – old approach– generate path from forces!

Page 15: Reactive and Potential Field Planners

Basic Idea

• Model physics of robot• Attract to goal• Repulse from obstacles

Page 16: Reactive and Potential Field Planners

Basic Idea• Originally was described in terms of

potentials– Potential energy is energy at a position (or

configuration)– integral of force

– Force is derivative of potential energy

• Gradient in higher dimensions

q

qqUdqqFqU

0

)()()( 0

)(qFdqdU

),,()())((1 nq

UqUqUqUgrad

Page 17: Reactive and Potential Field Planners

Potential Field Path Planning

• Potential function guides the robot as if it were a particle moving in a gradient field.

• Analogy: robot is positively charged particle, moving towards negative charge goal

• Obstacles have “repulsive” positive charge

Page 18: Reactive and Potential Field Planners

• Potential functions can be viewed as a landscape

• Robot moves from high-value to low-value Using a “downhill” path (i.e negative of the

gradient).• This is known as gradient descent –follow

a functional surface until you reach its minimum– Really, an extremum

Page 19: Reactive and Potential Field Planners
Page 20: Reactive and Potential Field Planners

What kind of potentials/forces to use?

• Want to – minimize travel time– have stability at goal– not crash

Page 21: Reactive and Potential Field Planners

Attract to goal

• Force is linear with distance– Like the spring force

Page 22: Reactive and Potential Field Planners

Attractive Potential Field

Page 23: Reactive and Potential Field Planners

Repulse from Obstacles

• Use inverse quadratic– 1/dist^2– What is that force law like?

Page 24: Reactive and Potential Field Planners

Repulsive Potential Field

Page 25: Reactive and Potential Field Planners

Vector Sum of Two Fields

Page 26: Reactive and Potential Field Planners

Resulting Robot Trajectory

Page 27: Reactive and Potential Field Planners

Main Problem

Page 28: Reactive and Potential Field Planners
Page 29: Reactive and Potential Field Planners

Some solutions to local minima

• Build graph from local minima– Search graph

• Random pertubation to escape– Make sure you don’t push into obstacle

• Change parameters to get unstuck– Might not work

• Build potential field with only one minimum– Navigation function

Page 30: Reactive and Potential Field Planners

Rotational and Random Fields• Not gradients of potential

functions• Adding a rotational field

around obstacles– Breaks symmetry– Avoids some local minima– Guides robot around groups

of obstacles• A random field gets the

robot unstuck.– Avoids some local minima.

Page 31: Reactive and Potential Field Planners

Navigation Function N(p)• A potential field leading to a given goal,

with no local minima to get stuck in.• For any point p, N(p) is the minimum

cost of any path to the goal.• Use a wavefront algorithm, propagating

from the goal to the current location.– An active point updates costs of its 8

neighbors.– A point becomes active if its cost

decreases.– Continue to the robot’s current position.

Page 32: Reactive and Potential Field Planners
Page 33: Reactive and Potential Field Planners
Page 34: Reactive and Potential Field Planners
Page 35: Reactive and Potential Field Planners

Sphere Worlds• World in which Navigation Problem is solved

– compact, connected subset of En – boundary formed by disjoint union of finite number of

spheres– valid sphere world provided obstacle closures are

contained within the workspace

Page 36: Reactive and Potential Field Planners

-20 -15 -10 -5 0 5 10 15 20-20

-15

-10

-5

0

5

10

15

20

MATLAB Simulation

Obstacle

Target

Potential Field Level Curves

Kappa = 3

Page 37: Reactive and Potential Field Planners

Plotting Navigation FunctionKappa = 3

Obstacle

Target

Page 38: Reactive and Potential Field Planners

Increase Kappa

-20 -15 -10 -5 0 5 10 15 20-20

-15

-10

-5

0

5

10

15

20

Kappa = 4

-20 -15 -10 -5 0 5 10 15 20-20

-10

0

10

20

0

0.2

0.4

0.6

0.8

1

Page 39: Reactive and Potential Field Planners

Sphere World: 5 Obstacles

-25 -20 -15 -10 -5 0 5 10 15 20 25-20

-15

-10

-5

0

5

10

15

20

Kappa = 5.6

No local minima

Page 40: Reactive and Potential Field Planners

More Advanced Navigation Functions

• Treat C-space as fluid flow simulation

• Start is fluid source• Goal is fluid sink• Run FEA

Page 41: Reactive and Potential Field Planners

Finding a Path• Start at source• Trace path along

vector field• Can have non-point

source and sinks• New sources are fast

to compute