Commit Graph

12 Commits

Author SHA1 Message Date
erwin.coumans
e5590575a9 disable self-collision for btMultiBody with prismatic joint: the collision normals are conflicting (they assume 3d objects, but 2 bodies/links in a multi-body don't have the DOFs to resolve the collision, resulting in 'explosions' adding energy. 2013-10-23 18:00:32 +00:00
erwin.coumans
9b44762519 pass the settings to create a FeatherstoneMultiBody as a struct, instead of all individual parameters 2013-10-22 22:36:43 +00:00
erwin.coumans
0024c87316 move the m_maxAppliedImpulse into base class, and use it for motor strength/point to point constraint strength 2013-10-22 21:49:52 +00:00
erwin.coumans@gmail.com
d4640227ce add option to disable btMultiBody self-collision (for the entire hierarchy) or to disable parent-child collision for jointed links. 2013-10-08 00:50:40 +00:00
erwin.coumans@gmail.com
34d975143e expose maximum applied impulse for btMultiBody, introduced to reduce/avoid 'exploding' simulations
use btScalar instead of float, to enable double precision build, fix for Issue 744
2013-10-06 17:13:08 +00:00
erwin.coumans@gmail.com
488dd44835 Added btMultiBodyPoint2Point, it can be used between btMultiBody vs btMultiBody or btMultiBody vs btRigidBody
Allow picking of btMultiBody, using a btMultiBodyPoint2Point constraint, with limited strength to avoid adding too much energy to the system (= blowup)
Add btMultiBodyJointMotor, it can be used in combination with joint limit (just add the joint limit after the motor, to avoid jitter)
2013-10-05 01:46:32 +00:00
erwin.coumans@gmail.com
2fb686b937 change btMultiBody to allow removal/changing of links
(still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc)
2013-10-03 05:13:41 +00:00
erwin.coumans
75f17509cc Add a virtual createConstraintRows method, to easier experiment with different kinds of btMultiBodyConstraint 2013-10-02 21:38:40 +00:00
erwin.coumans
c2bece5280 Enable btMultiBodyJointLimitConstraint, seems to be working for the prismatic joint
Fix case sensitive issue, thanks to Martin Felis
Fix crash/bug in btMultiBodyConstraint computation
2013-10-02 20:14:48 +00:00
erwin.coumans
36cfbd47a6 preparation for joint limit constraint for Featherstone btMultiBody 2013-10-02 06:25:20 +00:00
erwin.coumans
d8b6a02a7a Fix some crashes in FeatherstoneMultiBodyDemo, when using a fixed base
Create two btMultiBody, one fixed and one free base
Preparation towards btMultiBodyConstraint
2013-10-02 03:07:52 +00:00
erwin.coumans
f02dd51597 Added a first version of a Featherstone multi body implementation.
The original version was written by Stephen Thompson.
I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver. 
Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support.
See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage.
There is currently only support for contact constraints for btMultiBody. 
Next on the list will be adding support for joint limit constraint for btMultiBody. 
The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases.
2013-10-01 22:50:31 +00:00