Path Planning for Rigid Object in 2-D Workspace
General Principle of Path Planning
Most path planning methods include two steps:
- Preprocessing: Capture the connectivity of the free space
into a convenient representation (e.g., a graph).
- Query Processing: Search the representation for a
path.
Three families of methods:
- Cell decomposition
- Roadmap
- Potential field
Other type of method: Variational path planning.
Cell Decomposition
A cell is a region of the free space, such that computing, a
path between any two points in the same cell is fast (e.g., takes
constant time).
Example: Convex polygon.
- Preprocessing:
- Partition the free space into a collection of cells.
- Construct the connectivity graph representing the
adjacency relation between cells.
- Query Processing:
- Search teh connectivity graph for a sequence of adjacent cells
between the initial and goal cell.
- Transform that sequence into a path.
Two major variants:
- Exact, e.g., vertical decomposition. Reference:
Chapter 5 of Robot Motion Planning textbook.
- Approximate, e.g., quadtree decomposition. Reference:
Chapter 6 of Robot Motion Planning textbook.
Roadmap
Reference: Chapter 4 of Robot Motion Planning textbook.
A roadmap is a network of 1-D curves in the free space; ideally:
- There should be a one-to-one correspondance between
the components of the roadmap and those of the free space.
- Finding a path connecting any free configuration to
a point in the roadmap should be fast.
- Preprocessing:
- Construct a network of curves (the roadmap) that
"captures" the connectivity of the free space.
- Query Processing:
- Connect the initial and goal configurations to the roadmap.
- Search the roadmap for a path.
Examples of techniques:
- Visibility graph, reduced visibility graph.
- Voronoi diagram.
- Probabilistic roadmap.
Paper.
Potential Field
Reference: Chapter 7 of Robot Motion Planning textbook.
A potential field is a function defined over the free
space; ideally, it repulses the robot away from the obstacles
and attracts it toward the goal.
- Preprocessing:
- Define a function (the potential field) over the robot's
configuration space.
- Place a grid over the robot's configuration space.
- Query Processing:
- Search the grip for a path using the potential field as the
heuristic.
Examples of techniques:
- Various ways of defining the potential, e.g., attraction by the
goal and repulsion by obstacles.
- Various search techniques, e.g., steepest descent of the
potential field, best-first search, A*, etc.
Major problem: Local minima of the potential field.
A local-minimum-free potential function is called a navigation
function [Koditschek, 1987].
Examples of navigation functions: NF1 and NF2.
Best-First Search
Notations:
Initial configuration: qi
Goal configuration: qg
Potential field: U
Search tree: T (initially, T is the empty tree)
Sorted list of grid nodes: Open (initially, this list is empty)
Procedure BFP:
- Install qi in T.
- Insert qi in Open and mark that qi has been
`visited'.
- Set flag Success to `false'.
- While Open is not empty and Success = `false' do:
- Set q to the first configuration in Open.
- For every neighbor q' of q in the grid do:
- If q' is in free space and hasn't been marked
`visited' then
- Install q' in T with a pointer toward q.
- Insert q' in Open and Mark it `visited'.
- If q' = qg then set Success to `True'.
- If Success = `True' then
- Trace the pointers in T from qg back to qi
and return the constructed path.
- Else return that no path has been found.
Terminology
- A complete planner returns a path whenever one
exists and indicates failure otherwise.
A complete planner is sometimes called an exact planner.
- A probabilistically complete planner returns a path with
high probability whenever a path exists (i.e., the probability that it
finds a path when one exists converges toward 1 when the running time
increases). It may not terminate when no path exists.
- A resolution complete planner discretizes the
configuration space in some way and returns a path whenever one exists
in this discretized representation.
- Local vs. global planner.
Complexity of Path Planning
Path planning is PSPACE-hard [Reif, 1979].
There is strong evidence that it takes exponential time in the
dimension of the configuration space (number of degrees of freedom).
It is polynomial in the "shape complexity" of the robot and the
obstacles. That is, if the robot and the obstacles are described as
semi-algegraic sets, path planning takes time polynomial in the number
and degree of these sets.
Ways of dealing with complexity:
- Trade full completeness for weaker completeness.
- Approximate shapes of objects by simpler shapes.
- Reduce dimension of configuration space (e.g., projection
on subsets).
Configuration Space
Reference: Chapters 2 and 3 of Robot Motion Planning textbook.
A configuration of a robot is an encoding that uniquely defines
the placement of the robot in the workspace.
In the case of a rigid planar robot A that translates and rotates in a
planar workspace, one may define a fixed coordinate system F in the
workspace, define a reference point R and a reference direction D in
the robot. The configuration of A is (x,y,t), where (x,y) are the
coordinates of R in F and t is the angle between the x-axis of F and
D.
The configuration space C of A is the set of all its configurations. In
the planar case, it is the set of all triplets (x,y,t).
Note that in the planar case, C is not a Cartesian space. Indeed, t
has to be restricted to the interval [0,360), so that there is a
one-to-one map between the configurations of C and the physical
placements of the robot in its workspace. Topologically, C is a
"manifold" of dimension 3 that looks like a 3-cylinder embedded in a
4-D Cartesian space.
Metrics in Configuration Spaces
A distance function d in C should satisfy the following intuitive requirement:
The distance d(q1,q2) between two configurations q1 and q2 tends
toward zero if and only if the regions occupied by A at q1 and at q2
tend to coincide.
Example:
Let p be a point of A. Let a(q) be the position of p when the robot is
in configuration q.
d(q1,q2) is equal to the maximal Euclidean distance between p(q1) and
p(q2) over all points p of A.
Path in Configuration Space
A path is a continuous piece of curve connecting
an initial configuration to a goal configuration.
Obstacle Region in C-space
Each obstacle B in the workspace maps to a C-obstacle CB in the
configuraton space.
CB consists of all the configurations q such that if the robot is
placed at configuration q it has non-zero intersection with B.
C-osbtacle computation
- The robot is a planar rigid object that can only translate:
- Both the robot and the obstacles are convex polygons.
- The robot and the obstacles are non-convex polygons.
- The robot can translate and rotate
Path planning for a planar robot that translates and rotates
- Exact cell decomposition.
- Approximate cell decomposition, e.g., octree.
- Probabilistic roadmap.
- Potential field.
Potential Field
- Select two "control" points in the robot.
- Compute local-minima-free potential V1 and V2 for the control
points.
- Run best-first search using potential U = V1 + e.V2.
Choosing the resolution of the grid
Let the configuration of the robot be represented by (x,y,t) where
(x,y) are the coordinates of the reference point and t is the anble
between the x-axis of the coordinate system and a reference direction
in the robot.
Let R be the maximal distance between the robot's reference point
and the other points in the robot.
Choose dx and dy equal or approximately equal, and dt approximately
equal to dx/R.
Hence, when the robot translates by one increment, or when it rotates
by one increment, the point that travels the most travels by
approximately the same amount in the workspace.
Collision checking
- Precomputation:
- Discretize orientation.
- For each orientation compute C-obstacle.
- Represent C-obstacle in 2-D bitmap.
- Stack 2-D bitmaps into 3-D bitmaps.
- Collision query:
If the 3-D bitmap cell containing the input configuration contains
0, return `collision-free'; otherwise, return `collision'.