[ODE] Jitters

Geoff Carlton gcarlton at iinet.net.au
Tue Nov 9 09:15:08 MST 2004


Its odd that the compiler didn't catch it, since ode returns const 
dReal* which is being cast to dReal*.

Jon Watte wrote:

>Ouch! The problem is that dBodyGetXxxx returns pointers 
>into the actual data used by ODE. You're slamming the actual 
>velocity values kept in the bodies when you do the *= !
>Just stepping into this with the debugger would probably have 
>shown you this, assuming you're building ODE from source 
>(which you should be doing).
>
>Instead, you can change your code to:
>
>  dBodyAddForce( body, v[0]*-0.01, v[1]*-0.01, v[2]*-0.01 );
>
>Same for torque.
>
>Cheers,
>
>			/ h+
>
>-----Original Message-----
>From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of Tim
>Rightnour
>Sent: Monday, November 08, 2004 10:06 AM
>To: ODE
>Subject: RE: [ODE] Jitters
>
>
>
>On 08-Nov-2004 Jon Watte wrote:
>  
>
>>>>Basically the *= -0.01 on each of the
>>>>        
>>>>
>>>shouldnt that be -= 0.01 ???
>>>      
>>>
>>You could also get current velocity/avelocity and apply a torque 
>>or force that's that *= -0.01. I find this preferrable to slamming 
>>the velocities directly.
>>    
>>
>
>There seems to be a bit of confusion here as to what I was doing, so I'll post
>the code I used:
>
>void apply_damping(dBodyID body) {
>    dReal *v = dBodyGetLinearVel(body);
>    dReal *x = dBodyGetAngularVel(body);
>
>    v[0] *= -0.01f;
>    v[1] *= -0.01f;
>    v[2] *= -0.01f;
>    dBodyAddForce(body, v[0], v[1], v[2]);
>    x[0] *= -0.01f;
>    x[1] *= -0.01f;
>    x[2] *= -0.01f;
>    dBodyAddTorque(body, x[0], x[1], x[2]);
>}
>
>I tried applying this to all bodies prior to calling dWorldStep for each cycle
>of the loop.  I also tried applying it after dWorldStep instead, with the same
>results.  Or was I supposed to do this in my nearCallBack?
>
>---
>Tim Rightnour <root at garbled.net>
>NetBSD: Free multi-architecture OS http://www.netbsd.org/
>NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi
>_______________________________________________
>ODE mailing list
>ODE at q12.org
>http://q12.org/mailman/listinfo/ode
>
>
>_______________________________________________
>ODE mailing list
>ODE at q12.org
>http://q12.org/mailman/listinfo/ode
>
>
>  
>



More information about the ODE mailing list