motion planning for point robots
DESCRIPTION
Motion Planning for Point Robots. I400/B659: Intelligent Robotics Kris Hauser. Agenda. Breeze through Principles Ch. 2, 5.1, 6.1 . Fundamental question of motion planning. Are the two given points connected by a path?. Feasible space. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/1.jpg)
Motion Planning for Point RobotsI400/B659: Intelligent RoboticsKris Hauser
![Page 2: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/2.jpg)
Agenda
• Breeze through Principles Ch. 2, 5.1, 6.1
![Page 3: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/3.jpg)
Fundamental question of motion planning• Are the two given points connected by a path?
Forbidden region
Feasible space
collision with obstaclelack of stabilitylost sight of target…
![Page 4: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/4.jpg)
Basic Problem
Statement: Compute a collision-free path for a rigid or articulated object among static obstacles
Inputs:• Geometry of moving object and obstacles• Kinematics of moving object (degrees of
freedom)• Initial and goal configurations (placements)
Output:Continuous sequence of collision-free robot
configurations connecting the initial and goal configurations
![Page 5: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/5.jpg)
Why is this hard?
![Page 6: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/6.jpg)
Tool: Configuration Space
Problems:• Geometric complexity• Space dimensionality
![Page 7: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/7.jpg)
Tool: Configuration Space
![Page 8: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/8.jpg)
2D Point Robot Problem
free space
s
g
free path
obstacle
obstacle
obstacle
![Page 9: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/9.jpg)
2D Point Robot Problem
g
obstacle
obstacle
obstacle
s
Semi-free path
![Page 10: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/10.jpg)
Types of Path Constraints
Local constraints: e.g., avoid collision with obstacles
Differential constraints: e.g., bounded curvature
Global constraints: e.g., minimal length
![Page 11: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/11.jpg)
Motion-Planning Framework
Continuous representation
Discretization
Graph searching(blind, best-first, A*)
![Page 12: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/12.jpg)
Path-Planning Approaches• Roadmap
Represent the connectivity of the free space by a network of 1-D curves
• Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
• Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 13: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/13.jpg)
Roadmap Methods• Visibility graph
Introduced in the Shakey project at SRI in the late 60s. Can produce shortest paths in 2-D configuration spaces
![Page 14: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/14.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 15: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/15.jpg)
Complexity Simple algorithm: O(n3) time Rotational sweep: O(n2 log n) Optimal algorithm: O(n2) Space: O(n2)
![Page 16: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/16.jpg)
Rotational Sweep
![Page 17: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/17.jpg)
Rotational Sweep
![Page 18: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/18.jpg)
Rotational Sweep
![Page 19: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/19.jpg)
Rotational Sweep
![Page 20: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/20.jpg)
Rotational Sweep
![Page 21: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/21.jpg)
Reduced Visibility Graph
tangent segments Eliminate concave obstacle vertices
can’t be shortest path
![Page 22: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/22.jpg)
Generalized (Reduced) Visibility Graph
tangency point
![Page 23: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/23.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 24: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/24.jpg)
Roadmap Methods Voronoi diagram
Introduced by Computational Geometry researchers. Generate paths that maximizes clearance.
O(n log n) timeO(n) space
![Page 25: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/25.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 26: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/26.jpg)
Path-Planning Approaches• Roadmap
Represent the connectivity of the free space by a network of 1-D curves
• Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
• Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 27: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/27.jpg)
Cell-Decomposition MethodsTwo 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 28: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/28.jpg)
Trapezoidal decomposition
![Page 29: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/29.jpg)
Trapezoidal decomposition
![Page 30: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/30.jpg)
Trapezoidal decomposition
![Page 31: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/31.jpg)
Trapezoidal decomposition
![Page 32: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/32.jpg)
critical events criticality-based decomposition
…
Trapezoidal decomposition
![Page 33: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/33.jpg)
Planar sweep O(n log n) time, O(n) space
Trapezoidal decomposition
![Page 34: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/34.jpg)
Cell-Decomposition MethodsTwo 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 35: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/35.jpg)
Octree Decomposition
![Page 36: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/36.jpg)
Sketch of Algorithm
1. Compute cell decomposition down to some resolution2. 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 37: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/37.jpg)
Path-Planning Approaches• Roadmap
Represent the connectivity of the free space by a network of 1-D curves
• Cell decompositionDecompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
• Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent
![Page 38: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/38.jpg)
Potential Field Methods
• Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of papers published on it.
)( GoalpGoal xxkF
0
020
0
,111
if
ifxFObstacle
Goal
Robot
![Page 39: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/39.jpg)
Attractive and Repulsive fields
![Page 40: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/40.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 41: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/41.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 42: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/42.jpg)
Simple Navigation Function
0 11
1
2
22
2 3
3
3
4 45
![Page 43: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/43.jpg)
1
1 22
2 3
3
3
4 5
210
4
Simple Navigation Function
![Page 44: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/44.jpg)
1
1 22
2 3
3
3
4 5
210
4
Simple Navigation Function
![Page 45: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/45.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 46: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/46.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 47: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/47.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 48: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/48.jpg)
Some Variants Moving obstacles Multiple robots Movable objects Assembly planning Goal is to acquire
information by sensing• Model building• Object finding/tracking• Inspection
Nonholonomic constraints Dynamic constraints Stability constraints
Optimal planning Uncertainty in model,
control and sensing Exploiting task mechanics
(sensorless motions, under-actuated systems)
Physical models and deformable objects
Integration of planning and control
Integration with higher-level planning
![Page 49: Motion Planning for Point Robots](https://reader035.vdocuments.us/reader035/viewer/2022062410/56816388550346895dd4780b/html5/thumbnails/49.jpg)
Readings• Principles Ch. 7.1-7.2• Kavraki, Sveska, Latombe, and Overmars (1999)