The problem is to determine which -cells are actually adjacent.
Figure 6.27 depicts the cases in which connections
need to be made. The
plane is represented as one axis (imagine
looking in a direction parallel to it). Consider two neighboring
-cells (noncritical regions),
and
, in the plane. It
is assumed that a
-cell (critical curve) in
separates them.
The task is to connect together
-cells in the cylinders above
and
. If neighboring cells share the same feature pair,
then they are connected. This means that
and
must be connected. In some cases, one
feature may change, while the interval of orientations remains
unchanged. This may happen, for example, when the robot changes from
contacting an edge to contacting a vertex of the edge. In these
cases, a connection must also be made. One case illustrated in Figure
6.27 is when a splitting or merging of orientation
intervals occurs. Traveling from
to
, the figure shows
two regions merging into one. In this case, connections must be made
from each of the original two
-cells to the merged
-cell. When
constructing the roadmap edges, sample points of both the
-cells
and
-cells should be used to ensure collision-free paths are
obtained, as in the case of the vertical decomposition in Section
6.2.2. Figure 6.28 depicts the cells for the
example in Figure 6.26. Each noncritical region has
between one and three cells above it. Each of the various cells is
indicated by a shortened robot that points in the general direction of
the cell. The connections between the cells are also shown. Using
the noncritical region and feature names from Figure
6.26, the resulting roadmap is depicted abstractly in
Figure 6.29. Each vertex represents a
-cell in
, and each edge represents the crossing of a
-cell between
adjacent
-cells. To make the roadmap consistent with previous
roadmaps, we could insert a vertex into every edge and force the path
to travel through the sample point of the corresponding
-cell.
Once the roadmap has been constructed, it can be used in the same way
as other roadmaps in this chapter to solve a query. Many
implementation details have been neglected here. Due to the fifth
case, some of the region boundaries in
are fourth-degree
algebraic curves. Ways to prevent the explicit characterization of
every noncritical region boundary, and other implementation details,
are covered in [56]. Some of these details are also
summarized in [588].
Steven M LaValle 2020-08-14