robot path planning

178
Slide 1 Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University

Upload: hea

Post on 05-Jan-2016

25 views

Category:

Documents


2 download

DESCRIPTION

Robot Path Planning. William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University. Introduction to Motion Planning. Applications Overview of the Problem Basics – Planning for Point Robot Visibility Graphs Roadmap Cell Decomposition Potential Field. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Robot Path Planning

Slide 1

Robot Path Planning

William RegliDepartment of Computer Science

(and Departments of ECE and MEM)Drexel University

Page 2: Robot Path Planning

Slide 2

Introduction to Motion Planning

• Applications• Overview of the Problem• Basics – Planning for Point Robot

– Visibility Graphs– Roadmap– Cell Decomposition– Potential Field

Page 3: Robot Path Planning

Slide 3

Motion planning is the ability for an agent to compute its own motions in order to achieve

certain goals. All autonomous robots and digital actors should eventually have this ability

Page 4: Robot Path Planning

Slide 4

Goals• Compute motion strategies, e.g.,

– Geometric paths – Time-parameterized trajectories– Sequence of sensor-based motion commands

• Achieve high-level goals, e.g.,– Go to the door and do not collide with obstacles– Assemble/disassemble the engine– Build a map of the hallway– Find and track the target (an intruder, a missing

pet, etc.)

Page 5: Robot Path Planning

Slide 5

Fundamental Question

Are two given points connected by a path?

Page 6: Robot Path Planning

Slide 6

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 collision-free path connecting the initial and goal configurations

Page 7: Robot Path Planning

Slide 7

Types of Path Constraints

• Local constraints – Collision-free paths

• Differential constraints– A car cannot move sideways– Have bound curvature

• Global constraints– Shortest or optimal paths

Path Planning

Motion Planning

Page 8: Robot Path Planning

Slide 8

Non-Holonomic Constraints

v

θ

3 degrees of freedom, but…only 2 control parameters

Not every path in configuration space is valid...

Page 9: Robot Path Planning

Slide 9

On a Terrain

Planar motion, but 3-dimensional obstacles.

Page 10: Robot Path Planning

Slide 10

Multiple Robots

2RW

A

Robots translate and rotate

Collisions between robots.

)2,0[R

)2,0[R

)2,0[RC

2

2

2

'A

''A

Page 11: Robot Path Planning

Slide 11

Moving Obstacles

A

Add time dimension to C.

Only time-monotone paths are allowed

Page 12: Robot Path Planning

Slide 12

Movable Obstacles

A

Robot can change Cfree!

Page 13: Robot Path Planning

Slide 13

More

• Huge numbers of degrees of freedom.

• Group motions

• Deformable robots

• …

Page 14: Robot Path Planning

Slide 14

What is the number of DoF’s?

a polygon robot translating in the plane a polygon robot translating and rotating a spherical robot moving in space a spatial robot translating and rotating a snake robot in the plane with 3 links

Page 15: Robot Path Planning

Slide 15

Example: Rigid Objects

Page 16: Robot Path Planning

Slide 16

Piano Mover’s Problem

• 2D or 3D rigid models

Page 17: Robot Path Planning

Slide 17

• piano.mpg

• Bench6.avi

Page 18: Robot Path Planning

Slide 18

Example: Articulated Robot

Page 19: Robot Path Planning

Slide 19

Is it easy?

Page 20: Robot Path Planning

Slide 20

• Alpha.avi

• Alpha-another-path.avi

Page 21: Robot Path Planning

Slide 21

Hardness Results

• Several variants of the path planning problem have been proven to be PSPACE-hard.

• A complete algorithm may take exponential time.– A complete algorithm finds a path if one exists and

reports no path exists otherwise.

• Examples– Planar linkages [Hopcroft et al., 1984]– Multiple rectangles [Hopcroft et al., 1984]

Page 22: Robot Path Planning

Slide 22

Hardness The problem is hard when k is part of the

input [Reif 79], [Hopcroft et al. 84], … [Reif 79]: planning a free path for a robot

made of an arbitrary number of polyhedral bodies connected together at some joint vertices, among a finite set of polyhedral obstacles, between any two given configurations, is a PSPACE-hard problem

Translating rectangles, planar linkages

Page 23: Robot Path Planning

Slide 23

Complete solutions, I the Piano Movers series [Schwartz-Sharir 83],

cell decomposition: a doubly-exponential

solution, O(nd)3^k) expected time

