Bullet and ODE

madMAx4
Posts: 27
Joined: Fri Apr 20, 2007 7:29 pm
Location: Germany

Bullet and ODE

Post by madMAx4 »

hi,

i want to combine ODE's physics system with bullets's collision detection.

using quickstep in Bullet isn't the solution because only contact constraints seemed to work with that solver.

and as long as i'm not able to code the missing parts myself, i thought of using bullet as CD library in ODE instead of OPCODE.
now am i right, that we then only need to feed the contact points into ODE?

thx for any replys
max
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Post by Dirk Gregorius »

I recommend you to use the ODE because of the possibility to use a direct LCP solver which seems better suited for what you plan to do...
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Post by Erwin Coumans »

Can you provide more details about your plans and goals? Other constraint solvers will be added to Bullet, in particular an upcoming Featherstone reduced-coordinates implementation. Such Featherstone reduced coordinates can help robotics and walking two-footers.

Someone is adding constraint functions for quickstep in Bullet.
You could try ODE pivoting Dantzig LCP solver (use WorldStep), but you might find out that this solver has other issues which you can find on the ODE mailing list.

Erwin
Last edited by Erwin Coumans on Thu Jun 07, 2007 4:44 pm, edited 1 time in total.
madMAx4
Posts: 27
Joined: Fri Apr 20, 2007 7:29 pm
Location: Germany

Post by madMAx4 »

my plan is to code an algorithm which tells an two-footer how to walk. therefor i wrote an PID controller which acts as a motor on a joint.
the algorithm has to control all the motors.

(to make the walk more stable i want to simulate a gyroscope by simply adding inertia.)

i need stable and accurate simulation within a large range of values, such as very low and very high torques and velocities.

later i want the walkers to be able to shoot bullets and rockets. but not with raycasts, that would be to simple, i want them to be a rigidbody.
so i need also a large range of mass. such as 0.1 units for a bullet and 100 or even 1000 units for a leg or arm.
i have not tested this yet but for the motors Bullet is not stable enough.

Dirk told me to use the ODE. but i don't want to go without Bullet's CD.
so the only way is to combine them.

such a solver for bullet would be great, when do you plan to develop this Featherstone solver?

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

Post by Erwin Coumans »

I don't think ODE 'direct Dantzig LCP' is a good solution, it has instabilities in certain cases. Featherstone is more promising for your application, in my opinion.

If you are interested, we can collaborate on Featherstone integration, so you can have early access. Just send a private message.

Thanks,
Erwin
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Post by Dirk Gregorius »

I think we had this discussion already and IIRC Featherstone doesn't help so much with physical based animation since it doesn't support motors. You need to implement the motor as unilateral constraints that then again are solved using an iterative approach. It is questionable if this gives you all the stiffness you need to drive the animation. Stiff LCP (sub) solvers are more promising in my opinion...


Good luck for your work,
-Dirk