1 / 28

Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation

Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation. John E. Lloyd. Computer Science Department University of British Columbia Vancouver, Canada. Applications: mechanical simulation, animation, haptics. Haptics requires speed (1 Khz) and accuracy.

gzifa
Download Presentation

Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation John E. Lloyd Computer Science Department University of British Columbia Vancouver, Canada

  2. Applications: mechanical simulation, animation, haptics Haptics requires speed (1 Khz) and accuracy

  3. Extended contact can result in many contact points

  4. Use problem structure to speed up solution Reduce complexity to nearly * complexity for fixed number of bodies Contributions Most exact solution method is Lemke’s algorithm with expected complexity *=number of contacts, = number of bodies

  5. f x d d n n 21 11 2 1 Problem formulation

  6. n i Non-penetration: d d d d d d i1 i4 i3 i5 i6 i2 Friction opposite velocity: Friction cone: Constraints

  7. Results in a Linear Complementarity Problem (LCP):

  8. Iterative techniques; includes impulse methods [Mirtich & Canny ’95, Guendelman ’03] => Accuracy, convergence? Pivoting methods: Lemke’s algorithm [Anitescu & Potra ’97, Stewart & Trinkle ’96] => Speed, robustness? Solving Contact LCPs

  9. If , then we have a solution Pivoting: exchange subsets of z and w Generally, one variable exchange per pivot

  10. Once per pivot: compute Involves solving Complexity , and typically pivots Hence total expected complexity

  11. Peg in hole test case

  12. 1 Solve more efficiently 2 Reduce the number of pivots How to improve performance?

  13. can be partitioned into:* Eliminate 1 Solving *Ignoring Lemke covering vector in this discussion

  14. Eliminate This reduces the system to

  15. This yields the final system Reduced matrix has size Hence per-pivot computation is So total expected complexity

  16. Observation: Only need to compute and for active contacts; i.e, those for which 2 Reducing the number of pivots

  17. and expand it as become active: So start with a frictionless LCP

  18. Hence pivots So total expected complexity Ideally, final system rank is

  19. Results: peg in hole Standard Structural Reduced

  20. Results: sample contacts Standard Structural Reduced

  21. Results: block stack Standard Structural Reduced

  22. Results

  23. Fast: exploit problem structure Better complexity: nearly for fixed number of bodies Efficient: no need to compute More robust: smaller system to solve each pivot Conclusions: Improved pivoting method for contact simulation http://www.cs.ubc.ca/~lloyd/fastContact.html

  24. Exploit temporal coherence (give solver an advanced starting point) More efficient solution for reduced equation Robust pivot selection (minimum ratio test) Future Work

  25. for 4 friction directions, size LCP matrix can be quite large …

  26. Larger number of needed for accurate friction computation f v

  27. Closeup: sample contacts

More Related