[ODE] Newbie help.

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Dec 18 21:48:36 MST 2006


Those are called "kinematic objects."

There are two ways:

1) Create Geoms, but not bodys, for your kinematic objects. Move the 
geoms to where the kinematics are. Everything else will move out of the 
way because of collision resolution -- but they move with significant 
force! You might want to set the ERP fairly low, and the max escape 
velocity fairly low, for contact joints with your kinematics.

2) Create a body and a geom for each kinematic. Make it pretty heavy 
(say, 100 kg, when your typical thing is 1 kg). Each step, apply a force 
that will make the in-simulation body match the position that your 
kinematic body will have NEXT frame (forward extrapolated from 
position/velocity the current frame). I e, calculate ((K-body + 
K-velocity * Timestep) - (ODE-body + ODE-velocity * Timestep)), multiply 
by mass, divide by time step, apply as a force. Do the same thing with 
orientation/torque.
What this will do is make the heavy, kinematic object follow the real 
object as much as it can, but if the kinematic object does something 
"impossible" (like run through a wall), the physics simulation will not 
explode trying to resolve that. On the other hand, the simulation will 
diverge when such an event happens.

Cheers,

          / h+


Terry Farnham wrote:
>
> I am very new to using ODE so please bear my ignorance.
>
> I have a system where some objects are controlled by ode and some are 
> not.  However, I want to have the objects that are not controlled by 
> ode collide and influence the objects that are controlled by ode.  
> These objects need to be always seen as being active as they are being 
> moved by another system.  I'm sure there is a mechanism in ode for 
> doing this, but have not stumbled across it.  Could someone clarify 
> how I might do this?
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>   


More information about the ODE mailing list