Presentation on theme: "Reactive and Potential Field Planners"— Presentation transcript:
1 Reactive and Potential Field Planners David Johnson
2 Previously Use geometric reasoning to build path in environment Visibility graphsCell decompositionsUse robot controls to generate forces to follow pathSuch complete knowledge of environment is rareMay need to react to sensor data
3 A Simple Approach for Unknown Environments Bug algorithmsHighlights the sort of approach needed for simple robots with simple sensorsFrom 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 finiteThe robot senses perfectly its position and can measure traveled distanceThe robot can perfectly detect contacts and their orientationsThe robot can compute the direction to the goal and the distance between two points, and has small amount of memoryFinishStart
5 Bug-0 Algorithm Bug-0 Repeat: Head toward the goal StartFinishBug-0Repeat:Head toward the goalIf the goal is attained then stopIf contact is made with an obstacle then follow the obstacle’s boundary (toward the left) until heading toward the goal is possible again.Sort of like maze solving rules
6 Is Bug-0 Guaranteed to Work? No!StartFinishStartFinish
7 Bug-1 Algorithm Bug-1: Repeat: Head toward the goal If the goal is attained then stopIf 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 pathL2FinishL1Start
9 Bug-2 Algorithm Bug-2: Repeat: Head toward the goal along the goal-lineIf the goal is attained then stopIf 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 pointFinishleave pointhit pointgoal-lineStart
11 Which one --- Bug-1 or Bug-2 --- does better? Bug-2 does better than Bug-1Bug-1 does better than Bug-2StartFinishFinishStart
12 Bug1 vs. Bug2 Bug1 Bug2 Exhaustive search Optimal leave point Performs better with complex obstaclesBug2Opportunistic (greedy) searchPerforms better with simple obstacles
13 Kinds of sensors for Bug Tactile sensingInfinite number?Goal beaconMeasure distance throughSignal strengthTime-of-flightPhaseWheel encodersOrientation
14 Potential Field Planners Can use range information betterAlso tangent bug planner in textCan also be used in known environmentFastReactive to local dataRather thangenerate forces from path – old approachgenerate path from forces!
15 Basic Idea Model physics of robot Attract to goal Repulse from obstacles
16 Basic Idea Originally was described in terms of potentials Potential energy is energy at a position (or configuration)integral of forceForce is derivative of potential energyGradient in higher dimensions
17 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 goalObstacles have “repulsive” positive charge
18 Potential functions can be viewed as a landscape Robot moves from high-value to low-valueUsing a “downhill” path (i.e negative of the gradient).This is known as gradient descent –follow a functional surface until you reach its minimumReally, an extremum
19 How would you land on a maximum by moving downhill (jump onto small hill)
20 What kind of potentials/forces to use? Want tominimize travel timehave stability at goalnot crash
21 Attract to goalForce is linear with distanceLike the spring force
29 Some solutions to local minima Build graph from local minimaSearch graphRandom pertubation to escapeMake sure you don’t push into obstacleChange parameters to get unstuckMight not workBuild potential field with only one minimumNavigation function
30 Rotational and Random Fields Not gradients of potential functionsAdding a rotational field around obstaclesBreaks symmetryAvoids some local minimaGuides robot around groups of obstaclesA random field gets the robot unstuck.Avoids some local minima.
31 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.
35 Sphere Worlds World in which Navigation Problem is solved compact, connected subset of Enboundary formed by disjoint union of finite number of spheresvalid sphere world provided obstacle closures are contained within the workspace