FPGA Implementation of the Interior-Point Algorithm with Applications to Collision Detection

The interior-point algorithm is a powerful method for solving a Linear Program (LP). A variety of optimization problems can be formulated as LPs. Often times the limiting factor of deploying an algorithm to solve LPs in a high performance system is the run-time efficiency. In this paper, we present the FPGA implementation of an affine interior-point algorithm that is designed to solve LPs. Specifically, we present the application of this algorithm to solving the LP for the real-time collision detection. The most important feature that distinguishes this particular algorithm from other collision detection methods is its superior ability to perform detection between pairs of objects undergoing fast rotational and translational motions.

[1]  Stephen J. Wright Primal-Dual Interior-Point Methods , 1997, Other Titles in Applied Mathematics.

[2]  Raimund Seidel,et al.  Linear programming and convex hulls made easy , 1990, SCG '90.

[3]  Sherief Reda,et al.  Effective linear programming based placement methods , 2006, ISPD '06.

[4]  Gabriel Zachmann,et al.  High-Performance Collision Detection Hardware , 2003 .

[5]  R. B. Shipley,et al.  A new direct matrix inversion method , 1959, Transactions of the American Institute of Electrical Engineers, Part I: Communication and Electronics.

[6]  Philip M. Hubbard,et al.  Collision Detection for Interactive Graphics Applications , 1995, IEEE Trans. Vis. Comput. Graph..

[7]  G. Morton,et al.  Notes on Linear Programming , 1951 .

[8]  Gabriel Zachmann,et al.  Space-efficient FPGA-accelerated collision detection for virtual prototyping , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[9]  D. R. Fulkerson,et al.  Notes on Linear Programming , 1954 .

[10]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[11]  Sanjay Mehrotra,et al.  On the Implementation of a Primal-Dual Interior Point Method , 1992, SIAM J. Optim..

[12]  Mahmut T. Kandemir,et al.  An integer linear programming approach for optimizing cache locality , 1999, ICS '99.

[13]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[14]  Nimrod Megiddo,et al.  Linear-time algorithms for linear programming in R3 and related problems , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[15]  Gino van den Bergen,et al.  Collision detection in interactive 3D computer animation , 1999 .

[16]  Sanjay Mehrotra,et al.  A Linear Programming Solution for Exact Collision Detection , 2005, J. Comput. Inf. Sci. Eng..

[17]  Gabriel Zachmann,et al.  An Architecture for Hierarchical Collision Detection , 2003, WSCG.

[18]  Gabriel Zachmann,et al.  Hardware accelerated collision detection - an architecture and simulation results , 2005, Design, Automation and Test in Europe.

[19]  E. Rosado,et al.  ABSTRACT , 1990 .

[20]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..