Working on btGeneric6DofConstraint

User avatar
projectileman
Posts: 109
Joined: Thu Dec 14, 2006 4:27 pm
Location: Colombia

Working on btGeneric6DofConstraint

Post by projectileman »

Is anybody working on D6 constraints for Bullet? At this moment it seems not as robust as needed. When the Joint angles reach to its limits, it behaves weird.

I'm trying to improving this class, but the rotation algebra gets me crazy;

:shock:

At this moment, I've implemented an alternative method using the axes at the global frame on A (bodyA.Transform*localFrameA), and the angles are calculated with the computeAngle method. Works fine when you have limits between -PI/2 to PI/2, but when you have limits equal or superior to PI/2, it becomes weird.

Yes, there are hinges those work fine for most cases(Hinge, Cone), but I think that D6 constraints are very important for fulfill the COLLADA specification.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Working on btGeneric6DofConstraint

Post by Erwin Coumans »

projectileman wrote:Is anybody working on D6 constraints for Bullet?At this moment, I've implemented an alternative method using the axes at the global frame on A (bodyA.Transform*localFrameA), and the angles are calculated with the computeAngle method. Works fine when you have limits between -PI/2 to PI/2, but when you have limits equal or superior to PI/2, it becomes weird.

Yes, there are hinges those work fine for most cases(Hinge, Cone), but I think that D6 constraints are very important for fulfill the COLLADA specification.
There is no efforts to improve or make the the generic d6 constraint match the COLLADA specification. I rather develop specific constraints that are requested by developers, such as the new btConeTwistConstraint for ragdolls, or improving hinge/point to point with motors and limits, and include a conversion from COLLADA generic to Bullet specific constraints.

But if you have anything that improves the Generic D6 constraint, feel free to contribute it.

Thanks,
Erwin