A Ray Intersection Algorithm for Fast Growth Distance Computation Between Convex Sets
Organizations: Department of Mechanical Engineering, UC Berkeley, CA 94720, USA.
Abstract
In this paper, we discuss an efficient algorithm for computing the growth distance between two compact convex sets with representable support functions. The growth distance between two sets is the minimum scaling factor such that the sets intersect when scaled about some center points. Unlike the minimum distance between sets, the growth distance provides a unified measure for set intersection and separation. We first reduce the growth distance problem to an equivalent ray intersection problem on the Minkowski difference set. Then, we propose an algorithm to solve the ray intersection problem by iteratively constructing inner and outer polyhedral approximations of the Minkowski difference set. We show that our algorithm satisfies several key properties, such as primal and dual feasibility and monotone convergence. We provide extensive benchmark results for our algorithm and show that our open-source implementation achieves state-of-the-art performance across a wide variety of convex sets. Finally, we demonstrate robotics applications of our algorithm in motion planning and rigid-body simulation.
Figures & tables
| Property | Internal Expanding procedure ( IE ), [ 16 ] | Differentiable Contact Features ( DCF ), [ 17 ] | Incremental algorithm ( Inc ), [ 18 ] | Differentiable Collisions ( DCol ), [ 19 ] | Our method |
|---|---|---|---|---|---|
| Types of convex sets | Convex primitives 1 , vertex meshes, DSFs | Differentiable Support Functions (DSFs) | Facet meshes | Convex primitives | Convex primitives, vertex meshes, DSFs |
| Algorithm outputs | Primal and dual optimal solutions | Primal and dual optimal solutions | Primal and dual optimal solutions | Primal optimal solution | Primal and dual optimal solutions |
| Solution guarantees | Primal and dual feasibility | Dual feasibility | Primal feasibility, compl. slackness | Dual feasibility | Primal and dual feasibility |
| Termination criterion | Primal-dual gap | Dual optimality error (gradient norm) | Dual infeasibility error | KKT error | Primal-dual gap |
| Warm start support | No | No | Yes | No | Yes |
| Notation | Reference | Definition |
|---|---|---|
| , | Prop. 1 | Minkowski difference set, , and center point difference, . |
| , | ( 2a ), ( 3 ) | Support function and support point function, with . |
| , | ( 9 ), ( 10 ) | Growth distance and ray intersection value, . |
| , , | Sec. III-A | Normal vector, support function value ( ), and support point ( ) at iteration . |
| , | ( 12 ) | Inner and outer polyhedral approximations of at iteration . |
| , | ( 12 ) | Iteration index sets for the inner and outer polyhedral approximations at iteration . |
| Benchmark case | Solution times: (median, -th percentile) in microseconds (‘ ’ means unsupported) | |||||
|---|---|---|---|---|---|---|
| (cs: cold start, ws: warm start) | IE [ 16 ] | DCF [ 17 ] | Inc [ 18 ] | DCol [ 19 ] | Our method | |
| Curved primitives | cs | |||||
| ws | ||||||
| Meshes | cs | |||||
| ws | ||||||
| DSFs [ 17 ] | cs | |||||
Approximation Algorithms
Approximation algorithms find provably near-optimal solutions to computationally hard optimization problems when exact solutions are impractical.
See all 88 papers