assuming the robot complexity is constant,

n is the complexity of the obstacles and

d is the algebraic complexity of the problem

Page 24: Robot Path Planning

Slide 24

Complete solutions, II

roadmap [Canny 87]:

a singly exponential solution,

nk(log n)dO(k^2) expected time

Page 25: Robot Path Planning

Slide 25

Tool: Configuration Space

Difficulty– Number of degrees of freedom (dimension of

configuration space)– Geometric complexity

Page 26: Robot Path Planning

Slide 26

Extensions of the Basic Problem

• More complex robots– Multiple robots– Movable objects– Nonholonomic & dynamic constraints– Physical models and deformable objects– Sensorless motions (exploiting task mechanics)– Uncertainty in control

Page 27: Robot Path Planning

Slide 27

Extensions of the Basic Problem

• More complex environments– Moving obstacles

– Uncertainty in sensing

• More complex objectives– Optimal motion planning

– Integration of planning and control

– Assembly planning

– Sensing the environment• Model building• Target finding, tracking

Page 28: Robot Path Planning

Slide 28

Practical Algorithms

• A complete motion planner always returns a solution when one exists and indicates that no such solution exists otherwise.

• Most motion planning problems are hard, meaning that complete planners take exponential time in the number of degrees of freedom, moving objects, etc.

Page 29: Robot Path Planning

Slide 29

Practical Algorithms

• Theoretical algorithms strive for completeness and low worst-case complexity– Difficult to implement– Not robust

• Heuristic algorithms strive for efficiency in commonly encountered situations. – No performance guarantee

• Practical algorithms with performance guarantees– Weaker forms of completeness– Simplifying assumptions on the space: “exponential time”

algorithms that work in practice

Page 30: Robot Path Planning

Slide 30

Problem Formulation for Point Robot

• Input– Robot represented as a

point in the plane– Obstacles represented as

polygons– Initial and goal positions

• Output– A collision-free path

between the initial and goal positions

Page 31: Robot Path Planning

Slide 31

Motion planning:the basic problem

Let B be a system (the robot) with k degrees of freedom moving in a known environment cluttered with obstacles. Given free start and goal placements for B decide whether there is a collision free motion for B from start to goal and if so plan such a motion.

Page 32: Robot Path Planning

Slide 32

Configuration spaceof a robot system with k degrees of freedom

the space of parametric representation of all possible robot configurations

C-obstacles: the expanded obstacles the robot -> a point k dimensional space point in configuration space: free,

forbidden, semi-free path -> curve

[Lozano-Peréz ’79]

Page 33: Robot Path Planning

Slide 33

Some Examples

Page 34: Robot Path Planning

Slide 34

Visibility Graphs

Page 35: Robot Path Planning

Slide 35

Framework

Page 36: Robot Path Planning

Slide 36

Visibility Graph Method

• Observation: If there is a collision-free path between two points, then there is a polygonal path that bends only at the obstacles vertices.

• Why? – Any collision-free path can

be transformed into a polygonal path that bends only at the obstacle vertices.

• A polygonal path is a piecewise linear curve.

Page 37: Robot Path Planning

Slide 37

Visibility Graph

• A visibility graph is a graph such that– Nodes: qinit, qgoal, or an obstacle vertex.– Edges: An edge exists between nodes u and v if the

line segment between u and v is an obstacle edge or it does not intersect the obstacles.

Page 38: Robot Path Planning

Slide 38

A Simple Algorithm for Building Visibility Graphs

Page 39: Robot Path Planning

Slide 39

Computational Efficiency

• Simple algorithm O(n3) time• More efficient algorithms

– Rotational sweep O(n2log n) time– Optimal algorithm O(n2) time– Output sensitive algorithms

• O(n2) space

Page 40: Robot Path Planning

Slide 40

g

s

Issues With Visibility Graphs

Difficult to extend from point robots to rigid or articulated robots

A L-shaped robot

Page 41: Robot Path Planning

Slide 41

Framework

Page 42: Robot Path Planning

Slide 42

