Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation Computer Science Department University of British Columbia Vancouver, Canada."— Presentation transcript:

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

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

3 Extended contact can result in many contact points

4 * = number of contacts, = number of bodies 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

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

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

7 Results in a Linear Complementarity Problem (LCP):

8 Solving Contact LCPs 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?

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

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

11 Peg in hole test case

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

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

14 This reduces the system to Eliminate

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

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

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

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

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

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

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

27 Larger number of needed for accurate friction computation v f

28 Closeup: sample contacts


Download ppt "Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation Computer Science Department University of British Columbia Vancouver, Canada."

Similar presentations


Ads by Google