The medial axis is a geometric construct akin to the continuous Voronoi diagram. It captures the topological information, including connectivity of a space, but has lower dimension and maintains a maximal clearance from the boundary. We are working on applying the medial axis to planning problems by moving the robot along the medial axis or in its vicinity. In the case of flexible surface, the deformation of the robot can be chosen to locally match the shape of the medial axis, allowing us to plan through narrow and curved passages. For rigid objects a heuristic is necessary to get a favorable distribution of orientations in the neighborhood of the medial axis.
We compute the medial axis in two dimensions with a generic sampling approach that utilizes some interesting properties of Delaunay triangulations. While this method is extensible to three dimensions, the sampling of the workspace becomes prohibitively difficult, and instead we use a tracing procedure. This procedure uses a point-to-obstacle distance function to enumerate a mesh approximating the medial axis. This algorithm is able to handle arbitrary triangle soups. Many 3D models are imported as polygon soups so algorithms that require some adjacency information are not generally as feasible.
For our 3 dimensional planner we use a very different method for computing the medial axis. With only a point-obstacle distance function we explore and construct the medial axis for arbitrary polygonal input sets. We have been successful in planning for rigid objects in three dimensions, and we are currently working on extending the planner to deformable volumes in three dimensions. The image to the right shows a medical application in which we compute an insertion path for a pin (yellow) into an irregular cavity (green). Here is an animation of our 2D planner at work, as well as the 3D planner for a rigid object here and here (not gzipped).