• Advertisement
Sign in to follow this  

Rigid body contact scenario requiring global solver

This topic is 2493 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys,

So i'm writing this article on speculative contacts and i'm trying to find a simple contact scenario between two rigid bodies which would require a 'global' solver to correctly resolve the resting contact, rather than one in which you can just iterate over all the contacts and arrive at the correct solution...

Does anyone know of any particularly difficult to resolve, yet simple to illustrate scenario like this? :)

Cheers, Paul.

Share this post


Link to post
Share on other sites
Advertisement
Here is one global conflict scenario: the two dynamic objects are not aware that after CCD they end up in the same location.

There are more complicated cases, but this could be a start.

Share this post


Link to post
Share on other sites
[quote name='erwincoumans' timestamp='1300930890' post='4789766']
Here is one global conflict scenario: the two dynamic objects are not aware that after CCD they end up in the same location.

There are more complicated cases, but this could be a start.
[/quote]

Thanks erwin :)

I was more asking about resting contact rather than CCD - trying to find a simple resting contact scenario which isn't solved correctly with a local solver....

Cheers, Paul.

Share this post


Link to post
Share on other sites
What do you mean by 'local solver'?

The projected gauss seidel/sequential impulse method, where you iterate over an array of pair-wise constraints is a global solver: all constraints are solved within the same loop and there is impulse exchange. The solution converges with a direct LCP solver if you increase the number of iterations.

Thanks,
Erwin

Share this post


Link to post
Share on other sites
[quote name='erwincoumans' timestamp='1300983087' post='4789991']
What do you mean by 'local solver'?

The projected gauss seidel/sequential impulse method, where you iterate over an array of pair-wise constraints is a global solver: all constraints are solved within the same loop and there is impulse exchange. The solution converges with a direct LCP solver if you increase the number of iterations.

Thanks,
Erwin
[/quote]

A local solver would be one where you just iterate over the constraints solving the individual impulses without storing the impulse history (unlike erin catto's sequential impulses)....

Cheers, Paul.

Share this post


Link to post
Share on other sites
[quote name='wildbunny' timestamp='1300988072' post='4790025']
[quote name='erwincoumans' timestamp='1300983087' post='4789991']
What do you mean by 'local solver'?

The projected gauss seidel/sequential impulse method, where you iterate over an array of pair-wise constraints is a global solver: all constraints are solved within the same loop and there is impulse exchange. The solution converges with a direct LCP solver if you increase the number of iterations.

Thanks,
Erwin
[/quote]

A local solver would be one where you just iterate over the constraints solving the individual impulses without storing the impulse history (unlike erin catto's sequential impulses)....

Cheers, Paul.
[/quote]

If you solve all the pairwise constraints (by applying impulses or forces) in the same loop, it is still a global solver although it might not converge. Even if you don't clamp the accumulated impulse, the impulse gets applied to each body, so it is part of the history.

Nevertheless, I'm curious what impact this has on the predictive contacts? You would adjust the target velocity based on the predicted allowed motion. Aside from the modified target velocity, there is no modification in the PGS solver (equivalent to sequential impulse as Erin calls it).

Thanks,
Erwin

Share this post


Link to post
Share on other sites
[quote name='erwincoumans' timestamp='1300990155' post='4790049']If you solve all the pairwise constraints (by applying impulses or forces) in the same loop, it is still a global solver although it might not converge. Even if you don't clamp the accumulated impulse, the impulse gets applied to each body, so it is part of the history.

Nevertheless, I'm curious what impact this has on the predictive contacts? You would adjust the target velocity based on the predicted allowed motion. Aside from the modified target velocity, there is no modification in the PGS solver (equivalent to sequential impulse as Erin calls it).

Thanks,
Erwin
[/quote]

Sorry ,yes its the convergence that i'm getting it - the regular iterated impulse solver will tend to over-estimate and i was looking for a simple diagram of such a case :)

And actually, the global solver is essential for correct TOI ordering in the predictive contacts stuff - i'm writing an article right now which will contain all the details :)

Cheers, Paul.


Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement