cs 326a: motion planning basic motion planning for a point robot
Post on 21-Dec-2015
223 views
TRANSCRIPT
![Page 1: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/1.jpg)
CS 326A: Motion Planning
Basic Motion Planning for a Point Robot
![Page 2: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/2.jpg)
Configuration Space:Tool to Map a Robot to a
Point
![Page 3: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/3.jpg)
Problem
free space
s
g
free path
obstacle
obstacle
obstacle
![Page 4: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/4.jpg)
ProblemProblem
semi-free path
obstacle
obstacle
obstacle
![Page 5: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/5.jpg)
Types of Path Constraints
Local constraints: lie in free space
Differential constraints: have bounded
curvature Global constraints:
have minimal length
![Page 6: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/6.jpg)
Homotopy of Free Paths
![Page 7: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/7.jpg)
Motion-Planning Framework
Continuous representation
Discretization
Graph searching(blind, best-first, A*)
![Page 8: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/8.jpg)
Path-Planning Approaches1. Roadmap
Represent the connectivity of the free space by a network of 1-D curves
2. Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 9: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/9.jpg)
Roadmap Methods
Visibility graphIntroduced in the Shakey project at SRI in the late 60s. Can produce shortest paths in 2-D configuration spaces
g
s
![Page 10: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/10.jpg)
Simple (Naïve) Algorithm1. Install all obstacles vertices in VG, plus the
start and goal positions2. For every pair of nodes u, v in VG3. If segment(u,v) is an obstacle edge then4. insert (u,v) into VG5. else6. for every obstacle edge e7. if segment(u,v) intersects e8. then goto 29. insert (u,v) into VG10.Search VG using A*
![Page 11: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/11.jpg)
Complexity
Simple algorithm: O(n3) time Rotational sweep: O(n2 log n) Optimal algorithm: O(n2) Space: O(n2)
![Page 12: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/12.jpg)
Rotational Sweep
![Page 13: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/13.jpg)
Rotational Sweep
![Page 14: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/14.jpg)
Rotational Sweep
![Page 15: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/15.jpg)
Rotational Sweep
![Page 16: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/16.jpg)
Rotational Sweep
![Page 17: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/17.jpg)
Reduced Visibility Graph
tangent segments
Eliminate concave obstacle vertices
can’t be shortest path
![Page 18: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/18.jpg)
Generalized (Reduced) Visibility Graph
tangency point
![Page 19: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/19.jpg)
Three-Dimensional Space
Computing the shortest collision-free path in a polyhedral space is NP-hard
Shortest path passes through none of the vertices
locally shortest path homotopic to globally shortest path
![Page 20: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/20.jpg)
Roadmap Methods
Voronoi diagram Introduced by Computational Geometry researchers. Generate paths that maximizes clearance.
O(n log n) timeO(n) space
![Page 21: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/21.jpg)
Roadmap Methods Visibility graph Voronoi diagram Silhouette
First complete general method that applies to spaces of any dimension and is singly exponential in # of dimensions [Canny, 87]
Probabilistic roadmaps
![Page 22: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/22.jpg)
Path-Planning ApproachesPath-Planning Approaches1. Roadmap
Represent the connectivity of the free space by a network of 1-D curves
2. Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 23: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/23.jpg)
Cell-Decomposition Methods
Two classes of methods: Exact cell decomposition
The free space F is represented by a collection of non-overlapping cells whose union is exactly FExample: trapezoidal decomposition
![Page 24: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/24.jpg)
Trapezoidal decomposition
![Page 25: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/25.jpg)
Trapezoidal decomposition
![Page 26: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/26.jpg)
Trapezoidal decomposition
![Page 27: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/27.jpg)
Trapezoidal decomposition
![Page 28: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/28.jpg)
Trapezoidal decompositionTrapezoidal decomposition
critical events criticality-based decomposition
…
![Page 29: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/29.jpg)
Trapezoidal decomposition
Planar sweep O(n log n) time, O(n) space
![Page 30: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/30.jpg)
Cell-Decomposition Methods
Two classes of methods: Exact cell decomposition Approximate cell decomposition
F is represented by a collection of non-overlapping cells whose union is contained in FExamples: quadtree, octree, 2n-tree
![Page 31: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/31.jpg)
Octree Decomposition
![Page 32: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/32.jpg)
Sketch of Algorithm
1. Compute cell decomposition down to some resolution
2. Identify start and goal cells3. Search for sequence of empty/mixed
cells between start and goal cells4. If no sequence, then exit with no path5. If sequence of empty cells, then exit with
solution6. If resolution threshold achieved, then
exit with failure7. Decompose further the mixed cells8. Return to 2
![Page 33: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/33.jpg)
Path-Planning Approaches1. Roadmap
Represent the connectivity of the free space by a network of 1-D curves
2. Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 34: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/34.jpg)
Potential Field Methods
Goal
Robot
)( GoalpGoal xxkF
0
020
0
,111
if
ifxFObstacle
Goal
Robot
Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of papers published on it.
![Page 35: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/35.jpg)
Attractive and Repulsive fields
![Page 36: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/36.jpg)
Local-Minimum Issue
Perform best-first search (possibility of combining with approximate cell decomposition) Alternate descents and random walks Use local-minimum-free potential (navigation function)
![Page 37: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/37.jpg)
Sketch of Algorithm (with best-first search)
1. Place regular grid G over space2. Search G using best-first search
algorithm with potential as heuristic function
![Page 38: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/38.jpg)
Simple Navigation Function
0 11
1
2
22
2 3
3
3
4 45
![Page 39: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/39.jpg)
Simple Navigation Function
1
1 22
2 3
3
3
4 5
210
4
![Page 40: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/40.jpg)
Simple Navigation Function
1
1 22
2 3
3
3
4 5
210
4
![Page 41: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/41.jpg)
Completeness of Planner
A motion planner is complete if it finds a collision-free path whenever one exists and return failure otherwise.
Visibility graph, Voronoi diagram, exact cell decomposition, navigation function provide complete planners
Weaker notions of completeness, e.g.:- resolution completeness
(PF with best-first search)- probabilistic completeness
(PF with random walks)
![Page 42: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/42.jpg)
A probabilistically complete planner returns a path with high probability if a path exists. It may not terminate if no path exists.
A resolution complete planner discretizes the space and returns a path whenever one exists in this representation.
![Page 43: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/43.jpg)
Preprocessing / Query Processing
Preprocessing: Compute visibility graph, Voronoi diagram, cell decomposition, navigation function
Query processing:- Connect start/goal configurations to visibility graph, Voronoi diagram- Identify start/goal cell- Search graph
![Page 44: CS 326A: Motion Planning Basic Motion Planning for a Point Robot](https://reader031.vdocuments.us/reader031/viewer/2022032310/56649d625503460f94a4460a/html5/thumbnails/44.jpg)
Issues for Future Lectures
Space dimensionality Geometric complexity of the free
space Constraints other than avoiding
collision The goal is not just a position to
reach Etc …