COMP417 Introduction to Robotics and Intelligent Systems ...

47
COMP417 Introduction to Robotics and Intelligent Systems Path Planning , part one

Transcript of COMP417 Introduction to Robotics and Intelligent Systems ...

Page 1: COMP417 Introduction to Robotics and Intelligent Systems ...

COMP417Introduction to Robotics and Intelligent Systems

Path Planning , part one

Page 2: COMP417 Introduction to Robotics and Intelligent Systems ...

Sense-Plan-Act Paradigm:Planning Is Necessary

Sense Plan

Act

Feedback Control

State and Map Estimation

Inter

mediat

e, loc

al go

als to

a

final,

overa

ll goa

l

State Estimation

Page 3: COMP417 Introduction to Robotics and Intelligent Systems ...

What is a plan?• A way to solve a problem. • Formalization: How to get from an initial state of the world to a

desired goal state. • Includes:

• How to break a big problem down into steps. • How to move between states.

• Examples • How to get from here to the door. • How to win at chess. • How to get rich? • How to get happy? • How to become charming? • How to win a Noble prize.

Page 4: COMP417 Introduction to Robotics and Intelligent Systems ...

Planning...• In general, problems can include

• formalization of the problem • representation of the goal(s) • representation of the solution • algorithmic formulation

• Plus, in the "real world" • dealing with uncertainty knowledge of the

states • dealing with uncertain actions • dealing with failures (a version of above)

Page 5: COMP417 Introduction to Robotics and Intelligent Systems ...

What is path planning?• A way to solve a state-transition problem. • Formalization: How to get from an initial state of

the world to a desired goal state. • Includes:

• How to break a big problem down into steps. • How to describe the states and possible

motions. • How to move between states.

Page 6: COMP417 Introduction to Robotics and Intelligent Systems ...

Configuration Space – Basic Path-Planning Methods

Page 7: COMP417 Introduction to Robotics and Intelligent Systems ...

Path-Planning Issues1. How to we represent space/C-space? 2. How to we represent paths? 3. How to we generate plans (preferred

paths)?

Page 8: COMP417 Introduction to Robotics and Intelligent Systems ...

What is a Path?

Page 9: COMP417 Introduction to Robotics and Intelligent Systems ...

Tool: Configuration Space(C-Space C)

Page 10: COMP417 Introduction to Robotics and Intelligent Systems ...

Configuration Space of a RobotSpace of all its possible configurations But the topology of this space is

usually not that of a Cartesian spaceC = S1 x S1

Page 11: COMP417 Introduction to Robotics and Intelligent Systems ...

Configuration Space of a RobotSpace of all its possible configurations But the topology of this space is

usually not that of a Cartesian spaceC = S1 x S1

Page 12: COMP417 Introduction to Robotics and Intelligent Systems ...

Configuration Space of a RobotSpace of all its possible configurations But the topology of this space is

usually not that of a Cartesian spaceC = S1 x S1

Page 13: COMP417 Introduction to Robotics and Intelligent Systems ...

Structure of Configuration Space

It is a manifold.For each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space Rn, where n is the dimension of C. This map is a local coordinate system called a

chart. C can always be covered by a finite number of charts. Such a set is called an atlas

Page 14: COMP417 Introduction to Robotics and Intelligent Systems ...

Example

Page 15: COMP417 Introduction to Robotics and Intelligent Systems ...

reference point

Case of a Planar Rigid Robot

• 3-parameter representation: q = (x,y,θ) with θ ∈ [0,2π). Two charts are needed

• Other representation: q = (x,y,cosθ,sinθ) !c-space is a 3-D cylinder R2 x S1 embedded in a 4-D space

x

robot reference direction

workspace

Page 16: COMP417 Introduction to Robotics and Intelligent Systems ...

Rigid Robot in 3-D Workspace• q = (x,y,z,α,β,γ)

• Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the elements of rotation matrix R: r11 r12 r13 r21 r22 r23 r31 r32 r33 with: – ri1

2+ri22+ri3

2 = 1 – ri1rj1 + ri2r2j + ri3rj3 = 0 – det(R) = +1

The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R3xSO(3)

Page 17: COMP417 Introduction to Robotics and Intelligent Systems ...

Metric in Configuration Space

A metric or distance function d in C is a map d: (q1,q2) ∈ C2 ! d(q1,q2) > 0 such that: – d(q1,q2) = 0 if and only if q1 = q2 – d(q1,q2) = d (q2,q1) – d(q1,q2) < d(q1,q3) + d(q3,q2)

Page 18: COMP417 Introduction to Robotics and Intelligent Systems ...

Metric in Configuration Space

Example: • Robot A and point x of A • x(q): location of x in the workspace when A is at

configuration q • A distance d in C is defined by:

d(q,q’) = maxx∈A ||x(q)-x(q’)|| where ||a - b|| denotes the Euclidean distance between points a and b in the workspace

Page 19: COMP417 Introduction to Robotics and Intelligent Systems ...

Notion of a Path

▪ A path in C is a piece of continuous curve connecting two configurations q and q’: τ : s ∈ [0,1] ! τ (s) ∈ C

▪ s’ → s ⇒ d(τ(s),τ(s’)) → 0

q1

q3

q0

qn

q4

q2

τ(s)

Page 20: COMP417 Introduction to Robotics and Intelligent Systems ...

Other Possible Constraints on Path

▪ Finite length, smoothness, curvature, etc… ▪ A trajectory is a path parameterized by time:

τ : t ∈ [0,T] ! τ (t) ∈ C