Breadth-First Search

Page 43: Robot Path Planning

Slide 43

Breadth-First Search

Page 44: Robot Path Planning

Slide 44

Breadth-First Search

Page 45: Robot Path Planning

Slide 45

Breadth-First Search

Page 46: Robot Path Planning

Slide 46

Breadth-First Search

Page 47: Robot Path Planning

Slide 47

Breadth-First Search

Page 48: Robot Path Planning

Slide 48

Breadth-First Search

Page 49: Robot Path Planning

Slide 49

Breadth-First Search

Page 50: Robot Path Planning

Slide 50

Breadth-First Search

Page 51: Robot Path Planning

Slide 51

Breadth-First Search

Page 52: Robot Path Planning

Slide 52

Other Search Algorithms

• Depth-First Search

• Best-First Search, A*

Page 53: Robot Path Planning

Slide 53

Framework

Page 54: Robot Path Planning

Slide 54

Summary• Discretize the space by constructing

visibility graph

• Search the visibility graph with breadth-first search

Q: How to perform the intersection test?

Page 55: Robot Path Planning

Slide 55

Summary

• Represent the connectivity of the configuration space in the visibility graph

• Running time O(n3)– Compute the visibility graph– Search the graph– An optimal O(n2) time algorithm exists.

• Space O(n2)

Can we do better?

Page 56: Robot Path Planning

Slide 56

Classic Path Planning Approaches

• Roadmap – Represent the connectivity of the free space by a network of 1-D curves

• Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells

• Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function

Page 57: Robot Path Planning

Slide 57

Roadmap

• Visibility graph Shakey Project, SRI

[Nilsson, 1969]

• Voronoi Diagram Introduced by

computational geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2-D configuration spaces.

Page 58: Robot Path Planning

Slide 58

Voronoi Diagram

• Space O(n)

• Run time O(n log n)

Page 59: Robot Path Planning

Slide 59

Other Roadmap Methods

• SilhouetteFirst complete general method that applies to spaces of any dimensions and is singly exponential in the number of dimensions [Canny 1987]

• Probabilistic roadmaps

Page 60: Robot Path Planning

Slide 60

Classic Path Planning Approaches

• Roadmap – Represent the connectivity of the free space by a network of 1-D curves

• Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells

• Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function

Page 61: Robot Path Planning

Slide 61

Cell-decomposition Methods

• Exact cell decomposition

The free space F is represented by a collection of non-overlapping simple cells whose union is exactly F

• Examples of cells: trapezoids, triangles

Page 62: Robot Path Planning

Slide 62

Point robot

www.seas.upenn.edu/~jwk/motionPlanning

Page 63: Robot Path Planning

Slide 63

Adjacency Graph

• Nodes: cells• Edges: There is an edge between every pair of

nodes whose corresponding cells are adjacent.

Page 64: Robot Path Planning

Slide 64

Trapezoidal Decomposition

Page 65: Robot Path Planning

Slide 65

Trapezoidal decomposition

c11

c1

c2

c4

c3

c6

c5c8

c7

c10

c9

c12

c13

c14

c15

www.seas.upenn.edu/~jwk/motionPlanning

Page 66: Robot Path Planning

Slide 66

Connectivity graph

c1 c10

c2

c3

c4 c5

c6

c7

c8

c9

c11

c12

c13

c14

c15

c11

c1

c2

c4

c3

c6

c5c8

c7

c10

c9

c12

c13

c14

c15

www.seas.upenn.edu/~jwk/motionPlanning

Page 67: Robot Path Planning

Slide 67

Computational Efficiency

• Running time O(n log n) by planar sweep

• Space O(n)

• Mostly for 2-D configuration spaces

Page 68: Robot Path Planning

Slide 68

Summary

• Discretize the space by constructing an adjacency graph of the cells

• Search the adjacency graph

Page 69: Robot Path Planning

Slide 69

Cell-decomposition Methods

• Exact cell decomposition

• Approximate cell decomposition– F is represented by a collection of non-

overlapping cells whose union is contained in F.

– Cells usually have simple, regular shapes, e.g., rectangles, squares.

– Facilitate hierarchical space decomposition

Page 70: Robot Path Planning

Slide 70

Quadtree Decomposition

