[ODE] Bug in joint.cpp ?

andy@uniway.be andy at uniway.be
Tue Jun 27 00:34:39 MST 2006

Hi all,

I'm using gazebo(http://playerstage.sourceforge.net/gazebo/gazebo.html), which uses ode, and I encountered a problem, exactly as described next to dParamFudgeFactor on http://ode.org/ode-latest-userguide.html#sec_7_5_1

The only difference was, that when instead of moving away, I wanted to keep the position (dParamVel = 0).

After some debugging, I came across this line of code (line 541 in joint.cpp)
if ((limit==1 && vel > 0) || (limit==2 && vel < 0)) fm *= fudge_factor;

my first thought is that the fudge-factor also should be applied in my case (speed==0 in a joint-limit), so is it possible that this line should be like? (or am I violating the physics?)
if ((limit==1 && vel >= 0) || (limit==2 && vel <= 0)) fm *= fudge_factor;

If this is a bug, who and how should this be added/patched in the SVN?

looking forward to some response,

More information about the ODE mailing list