Impulse based collision response and featherstone constraint

Please don't post Bullet support questions here, use the above forums instead.
Hanz
Posts: 14
Joined: Fri Jun 01, 2007 5:36 am

Impulse based collision response and featherstone constraint

Post by Hanz »

Hey, I am now trying to build a robot simulator and I have question about
applying impulse based collision response to the featherstone ABA algorithms.


Yes, I need featherstone ABA because in my simulation I need the
accurate joint states, and the drifting caused by numeric error should
be avoided. Also the joint space variables are necessary for other
computations, also the inverse dynamics will be added later.

Now the featherstone ABA algorithm is OK and I am trying to add
collision/contact response. And IIRC there exists mainly two methods:

1. LCP-solver based method

2. Impulse based method

In "Practical Physics for Articulated Characters", Evangelos Kokkevis
uses LCP to solve collision problems, and on the other hand, Erin Catto
and Jan Bender succeed in applying impulse to collision/contact
response (But featherstone constraint not used by them).

Here since featherstone ABA is a must therefore LCP method is my
first choice in my mind. However, after checking Box2D and Jan's
paper, I found impulse is really a good thing to handle collision/contact
with frictions.

Does anyone can elaborate on this topic, and hope I can make my
final decision for this issue.

Thank you for your time.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Post by Erwin Coumans »

Using Featherstone in combination with contact resolution using
1. LCP-solver based method

2. Impulse based method
Impulse bases method are equivalent to an iterative LCP method called SOR PGS (**).

You can read in above link that several people integrated Featherstone with such impulse based method/iterative LCP methods, and I am planning to add a contribution of this to Bullet physics engine (Bullet uses a 3D implementation of 'sequential impulse based method' / iterative LCP).

Hope this helps,
Erwin
Hanz
Posts: 14
Joined: Fri Jun 01, 2007 5:36 am

Post by Hanz »

Thank you for your reply...

Erwin Coumans wrote:Using Featherstone in combination with contact resolution using
1. LCP-solver based method

2. Impulse based method
Impulse bases method are equivalent to an iterative LCP method called SOR PGS (**).

Erwin
Thanks for point me about that, but I failed to find any related post in
the above link. And I searched " iterative LCP" and I got quite a few links
and I am not sure which one you are referring to.

Would you please post the link again?
Erwin Coumans wrote: You can read in above link that several people integrated Featherstone with such impulse based method/iterative LCP methods, and I am planning to add a contribution of this to Bullet physics engine (Bullet uses a 3D implementation of 'sequential impulse based method' / iterative LCP).

Hope this helps,
Erwin
Glad to hear that.

Yes, I checked the Bullet TODO list and Featherstone constraint is there.

I will try to get the points of "iterative LCP impulse method" and thank
you for time again.
Hanz
Posts: 14
Joined: Fri Jun 01, 2007 5:36 am

Post by Hanz »

Hanz wrote:
Thanks for point me about that, but I failed to find any related post in
the above link. And I searched " iterative LCP" and I got quite a few links
and I am not sure which one you are referring to.

Would you please post the link again?
EDIT:

I think the following page is the one Erwin quoted:

Equivalence sequential impulses & Projected Gauss Seidel @

http://www.continuousphysics.com/Bullet ... .php?t=208

Thanks a lot.