Exact and efficient construction of Minkowski sums of convex polyhedra with applications

We present an exact implementation of an efficient algorithm that computes Minkowski sums of convex polyhedra in R3. Our implementation is complete in the sense that it does not assume general position. Namely, it can handle degenerate input, and it produces exact results. We also present applications of the Minkowski-sum computation to answer collision and proximity queries about the relative placement of two convex polyhedra in R3. The algorithms use a dual representation of convex polyhedra, and their implementation is mainly based on the Arrangement package of Cgal, the Computational Geometry Algorithm Library. We compare our Minkowski-sum construction with the only three other methods that produce exact results we are aware of. One is a simple approach that computes the convex hull of the pairwise sums of vertices of two convex polyhedra. The second is based on Nef polyhedra embedded on the sphere, and the third is an output sensitive approach based on linear programming. Our method is significantly faster. The results of experimentation with a broad family of convex polyhedra are reported. The relevant programs, source code, data sets, and documentation are available at http://www.cs.tau.ac.il/~efif/CD, and a short movie [16] that describes some of the concepts portrayed in this paper can be downloaded from http://www.cs.tau.ac.il/~efif/CD/Mink3d.avi.

[1]  S. A. Cameron,et al.  Determining the minimum translational distance between two convex polyhedra , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[2]  S. Sathiya Keerthi,et al.  A fast procedure for computing the distance between complex objects in three-dimensional space , 1988, IEEE J. Robotics Autom..

[3]  Pijush K. Ghosh,et al.  A unified computational framework for Minkowski operations , 1993, Comput. Graph..

[4]  Gert Vegter,et al.  In handbook of discrete and computational geometry , 1997 .

[5]  Lutz Kettner,et al.  Using generic programming for designing a data structure for polyhedral surfaces , 1999, Comput. Geom..

[6]  Kokichi Sugihara,et al.  The Minkowski sum of two simple surfaces generated by slope-monotone closed curves , 2002, Geometric Modeling and Processing. Theory and Applications. GMP 2002. Proceedings.

[7]  Leonidas J. Guibas,et al.  Computing convolutions by reciprocal search , 1986, SCG '86.

[8]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[9]  Micha Sharir,et al.  Algorithmic motion planning , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[10]  Ulrich Finke,et al.  Overlaying simply connected planar subdivisions in linear time , 1995, SCG '95.

[11]  David G. Kirkpatrick,et al.  Determining the Separation of Preprocessed Polyhedra - A Unified Approach , 1990, ICALP.

[12]  Leonidas J. Guibas,et al.  Reporting Red—Blue Intersections between Two Sets of Connected Line Segments , 2002, Algorithmica.

[13]  Brian Mirtich,et al.  V-Clip: fast and robust polyhedral collision detection , 1998, TOGS.

[14]  Dan Halperin,et al.  Advanced programming techniques applied to Cgal's arrangement package , 2007, Comput. Geom..

[15]  Komei Fukuda,et al.  From the zonotope construction to the Minkowski addition of convex polytopes , 2004, J. Symb. Comput..

[16]  Leonidas J. Guibas,et al.  H-Walk: hierarchical distance computation for moving convex bodies , 1999, SCG '99.

[17]  Dinesh Manocha,et al.  Accurate Minkowski sum approximation of polyhedral models , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[18]  Ming C. Lin,et al.  A fast algorithm for incremental distance calculation , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

[19]  Jarek Rossignac,et al.  Solid-interpolating deformations: Construction and animation of PIPs , 1991, Comput. Graph..

[20]  Dan Halperin,et al.  On the exact maximum complexity of Minkowski sums of convex polyhedra , 2007, SCG '07.

[21]  L. Guibas,et al.  Polyhedral Tracings and their Convolution , 1996 .

[22]  James U. Korein,et al.  Robotics , 2018, IBM Syst. J..

[23]  Leonidas J. Guibas,et al.  A kinetic framework for computational geometry , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[24]  G. Swaminathan Robot Motion Planning , 2006 .

[25]  Jean-Daniel Boissonnat,et al.  Minkowski operations for satellite antenna layout , 1997, SCG '97.

[26]  Ming C. Lin,et al.  Accelerated proximity queries between convex polyhedra by multi-level Voronoi marching , 2000, Proceedings. 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat. No.00CH37113).

[27]  Dinesh Manocha,et al.  Collision and Proximity Queries , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[28]  Stephen Cameron,et al.  Enhancing GJK: computing minimum and penetration distances between convex polyhedra , 1997, Proceedings of International Conference on Robotics and Automation.

[29]  Peter Gritzmann,et al.  Minkowski Addition of Polytopes: Computational Complexity and Applications to Gröbner Basis , 1993, SIAM J. Discret. Math..

[30]  Pankaj K. Agarwal,et al.  Polygon decomposition for efficient construction of Minkowski sums , 2000, Comput. Geom..

[31]  Gershon Elber,et al.  Polynomial/Rational Approximation of Minkowski Sum Boundary Curves , 1998, Graph. Model. Image Process..

[32]  Dan Halperin,et al.  Code Flexibility and Program Efficiency by Genericity: Improving Cgal's Arrangements , 2004, ESA.

[33]  Kurt Mehlhorn,et al.  Boolean Operations on 3D Selective Nef Complexes: Data Structure, Algorithms, and Implementation , 2003, ESA.

[34]  Joseph K. Davidson,et al.  Improvements to algorithms for computing the Minkowski sum of 3-polytopes , 2003, Comput. Aided Des..

[35]  Jos B. T. M. Roerdink,et al.  An Efficient Algorithm to Calculate the Minkowski Sum of Convex 3D Polyhedra , 2001, International Conference on Computational Science.

[36]  Dan Halperin,et al.  Exact minkowski sums of convex polyhedra , 2005, SCG.