Path Planning in High-Dimensional Configuration Space


Configuration Space

The number m of dimensions of the configuration space of a robot is equal to the number of degrees of freedom of the robot, e.g., the number of articulated joints if the robot is an arm with revolute and prismatic joints.

If m > 3, computing C-obstacles can be very difficult. When m > 6, it is practically impossible.

Two complete general path planning algorithms have been proposed: None of these two techniques has been effectively implemented.

High-Dimensional Configuration Spaces ...

... start with dimension 5 or 6.

Examples:

Randomized Path Planning

General ideas:

Two configurations that can be connected by a simple path in the free space are said to see each other.

Preprocessing:
Construction of a probabilistic roadmap represented as a graph R = (M,L):
  1. Pick s configurations uniformly at random in the free space. Call them milestones and let M be the set of milestones.

  2. Construct the graph R = (M,L) in which L consists of every pair of milestones that see each other.


Query Processing:
Connection of any two input free configurations qinit and qgoal to a probabilistic roadmap R = (M,L):
  1. For i = {init,goal} do:
    1. if there exists a milestone m in M that sees qi then set mi to m.
    2. else
      1. repeat t times:
        Pick a free configuration q at random in a neighborhood of qi, until q seesqi both and a milestone m.
      2. if all t trials failed then return FAILURE, else set mi to m.
  2. if minit and mgoal are in the same component of R, then return a path connecting them, else return NO-PATH.

Desirable Properties of a Probabilistic Roadmap

With high probability, the above algorithm (preprocessing) generates a roadmap that satisfies these two properties in expansive spaces. (See Capturing the Connectivity of High-Dimensional Geometric Spaces by Parallelizable Random Sampling Techniques.)

An expansive free space is one which contains no ``narrow passages".

Sampling Strategies for PRM planners


Collision Checking in 2-D Workspace

Case of a multi-link robot:


Collision Checking in 3-D Workspace

Many existing techniques. Most represent objects by hierarchy of objects of simple shapes (e.g., spheres, parallelepipeds) and eventually reduce collision checking/distance computation between two objects of basic shape (e.g., two convex polyhedra).

S. Quinlan. Efficient Distance Computation Between Non-Convex Objects. Proc. IEEE Int. Conf. on Robotics and Automation, San Diego, CA, 1994, pp. 117-123.

Principle:

  1. Triangulate the boundary of each object.
  2. Represent each object by a binary tree of spheres, such that:
  3. To check for collision or compute the distance between two objects, traverse their sphere trees concurrently. When leaf nodes are reached check collision or compute distance between two triangles.