example: getting to vegas from ucsd · •efficient search strategies for high dimensional spaces...
TRANSCRIPT
![Page 1: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/1.jpg)
(c) Henrik I Christensen
Robotics Planning
Henrik I Christensen
(c) Henrik I Christensen
Outline
• Introduction• Representations• Planning Basics• Search methods• Evaluation (or the lack thereof)• Summary
(c) Henrik I Christensen
Introduction
• Generation of efficient representations for plan generation• Efficient search strategies for high dimensional spaces• Consideration of domain / application constraints
• These problems are not unique to robotics• Abundance of progress in general CS, AI, Mathematics
(c) Henrik I Christensen
Example: Getting to Vegas from UCSD
![Page 2: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/2.jpg)
(c) Henrik I Christensen
Typical path planning example
Source: J-P. Lamond et al, LAAS(c) Henrik I Christensen
Typical path planning example
Source: S. Lavall, UIUC
(c) Henrik I Christensen
Planning
• Two extremes• Deliberative search/planning• Purely reactive control
(c) Henrik I Christensen
Deliberative Planning
• Components to the puzzle• A world representation• A metric for optimization• An algorithm for search
![Page 3: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/3.jpg)
(c) Henrik I Christensen
Planning
• Representations• Grids• Graphs• Configuration Spaces
• Planning • Grid based methods• Graph search
(c) Henrik I Christensen
Typical planning representations
• Configuration space• Visibility Graph• Voronoi Representation• Cell Decomposition• Potential Fields
(c) Henrik I Christensen
Configuration spaces
• Robots are embedded in a space (termed the physical environment)
• Robots have a finite spatial size (the robot geometry)
• A robot embedded can be changed
• In general a robot operates in an environment that we will term the workspace
• The boundary of the workspace is a set of obstacles
• The parameters for the robot defined a space termed the state space• A point in this space is a state
(c) Henrik I Christensen
Configuration spaces
• A state is considered free if the embedded of the robot in the workspace is collision free
• The subspace of collision free configurations in the state space denoted Sfree
• Sfree can be complex even for relatively simple systems
• This complexity is the main challenge for motion planning systems
![Page 4: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/4.jpg)
(c) Henrik I Christensen
Configuration spacesConfiguration space of a 2-link arm
Source: L. Kavraki, Rice(c) Henrik I Christensen
Configuration spacesSome more examples
2-link planar arm among 5 obstacles
3-link planar arm
Source: L. Kavraki, Rice
(c) Henrik I Christensen
Path Planning
• A path is a continuous mapping in C
• Where L is the length of the path• The path is collision from if for all t
⇡(t) 2 Sfree
⇡ : [0, L] ! Sfree
(c) Henrik I Christensen
Query / problem definition
• A problem or query is • Given two states q0 and qf
• Determine if there is a collision-free path between q0 and qf
![Page 5: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/5.jpg)
(c) Henrik I Christensen
Path Planning Path Planning
Given:
• World geometry
• Robot’s geometry
• Start and goal configuration
Compute:
A collision-free, feasible path to the goal Start
Goal
: Robot
Obstacle
Motion Planner
Collision-free Path
Workspace Model
Robot Model
Source: F. Moss, Rice(c) Henrik I Christensen
Roadmaps
• Roadmaps / Graphs
• How do we select the key nodes?
(c) Henrik I Christensen
Space decomposition
• Partition• Free-space• Obstacles
• Generation of a tessellation
(c) Henrik I Christensen
Visibility Graph
• Connect visible vertices in space• Generate a search across the resulting graph
![Page 6: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/6.jpg)
(c) Henrik I Christensen
Voronoi Graph
• Compute maximum distance to boundary points• Search for shortest path along the graph
(c) Henrik I Christensen
Cell decomposition
• Divide free space (Sfree) into single connected regions termed cells• Generate connectivity graph• Local Goal and Start cells• Search the graph• Generation a motion strategy
(c) Henrik I Christensen
Approximate cell decomposition
• Easy to implement• Use of standard methods for search such as wavefront & distance• Widely used in simple environments
(c) Henrik I Christensen
Adaptive cell decomposition
• Efficient representation of space• Quad-trees are well-known from computational geometry• Suited for sparse workspaces
![Page 7: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/7.jpg)
(c) Henrik I Christensen
Planning basics
• The Bug family of algorithms [Lumelski]• Simplest possible strategy• Traverse obstacles • Leave a point of minimum distance• Inefficient but gets job done
(c) Henrik I Christensen
Bug-2 the obvious improvement
• Do traversal but leave at point to goal point• Efficient in open spaces• Mazes a challenge
(c) Henrik I Christensen
Potential fields
• Consider the robot a particle in a potential field• Goal serves as an attractor• Obstacles represents repellors• When the potential field is differentiable the force is specifies locally the direction of motion
• Potential fiedls can be represented by harmonics• Superposition principle specifies• Goal dynamics can be represented by a potential field• Each obstacle is a potential field• The sum of the parts is still a potential field
F (q) = �rU(q)
(c) Henrik I Christensen
Potential fieldsPotential field planners
Source: IROS tutorial, 2011
![Page 8: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/8.jpg)
(c) Henrik I Christensen
Potential fields
• Potential fields are known to experience local minima
Local minima problem
(c) Henrik I Christensen
Wavefront propagation
• Consider the world as a an homogenous grid • Cells are free or occupied / or with walls• Search from start to goal • Neighbor metrics can be used to define behavior
(c) Henrik I Christensen
Wavefront propagation
START GOAL
(c) Henrik I Christensen
Wavefront propagation
START GOAL
12
34
4 5
![Page 9: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/9.jpg)
(c) Henrik I Christensen
Wavefront propagation
START GOAL
12
34
4 5
6789
9
10
10
11
11
11
12
12
12
12
13
13
13 13
14
14
15
15
16
16
15
16 16 17 18 19
17
(c) Henrik I Christensen
Wavefront propagation
START GOAL
12
34
4 5
6789
9
10
10
11
11
11
12
12
12
12
13
13
13 13
14
14
15
15
16
16
15
16 16 17 18 19
17
(c) Henrik I Christensen
Graph search using A*
• A* is well known as a graph search heuristic based on estimated and actual cost
• where • p is present position• s is the start position• g is the goal position• cc is current cost• gc is an estimate of the cost of achieving the goal position• α, β represents weight factors
c(~p) = ↵ cc(~s, ~p) + � gc(~p,~g)
(c) Henrik I Christensen
Basic tree-search
• The challenge is the design of the expand funtion
Introduction Informed Search Heuristics Roadmaps ExampleP
Review: Basic Tree Search
function Tree-Search( problem, fringe) returns a solution, or failure
fringe Insert(Make-Node(Initial-State[problem]), fringe)loop do
if fringe is empty then return failure
node Remove-Front(fringe)if Goal-Test[problem] applied to State(node) succeeds return nodefringe InsertAll(Expand(node,problem), fringe)
The challenge is the design of the expand function!
Henrik I Christensen (RIM@GT) Planning - Grids April 1, 2009 9 / 45
Source: Russell & Norvig, Artificial Intelligence
![Page 10: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/10.jpg)
(c) Henrik I Christensen
Informed search strategies
• The ideal - Best First Search• Selection of an evaluation function f(n)• Expand low-cost nodes before higher cost nodes• Design a heuristic function h(n)
• Estimated cost of the cheapest path from n to goal
(c) Henrik I Christensen
Example of navigation in maps
Bucharest
Giurgiu
Urziceni
Hirsova
Eforie
NeamtOradea
Zerind
Arad
Timisoara
LugojMehadia
DobretaCraiova
Sibiu
Fagaras
PitestiRimnicu Vilcea
Vaslui
Iasi
Straight−line distanceto Bucharest
0160242161
77151
241
366
193
178
253329
80199
244
380
226
234
374
98
Giurgiu
UrziceniHirsova
Eforie
Neamt
Oradea
Zerind
Arad
Timisoara
Lugoj
Mehadia
DobretaCraiova
Sibiu Fagaras
Pitesti
Vaslui
Iasi
Rimnicu Vilcea
Bucharest
71
75
118
111
70
75120
151
140
99
80
97
101
211
138
146 85
90
98
142
92
87
86
(c) Henrik I Christensen
Doing it greedily
Rimnicu Vilcea
Zerind
Arad
Sibiu
Arad Fagaras Oradea
Timisoara
Sibiu Bucharest
329 374
366 380 193
253 0
Rimnicu Vilcea
Zerind
Arad
Sibiu
Arad Fagaras Oradea
Timisoara329 374
366 176 380 193
Zerind
Arad
Sibiu Timisoara253 329 374
Arad366
(a) The initial state
(b) After expanding Arad
(c) After expanding Sibiu
(d) After expanding Fagaras
(c) Henrik I Christensen
Properties of greedy search
• Completeness: might get stuck in loops• Repeated state check needed to break loops
• Time: O(bm) - a good heuristic can improve performance• Space O(bm) - keep all nodes in memory• Optimal? no greedy is not always optimal
![Page 11: Example: Getting to Vegas from UCSD · •Efficient search strategies for high dimensional spaces •Consideration of domain / application constraints •These problems are not unique](https://reader036.vdocuments.us/reader036/viewer/2022090606/605c2669d6329d06fb1f11f0/html5/thumbnails/11.jpg)
(c) Henrik I Christensen
A* search
Zerind
Arad
Sibiu
Arad
Timisoara
Sibiu Bucharest
Rimnicu VilceaFagaras Oradea
Craiova Pitesti Sibiu
Bucharest Craiova Rimnicu Vilcea418=418+0
447=118+329 449=75+374
646=280+366
591=338+253 450=450+0 526=366+160 553=300+253
615=455+160 607=414+193
671=291+380
(c) Henrik I Christensen
A* optimality?
• Increase nodes according to f value• Gradually adds f contours to nodes (a la breadth first w. layers)
O
Z
A
T
L
M
DC
R
F
P
G
BU
H
E
V
I
N
380
400
420
S
(c) Henrik I Christensen
A* properties
• Complete? Yes• Time: exponential in h - accuracy * h*(start)• Space: all nodes in memory• Optimal: Yes
• Variation of A*• Iterative deepening A* (IDA)• Recursive best first (RBDF)• Memory bounded A* (MA)• Simple MA (SMA)
(c) Henrik I Christensen
What are our options?Exact, approximate, and heuristic methods
Method Advantage Disadvantage
Exact theoretically insightful impractical
Cell Decomposition easy does not scale
Control-Based online, very robust requires good trajectory
Potential Fields online, easy slow or fail
Sampling-based fast and effectivecannot recognize impossible
query