Polyhedral Collision Detection via Vertex Enumeration
Andrew Cinar, Yue Zhao, Forrest Laine
TL;DR
This work tackles collision detection between polyhedral objects by addressing the nondifferentiability of the signed distance $sd(x_t)$. It introduces a vertex-enumeration framework that replaces the nonsmooth constraint with multiple smooth vertex-based constraints and uses dynamic slots to incorporate up to $N$ vertex values, enabling nonlocal and subdifferential information to guide optimization. Empirical results on 2D and 3D problems show substantially higher reliability than common baselines, particularly in complex packing scenarios, albeit with longer solve times. The approach is generalizable to other nonsmooth optimization problems and offers a practical pathway toward robust collision-avoiding trajectories for robotics.
Abstract
Collision detection is a critical functionality for robotics. The degree to which objects collide cannot be represented as a continuously differentiable function for any shapes other than spheres. This paper proposes a framework for handling collision detection between polyhedral shapes. We frame the signed distance between two polyhedral bodies as the optimal value of a convex optimization, and consider constraining the signed distance in a bilevel optimization problem. To avoid relying on specialized bilevel solvers, our method exploits the fact that the signed distance is the minimal point of a convex region related to the two bodies. Our method enumerates the values obtained at all extreme points of this region and lists them as constraints in the higher-level problem. We compare our formulation to existing methods in terms of reliability and speed when solved using the same mixed complementarity problem solver. We demonstrate that our approach more reliably solves difficult collision detection problems with multiple obstacles than other methods, and is faster than existing methods in some cases.
