Topic 9 Potential fields: Follow your potential
Path Planning B: Goal Find intermediate poses forming a path to the goal ) How can we find such paths? 2) Define pose and controls? Path on a graph: vertices - robot poses A: Start edges - traversable connection between poses (note edges are directed)
Approaches to path planning Search (fixed graph) DFS, BFS, Dijkstra, A* Search (build graph): Probabilistic Road Maps Rapidly-exploring Random Trees Optimization (local search): Potential fields, gradient descent
Potential field volcanic on fire Energy potential converges at goal heating up How do we define this potential? colder a little warmer cold
Potential Energy Energy stored in a physical system For objects acting only w.r.t. gravity PE = mass*height*gravity
Convergent Potentials let s call these attractor landscapes Start Start Goal Goal basin of attraction
2D potential navigation z: height indicates potential at location x = Start x d = Goal basin of attraction x-y plane: robot position
Cone Attractor x d = Goal Attractor Start w: weight (x d -x): direction x d -x : distance u = w(x d -x)/ x d -x x = Start Goal top view side view
Cone Attractor x d = Goal Attractor x d -x Start w: weight (x d -x): direction x d -x : distance (x d -x) u = w(x d -x)/ x d -x x = Start Goal top view side view
Cone Attractor x d = Goal Attractor x d -x Start w: weight (x d -x): direction x d -x : distance (x d -x) unit vector (x d -x)/ x d -x u = w(x d -x)/ x d -x x = Start Goal top view side view
Cone Attractor x d = Goal Attractor x d -x Start w: weight (x d -x): direction x d -x : distance (x d -x) unit vector (x d -x)/ x d -x u = w(x d -x)/ x d -x w x = Start Goal top view side view
Bowl Attractor x d = Goal Start u = exp(- x d -x /w) (x d -x) Goal x = Start top view side view
exp(-d/w) exp(-d/0) exp(-d/w) : influence of potential exp(-d/) exp(-d/0.5) exp(-d/.0) d = distance exp(-d/2)
Multiple potentials Output of potential field is a vector potential 2 (x) potential (x) How to combine or select between multiple potentials?
Multiple potentials i potential i (x) Output of potential field is a vector potential 2 (x) potential (x) Combine multiple potentials through vector summation u = i potential i (x) or u = potential (x)+ potential (x)
describe performance for this case Goal Current
describe performance for this case Goal Obstacles Repellors Current
describe performance for this case how do we deal with repellors? Goal Obstacles Repellors Current
Cone Repellor potential problems Obstacle Repellor Goal reverse direction u = w(x-x d )/ x d -x x = Start Start top view side view
Bowl Repellor Obstacle Repellor Goal u = exp(- x-x d /w) (x d -x) Start x = Start top view side view
describe performance for this case Goal Current
describe performance for this case Goal Current
describe performance for this case Goal Current
matlab example /course/cs48/pub/pfield.m How to address local minima?
[Prin. of Robot Motion] Wavefront planning Combine search with potential field Start: mark with 0 0 Goal: mark with 2
[Prin. of Robot Motion] Wavefront planning Obstacles: mark with 0
[Prin. of Robot Motion] Wavefront planning 0 BFS away from goal, mark depth unless
[Prin. of Robot Motion] Wavefront planning 0
[Prin. of Robot Motion] Wavefront planning 0
[Prin. of Robot Motion] Wavefront planning 0
[Prin. of Robot Motion] Wavefront planning 0
[Prin. of Robot Motion] Wavefront planning
[Prin. of Robot Motion] Wavefront planning Once start reached, follow potential to goal