Page 71: Robot Path Planning

Slide 71

Octree Decomposition

Page 72: Robot Path Planning

Slide 72

Algorithm Outline

Page 73: Robot Path Planning

Slide 73

Classic Path Planning Approaches

• Roadmap – Represent the connectivity of the free space by a network of 1-D curves

• Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells

• Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function

Page 74: Robot Path Planning

Slide 74

Potential Fields• Initially proposed for real-time collision avoidance

[Khatib 1986]. Hundreds of papers published.• A potential field is a scalar function over the free

space.• To navigate, the robot applies a force proportional to

the negated gradient of the potential field.• A navigation function is an ideal potential field that

– has global minimum at the goal– has no local minima– grows to infinity near obstacles– is smooth

Page 75: Robot Path Planning

Slide 75

Attractive & Repulsive Fields

Page 76: Robot Path Planning

Slide 76

How Does It Work?

Page 77: Robot Path Planning

Slide 77

Algorithm Outline

• Place a regular grid G over the configuration space

• Compute the potential field over G

• Search G using a best-first algorithm with potential field as the heuristic function

Page 78: Robot Path Planning

Slide 78

Local Minima

• What can we do?– Escape from local minima by taking

random walks– Build an ideal potential field – navigation

function – that does not have local minima

Page 79: Robot Path Planning

Slide 79

Question

• Can such an ideal potential field be constructed efficiently in general?

Page 80: Robot Path Planning

Slide 80

Completeness

• A complete motion planner always returns a solution when one exists and indicates that no such solution exists otherwise.– Is the visibility graph algorithm complete?

Yes.– How about the exact cell decomposition

algorithm and the potential field algorithm?

Page 81: Robot Path Planning

Slide 81

Why Complete Motion Planning?

• Probabilistic roadmap motion planning– Efficient– Work for complex

problems with many DOF

– Difficult for narrow passages

– May not terminate when no path exists

• Complete motion planning– Always terminate

– Not efficient– Not robust even for

low DOF

Page 82: Robot Path Planning

Slide 82

Path Non-existence Problem

Obstacle

GoalInitial

Robot

Page 83: Robot Path Planning

Slide 83

Main Challenge

Obstacle

GoalInitial

Robot

• Exponential complexity: nDOF

– Degree of freedom: DOF– Geometric complexity: n

• More difficult than finding a path– To check all possible paths

Page 84: Robot Path Planning

Slide 84

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid planner

Page 85: Robot Path Planning

Slide 85

Configuration Space: 2D Translation

Workspace Configuration Space

xyRobot

Start

Goal

Free

Obstacle C-obstacle

Page 86: Robot Path Planning

Slide 86

ConfigurationSpace Computation

• [Varadhan et al, ICRA 2006]• 2 Translation + 1 Rotation• 215 seconds

Obstacle

Robot

x

y

Page 87: Robot Path Planning

Slide 87

Obstacles in C-spaceWorkspace Configuration Space

xyRobot

Start

Goal

Free

Obstacle C-obstacle

A 2D Translating Robot

Page 88: Robot Path Planning

Slide 88

Obstacles in C-space• A configuration q is collision-free, or free, if a

moving object placed at q does not intersect any obstacles in the workspace.

• The free space F is the set of free configurations.

• A configuration space obstacle (C-obstacle) is the set of configurations where the moving object collides with workspace obstacles.

Page 89: Robot Path Planning

Slide 89

Disc in 2-D Workspaceworkspace configuration

space

Page 90: Robot Path Planning

Slide 90

Polygonal Robot Translating in 2-D Workspace

workspace configuration space

Page 91: Robot Path Planning

Slide 91

Articulated Robot in 2-D Workspace

workspace configuration space

Page 92: Robot Path Planning

Slide 92

Fundamental Questionworkspace configuration space

Are two given points connected by a path?

Page 93: Robot Path Planning

Slide 93

Problem: Computing C-obstacles

• Input:– Polygonal moving object translating in 2-D

workspace – Polygonal obstacles

• Output: configuration space obstacles represented as polygons

Page 94: Robot Path Planning

Slide 94

