Path Planning
Path Planning
1 / 118
Overview of the Lecture
□ Part 1 – Path Planning –
Introduction to Path
Planning
Notation and
Terminology Path
Planning Methods
□ Part 2 – Grid and Graph based Path Planning
Methods Grid-based Planning
DT for Path Planning
Graph Search
Algorithms D* Lite
Path Planning based 2 / 118
Introduction to Path Planning Notation Path Planning Methods
Part I
Part 1 – Path and Motion
Planning
3 / 118
Introduction to Path Planning Notation Path Planning Methods
Outlin
e
Introduction to Path
Planning
Notation and
Terminology Path
Planning Methods
4 / 118
Introduction to Path Planning Notation Path Planning Methods
Having a CAD model of the piano, model of the environment, the problem is how
to move the piano from one place to another without hitting anything.
Basic motion planning algorithms are focused primarily on rotations and translations.
□ We need notion of model representations and formal definition of
□ the problem. Moreover, we also need a context about the problem
and realistic assumptions.
6 / 118
Introduction to Path Planning Notation Path Planning Methods
Having a CAD model of the piano, model of the environment, the problem is how
to move the piano from one place to another without hitting anything.
Basic motion planning algorithms are focused primarily on rotations and translations.
□ We need notion of model representations and formal definition of
□ the problem. Moreover, we also need a context about the problem
and realistic assumptions.
6 / 118
Introduction to Path Planning Notation Path Planning Methods
Robotic Planning
Mission Planning Context
Tasks and Actions Plans
symbol level
Motion Planning
Problem Path Trajectory
Planning Planning
Models of
Path
robot and
workspace
"geometric" level
Trajectory
Robotic Planning
Mission Planning Context
Tasks and Actions Plans
symbol level
Models of
Path
robot and
workspace
"geometric" level
Robotic Planning
Mission Planning Context
Tasks and Actions Plans
symbol level
Models of
Path
robot and
workspace
"geometric" level
Robotic Planning
Mission Planning Context
Tasks and Actions Plans
symbol level
Models of
Path
robot and
workspace
"geometric" level
Robotic Planning
Mission Planning Context
Tasks and Actions Plans
symbol level
Models of
Path
robot and
workspace
"geometric" level
Real Mobile
Robots
In a real deployment, the problem is more
complex.
Real Mobile
Robots
In a real deployment, the problem is more
complex.
Real Mobile
Robots
In a real deployment, the problem is more
complex.
Outlin
e
Introduction to Path
Planning
Notation and
Terminology Path
Planning Methods
Introduction to Path Planning Notation Path Planning Methods
Notation
□ W – World model describes the robot workspace and its boundary
determines the
obstacles O i .
2D world, W
= R2
Notation
□ W – World model describes the robot workspace and its boundary
determines the
obstacles O i .
2D world, W
= R2
Notation
□ W – World model describes the robot workspace and its boundary
determines the
obstacles O i .
2D world, W
= R2
Notation
□ W – World model describes the robot workspace and its boundary
determines the
obstacles O i .
2D world, W
= R2
Notation
□ W – World model describes the robot workspace and its boundary
determines the
obstacles O i .
2D world, W
= R2
Planning in C-
space
Robot motion planning robot for a disk robot with a
Goal position
Cfree
Cobst
Start position
Start configuration
Cobs
x
x
Cobs
x
x
Representation of C-space
How to deal with continuous representation of C-space?
↓
Discre tization
processing critical geometric events, (random)
sampling
roadmaps, cell decomposition, potential field
↓
Graph Search Techniques
BFS, Gradient Search, A∗
14 / 118
Introduction to Path Planning Notation Path Planning Methods
Representation of C-space
How to deal with continuous representation of C-space?
↓
Discre tization
processing critical geometric events, (random)
sampling
roadmaps, cell decomposition, potential field
↓
Graph Search Techniques
BFS, Gradient Search, A∗
Introduction to Path Planning Notation Path Planning Methods
Outlin
e
Introduction to Path
Planning
Notation and
Terminology Path
Planning Methods
Introduction to Path Planning Notation Path Planning Methods
Planning Methods -
(selected approaches)
Overview
□ Point-to-point path/motion planning. Multi-goal path/motion/trajectory planning later
Planning Methods -
(selected approaches)
Overview
□ Point-to-point path/motion planning. Multi-goal path/motion/trajectory planning later
1. Compute visibility
Visibility
graph
2. Find the shortest Graph E.g., by Dijkstra’s algorithm.
path
1. Compute visibility
Visibility
graph
2. Find the shortest Graph E.g., by Dijkstra’s algorithm.
path
Voronoi Graph
1. Roadmap is Voronoi graph that maximizes clearance from the
obstacles.
2. Start and goal positions are connected to the graph.
3. Path is found using a graph search algorithm.
Voronoi graph
□ It maximize clearance, which can provide conservative
paths.
□ Small changes in obstacles can lead to large changes in
the graph.
□ Complicated in higher dimensions.
Cell
1. Decompose free space into Decomposition
Any two points in a convex region can be directly connected by a
parts. segment.
2. Create an adjacency graph representing the connectivity of the
free space.
3. Find a path in the graph.
Trapezoidal decomposition
qg
q0
Masato Edahiro, Iwao Kokubo and Takao Asano: A new point-location algorithm and its practical efficiency: comparison with
existing algorithms, ACM Trans. Graph., 3(2):86–109, 1984.
□ It can be implemented using interval trees – slabs and slices.
Point location problem, SPM and similarly problems are from the Computational Geometry field.
B4M36UIR – Lecture 03: Path Planning 23 / 118
Introduction to Path Planning Notation Path Planning Methods
Masato Edahiro, Iwao Kokubo and Takao Asano: A new point-location algorithm and its practical efficiency: comparison with
existing algorithms, ACM Trans. Graph., 3(2):86–109, 1984.
□ It can be implemented using interval trees – slabs and slices.
Point location problem, SPM and similarly problems are from the Computational Geometry field.
B4M36UIR – Lecture 03: Path Planning 23 / 118
Introduction to Path Planning Notation Path Planning Methods
Path Refinement
□Testing collision of the point p with particular vertices of the estimation of the
shortest path.
□ Let the initial path estimation from p to pg be a sequence of k vertices (p, v1, . . . ,
vk , pg ).
□ We can iteratively test if the segment (p, v ), 1 < i ≤ k is collision free up to
i
(p, pg ).
Navigation
□ Mesh
In addition to robotic approaches, fast shortest path queries are studied in
computer games.
□ There is a class of algorithms based on navigation mesh.
□ A supporting structure representing the free space.
It usually originated from the grid based maps, but it is represented as CDT – Constrained
DelaUnay triangUlation.
∇ 2 f (q) = 0.
Part II
Part 2 – Grid and Graph based Path Planning
Methods
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Outlin
e
Grid-based Planning
Graph Search
Algorithms D* Lite
Grid-based
□ A subdivision of Cfree Planning
into smaller cells.
□ Grow obstacles can be simplified by growing
bor- ders by a diameter of the
qstart qgoal
robot.
□ Construction of the planning graph G = (V ,
E ) for
V □as4-neighbors andand
a set of cells 8- E as the neighbor-
neighbors
relations.
Grid-based Environment
□ Representations
Hiearchical planning with coarse resolution and re-planning on finer
resolution.
Holte, R. C. et al. (1996): Hierarchical A *: searching abstraction hierarchies
efficiently. AAAI.
Path Simplification
□ The initial path is found in a grid using 8-neighborhood.
□ The rayshoot cast a line into a grid and possible collisions of the robot
with obstacles are checked.
□ The “farthest” cells without collisions are used as “turn” points.
□ The final path is a sequence of straight line segments.
Bresenham’s Line
□ Algorithm
Filling a grid by a line with avoding float
y1 −y0
□ A line from (x
numbers. 0 , 0y ) to 1 (x , y ) is given by x1 −x0 (x − x 0) +
1 y=
CoordsVector& 1
bresenham(const Coords& p t 1 , const Coords& p t 2 , 26 y i n. t twoDy
0 = 2 * dy;
CoordsVector& l i n e ) 27 int twoDyTwoDx = twoDy - 2 * dx; //2*Dy - 2*Dx
2 { 28 int e = twoDy - dx; //2*Dy - Dx
3 // The pt2 point i s not added in to line int y = y0;
29 int xDraw, yDraw;
4 i n t x0 = p t 1 . c ; i n t y0 = p t 1 . r ; for ( i n t x = x0; x != x1; x += xstep)
30 { i f (steep) {
5 i n t x1 = p t 2 . c ; i n t y1 = p t 2 . r ; xDraw = y;
31 yDraw = x ;
6 Coords p; 32 } else {
7 i n t dx = x1 - x0; xDraw = x;
33 yDraw = y;
8 i n t dy = y1 - y0; }
34 p . c = xDraw;
9 i n t steep = (abs(dy) >= abs(dx)); p . r = yDraw;
35 line.push_back(p); // add to the line i f
10 i f (steep) { (e > 0) {
36 e += twoDyTwoDx; //E += 2*Dy - 2*Dx
11 SWAP(x0, y0); y = y + ystep;
37 } else {
12 SWAP(x1, y1); e += twoDy; //E += 2*Dy
38 }
13 dx = x1 - x0; // recompute Dx, Dy }
39 return l i n e ;
14 dy = y1 - y0; 50 }
40
15 }
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Outlin
e
Grid-based Planning
Graph Search
Algorithms D* Lite
repeat
for y : = 1 to (yMax - 1)
do
for x : = 1 to (xMax - 1) do
if not blocked [x,y] then
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
DT Example
□ δ = 10 cm, L = 27.2 m
□ δ = 30 cm, L =
42.8 m
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Outlin
e
Grid-based Planning
Graph Search
Algorithms D* Lite
Graph Search
□ Algorithms
The grid can be considered as a graph and the path can be found using
graph search algorithms.
□ The search algorithms working on a graph are of general use, e.g.,
□ Breadth-first search (BFS);
□ Depth first search (DFS);
□ Dijsktra’s algorithm,;
□ A* algorithm and its variants.
□ There can be grid based speedups techniques, e.g.,
□ Jump Search Algorithm (JPS) and JPS+.
□ There are many search algorithms for on-line search, incremental
search and with any-time and real-time properties, e.g.,
□ Lifelong Planning A* (LPA*).
Koenig, S., Likhachev, M. and Furcy, D. (2004): Lifelong Planning A*. AIJ.
□ E-Graphs – Experience graphs
Phillips, M. et al. (2012): E-Graphs: Bootstrapping Planning with Experience Graphs. RSS.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* RD-based Planning
Lite
https://www.youtube.com/watch?v=U2XNjCoKZjM.mp4
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
A* Algorithm
□ A* uses a user-defined h-values (heuristic) to focus the search.
Peter Hart, Nils Nilsson, and Bertram Raphael,
1968
□ Prefer expansion of the node n with the lowest value
f (n) = g (n) + h(n),
where g (n) is the cost (path length) from the start to n and h(n) is the
estimated cost from n to the goal.
□ h-values approximate the goal distance from particular nodes.
□ Admissiblity condition – heuristic always underestimate the remaining cost
to reach the goal.
□ Let h∗(n) be the true cost of the optimal path from n to the goal.
□ Then h(n) is admissible if for all n: h(n) ≤ h∗(n).
□ E.g., Euclidean distance is admissible.
□ A straight line will always be the shortest path.
□ Dijkstra’s algorithm – h(n) = 0.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
A* Implementation
□ Notes
The most costly operations of A* are:
□ Insert and lookup an element in the closed list;
□ Insert element and get minimal element (according to f () value) from the
open list.
□ The closed list can be efficiently implemented as a hash set.
□ The open list is usually implemented as a priority queue, e.g.,
□ Fibonacii heap, binomial heap, k-level bucket;
□ binary heap is usually sufficient with O(logn).
□ Forward A*
1. Create a search tree and initiate it with the start location.
2. Select generated but not yet expanded state s with the smallest f -value,
f (s) = g (s) + h(s).
3. Stop if s is the goal.
4. Expand the state s.
5. Goto Step 2.
Similar to Dijsktra’s algorithm but it uses f (s) with the heuristic h(s) instead of
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
https://www.youtube.com/watch?v=ROG4Ud08lLY
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
A* Variants – Online
□ Search
The state space (map) may not be known exactly in advance.
□ Environment can dynamically change.
□ True travel costs are experienced during the path execution.
□ Repeated A* searches can be computationally demanding.
□ Incremental heuristic search
□ Repeated planning of the path from the current state to the goal.
□ Planning under the free-space assumption.
□ Reuse information from the previous searches (closed list entries).
□ Focused Dynamic A* (D*) – h∗ is based on traversability, it has been used,
e.g., for the Mars rover “Opportunity”
Stentz, A. (1995): The Focussed D* Algorithm for Real-Time Replanning. IJCAI.
□ D* Lite – similar to D*
Koenig, S. and Likhachev, M. (2005): Fast Replanning for Navigation in Unknown
Terrain. T-RO.
Real-Time Adaptive A*
(RTAA*)
□ Execute A* with limited look-
while (scurr ∈/ GOAL) do
ahead. astar(lookahead);
□ Learns better informed heuristic if s’ = FAILURE then
from the experience, return FAILURE;
initially h(s), e.g., Eu- for all s ∈ CLOSED do
clidean distance. H(s) : = g(s’) + h(s’) -
g(s);
execute(plan); / / perform one
□ Look-ahead defines trade-off
stepSUCCESS;
between optimality and return
computational cost. s’ is the last state expanded during the
□ astar(lookahead) previous A* search.
A* expansion as far as ”lookahead”
nodes and it terminates with the
state s′.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Outlin
e
Grid-based Planning
Graph Search
Algorithms D* Lite
D* Lite –
Demo
https://www.youtube.com/watch?v=X5a149nSE9s
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite Overview
□ It is similar to D*, but it is based on Lifelong Planning A*.
Koenig, S. and Likhachev, M. (2002): D* Lite. AAAI.
□ It searches from the goal node to the start node, i.e., g -values estimate the
goal distance.
□ Store pending nodes in a priority queue.
□ Process nodes in order of increasing objective function value.
□ Incrementally repair solution paths when changes occur.
□ Maintains two estimates of costs per node:
□ g – the objective function value – based on what we know;
□ rhs – one-step lookahead of the objective function value – based on what we
know.
□ Consistency:
□ Consistent – g = rhs;
□ Inconsistent – g /= rhs.
□
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite: Cost
Estimates
□ rhs of the node u is computed based on g of its successors in the
graph and the transition costs of the edge to those
successors
0 if u = sstart
rhs(u) .
= mins′∈Succ(u)(g (s ) + c(s , u))
r r
otherwise
□ The key/priority of a node s on the open list is the minimum of g (s) and
rhs(s) plus a focusing heuristic h
D* Lite
Algorithm
□ Main – repeat until the robot reaches the goal (or g (sstart ) = ∞ there is no path ).
Initialize(); Procedure Initialize
ComputeShortestPath U = 0;
();
while (sstart /= sgoal ) do foreach s ∈ S do
rhs(s) := g (s) := ∞;
sstart = argmins ′∈Succ (s start ) (c (sstart, sr) + g (sr));
rhs(sgoal ) := 0;
Move to
U.Insert(sgoal ,
sstart ; the graph for changed edge
Scan
CalculateKey(sgoal ));
costs;
foreach
if any directed
edge cost changed (u, v ) then
edgesperform with changed edge costs
do
Update the edge cost c
(u, v ); UpdateVertex(u);
foreach s ∈ U do
U.Update(s,
CalculateKey(s));
ComputeShortestPath();
U
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite Algorithm –
ComputeShortestPath()
Procedure ComputeShortestPath
while U.TopKey() < CalculateKey(sstart ) OR rhs(sstart ) /= g (sstart ) do
u := U.Pop();
if g (u) > rhs(u) then
g (u) := rhs(u);
foreach s ∈ Pred (u) do UpdateVertex(s);
else
g (u) := S
∞;
foreach s ∈ Pred (u) {u} do
UpdateVertex(s);
Procedure UpdateVertex
if u /= sgoal then rhs(u) := mins'∈Succ ( u ) (c(u, s′) + g (s
′));
if u ∈ U then U.Remove(u);
if g (u) /= rhs(u) then U.Insert(u, CalculateKey(u));
Procedure CalculateKey
return [min(g (s), rhs(s)) + h(s start , s); min(g (s), rhs(s))]
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite –
Demo
https://github.com/mdeyo/d-s t a r -l i t e
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite – Example
3,0 3,1 3,2 3,3 3,4 Legend
Free node Obstacle
node
On open list Active node
2,0 2,1 2,2 2,3 2,4 start □ A grid map of the
environment (what is
actually known).
1,0 1,1 1,2 1,3 1,4
□ 8-connected graph
superimposed on the grid
(bidirectional).
□ Focusing heuristic is not
0,0 goal 0,1 0,2 0,3 0,4 used (h = 0).
□ Transition costs
□ Free space – Free space: 1.0 and 1.4 (for diagonal
edge).
□ From/to obstacle: ∞.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: ∞ g: ∞ g: ∞ g: ∞
rhs: 0 rhs: ∞ rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Small black arrows denote the node used for computing the rhs value, i.e., using the
respective transition cost.
□ The rhs value of (1,1) is ∞ because the transition to obstacle has cost ∞.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: ∞ g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: ∞ g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
□ The start node becomes consistent and the top key on the open list is not less than the key of the
start node.
□ An optimal path is found and the loop of the ComputeShortestPath is breaked.
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 1 g: ∞ g: ∞ g: 4.8 g: ∞
rhs: 1 rhs: ∞ rhs: ∞ rhs: 4.8 rhs: 5.8
0,0 go al 0,1 0,2 0,3 0,4
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 1 g: ∞ g: ∞ g: 4.8 g: ∞
rhs: 1 rhs: ∞ rhs: ∞ rhs: 4.8 rhs: 5.8
0,0 go al 0,1 0,2 0,3 0,4
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
91 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
92 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
93 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
94 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
95 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
98 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
99 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
100 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
101 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: 5.8 rhs: 6.2
102 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
103 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
104 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 0 g: 1 g: ∞ g: ∞ g: ∞
rhs: 0 rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
105 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
106 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
g: 1 g: ∞ g: ∞ g: ∞ g: ∞
rhs 1 rhs: ∞ rhs: ∞ rhs: 6.2 rhs: 6.4
:
0,0 go al 0,1 0,2 0,3 0,4
g: g: 1 g: ∞ g: ∞ g: ∞
0
rhs: 1 rhs: ∞ rhs: ∞ rhs: ∞
rhs: 0
107 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
D* Lite –
Comments
□ D* Lite works with real valued costs, not only with binary costs
(free/obstacle).
□ The search can be focused with an admissible heuristic that would be
added to the g
and rhs values.
□ The final version of D* Lite includes further optimization (not shown in the
example).
□ Updating the rhs value without considering all successors every time.
□ Re-focusing the search as the robot moves without reordering the entire
open list.
108 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Outlin
e
Grid-based Planning
Graph Search
Algorithms D* Lite
109 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Reaction-Diffusion Processes
Background
□ Reaction-Diffusion (RD) models – dynamical systems capable to reproduce
the au- towaves.
□ Autowaves - a class of nonlinear waves that propagate through an active
media.
At the expense of the energy stored in the medium, e.g., grass combustion.
□ RD model describes spatio-temporal evolution of two state variables u =
u(→x , t ) and
v = v (→x , t ) in space →x and time t
u˙ = f (u, v ) +
Du Δ u
,
v˙ = g (u, v ) +
Dv Δv
where Δ is the Laplacian. 110 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Reaction-Diffusion
Background
□ FitzHugh-Nagumo (FHN) FitzHugh R, Biophysical Journal (1961)
model
u˙ = ε u — u3 — v + φ +
Du Δ u
,
v˙ = (u — αv + β) + Dv Δu
where α, β, ϵ, and φ are parameters of the model.
□ Dynamics of RD system isεdetermined
u — u3 — vby
+ the
φ associated
= nullcline
configurations for u˙=0 and — αvin+the absence of diffusion, i.e.,
(uv˙=0
0,
β)
which have associated geometrical = 0,
shapes.
111 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* RD-based Planning
Lite
“preference” of SS + over SS − .
□ System moves from SS − to SS +, if a small
perturbation is intro- duced.
□ The SS s are separated by a mobile frontier – a kind of
traveling frontwave (autowaves). SS+
112 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
property.
Vázquez-Otero and Muñuzuri, CNNA (2010)
□ Terminate when the frontwave reaches the goal.
2. Contraction phase
□ Different nullclines configuration.
□ Start and goal positions are forced towards SS +.
□ SS − shrinks until only the path linking the forced points
Example of Found
Paths
□ The path clearance maybe adjusted by the wavelength and size of the
computational grid.
Control of the path distance from the obstacles (path safety).
114 / 118
Grid-based Planning D T for Path Planning Graph Search Algorithms D* Lite RD-based Planning
Robustness to Noisy
Data
Vázquez-Otero, A., Faigl, J., Duro, N. and Dormido, R. (2014): Reaction-Diffusion based Computational Model for Autonomous Mobile
Robot Exploration of Unknown Environments. International Journal of Unconventional Computing (IJUC).
116 / 118
Topics Discussed
Summary of the
Lecture
117 / 118
Topics Discussed
Topics Discussed
□ Motion and path planning problems
□ Path planning methods – overview
□ Notation of configuration space
□ Path planning methods for geometrical map representation
□ Shortest-Path Roadmaps
□ Voronoi diagram based planning
□ Cell decomposition method
□ Distance transform can be utilized for kind of navigational function
□ Front-Wave propagation and path simplification
□ Artificial potential field method
□ Graph search (planning) methods for grid-like representation
□ Dijsktra’s, A*, JPS, Theta*
□ Dedicated speed up techniques can be employed to decreasing computational burden, e.g.,
JPS
□ flrid-path can be smoothed, e.g., using path simplification or Theta* like algorithms
□ We can avoid demanding planning from scratch reusing the previous plan for
the updated environment map, e.g., using D * Lite
□ Unconventional reaction-diffusion based planning (informative)
□ Next: Robotic Information Gathering – Mobile Robot Exploration 118 / 118