6.3.3 3D Vertical Decomposition

It turns out that the vertical decomposition method of Section 6.2.2 can be extended to any dimension by recursively applying the sweeping idea. The method requires, however, that is piecewise linear. In other words, is represented as a semi-algebraic model for which all primitives are linear. Unfortunately, most of the general motion planning problems involve nonlinear algebraic primitives because of the nonlinear transformations that arise from rotations. Recall the complicated algebraic model constructed in Section 4.3.3. To handle generic algebraic models, powerful techniques from computational algebraic geometry are needed. This will be covered in Section 6.4.

One problem for which is piecewise linear is a polyhedral robot that can translate in , and the obstacles in are polyhedra. Since the transformation equations are linear in this case, is polyhedral. The polygonal faces of are obtained by forming geometric primitives for each of the Type FV, Type VF, and Type EE cases of contact between and , as mentioned in Section 4.3.2.

Figure 6.20 illustrates the algorithm that constructs the 3D vertical decomposition. Compare this to the algorithm in Section 6.2.2. Let denote a point in . The vertical decomposition yields convex -cells, -cells, and -cells. Neglecting degeneracies, a generic -cell is bounded by six planes. The cross section of a -cell for some fixed value yields a trapezoid or triangle, exactly as in the 2D case, but in a plane parallel to the plane. Two sides of a generic -cell are parallel to the plane, and two other sides are parallel to the plane. The 3-cell is bounded above and below by two polygonal faces of .

Initially, sort the vertices by their coordinate to obtain the events. Now consider sweeping a plane perpendicular to the -axis. The plane for a fixed value of produces a 2D polygonal slice of . Three such slices are shown at the bottom of Figure 6.20. Each slice is parallel to the plane and appears to look exactly like a problem that can be solved by the 2D vertical decomposition method. The -cells in a slice are actually slices of -cells in the 3D decomposition. The only places in which these -cells can critically change is when the sweeping plane stops at some value. The center slice in Figure 6.20 corresponds to the case in which a vertex of a convex polyhedron is encountered, and all of the polyhedron lies to right of the sweep plane (i.e., the rest of the polyhedron has not been encountered yet). This corresponds to a place where a critical change must occur in the slices. These are 3D versions of the cases in Figure 6.2, which indicate how the vertical decomposition needs to be updated. The algorithm proceeds by first building the 2D vertical decomposition at the first event. At each event, the 2D vertical decomposition must be updated to take into account the critical changes. During this process, the 3D cell decomposition and roadmap can be incrementally constructed, as in the 2D case.

The roadmap is constructed by placing a sample point in the center of each -cell and -cell. The vertices are the sample points, and edges are added to the roadmap by connecting the sample points for each case in which a -cell is adjacent to a -cell.

This same principle can be extended to any dimension, but the applications to motion planning are limited because the method requires linear models (or at least it is very challenging to adapt to nonlinear models; in some special cases, this can be done). See [426] for a summary of the complexity of vertical decompositions for various geometric primitives and dimensions.

Steven M LaValle 2012-04-20