b659: principles of intelligent robot motion kris hauser

51
B659: Principles of B659: Principles of Intelligent Robot Intelligent Robot Motion Motion Kris Hauser Kris Hauser

Upload: shon-harmon

Post on 16-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: B659: Principles of Intelligent Robot Motion Kris Hauser

B659: Principles of B659: Principles of Intelligent Robot Intelligent Robot

MotionMotionKris HauserKris Hauser

Page 2: B659: Principles of Intelligent Robot Motion Kris Hauser

AgendaAgenda

Skimming through Skimming through PrinciplesPrinciples Ch. 2, Ch. 2, 5.1, 6.1 5.1, 6.1

Page 3: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 4: B659: Principles of Intelligent Robot Motion Kris Hauser

Tool: Configuration SpaceTool: Configuration Space

Page 5: B659: Principles of Intelligent Robot Motion Kris Hauser

ProblemProblem

free space

s

g

free path

obstacle

obstacle

obstacle

Page 6: B659: Principles of Intelligent Robot Motion Kris Hauser

ProblemProblem

g

obstacle

obstacle

obstacle

s

Semi-free path

Page 7: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 8: B659: Principles of Intelligent Robot Motion Kris Hauser

Homotopy of Free PathsHomotopy of Free Paths

Page 9: B659: Principles of Intelligent Robot Motion Kris Hauser

Motion-Planning Motion-Planning FrameworkFramework

Continuous representation

Discretization

Graph searching(blind, best-first, A*)

Page 10: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 11: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 12: B659: Principles of Intelligent Robot Motion Kris Hauser

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*

Page 13: B659: Principles of Intelligent Robot Motion Kris Hauser

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))

Page 14: B659: Principles of Intelligent Robot Motion Kris Hauser

Rotational SweepRotational Sweep

Page 15: B659: Principles of Intelligent Robot Motion Kris Hauser

Rotational SweepRotational Sweep

Page 16: B659: Principles of Intelligent Robot Motion Kris Hauser

Rotational SweepRotational Sweep

Page 17: B659: Principles of Intelligent Robot Motion Kris Hauser

Rotational SweepRotational Sweep

Page 18: B659: Principles of Intelligent Robot Motion Kris Hauser

Rotational SweepRotational Sweep

Page 19: B659: Principles of Intelligent Robot Motion Kris Hauser

Reduced Visibility GraphReduced Visibility Graph

tangent segments

Eliminate concave obstacle vertices

can’t be shortest path

Page 20: B659: Principles of Intelligent Robot Motion Kris Hauser

Generalized (Reduced) Generalized (Reduced) Visibility GraphVisibility Graph

tangency point

Page 21: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 22: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 23: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 24: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 25: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 26: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

Page 27: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

Page 28: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

Page 29: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

Page 30: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

critical events criticality-based decomposition

Page 31: B659: Principles of Intelligent Robot Motion Kris Hauser

Trapezoidal decompositionTrapezoidal decomposition

Planar sweep O(n log n) time, O(n) space

Page 32: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 33: B659: Principles of Intelligent Robot Motion Kris Hauser

Octree DecompositionOctree Decomposition

Page 34: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 35: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 36: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 37: B659: Principles of Intelligent Robot Motion Kris Hauser

Attractive and Repulsive Attractive and Repulsive fieldsfields

Page 38: B659: Principles of Intelligent Robot Motion Kris Hauser

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)

Page 39: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 40: B659: Principles of Intelligent Robot Motion Kris Hauser

Simple Navigation FunctionSimple Navigation Function

0 11

1

2

22

2 3

3

3

4 45

Page 41: B659: Principles of Intelligent Robot Motion Kris Hauser

1

1 22

2 3

3

3

4 5

210

4

Simple Navigation FunctionSimple Navigation Function

Page 42: B659: Principles of Intelligent Robot Motion Kris Hauser

1

1 22

2 3

3

3

4 5

210

4

Simple Navigation FunctionSimple Navigation Function

Page 43: B659: Principles of Intelligent Robot Motion Kris Hauser

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)

Page 44: B659: Principles of Intelligent Robot Motion Kris Hauser

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.

Page 45: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 46: B659: Principles of Intelligent Robot Motion Kris Hauser

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 …

Page 47: B659: Principles of Intelligent Robot Motion Kris Hauser

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)

Page 48: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 49: B659: Principles of Intelligent Robot Motion Kris Hauser

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)

Page 50: B659: Principles of Intelligent Robot Motion Kris Hauser

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

Page 51: B659: Principles of Intelligent Robot Motion Kris Hauser

ReadingsReadings

PrinciplesPrinciples Ch. 3.1-3.4 Ch. 3.1-3.4 Lozano-Perez (1986)Lozano-Perez (1986) *Lozano-Perez (1983)*Lozano-Perez (1983)