A Numerically Robust LCP Solver for Simulating Articulated Rigid Bodies in Contact

This paper presents a numerically robust algorithm for solving linear complementarity problems (LCPs), and applies it to simulation of frictional contacts of articulated rigid bodies each modeled as a general polygonal object. We first point out two problems of the popular pivot-based LCP solver called Lemke Algorithm and its extension with lexicographic ordering, due to numerical errors especially for ill-conditioned LCPs. Our new algorithm solves these problems by storing all pivot candidates and searching for a sequence of pivots that leads to a solution. An LCP-based contact dynamics formulation is combined with a forward dynamics algorithm for articulated rigid bodies to perform the whole simulation using a dynamic programming approach. Simulation examples using a humanoid robot show that the Lemke Algorithm (with or without lexicographic ordering) cannot solve complex contact problems, while our algorithm can successfully simulate such situations. We also demonstrate that the simulation results are qualitatively similar to those of hardware experiments.

[1]  C. E. Lemke,et al.  Equilibrium Points of Bimatrix Games , 1964 .

[2]  G. Dantzig,et al.  COMPLEMENTARY PIVOT THEORY OF MATHEMATICAL PROGRAMMING , 1968 .

[3]  Roy Featherstone,et al.  Robot Dynamics Algorithms , 1987 .

[4]  Katta G. Murty,et al.  Linear complementarity, linear and nonlinear programming , 1988 .

[5]  John F. Canny,et al.  Impulse-based simulation of rigid bodies , 1995, I3D '95.

[6]  F. Jourdan,et al.  A Gauss-Seidel like algorithm to solve frictional contact problems , 1998 .

[7]  A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(log(n)) Calculation of Rigid-Body Dynamics. Part 1: Basic Algorithm , 1999, Int. J. Robotics Res..

[8]  Jeffrey C. Trinkle,et al.  An implicit time-stepping scheme for rigid body dynamics with Coulomb friction , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[9]  M. Ferris,et al.  Complementarity problems in GAMS and the PATH solver 1 This material is based on research supported , 2000 .

[10]  Yoshihiko Nakamura,et al.  Efficient parallel dynamics computation of human figures , 2002, Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No.02CH37292).

[11]  Ronald Fedkiw,et al.  Nonconvex rigid bodies with stacking , 2003, ACM Trans. Graph..

[12]  Evangelos Kokkevis,et al.  Practical Physics for Articulated Characters , 2004 .

[13]  F. Pfeiffer,et al.  Simulation of Unilateral Constrained Systems with Many Bodies , 2005 .

[14]  Dinesh K. Pai,et al.  Fast frictional dynamics for rigid bodies , 2005, SIGGRAPH 2005.

[15]  John E. Lloyd,et al.  Fast Implementation of Lemke's Algorithm for Rigid Body Contact Simulation , 2005, ICRA.

[16]  Yoshihiko Nakamura,et al.  Architectural design of miniature anthropomorphic robots towards high-mobility , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[17]  Ming C. Lin,et al.  Adaptive dynamics of articulated bodies , 2005, SIGGRAPH 2005.

[18]  Dinesh K. Pai,et al.  Interaction capture and synthesis , 2005, SIGGRAPH 2005.

[19]  Dinesh Manocha,et al.  Adaptive Dynamics with Efficient Contact Handling for Articulated Robots , 2006, Robotics: Science and Systems.

[20]  Ronald Fedkiw,et al.  Dynamic simulation of articulated rigid bodies with contact and collision , 2006, IEEE Transactions on Visualization and Computer Graphics.

[21]  Katsu Yamane,et al.  Stable penalty-based model of frictional contacts , 2006, Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006..

[22]  山田 祐,et al.  Open Dynamics Engine を用いたスノーボードロボットシミュレータの開発 , 2007 .

[23]  V. Acary,et al.  An introduction to Siconos , 2007 .