Rigid body contact scenario requiring global solver

Started by
5 comments, last by wildbunny 13 years ago
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.

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.

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.


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.
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

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


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 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


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
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


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.


This topic is closed to new replies.

Advertisement