1 / 41

Reactive and Potential Field Planners

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.

tavi
Download Presentation

Reactive and Potential Field Planners

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reactive and Potential Field Planners David Johnson

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

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

  4. Bug Algorithms Assumptions: • 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 Finish Start

  5. Finish Start Bug-0 Algorithm Bug-0 Repeat: • Head toward the goal • If the goal is attained then stop • If contact is made with an obstacle then follow the obstacle’s boundary (toward the left) until heading toward the goal is possible again.

  6. Finish Finish Start Start Is Bug-0 Guaranteed to Work? No!

  7. Bug-1 Algorithm Bug-1: Repeat: • Head toward the goal • If the goal is attained then stop • 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 L2 Finish L1 Start

  8. Bug-2 Algorithm Bug-2: Repeat: • Head toward the goal along the goal-line • If the goal is attained then stop • 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 Finish leave point hit point goal-line Start

  9. Finish Start Path Followed by Bug-2?

  10. Bug-2 does better than Bug-1 Bug-1 does better than Bug-2 Finish Start Which one --- Bug-1 or Bug-2 --- does better? Finish Start

  11. Bug1 Exhaustive search Optimal leave point Performs better with complex obstacles Bug2 Opportunistic (greedy) search Performs better with simple obstacles Bug1 vs. Bug2

  12. Kinds of sensors for Bug • Tactile sensing • Infinite number? • Goal beacon • Measure distance through • Signal strength • Time-of-flight • Phase • Wheel encoders • Orientation

  13. 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!

  14. Basic Idea • Model physics of robot • Attract to goal • Repulse from obstacles

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

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

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

  18. What kind of potentials/forces to use? • Want to • minimize travel time • have stability at goal • not crash

  19. Attract to goal • Force is linear with distance • Like the spring force

  20. Attractive Potential Field

  21. Repulse from Obstacles • Use inverse quadratic • 1/dist^2 • What is that force law like?

  22. Repulsive Potential Field

  23. Vector Sum of Two Fields

  24. Resulting Robot Trajectory

  25. Main Problem

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

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

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

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

  30. MATLAB Simulation Kappa = 3 Target Potential Field Level Curves Obstacle

  31. Plotting Navigation Function Kappa = 3 Target Obstacle

  32. Increase Kappa Kappa = 4

  33. Sphere World: 5 Obstacles Kappa = 5.6 No local minima

  34. More Advanced Navigation Functions • Treat C-space as fluid flow simulation • Start is fluid source • Goal is fluid sink • Run FEA

  35. Finding a Path • Start at source • Trace path along vector field • Can have non-point source and sinks • New sources are fast to compute

More Related