Home › Forum › SOFA › Using SOFA › broadphase , Narrow phases , friction contact force?
Tagged: 32_bits, SOFA_other, Windows_7
- This topic has 3 replies, 2 voices, and was last updated 7 years, 5 months ago by Sen.
-
AuthorPosts
-
26 May 2017 at 13:40 #9190SenBlocked
Hi Hugo,
Thank you. I would like to know more details about broadphase , Narrow phases and friction contact.
broadPhaseDetection->addCollisionModels(vectBoundingVolume); // detection is done there
I do not know how it detects the collision. I found it in the “BruteForceDetection::addCollisionModel(core::CollisionModel *cm)”,But I can not understand the code.And in the Narrow phases , “BruteForceDetection::addCollisionPair”
is to find the collision point.But I do not know what method it is using to detect the collision point.Are there formulas or documents or Flow chart or algorithms to explain it ?26 May 2017 at 13:40 #9191SenBlockedHi,
When the collision happened, if it is friction contact,I do not know how to calculate the force .12 June 2017 at 11:36 #9319maxBlockedHi Sen,
It’s not clear whether you want the SOFA algorithm or the general idea.
I’ll give you the general idea, but for the details you need to look it up yourself. And if you need the SOFA way, just study the default scene (the snake).
The collision detection between two objects gives you a normal direction and a 2D tangent plane. The normal force is obtained using a linear complementarity problem (LCP) to prevent penetration of the objects (unilateral constraint).
The tangent force is more complex as it needs to satisfy Coulomb’s Law for frictional contacts: ||f_T|| <= \mu f_N
So you see that both normal and tangent forces are coupled: if you change f_N you need to update f_T and conversely.
Now, there are several methods to solve this problem (which is *hard*):
– non-symmetric LCP using an approximate friction pyramid (IIRC Anitescu & Potra 97?)
– coupled convex-qp a.k.a staggered projections (Kaufman 2008?) with Gauss-Seidel variants that work well in practice
– a variant of Lemke’s algorithm for friction cones by Baraff (91?)
– coupled second-order cone projections by Cadoux 2009?
– and many others I don’t remember 🙂There are other approximate schemes depending on the friction model you want.
Best,
13 June 2017 at 04:28 #9322SenBlockedHi Max,
Thank you. In bruteforcedetection, I want to know that how to detect the collision in detail in Narrow phases. I need you give me specific process or literature or formulas to explain it.
And in SOFA ,the force is f=k*x ? How to calculate the force? I also need formulas.
And in SOFA, How the friction contact is produced? I also need literature or formulas.
I have a lot of questions and I really like SOFA. I want to understand it theoretically and then improve it.
Thank you. -
AuthorPosts
- You must be logged in to reply to this topic.