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

Robot Lab: Robot Path Planning

  • Upload
    truly

  • View
    95

  • Download
    14

Embed Size (px)

DESCRIPTION

Robot Lab: 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Robot Lab: Robot Path Planning

Slide 1

Robot Lab:Robot Path Planning

William RegliDepartment of Computer Science

(and Departments of ECE and MEM)Drexel University

Page 2: Robot Lab: 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 Lab: Robot Path Planning

Slide 3

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 4: Robot Lab: Robot Path Planning

Slide 4

Fundamental Question

Are two given points connected by a path?

Page 5: Robot Lab: Robot Path Planning

Slide 5

Basic Problem• Problem statement: Compute a collision-free path for a rigid or articulated

moving object among static obstacles.• Input

– Geometry of a moving object (a robot, a digital actor, or a molecule) and obstacles

– How does the robot move?– Kinematics of the robot (degrees of freedom)– Initial and goal robot configurations (positions &

orientations)

• Output Continuous sequence of collision-free robot

configurations connecting the initial and goal configurations

Page 6: Robot Lab: Robot Path Planning

Slide 6

Example: Rigid Objects

Page 7: Robot Lab: Robot Path Planning

Slide 7

Example: Articulated Robot

Page 8: Robot Lab: Robot Path Planning

Slide 8

Is it easy?

Page 9: Robot Lab: Robot Path Planning

Slide 9

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 10: Robot Lab: Robot Path Planning

Slide 10

Tool: Configuration Space

Difficulty– Number of degrees of freedom (dimension of

configuration space)– Geometric complexity

Page 11: Robot Lab: Robot Path Planning

Slide 11

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 12: Robot Lab: Robot Path Planning

Slide 12

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 13: Robot Lab: Robot Path Planning

Slide 13

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 14: Robot Lab: Robot Path Planning

Slide 14

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 15: Robot Lab: Robot Path Planning

Slide 15

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 16: Robot Lab: Robot Path Planning

Slide 16

Framework

Page 17: Robot Lab: Robot Path Planning

Slide 17

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 18: Robot Lab: Robot Path Planning

Slide 18

Visibility Graph

• A visibility graphis 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 19: Robot Lab: Robot Path Planning

Slide 19

A Simple Algorithm for Building Visibility Graphs

Page 20: Robot Lab: Robot Path Planning

Slide 20

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 21: Robot Lab: Robot Path Planning

Slide 21

Framework

Page 22: Robot Lab: Robot Path Planning

Slide 22

Breadth-First Search

Page 23: Robot Lab: Robot Path Planning

Slide 23

Breadth-First Search

Page 24: Robot Lab: Robot Path Planning

Slide 24

Breadth-First Search

Page 25: Robot Lab: Robot Path Planning

Slide 25

Breadth-First Search

Page 26: Robot Lab: Robot Path Planning

Slide 26

Breadth-First Search

Page 27: Robot Lab: Robot Path Planning

Slide 27

Breadth-First Search

Page 28: Robot Lab: Robot Path Planning

Slide 28

Breadth-First Search

Page 29: Robot Lab: Robot Path Planning

Slide 29

Breadth-First Search

Page 30: Robot Lab: Robot Path Planning

Slide 30

Breadth-First Search

Page 31: Robot Lab: Robot Path Planning

Slide 31

Breadth-First Search

Page 32: Robot Lab: Robot Path Planning

Slide 32

Other Search Algorithms

• Depth-First Search

• Best-First Search, A*

Page 33: Robot Lab: Robot Path Planning

Slide 33

Framework

Page 34: Robot Lab: Robot Path Planning

Slide 34

Summary• Discretize the space by constructing

visibility graph

• Search the visibility graph with breadth-first search

Q: How to perform the intersection test?

Page 35: Robot Lab: Robot Path Planning

Slide 35

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 36: Robot Lab: Robot Path Planning

Slide 36

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 37: Robot Lab: Robot Path Planning

Slide 37

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 38: Robot Lab: Robot Path Planning

Slide 38

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 39: Robot Lab: Robot Path Planning

Slide 39

Voronoi Diagram

• Space O(n)

• Run time O(n log n)

Page 40: Robot Lab: Robot Path Planning

Slide 40

Other Roadmap Methods

• Silhouette

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

• Probabilistic roadmaps

Page 41: Robot Lab: Robot Path Planning

Slide 41

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 42: Robot Lab: Robot Path Planning

Slide 42

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 43: Robot Lab: Robot Path Planning

Slide 43

Trapezoidal Decomposition

Page 44: Robot Lab: Robot Path Planning

Slide 44

Computational Efficiency

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

• Space O(n)

• Mostly for 2-D configuration spaces

Page 45: Robot Lab: Robot Path Planning

Slide 45

Adjacency Graph

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

nodes whose corresponding cells are adjacent.

Page 46: Robot Lab: Robot Path Planning

Slide 46

Summary

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

• Search the adjacency graph

Page 47: Robot Lab: Robot Path Planning

Slide 47

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 48: Robot Lab: Robot Path Planning

Slide 48

Quadtree Decomposition

Page 49: Robot Lab: Robot Path Planning

Slide 49

Octree Decomposition