Minkowski Sum

},|{ BbAabaBA

A B

Page 95: Robot Path Planning

Slide 95

Exercise

AB

A B = ?

Page 96: Robot Path Planning

Slide 96

Minkowski Sum

},|{ BbAabaBA

Page 97: Robot Path Planning

Slide 97

Minkowski Sum

Page 98: Robot Path Planning

Slide 98

Minkowski Sum

},|{ BbAabaBA

Page 99: Robot Path Planning

Slide 99

Minkowski Sum

• The Minkowski sum of two sets A and B, denoted by AB, is defined as A B = { a+b | a A, bB }

• Similarly, the Minkowski difference is defined as

A – B = { a–b | aA, bB }

p

q

Page 100: Robot Path Planning

Slide 100

Minkowski Sum of Non-convex Polyhedra

Page 101: Robot Path Planning

Slide 101

Configuration Space Obstacle• If P is an obstacle in the workspace and M is a

translating object. Then the C-space obstacle corresponding to P is P – M.

P -MObstacle

PRobot

M

C-obstacle

Classic result by Lozano-Perez and Wesley 1979

Page 102: Robot Path Planning

Slide 102

Minkowski Sum of Convex Polygons

• The Minkowski sum of two convex polygons A and B of m and n vertices respectively is a convex polygon A + B of m + n vertices.– The vertices of A + B are the “sums” of

vertices of A and B.

Page 103: Robot Path Planning

Slide 103

Complexity of Minkowksi Sum

• 2D convex polygons: O(n+m) • 2D non-convex polygons: O(n2m2)

– Decompose into convex polygons (e.g., triangles or trapezoids), compute the Minkowski sums, and take the union

• 3-D convex polyhedra: O(nm)• 3-D non-convex polyhedra: O(n3m3)

Page 104: Robot Path Planning

Slide 104

Complexity of Computing C-obstacles

• 3D rigid robots with both translational and rotational DOF– 6D C-space– Arrangement of non-linear surfaces– High combinatorial complexity

• Conclusion– Explicit computation of the boundary of C-obstacle is

difficult and impractical for robots more than 3 DOFs

Page 105: Robot Path Planning

Slide 105

C-spaceWorkspace Configuration Space

xyRobot

Initial

Goal

Free

Obstacle C-obstacle

A 2D Translating Robot

Page 106: Robot Path Planning

Slide 106

Computing C-Obstacles

• Difficult due to geometric and space complexity

• Practical solutions are only available for– Translating rigid robots: Minkowski sum– Robots with no more than 3 DOFs

Page 107: Robot Path Planning

Slide 107

Exact Motion Planning• Approaches

– Exact cell decomposition [Schwartz et al. 83]

– Roadmap [Canny 88]– Criticality based method [Latombe 99]– Voronoi Diagram– Star-shaped roadmap [Varadhan et al. 06]

• Not practical– Due to free space computation

– Limit for special and simple objects • Ladders, sphere, convex shapes• 3DOF

Page 108: Robot Path Planning

Slide 108

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid Planner Combing ACD and PRM

Page 109: Robot Path Planning

Slide 109

Approximation Cell Decomposition (ACD)

• Not compute the free space exactly at once• But compute it incrementally

• Relatively easy to implement– [Lozano-Pérez 83]– [Zhu et al. 91]– [Latombe 91]– [Zhang et al. 06]

Page 110: Robot Path Planning

Slide 110

full mixed

empty

Approximation Cell Decomposition

• Full cell

• Empty cell

• Mixed cell– Mixed– Uncertain

Configuration Space

Page 111: Robot Path Planning

Slide 111

Connectivity GraphGf : Free Connectivity Graph G: Connectivity Graph

Gf is a subgraph of G

Page 112: Robot Path Planning

Slide 112

Finding a Path by ACD

Goal

Initial Gf : Free Connectivity Graph

Page 113: Robot Path Planning

Slide 113

Finding a Path by ACDL: Guiding Path• First Graph Cut Algorithm

– Guiding path in connectivity graph G

– Only subdivide along this path

– Update the graphs G and Gf

Described in Latombe’s book

Page 114: Robot Path Planning

Slide 114

First Graph Cut Algorithm

Only subdivide along L

L

Page 115: Robot Path Planning

Slide 115

Finding a Path by ACD

Page 116: Robot Path Planning

Slide 116

ACD for Path Non-existence

C-space

Goal

Initial

Page 117: Robot Path Planning

Slide 117

Connectivity Graph Guiding Path

ACD for Path Non-existence

Page 118: Robot Path Planning

Slide 118

ACD for Path Non-existence

Connectivity graph is not connected

No path!

Sufficient condition for deciding path non-existence

Page 119: Robot Path Planning

Slide 119

Two-gear Example

no path!

Cells in C-obstacle

Initial

Goal

Roadmap in F

Video 3.356s

Page 120: Robot Path Planning

Slide 120

Cell Labeling

• Free Cell Query– Whether a cell

completely lies in free space?

• C-obstacle Cell Query– Whether a cell

completely lies in C-obstacle?

full mixed

empty

Page 121: Robot Path Planning

Slide 121

Free Cell Query A Collision Detection Problem

•Does the cell lie inside free space?

• Do robot and obstacle separate at all configurations?

Obstacle

WorkspaceConfiguration space

?

Robot

Page 122: Robot Path Planning

Slide 122

Clearance

• Separation distance– A well studied geometric problem

• Determine a volume in C-space which are completely free

d

Page 123: Robot Path Planning

Slide 123

C-obstacle QueryAnother Collision Detection Problem

•Does the cell lie inside C-obstacle?

• Do robot and obstacle intersect at all configurations?

Obstacle

WorkspaceConfiguration space

?Robot

Page 124: Robot Path Planning

Slide 124

‘Forbiddance’

• ‘Forbiddance’: dual to clearance• Penetration Depth

– A geometric computation problem less investigated

• [Zhang et al. ACM SPM 2006]

PD

Page 125: Robot Path Planning

Slide 125

Limitation of ACD

• Combinatorial complexity of cell decomposition

• Limited for low DOF problem– 3-DOF robots

Page 126: Robot Path Planning

Slide 126

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid Planner Combing ACD and PRM

Page 127: Robot Path Planning

Slide 127

Hybrid Planning• Probabilistic roadmap

motion planning+ Efficient+ Many DOFs

- Narrow passages- Path non-existence

• Complete Motion Planning+ Complete

- Not efficient

Can we combine them together?

Page 128: Robot Path Planning

Slide 128

Hybrid Approach for Complete Motion Planning

• Use Probabilistic Roadmap (PRM): – Capture the connectivity for

mixed cells– Avoid substantial subdivision

• Use Approximation Cell Decomposition (ACD)– Completeness – Improve the sampling on

narrow passages

Page 129: Robot Path Planning

Slide 129

Connectivity GraphGf : Free Connectivity Graph G: Connectivity Graph

Gf is a subgraph of G

Page 130: Robot Path Planning

Slide 130

Pseudo-free edges

Pseudo free edge for two adjacent cells

Goal

Initial

Page 131: Robot Path Planning

Slide 131

Pseudo-free Connectivity Graph:

Gsf

Goal

Initial

Gsf = Gf + Pseudo-edges

Page 132: Robot Path Planning

Slide 132

Algorithm

• Gf

• Gsf

• G

Page 133: Robot Path Planning

Slide 133

Results of Hybrid Planning

Page 134: Robot Path Planning

Slide 134

Results of Hybrid Planning

Page 135: Robot Path Planning

Slide 135

Results of Hybrid Planning• 2.5 - 10 times speedup

3 DOF 4 DOF 4 DOF

timing cells # timing cells # timing cells #

Hybrid 34s 50K 16s 48K 102s 164K

ACD 85s 168K ? ? ? ?

Speedup 2.5 3.3 ≥10 ? ≥10 ?

Page 136: Robot Path Planning

Slide 136

Summary • Difficult for Exact Motion Planning

– Due to the difficulty of free space configuration computation

• ACD is more practical– Explore the free space incrementally

• Hybrid Planning– Combine the completeness of ACD and

efficiency of PRM

Page 137: Robot Path Planning

Slide 137

Outline

• Approximate cell decomposition

• Sampling-based motion planning

Page 138: Robot Path Planning

Slide 138

Approximate Cell Decomposition (ACD)

• Not compute the free space exactly at once• But compute it incrementally

• Relatively easy to implement– [Lozano-Pérez 83]– [Zhu et al. 91]– [Latombe 91]– [Zhang et al. 06]

Octree decomposition

Page 139: Robot Path Planning

Slide 139

full mixed

empty

Approximate Cell Decomposition

• Full cell• Empty cell • Mixed cell

– Mixed– Uncertain

• Cell labelling algorithms– [Zhang et al 06]

Configuration Space

Page 140: Robot Path Planning

Slide 140

Finding a Path by ACD

Goal

Initial

Page 141: Robot Path Planning

Slide 141

Connectivity GraphGf : Free Connectivity Graph G: Connectivity Graph

Gf is a subgraph of G

Page 142: Robot Path Planning

Slide 142

Finding a Path by ACD

Goal

Initial Gf : Free Connectivity Graph

Page 143: Robot Path Planning

Slide 143

Finding a Path by ACDL: Guiding Path• First Graph Cut Algorithm

– Guiding path in connectivity graph G

– Only subdivide along this path

– Update the graphs G and Gf

Page 144: Robot Path Planning

Slide 144

First Graph Cut Algorithm

Only subdivide the cells along L

L : Guiding Path

new Gf

Page 145: Robot Path Planning

Slide 145

Finding a Path by ACDGf

• A channel

• Can be used for path smoothing.

Page 146: Robot Path Planning

Slide 146

ACD for Path Non-existence

C-space

Goal

Initial

Page 147: Robot Path Planning

Slide 147

Connectivity Graph Guiding Path

ACD for Path Non-existence

Page 148: Robot Path Planning

Slide 148

ACD for Path Non-existence

Connectivity graph is not connected

No path!

A sufficient condition for deciding path non-existence

Page 149: Robot Path Planning

Slide 149

• Live Demo– Gear-2DOF– Gear-3DOF

Page 150: Robot Path Planning

Slide 150

Five-gear Example

Video

Initial

Goal

roadmap in free space

Total timing 85s

# of total cells 168K

Page 151: Robot Path Planning

Slide 151

Two-gear Example

no path!

Cells in C-obstacle

Initial

Goal

Roadmap in F

Video 3.356s

Page 152: Robot Path Planning

Slide 152

Motion Planning Framework

• Continuous representation

• Discretization

• Graph search

Page 153: Robot Path Planning

Slide 153

Summary: Approximate Cell Decomposition

• Simple and easy to implement

• Efficient and practical for low DOF robots – Inefficient for 5 or more DOFs robot

• Resolution-complete– Find a path if there is one– Otherwise, report path non-existence– Up to some resolution of the cell

Page 154: Robot Path Planning

Slide 154

Outline

• Approximate cell decomposition

• Sampling-based motion planning

Page 155: Robot Path Planning

Slide 155

Motivation

• Geometric complexity• Space dimensionality

Page 156: Robot Path Planning

Slide 156

Probabilistic Roadmap (PRM)

free space

qqinitinit

qqgoalgoal

milestone

[Kavraki, Svetska, Latombe,Overmars, 95]

local path

Page 157: Robot Path Planning

Slide 157

Basic PRM AalgorithmInput: geometry of the moving object & obstaclesOutput: roadmap G = (V, E)

1: V and E .

2: repeat3: q a configuration sampled uniformly at random from C.4: if CLEAR(q)then5: Add q to V.6: Nq a set of nodes in V that are close to q.

6: for each q’ Nq, in order of increasing d(q,q’)7: if LINK(q’,q)then8: Add an edge between q and q’ to E.

Page 158: Robot Path Planning

Slide 158

Two Geometric Primitives in C-space• CLEAR(q)

Is configuration q collision free or not?

• LINK(q, q’)

Is the straight-line path between q and q’ collision-free?

Page 159: Robot Path Planning

Slide 159

Query Processing

• Connect qinit and qgoal to the roadmap

• Start at qinit and qgoal, perform a random walk, and try to connect with one of the milestones nearby

• Try multiple times

Page 160: Robot Path Planning

Slide 160

Two Tenets of PRM Planning Checking sampled configurations and

connections between samples for collision can be done efficiently. Hierarchical collision checking[Hierarchical collision checking methods were developed independently from PRM, roughly at the same time]

A relatively small number of milestones and local paths are sufficient to capture the connectivity of the free space. Exponential convergence in expansive

free space (probabilistic completeness)

Page 161: Robot Path Planning

Slide 161

Why does it work? Intuition• A small number of milestones almost

“cover” the entire free space.

Page 162: Robot Path Planning

Slide 162

Two Tenets of PRM Planning Checking sampled configurations and

connections between samples for collision can be done efficiently. Hierarchical collision checking[Hierarchical collision checking methods were developed independently from PRM, roughly at the same time]

A relatively small number of milestones and local paths are sufficient to capture the connectivity of the free space. Exponential convergence in expansive

free space (probabilistic completeness)

Page 163: Robot Path Planning

Slide 163

Narrow Passage Problem• Narrow passages are difficult to be

sampled due to their small volumes in C-space

Narrow passage

Alpha puzzle

qinitqgoal

2F

3F

Configuration Space

1F

Page 164: Robot Path Planning

Slide 164

Difficulty• Many small connected components

Page 165: Robot Path Planning

Slide 165

Strategies to Improve PRM

• Where to sample new milestones?– Sampling strategy

• Which milestones to connect?– Connection strategy

• Goal: – Minimize roadmap size to correctly answer

motion-planning queries

Page 166: Robot Path Planning

Slide 166

Sampling Strategies

Page 167: Robot Path Planning

Slide 167

small visibility sets

good visibility

poor visibility

Poor Visibility in Narrow Passages

• Non-uniform sampling strategies

Page 168: Robot Path Planning

Slide 168

But how to identify poor visibility regions?

• What is the source of information?– Robot and environment geometry

• How to exploit it?– Workspace-guided strategies– Dilation-based strategies– Filtering strategies– Adaptive strategies

Page 169: Robot Path Planning

Slide 169

Identify narrow passages in the workspace and map them into the configuration space

Workspace-guided strategies

Page 170: Robot Path Planning

Slide 170

F

O

Dilation-based strategies

• During roadmap construction, allow milestones with small penetration

• Dilate the free space– [Hsu et al. 98, Saha et al. 05, Cheng et al. 06, Zhang et al.

07]

A milestone with small penetration

Page 171: Robot Path Planning

Slide 171

Error

• If a path is returned, the answer is always correct.

• If no path is found, the answer may or may not be correct. We hope it is correct with high probability.

Page 172: Robot Path Planning

Slide 172

Weaker Completeness Complete planner Too slow Heuristic planner Too unreliable

Probabilistic completeness:If a solution path exists, then the probability that the planner will find one is a fast growing function that goes to 1 as the running time increases

Page 173: Robot Path Planning

Slide 173

Kinodynamic Planning

Page 174: Robot Path Planning

Slide 174

RRT for Kinodynamic Systems

• Rapidly-exploring Random Tree

• Randomly select a control input

Page 175: Robot Path Planning

Slide 175

More Examples

• Car pulling trailers (complicated kinematics -- no dynamics)

Page 176: Robot Path Planning

Slide 176

Summary: Sampling-based Motion Planning

+ Efficient in practice + Work for robots with many DOF (high-

dimensional configuration spaces)+ Has been applied for various motion planning

problems (non-holonomic, kinodynamic planning etc.)

- Narrow passages problems (one of the hot areas)

- May not terminate when no path exists

Page 177: Robot Path Planning

Slide 177

Summary

• Configuration space

• Visibility graph

• Approximate cell decomposition – Decompose the free space into simple cells and represent

the connectivity of the free space by the adjacency graph of these cells

• Sampling-based approach– High-dimensional Configuration Spaces– Capture the connectivity of the free space by sampling

Page 178: Robot Path Planning

Slide 178

References

• Books– J.C. Latombe. Robot Motion Planning, 1991.– S.M. LaValle, Planning Algorithms, 2006

• Free book: http://msl.cs.uiuc.edu/planning/

– H. Choset et al. Principles of Robot Motion: Theory, Algorithms, and Implementations, 2005

• Conferences– ICRA: IEEE International Conference on Robotics and

Automation– IROS: IEEE/RSJ International Conference on Intelligent RObots

and Systems– WAFR: Workshop on the Algorithmic Foundations of Robotics