A linear programming-based algorithm for the signed separation of (non-smooth) convex bodies
A subdifferentiable global contact detection algorithm, the Supporting Separating Hyperplane (SSH) algorithm, based on the signed distance between supporting hyperplanes of two convex sets is developed. It is shown that for polyhedral sets, the SSH algorithm may be evaluated as a linear program, and that this linear program is always feasible and always subdifferentiable with respect to the configuration variables, which define the constraint matrix. This is true regardless of whether the program is primal degenerate, dual degenerate, or both. The subgradient of the SSH linear program always lies in the normal cone of the closest admissible configuration to an inadmissible contact configuration. In particular if a contact surface exists, the subgradient of the SSH linear program is orthogonal to the contact surface, as required of contact reactions. This property of the algorithm is particularly important in modeling stiff systems, rigid bodies, and tightly packed or jammed systems.
linear programming contact lagrangian dynamics non-smooth analysis