Path Planning for Rigid Object in 2-D Workspace


General Principle of Path Planning

Most path planning methods include two steps:
  1. Preprocessing: Capture the connectivity of the free space into a convenient representation (e.g., a graph).
  2. Query Processing: Search the representation for a path.
Three families of methods:
  1. Cell decomposition
  2. Roadmap
  3. 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. Two major variants:

Roadmap

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. Examples of techniques:

Potential Field

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. Examples of techniques: 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: Procedure BFP:
  1. Install qi in T.
  2. Insert qi in Open and mark that qi has been `visited'.
  3. Set flag Success to `false'.
  4. While Open is not empty and Success = `false' do:
    1. Set q to the first configuration in Open.
    2. For every neighbor q' of q in the grid do:
      • If q' is in free space and hasn't been marked `visited' then
        1. Install q' in T with a pointer toward q.
        2. Insert q' in Open and Mark it `visited'.
        3. If q' = qg then set Success to `True'.
  5. If Success = `True' then

Terminology


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:

Configuration Space

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: Example:

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


Path planning for a planar robot that translates and rotates


Potential Field

  1. Select two "control" points in the robot.
  2. Compute local-minima-free potential V1 and V2 for the control points.
  3. 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