Notes
Notes
Last Time
• Planning for point robots
– Visibility graph method
– Intermittent obstacle contact
• Ad hoc method of handling
non-point robots
– Represent robot as a (2-DOF) disk
– Discretize Cartesian space, conservatively
(Some feasible paths not identified by search)
• Today: “configuration space” methods
– Reason directly in space with dimension = #DOFs
– Transform, solve problem, transform back
1
Today
• Configuration space
– Intuition
• Preliminaries
– Minkowski sums
– Convexity, convex hulls
• Configuration space
– Definition
– Construction
• Rigid (low-DOF) motion
– Deterministic methods
• Articulated (high-DOF) motion
– Randomized methods
Intuition
• Suppose robot can move only by translating in 2D
• How can it move in the presence of an obstacle?
• How to describe infeasible placements of robot origin?
Obstacle
Robot Robot
origin
2
Infeasibility Under Translation
Obstacle
Obstacle
Robot at +/6
orientation
Robot origin
3
Infeasibility under 3-DOF Motion
Obstacle
Robot at +/6
orientation
Configuration Space
For a robot with k total motion DOFs, C-space is a
coordinate system with one dimension per DOF
(Latombe 1991)
4
Motion Planning Transformation
Workspace C-space
( x, y ) ( x, y, )
C-obst C-obst
obst
obst
y
x
Robot Robot
Path is swept volume Path is space curve
Transformation to
equivalent problem
in higher dimension
Interaction
Point Transformed
(simple to
geometry characterize) constraints
5
C-space Summary, Examples
C-obst • Define space with one dimension
C-obst C-obst
per robot motion (or pose) DOF
• Map robot to a point in this space
C-obst • C-space = all robot configurations
• C-obstacle = locus of infeasible
C-obst
configurations due to obstacle
Some example configuration spaces: Molecule with n
Translation + Translation + 3-link fixed-length bonds
rotation in 2D rotation in 3D arm
Convexity
• A set S is convex if and only if every line segment
connecting two points in S is contained within S
• Which of these
are convex?
Yes No
No No
6
Convex Hull of a Set of Points
• Intuition: shrink wrap or rubber band around points
v = ci . pi, ci ≥ 0, ci = 1
7
Computing 2D Convex Hull
• Input: set S of N points (xi, yi) in 2D
• Output: polygonal boundary of convex hull of S
S Convex(S)
q 1 rx ry
p
1 px py
r
1 qx qy
r-p
8
Brute Force Solution
Identify point pairs that form edges of Convex(S)
I.e. for each pair p, q אS, if r אS – {p, q}, r lies
left of the directed line pq,
pq emit boundary edge pq
9
Minkowski Addition
• Given two sets A,B אRd, their Minkowski sum,
denoted A ْ B, is the set { a + b | a אA, b אB }
– Result of adding each element of A to each element of B
• If A & B convex, just add vertices & find convex hull:
y y y
AْB
B B
A A
x x x
Computation of C-obstacles
• Inputs: robot polygon R and obstacle shape S
• Output: c-space obstacle c-obstacle(S, R)
y
robot
obstacle obstacle
x
y y
c-obstacle
x x
10
C-obstacle Computation
1. Reflect robot R about its origin to produce R’
2. Compute Minkowski sum of R’ and obstacle S
y
x R’ R’
R’
obstacle
y
1. R’ R’
2
2. c obstacle
c-obstacle
y
robot
x x
Sanity check: can robot origin enter c-obstacle? No.
11
Back to Motion Planning
• Given robot and set of obstacles:
– Compute C-space representation of obstacles
– Find path from robot start pose to goal pose (point)
Computational Complexity
• The best deterministic motion planning algorithm
known requires exponential time in the C-space
dimension [Canny 1986]
• D goes up fast – already 6D for a rigid body in
3-space; articulation adds many more DOFs
• Simple obstacles have
complex C-obstacles
p
• Impractical to compute
p
explicit representation
of freespace for robot
with many DOFs
• What to do? Approximate and/or randomize.
12
Strategies
• Approximate: use regular subdivision of freespace
• Randomize: sample and evaluate C-space poses
• Trade away completeness for gains in efficiency
goal
C-obst
C-obst C-obst
C-obst
C obst
C-obst
start
13
Approximate Cell Decomposition
C-obst
start
Plan Generation (Q
(Query
ypprocessing)
g)
1. Link start and goal poses into roadmap
2. Find path from start to goal within roadmap
3. Generate motion plan for each edge used
Primitives Required:
1. Method for sampling C-Space points
2. Method for “validating” C-space points and edges
14
PRMs: Pros and Cons
goal Advantages
C-obst
1. Probabilistically complete
C-obst C-obst 2. Easily applied to high-dimensional C-spaces
3 Support fast queries (w/ enough preprocessing)
3.
C-obst
Many success stories in which PRMs were
C-obst applied to previously intractable problems
start
goal
Disadvantages
C-obst C-obst
PRMs don
don’tt work well for some problems:
– Unlikely to sample nodes in narrow passages
– Hard to connect nodes along constraint surfaces
C-obst C-obst
start
start start
15
Finding Points on C-obstacles
2
3
Summary
• Introduced drastically simplifying transformation
– Based on two useful geometric constructions
• Enables use of familiar techniques…
techniques
– Discretization
– Random sampling
– Bisection
– Graph search
• … To solve high-dimensional
high dimensional motion planning
16