q1

q3

q0

qn

q4

q2

τ(s)

Page 21: COMP417 Introduction to Robotics and Intelligent Systems ...

Obstacles in C-SpaceA configuration q is collision-free, or free, if the

robot placed at q has null intersection with the obstacles in the workspace The free space F is the set of free configurations A C-obstacle is the set of configurations where

the robot collides with a given workspace obstacle A configuration is semi-free if the robot at this

configuration touches obstacles without overlap

Page 22: COMP417 Introduction to Robotics and Intelligent Systems ...

Disc Robot in 2-D Workspace

Page 23: COMP417 Introduction to Robotics and Intelligent Systems ...

Rigid Robot Translating in 2-DCB = B A = {b-a | a∈A, b∈B}

a1

b1

b1-a1

Page 24: COMP417 Introduction to Robotics and Intelligent Systems ...

Linear-Time Computation of C-Obstacle in 2-D

(convex polygons)

Page 25: COMP417 Introduction to Robotics and Intelligent Systems ...

Rigid Robot Translating and Rotating in 2-D

Page 26: COMP417 Introduction to Robotics and Intelligent Systems ...

C-Obstacle for Articulated Robot

Page 27: COMP417 Introduction to Robotics and Intelligent Systems ...

Free and Semi-Free Paths

▪ A free path lies entirely in the free space F

▪ A semi-free path lies entirely in the semi-free space

Page 28: COMP417 Introduction to Robotics and Intelligent Systems ...

Remark on Free-Space Topology• The robot and the obstacles are modeled as closed

subsets, meaning that they contain their boundaries • One can show that the C-obstacles are closed subsets of

the configuration space C as well • Consequently, the free space F is an open subset of C.

Hence, each free configuration is the center of a ball of non-zero radius entirely contained in F

• The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F

Page 29: COMP417 Introduction to Robotics and Intelligent Systems ...
Page 30: COMP417 Introduction to Robotics and Intelligent Systems ...
Page 31: COMP417 Introduction to Robotics and Intelligent Systems ...

Notion of Homotopic Paths

Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S1 example:

τ1 and τ2 are homotopic

τ1 and τ3 are not homotopic

In this example, infinity of homotopy classes

q

q’

τ1τ2

τ3

Page 32: COMP417 Introduction to Robotics and Intelligent Systems ...

Connectedness of C-Space

C is connected if every two configurations can be connected by a path C is simply-connected if any two paths connecting

the same endpoints are homotopicExamples: R2 or R3 Otherwise C is multiply-connected

Examples: S1 and SO(3) are multiply- connected:- In S1, infinity of homotopy classes- In SO(3), only two homotopy classes

Page 33: COMP417 Introduction to Robotics and Intelligent Systems ...

Classes of Homotopic Free Paths

Page 34: COMP417 Introduction to Robotics and Intelligent Systems ...

Example for Articulated Robot

Page 35: COMP417 Introduction to Robotics and Intelligent Systems ...

Motion-Planning Framework

Continuous representation (configuration space formulation)

Discretization

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

Page 36: COMP417 Introduction to Robotics and Intelligent Systems ...

Path-Planning Issues1. How to we represent space/C-space? 2. How to we represent paths? 3. How to we generate plans (preferred

paths)?

Page 37: COMP417 Introduction to Robotics and Intelligent Systems ...

Path-Planning Approaches1. Roadmap

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

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

3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

Page 38: COMP417 Introduction to Robotics and Intelligent Systems ...

Roadmaps // RetractionRoadmap methods are also known as retraction

methods. This is based on the core mathematical relation

(usually unstated) that roadmaps are based on a retraction mapping, or projection: f:Cn :-> R – Each point in Rn maps into some point in the roadmap. – Each point on the roadmap maps onto itself – The mapping is smooth almost everywhere

dn(f(a),f(b)) < k d(a,b)

Page 39: COMP417 Introduction to Robotics and Intelligent Systems ...

Roadmap Methods▪ Visibility graph from Introduced in the Shakey project at SRI in the late 60s. Can produce shortest paths in 2-D configuration spaces

Page 40: COMP417 Introduction to Robotics and Intelligent Systems ...

Roadmap Methods▪ Visibility graph ▪ Voronoi diagram

Introduced by Computational Geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2-D configuration spaces

Page 41: COMP417 Introduction to Robotics and Intelligent Systems ...

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 42: COMP417 Introduction to Robotics and Intelligent Systems ...

Path-Planning Approaches1. Roadmap

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

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

3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

Page 43: COMP417 Introduction to Robotics and Intelligent Systems ...

Cell-Decomposition Methods

Two families of methods: ▪ Exact cell decomposition

The free space F is represented by a collection of non-overlapping cells whose union is exactly F Examples: trapezoidal and cylindrical decompositions

Page 44: COMP417 Introduction to Robotics and Intelligent Systems ...

Trapezoidal decomposition

Page 45: COMP417 Introduction to Robotics and Intelligent Systems ...

Cell-Decomposition Methods

Two families of methods: ▪ Exact cell decomposition ▪ Approximate cell decomposition

F is represented by a collection of non-overlapping cells whose union is contained in F Examples: quadtree, octree, 2n-tree

Page 46: COMP417 Introduction to Robotics and Intelligent Systems ...

Octree Decomposition

Page 47: COMP417 Introduction to Robotics and Intelligent Systems ...

Path-Planning Approaches1. Roadmap

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

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

3. Potential fieldDefine a function over the free space that has a global minimum at the goal configuration and follow its steepest descent