Bullet, Ragdoll/Joint Instability, & the ODE Solver

Post Reply
Eternl Knight
Posts: 44
Joined: Sun Jan 22, 2006 4:31 am

Bullet, Ragdoll/Joint Instability, & the ODE Solver

Post by Eternl Knight »

I have seen a couple of times on this forum people mentioning that the Bullet implementation of d6 joints (with limits) and, by inference, ragdolls are somewhat unstable. Has this been fixed?

If not, what is the status of the ODE Solver integration in the Bullet code? I know it is still in the code-base, but is it up to date?

The reason for these questions is that while I find Bullet great for collision detection, without correct d6 joint behaviour - demos (and games) are limited to a somewhat less impressive subset of what can be done with physics.

ODE (while less impressive in the collision functionality) is somewhat better tested in the area of solving for the more complex joint/constraint setups. If Bullet is continuing along a path of optimizing/extending "collision" over "solving" - I'm wondering if I should be focusing my efforts on integrating the two libraries for the best of both worlds.

BTW: I am fully willing to be proven wrong on any point I have made!

--EK
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Post by Erwin Coumans »

The Bullet generic D6 joint has issues indeed. Right now, collision detection gets a bit more focus, but there are plans to improve joints, limits, motors for Bullet.
If not, what is the status of the ODE Solver integration in the Bullet code? I know it is still in the code-base, but is it up to date?
Yes, is should be fairly straightforward to get ODE quickstep running in Bullet. It only supports contact points, but you can extend it with all ODE joints, motors, limits.
Would you be interested in contributing extensions for ODE's joints, limits and motors on the bullet\Extras\quickstep\OdeConstraintSolver.h, so it works within Bullet framework?

Thanks,
Erwin
Eternl Knight
Posts: 44
Joined: Sun Jan 22, 2006 4:31 am

Post by Eternl Knight »

I would have no problem in contributing anything I develop back to Bullet. It is not like there will be much (if any) innovation. More a wrapping of the well-used ODE constraints into something usable in the Bullet framework.

thanks for the quick reply and the honest appraisal of Bullet & it's direction.

NOTE: It may interest some people to know that while there is an "ODE solver" in the code-base of Bullet, there also happens to be a Bullet-integration branch of the official ODE project. Unfortunately - it would appear that both here & there have canceled/delayed any further work in the integration. I'll be looking into using ODE within Bullet (rather than vice versa)

--EK
Eternl Knight
Posts: 44
Joined: Sun Jan 22, 2006 4:31 am

Post by Eternl Knight »

UPDATE: I'm making some progress, but "non-experimental" requirements are currently taking up my time. In other words, while this is ongoing, please don't be waiting on me to finish in a given timeframe as I do not have info on when it will be...

--EK
Post Reply