b659: principles of intelligent robot motion kris hauser
TRANSCRIPT
B659: Principles of B659: Principles of Intelligent Robot Intelligent Robot
MotionMotionKris HauserKris Hauser
AgendaAgenda
Skimming through Skimming through PrinciplesPrinciples Ch. 2, Ch. 2, 5.1, 6.1 5.1, 6.1
Fundamental question of Fundamental question of motion planningmotion planning
Are the two given points connected by a path?Are the two given points connected by a path?
Forbidden region
Feasible space
Tool: Configuration SpaceTool: Configuration Space
ProblemProblem
free space
s
g
free path
obstacle
obstacle
obstacle
ProblemProblem
g
obstacle
obstacle
obstacle
s
Semi-free path
LocalLocal constraints: constraints: lie in free space lie in free space
DifferentialDifferential constraints: constraints: have bounded have bounded
curvaturecurvature GlobalGlobal constraints: constraints:
have minimal lengthhave minimal length
Types of Path ConstraintsTypes of Path Constraints
Homotopy of Free PathsHomotopy of Free Paths
Motion-Planning Motion-Planning FrameworkFramework
Continuous representation
Discretization
Graph searching(blind, best-first, A*)
Path-Planning ApproachesPath-Planning Approaches1.1. RoadmapRoadmap
Represent the connectivity of the free space by Represent the connectivity of the free space by a network of 1-D curvesa network of 1-D curves
2.2. Cell decompositionCell decompositionDecompose the free space into simple cells and Decompose the free space into simple cells and represent the connectivity of the free space by represent the connectivity of the free space by the adjacency graph of these cellsthe adjacency graph of these cells
3.3. Potential fieldPotential fieldDefine a function over the free space that has a Define a function over the free space that has a global minimum at the goal configuration and global minimum at the goal configuration and follow its steepest descentfollow its steepest descent
Roadmap MethodsRoadmap Methods
Visibility graphVisibility graphIntroduced in the Introduced in the Shakey project at SRI Shakey project at SRI in the late 60s. Can in the late 60s. Can produce shortest produce shortest paths in 2-D paths in 2-D configuration spacesconfiguration spaces
Simple (Naïve) AlgorithmSimple (Naïve) Algorithm1.1. Install all obstacles vertices in VG, plus the start Install all obstacles vertices in VG, plus the start
and goal positionsand goal positions2.2. For every pair of nodes u, v in VGFor every pair of nodes u, v in VG3.3. If segment(u,v) is an obstacle edge thenIf segment(u,v) is an obstacle edge then4.4. insert (u,v) into VGinsert (u,v) into VG5.5. elseelse6.6. for every obstacle edge efor every obstacle edge e7.7. if segment(u,v) intersects eif segment(u,v) intersects e8.8. then goto then goto 229.9. insert (u,v) into VGinsert (u,v) into VG10.10. Search VG using A*Search VG using A*
ComplexityComplexity
Simple algorithm: O(nSimple algorithm: O(n33) time) time Rotational sweep: O(nRotational sweep: O(n22 log n) log n) Optimal algorithm: O(nOptimal algorithm: O(n22)) Space: O(nSpace: O(n22))
Rotational SweepRotational Sweep
Rotational SweepRotational Sweep
Rotational SweepRotational Sweep
Rotational SweepRotational Sweep
Rotational SweepRotational Sweep
Reduced Visibility GraphReduced Visibility Graph
tangent segments
Eliminate concave obstacle vertices
can’t be shortest path
Generalized (Reduced) Generalized (Reduced) Visibility GraphVisibility Graph
tangency point
Three-Dimensional SpaceThree-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
Roadmap MethodsRoadmap Methods Voronoi diagramVoronoi diagram
Introduced by Introduced by Computational Computational Geometry Geometry researchers. Generate researchers. Generate paths that maximizes paths that maximizes clearance. clearance.
O(n log n) timeO(n log n) timeO(n) spaceO(n) space
Roadmap MethodsRoadmap Methods Visibility graphVisibility graph Voronoi diagram Voronoi diagram SilhouetteSilhouette
FirstFirst complete general method that applies complete general method that applies to spaces of any dimension and is singly to spaces of any dimension and is singly exponential in # of dimensions [Canny, 87]exponential in # of dimensions [Canny, 87]
Probabilistic roadmapsProbabilistic roadmaps
Cell-Decomposition MethodsCell-Decomposition Methods
Two classes of methods:Two classes of methods: Exact cell decompositionExact cell decomposition
The free space F is represented by a The free space F is represented by a collection of non-overlapping cells collection of non-overlapping cells whose union is whose union is exactlyexactly F FExample: trapezoidal decompositionExample: trapezoidal decomposition
Path-Planning ApproachesPath-Planning Approaches1.1. RoadmapRoadmap
Represent the connectivity of the free space by Represent the connectivity of the free space by a network of 1-D curvesa network of 1-D curves
2.2. Cell decompositionCell decompositionDecompose the free space into simple cells and Decompose the free space into simple cells and represent the connectivity of the free space by represent the connectivity of the free space by the adjacency graph of these cellsthe adjacency graph of these cells
3.3. Potential fieldPotential fieldDefine a function over the free space that has a Define a function over the free space that has a global minimum at the goal configuration and global minimum at the goal configuration and follow its steepest descentfollow its steepest descent
Trapezoidal decompositionTrapezoidal decomposition
Trapezoidal decompositionTrapezoidal decomposition
Trapezoidal decompositionTrapezoidal decomposition
Trapezoidal decompositionTrapezoidal decomposition
Trapezoidal decompositionTrapezoidal decomposition
critical events criticality-based decomposition
…
Trapezoidal decompositionTrapezoidal decomposition
Planar sweep O(n log n) time, O(n) space
Cell-Decomposition MethodsCell-Decomposition Methods
Two classes of methods:Two classes of methods: Exact cell decompositionExact cell decomposition Approximate cell decompositionApproximate cell decomposition
F is represented by a collection of F is represented by a collection of non-overlapping cells whose union is non-overlapping cells whose union is contained in Fcontained in FExamples: quadtree, octree, 2Examples: quadtree, octree, 2nn-tree-tree
Octree DecompositionOctree Decomposition
Sketch of AlgorithmSketch of Algorithm1.1. Compute cell decomposition down to Compute cell decomposition down to
some resolutionsome resolution2.2. Identify start and goal cellsIdentify start and goal cells3.3. Search for sequence of empty/mixed Search for sequence of empty/mixed
cells between start and goal cellscells between start and goal cells4.4. If no sequence, then exit with If no sequence, then exit with no pathno path5.5. If sequence of empty cells, then exit with If sequence of empty cells, then exit with
solutionsolution6.6. If resolution threshold achieved, then If resolution threshold achieved, then
exit with exit with failurefailure7.7. Decompose further the mixed cellsDecompose further the mixed cells8.8. Return to Return to 22
Path-Planning ApproachesPath-Planning Approaches1.1. RoadmapRoadmap
Represent the connectivity of the free space by Represent the connectivity of the free space by a network of 1-D curvesa network of 1-D curves
2.2. Cell decompositionCell decompositionDecompose the free space into simple cells and Decompose the free space into simple cells and represent the connectivity of the free space by represent the connectivity of the free space by the adjacency graph of these cellsthe adjacency graph of these cells
3.3. Potential fieldPotential fieldDefine a function over the free space that has a Define a function over the free space that has a global minimum at the goal configuration and global minimum at the goal configuration and follow its steepest descentfollow its steepest descent
Approach initially proposed for real-time Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of collision avoidance [Khatib, 86]. Hundreds of papers published on it.papers published on it.
Potential Field MethodsPotential Field Methods
)( GoalpGoal xxkF
0
020
0
,111
if
ifxFObstacle
Goal
Robot
Attractive and Repulsive Attractive and Repulsive fieldsfields
Local-Minimum IssueLocal-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)
Sketch of Algorithm Sketch of Algorithm (with best-first search)(with best-first search)
1.1. Place regular grid G over spacePlace regular grid G over space
2.2. Search G using best-first search Search G using best-first search algorithm with potential as heuristic algorithm with potential as heuristic functionfunction
Simple Navigation FunctionSimple Navigation Function
0 11
1
2
22
2 3
3
3
4 45
1
1 22
2 3
3
3
4 5
210
4
Simple Navigation FunctionSimple Navigation Function
1
1 22
2 3
3
3
4 5
210
4
Simple Navigation FunctionSimple Navigation Function
Completeness of PlannerCompleteness of Planner A motion planner is A motion planner is completecomplete if it finds a if it finds a
collision-free path whenever one exists collision-free path whenever one exists and return failure otherwise.and return failure otherwise.
Visibility graph, Voronoi diagram, exact Visibility graph, Voronoi diagram, exact cell decomposition, navigation function cell decomposition, navigation function provide complete plannersprovide complete planners
Weaker notions of completeness, e.g.:Weaker notions of completeness, e.g.:- resolution completeness - resolution completeness
(PF with best-first search)(PF with best-first search)- probabilistic completeness - probabilistic completeness
(PF with random walks)(PF with random walks)
A A probabilistically complete plannerprobabilistically complete planner returns a path with high probability if returns a path with high probability if a path exists. It may not terminate if a path exists. It may not terminate if no path exists.no path exists.
A A resolution complete plannerresolution complete planner discretizes the space and returns a discretizes the space and returns a path whenever one exists in this path whenever one exists in this representation.representation.
Preprocessing / Query Preprocessing / Query ProcessingProcessing
Preprocessing:Preprocessing: Compute visibility graph, Voronoi Compute visibility graph, Voronoi diagram, cell decomposition, diagram, cell decomposition, navigation functionnavigation function
Query processing:Query processing:- Connect start/goal configurations to - Connect start/goal configurations to visibility graph, Voronoi diagram visibility graph, Voronoi diagram- Identify start/goal cell- Identify start/goal cell- Search graph- Search graph
Issues for Future Lectures Issues for Future Lectures on Planningon Planning
Space dimensionalitySpace dimensionality Geometric complexity of the free spaceGeometric complexity of the free space Constraints other than avoiding collisionConstraints other than avoiding collision The goal is not just a position to reachThe goal is not just a position to reach Etc … Etc …
Semester ProjectSemester Project
Topic of your choosing, advised and Topic of your choosing, advised and approved by instructorapproved by instructor
Groups of 1-3 studentsGroups of 1-3 students ScheduleSchedule
• Proposal (Feb.)Proposal (Feb.)• Mid term report / discussion (March)Mid term report / discussion (March)• Final presentation (end of April)Final presentation (end of April)
Semester Project DiscussionSemester Project Discussion
Three types of project:Three types of project:• Make a robot or virtual character Make a robot or virtual character
perform a taskperform a task• Implement and analyze an algorithm Implement and analyze an algorithm
(empirically or mathematically)(empirically or mathematically)• Analyze natural motion using principles Analyze natural motion using principles
from roboticsfrom robotics
Project IdeasProject Ideas
Robot chessRobot chess Finding and tracking people indoorsFinding and tracking people indoors UI for assistive robot armsUI for assistive robot arms Analysis for psychological observation Analysis for psychological observation
studies studies (Prof. Yu)(Prof. Yu)
Outdoor vehicle navigation Outdoor vehicle navigation (Prof. Johnson)(Prof. Johnson)
Motion in social contexts Motion in social contexts (Profs. Scheutz and (Profs. Scheutz and Sabanovic)Sabanovic)
Platforms AvailablePlatforms Available GUIs, simulations:GUIs, simulations:
• OpenGL (basic 3D GUI)OpenGL (basic 3D GUI)• Player/Stage/Gazebo (mobile robot simulation)Player/Stage/Gazebo (mobile robot simulation)• Open Dynamics Engine (rigid body simulation)Open Dynamics Engine (rigid body simulation)
Toolkits:Toolkits:• KrisLibrary: math, optimization, kinematics, geometry, KrisLibrary: math, optimization, kinematics, geometry,
motion planningmotion planning• Motion Planning Toolkit (MPK)Motion Planning Toolkit (MPK)• OOPSMPOOPSMP
Robots:Robots:• Lynxmotion AL5D hobbyist armLynxmotion AL5D hobbyist arm• Segway RMP with laser sensorSegway RMP with laser sensor• Staubli TX90L industrial robot armsStaubli TX90L industrial robot arms• ERA-MOBI mobile robotERA-MOBI mobile robot
ReadingsReadings
PrinciplesPrinciples Ch. 3.1-3.4 Ch. 3.1-3.4 Lozano-Perez (1986)Lozano-Perez (1986) *Lozano-Perez (1983)*Lozano-Perez (1983)