Professional Documents
Culture Documents
Path Planning: Beard & Mclain, "Small Unmanned Aircraft," Princeton University Press, 2012, Chapter 12: Slide 1
Path Planning: Beard & Mclain, "Small Unmanned Aircraft," Princeton University Press, 2012, Chapter 12: Slide 1
Path Planning
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1
Control Architecture
destination, map
obstacles
path planner
waypoints
status
path manager
path definition
tracking error
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 2
Path Planning Approaches
• Deliberative
– Based on global world knowledge
– Requires a good map of terrain, obstacles, etc.
– Can be too computationally intense for dynamic
environments
– Usually executed before the mission
• Reactive
– Based on what sensors detect on immediate horizon
– Can respond to dynamic environments
– Not usually used for entire mission
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 3
Voronoi Graphs
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 4
Voronoi Graph Example
20
15
10
north position (km)
−5
−10
−10 −5 0 5 10 15 20
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 5
Voronoi Graph Example
20
• Add start and end points to
graph
15
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 6
Path Cost Calculation
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 7
Path Cost Calculation
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 8
Path Cost Calculation
k2
J(v1 , v2 ) = k1 kv1 v2 k +
| {z } D(v1 , v2 , Q)
length of edge | {z }
reciprocal of distance to closest point in Q
Choice of k1 and k2 allow tradeo↵ between path length and proximity to threats.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 9
East (km)
15
10
north position (km)
−5
−10
−10 −5 0 5 10 15 20
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 11
Voronoi Path Planning – Non-point Obstacles
• How do we handle solid obstacles?
• Point obstacles at center of
spatial obstacles won’t provide
10 safe path options around
obstacles
8
north position (km)
0 2 4 6 8 10
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 12
Non-point Obstacles – Step 1
Insert points around perimeter of obstacles
10
8
north position (km)
0 2 4 6 8 10
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 13
Non-point Obstacles – Step 2
Construct Voronoi graph
Note infeasible path edges inside obstacles
10
8
north position (km)
0 2 4 6 8 10
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 14
Non-point Obstacles – Step 3
Remove infeasible path edges from graph
Search graph for best path
10
8
north position (km)
0 2 4 6 8 10
east position (km)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 15
Rapidly Exploring Random Trees (RRT)
• Exploration algorithm that randomly,
but uniformly explores search space
• Can accommodate vehicles with
complicated, nonlinear dynamics
• Obstacles represented in a terrain map
• Map can be queried to detect possible collisions
• RRTs can be used to generate a single feasible path or
a tree with many feasible paths that can be searched to
determine the best one
• If algorithm runs long enough, the optimal path through
the terrain will be found
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 16
RRT Tree Structure
• RRT algorithm is implemented
using tree data structure
• Tree is special case of
directed graph
• Edges are directed from
child node to parent
• Every node has one parent, except root
• Nodes represent physical states or configurations
• Edges represent feasible paths between states
• Each edge has cost associated traversing feasible path
between states
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 17
RRT Algorithm
• Algorithm initialized
– start node
– end node
– terrain/obstacle map
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 18
RRT Algorithm
• Randomly select configura-
tion p in workspace
• Select new configuration v1
fixed distance D from start
point along line connecting
ps and p
• Check new segment for col-
lisions
• If collision-free, insert v1 into
tree.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 19
RRT Algorithm
• Generate random configura-
tion p in workspace
• Search tree to find node clos-
est to p
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 21
RRT Algorithm
• Continue adding nodes and checking for
collisions
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 22
RRT Algorithm
• Continue until node is generated that is within
distance D of end node
• At this point, terminate algorithm or search for
additional feasible paths
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 23
resulting path is feasible, as checked in line 6, then v+ is added to G in
line 7 and the cost matrix is updated in line 8. The if statement in line 10
checks to see if the new node v+ can be connected directly to the end
RRT Algorithm
node pe . If so, pe is added to G in line 11–12, and the algorithm ends in
line 15 by returning the shortest waypoint path in G.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 25
Path Planning Path Smoothing Algorithm 217
90
80
70
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 27
RRT Results
100
90
80
70
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 28
RRT Results
100
90
80
70
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 29
RRT Results
100
90
80
70
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 30
RRT* Algorithm – Extend Step
• Generate new potential node vnew
identical to RRT.
• Instead of finding the closest node in
the tree, find all nodes within neigh- N
borhood N .
vnew
• Let C(v) be the path cost from ps v0
to v, and let c(v1 , v2 ) be the path
cost from v1 to v2 .
• Let v0 = arg minv2N (C(v) + c(vnew , v))
(i.e., closest node in N to vnew ).
S
• Add node V V {vnew }.
S
• Add edge E E {(v0 , vnew )}.
• Set C(vnew ) = C(v0 ) + c(vnew , v).
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 31
RRT* Algorithm – Re-wire Step
• Check all nodes in v 2 N to see if
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 32
RRT* Algorithm – Re-wire Step
• Check all nodes in v 2 N to see if
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 33
RRT vs. RRT*
60 200
h
40
150
0
100
algorithm 200
150 50
100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 36
resulting path is feasible, as checked in line 6, then v+ is added to G in
line 7 and the cost matrix is updated in line 8. The if statement in line 10
checks to see if the new node v+ can be connected directly to the end
100
80
60
h
40
200
20
150
0
200 100
150
100 50
50
E
0 0
N
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 38
RRT 3D Terrain Results
100
80
60
h
40
20
0
200
200
150
150
100 100
50 50
N 0 0 E
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 39
RRT 3D Terrain Results
100
80
60
h
40
20
0
200
200
150
150
100 100
50 50
N 0 0 E
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 40
RRT 3D Terrain Results
100
80
60
h
200
40
150
20
100
0
200
150 50
100
50 E
0
0
N
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 41
RRT Dubins Approach
• To generate a new random configuration for
tree:
– Generate random N-E position in environment
– Find closest node in RRT graph to new random point
– Select a position of distance L from the closest RRT
node in direction of new point – use this position as
N-E coordinates of new configuration
– Define course angle for new configuration as the
angle of the line connecting the RRT graph to the new
configuration
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 42
RRT Dubins Results
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 43
RRT Dubins Results
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 44
RRT Dubins Results
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 45
Coverage Algorithms
• Goal: Survey an area
– Pass sensor footprint over entire area
• Algorithms often cell based
– Goal: visit every cell 100
90
80
70
60
50
40
30
20
10
0
0 20 40 60 80 100
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 46
Coverage Algorithm
• Two maps in memory
– terrain map
• used to detect collisions with environment
– coverage or return map
• used to track coverage of terrain
• Return map stores value of returning to
particular location
– Return map initialized so that all locations have same
return value
– As locations are visited, return value of that location is
decremented by fixed amount:
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 47
Coverage Algorithm
• Finite look ahead tree search used to determine where
to go
• Tree generated from current MAV configuration
• Tree searched to determine path that maximizes return
value
• Two methods for look ahead tree
– Uniform branching
• Predetermined depth
• Uniform branch length
• Uniform branch separation
– RRT
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 48
(0, 0), where L = 10, and ϑ = π/6.
100
90
80 100
70 0
60
−100
50
40 −200
30
−300
20 10
10
10 5
5
0
0 20 40 60 80 100 0 0
100
90
80 100
70
0
60
−100
50
−200
40
−300
30 10
8
20 10
6
10 4 5
2
0
0 20 40 60 80 100 0 0
100
−100
−200
10
10
5
5
0 0
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 52
Coverage Planning Results – RRT Dubins
100
50
−50
−100
−150
10
10
5
5
0 0
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 53