Better positionalError resolution method and Friction...

DevO
Posts: 95
Joined: Fri Mar 31, 2006 7:13 pm

Better positionalError resolution method and Friction...

Post by DevO »

Hello,

I am using SOLVER_CACHE_FRIENDLY while simulating small box stack. the boxes seems to slide along x and z axis.
This seems to be Friction problem with new CacheFriendly solver.
Also there are no such problem with old solver.


But the main question is how to resolve positionalError better?
In mu test it seems to cause most instabilities during simulation.

One way that help a bit is to limit it to some value so the deep into penetrating bodies will not flow too long.
But how to limit this force so the body will be only moved from another and do not get extra energy???
Erin Catto seems to use a bit different approach in its Box2D_LIb.
Any Ideas?
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Better positionalError resolution method and Friction...

Post by Erwin Coumans »

DevO wrote:Hello,

I am using SOLVER_CACHE_FRIENDLY while simulating small box stack. the boxes seems to slide along x and z axis.
This seems to be Friction problem with new CacheFriendly solver.
Also there are no such problem with old solver.
Can you reproduce this in any of the demos? I haven't seen such sliding.

Which version of Bullet are you using exactly?
But the main question is how to resolve positionalError better?
In mu test it seems to cause most instabilities during simulation.
Erin Catto seems to use a bit different approach in its Box2D_LIb.
Yes, this will be fixed, I haven't had time to implement it. It is fairly straightforward to avoid adding momentum due to penetration correction.
Thanks for reporting the issue,
Erwin
DevO
Posts: 95
Joined: Fri Mar 31, 2006 7:13 pm

Re: Better positionalError resolution method and Friction...

Post by DevO »

Thanks for reply.
Which version of Bullet are you using exactly?
I am using the latest Bullet version form SVN. (2.63 in this case)
Yes, this will be fixed, I haven't had time to implement it. It is fairly straightforward to avoid adding momentum due to penetration correction.
Well now I see that the solution is so called "Momentum decoupled position correction" from Box2D.
Just resolve position error as Position Constraint and not as Velocity Constraint.