Page 50: Robot Lab: Robot Path Planning

Slide 50

Algorithm Outline

Page 51: Robot Lab: Robot Path Planning

Slide 51

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 52: Robot Lab: Robot Path Planning

Slide 52

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 53: Robot Lab: Robot Path Planning

Slide 53

Attractive & Repulsive Fields

Page 54: Robot Lab: Robot Path Planning

Slide 54

How Does It Work?

Page 55: Robot Lab: Robot Path Planning

Slide 55

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 56: Robot Lab: Robot Path Planning

Slide 56

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 57: Robot Lab: Robot Path Planning

Slide 57

Question

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

Page 58: Robot Lab: Robot Path Planning

Slide 58

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 59: Robot Lab: Robot Path Planning

Slide 59

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 60: Robot Lab: Robot Path Planning

Slide 60

Path Non-existence Problem

ObstacleObstacle

GoalInitial

Robot

Page 61: Robot Lab: Robot Path Planning

Slide 61

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 62: Robot Lab: Robot Path Planning

Slide 62

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid planner

Page 63: Robot Lab: Robot Path Planning

Slide 63

Configuration Space: 2D Translation

Workspace Configuration Space

xyRobot

Start

Goal

Free

Obstacle C-obstacle

Page 64: Robot Lab: Robot Path Planning

Slide 64

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

Obstacle

Robot

x

y

Page 65: Robot Lab: Robot Path Planning

Slide 65

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 66: Robot Lab: Robot Path Planning

Slide 66

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid Planner Combing ACD and PRM

Page 67: Robot Lab: Robot Path Planning

Slide 67

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 68: Robot Lab: Robot Path Planning

Slide 68

full mixed

empty

Approximation Cell Decomposition

• Full cell

• Empty cell

• Mixed cell– Mixed– Uncertain

Configuration Space

Page 69: Robot Lab: Robot Path Planning

Slide 69

Connectivity GraphGf : Free Connectivity Graph G: Connectivity Graph

Gf is a subgraph of G

Page 70: Robot Lab: Robot Path Planning

Slide 70

Finding a Path by ACD

Goal

Initial Gf : Free Connectivity Graph

Page 71: Robot Lab: Robot Path Planning

Slide 71

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 72: Robot Lab: Robot Path Planning

Slide 72

First Graph Cut Algorithm

Only subdivide along L

L

Page 73: Robot Lab: Robot Path Planning

Slide 73

Finding a Path by ACD

Page 74: Robot Lab: Robot Path Planning

Slide 74

ACD for Path Non-existence

C-space

Goal

Initial

Page 75: Robot Lab: Robot Path Planning

Slide 75

Connectivity Graph Guiding Path

ACD for Path Non-existence

Page 76: Robot Lab: Robot Path Planning

Slide 76

ACD for Path Non-existence

Connectivity graph is not connected

No path!

Sufficient condition for deciding path non-existence

Page 77: Robot Lab: Robot Path Planning

Slide 77

Two-gear Example

no path!

Cells in C-obstacle

Initial

Goal

Roadmap in F

Video 3.356s

Page 78: Robot Lab: Robot Path Planning

Slide 78

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 79: Robot Lab: Robot Path Planning

Slide 79

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 80: Robot Lab: Robot Path Planning

Slide 80

Clearance

• Separation distance– A well studied geometric problem

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

d

Page 81: Robot Lab: Robot Path Planning

Slide 81

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 82: Robot Lab: Robot Path Planning

Slide 82

‘Forbiddance’

• ‘Forbiddance’: dual to clearance• Penetration Depth

– A geometric computation problem less investigated

• [Zhang et al. ACM SPM 2006]

PD

Page 83: Robot Lab: Robot Path Planning

Slide 83

Limitation of ACD

• Combinatorial complexity of cell decomposition

• Limited for low DOF problem– 3-DOF robots

Page 84: Robot Lab: Robot Path Planning

Slide 84

Approaches• Exact Motion Planning

– Based on exact representation of free space

• Approximation Cell Decomposition (ACD)

• A Hybrid Planner Combing ACD and PRM

Page 85: Robot Lab: Robot Path Planning

Slide 85

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 86: Robot Lab: Robot Path Planning

Slide 86

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 87: Robot Lab: Robot Path Planning

Slide 87

Connectivity GraphGf : Free Connectivity Graph G: Connectivity Graph

Gf is a subgraph of G

Page 88: Robot Lab: Robot Path Planning

Slide 88

Pseudo-free edges

Pseudo free edge for two adjacent cells

Goal

Initial

Page 89: Robot Lab: Robot Path Planning

Slide 89

Pseudo-free Connectivity Graph:

Gsf

Goal

Initial

Gsf = Gf + Pseudo-edges

Page 90: Robot Lab: Robot Path Planning

Slide 90

Algorithm

• Gf

• Gsf

• G

Page 91: Robot Lab: Robot Path Planning

Slide 91

Results of Hybrid Planning

Page 92: Robot Lab: Robot Path Planning

Slide 92

Results of Hybrid Planning

Page 93: Robot Lab: Robot Path Planning

Slide 93

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 94: Robot Lab: Robot Path Planning

Slide 94

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