Craig_lecture 11

Introduction to Robot
Motion Planning
Robotics meet Computer Science
Example
A robot arm is to build an assembly from a set of
parts.
Tasks for the robot:
• Grasping: position gripper on object
design a path to this position
• Transferring: determine geometry path for arm
avoid obstacles + clearance
• Positioning
Information required
• Knowledge of spatial arrangement of wkspace.
E.g., location of obstacles
• Full knowledge
• Partial knowledge
and execution
full motion planning
combine planning
motion planning = collection of problems
Basic Problem
A simplified version of the problem assumes
• Robot is the only moving object in the wkspace
• No dynamics, no temporal issues
• Only non-contact motions
MP = pure “geometrical” problem
Components of BMPP
• A: single rigid object - the robot - moving in
Euclidean space W (the wkspace).
W = RN, N=2,3
• Bi , i=1,…,q. Rigid objects in W. The obstacles
B1
A
B2
Components of BMPP (cont.)
Assume
• Geometry of A and Bi is perfectly known
• Location of Bi is known
• No kinematic constraints on A: a “free
flying” object
Components of BMPP (cont.)
• The Problem:
– Given an initial position and orientation POinit
– Given a goal position and orientation POgoal
– Generate: continuous path t from POinit to POgoal
• t is a continuous sequence of Pos’
Configuration Space Idea
1. represent robot as point in space
2. map obstacles into this space
3. transform problem from planning object
motion to planning point motion
B1
A
B2
Configuration Space (cont.)
W: Euclidean space in which motion occurs
A at a given position is a compact in W. Attach FA
Bi closed subset of W .
Fw is a frame fixed in W
B1
A
FW
FA
B2
Notion of CS (cont)
Def: configuration of an object
Position of every point of the object w.r.t. FW
Def: Configuration q of A
Postion T and orientation O of FA w.r.t. FW
Def: configuration space of A
Is the space T of all configurations of A
• A(q) : subset of W occupied by A at q
• a(q) : is a point in A(q)
Information Required
• Example:
T: N-dimensional vector
O: NxN rotation matrix
• In this case, q = (T,O), a subset of RN(N+1)
• Note that C is locally like R3 or R6.
Notice: no global correspondence
Mathematic Notion of Path
• Need a notion of continuity
• Define a distance function d : C x C -> R+
– Example: d(q,q’) = maxa in A ||a(q) - a(q’)||
 x
q   y 
 
d
 x' 
q '   y '
 ' 
Notion of Path (cont.)
• Def: A path of A from qinit to qgoal
Is a continuous map t : [0,1] -> C
s.t. t(0) = qinit and t (1) = qgoal
• Property: t is continuous if for each so
in (0,1), lim d(s,so) = 0 when s -> so
Obstacles in Configuration Space
• Obstacle Bi maps in C to a region
CBi = {q in C, s.t. A(q) and Bi are not disjoint
• Example: “round” robot with no preferred orientation
B
B
CB
Original Space
Configuration Space
Obstacles in C- Space (cont.)
• Obstacles in C are called C-obstacles.
• C-obstacle region: Union of all Cbi
• Free space: Cfree = C - U Cbi
• q is a free configuration if q belongs to
Cfree
• Def: Free Path.
Is a path between qinit and qgoal , t: [0,1]
-> Cfree
Obstacles in C (cont.)
• Def: Connected Component
q1, q2 belong to the same connected component
of Cfree iff they are connected by a free path
Objective of Motion Planning:
generate a free path between 2 configurations if
one exists or report that no free path exists.
•
1.
Examples of C-Obstacles
Translational Case:
A is a single point -> no orientation
W = RN = C
2.
A is a disk or dimensioned object allow to
translate freely but without rotation.
C-Obstacles: obstacles “grown” by the
shape of A
Planning Approaches
• 3 approaches: road maps, cell
decomposition and potential field
1- Roadmap
Captures connectivity of Cfree in a network of 1-D
curves called “the roadmaps.”
Once a roadmap is constructed: use a standard
path.
Roadmap Construction Methods: 1) Visibility
Graph, 2) Voronoi Diagram, 3) Freeway Net
and 4) Silhouette.
Roadmaps Examples
qgoal
qinit
qinit
qgoal
Visibility graph in 2D CS. Nodes:
initial and final config + vertices of
C-obstacles.
Voronoi diagram with
polygonal C-obstacles
Cell Decomposition
• Decompose the free space into simple regions
called cells
• Construct a non-directed graph representing
adjacencies: the conectivity graph
• Search for a path forming a “channel”
• Two variations:
– Exact: union of cells is exactly the free space
– Approximate: union included in the free space
Cell Decomposition: Example
6
3 4
8
5
2
11 12
9
1
7
10
6
qinit
3
1
qgoal
2
4
7
5
8
10
9
1
1
12
Extensions of the Basic Problem
• Multiple moving objects
– Multiple obstacles
– Multiple Robots
– Articulated Robots
• Kinematic Constraints
• Uncertainty
• Movable objects
Computational Complexity
• Instances may differ in “size”: dimension of Cspace and # of obstacles
• Result 1: planning a free path for a robot made
of an arbitrary # of polyhedral bodies connected
by joints, among a finite set of polyhedral
obstacles is a PSPACE-hard problem
• Result 2: A free path in a C-space of fixed
dimension m, when the free space is defined by
n polynomials of max degree d, can be
computed exponentially in m and polynomial in n
and d