A subset of the Criticality map of two identical tetrahedra for two axes rotation |
We present a novel method for fast retrieval of exact Minkowski sums of pairs of convex polytopes in \(\mathbb{R}^3\), where one of the polytopes rotates. The algorithm is based on pre-computing a so-called criticality map, which records the changes in the underlying graph-structure of the Minkowski sum, while one of the polytopes rotates. We give tight combinatorial bounds on the complexity of the criticality map when the rotating polytope rotates about one, two, or three axes. The criticality map can be rather large already for rotations about one axis, even for summand polytopes with a moderate number of vertices each. We therefore focus on the restricted case of rotations about a single, though arbitrary, axis.
Our work targets applications that require exact collision detection such as motion planning with narrow corridors and assembly maintenance where high accuracy is required. Our implementation handles all degeneracies and produces exact results. It efficiently handles the algebra of exact rotations about an arbitrary axis in \(\mathbb{R}^3\), and it well balances between preprocessing time and space on the one hand, and query time on the other.