[ODE] Look at my Humanoid Example

Gene Ruebsamen gene at erachampion.com
Wed Feb 13 20:02:01 2002


Hello Everybody,

I've created a humanoid figure in ODE. I used ball & socket joints for
the arm and leg sockets, and hinges for the elbows, knees, and ankles.

You can view a demo at: www.realtyroad.com/gene/

My problem is... stability.  I am using ODE 0.3 and am having a horrible
time with stability. I am dropping my humanoid from an altitude onto a
staircase.  Depending upon the initial starting conditions (altitude,
gravity, etc), either he will tumble down the staircase (as expected) or
he will start to gyrate and oscillate (usually in the legs) and even
explode.  The instability usually occurs when a joint hits its stop (as
far as I can tell). 

At one time, I had the simulation fairly stable, using a global ERP of
0.1 and a global CFM of 0.01; however, looking through the docs, I think
Russ recommended an ERP of between 0.2 and 0.9.  So I decided to set the
ERP and CFM in each joint individually. I currently have it set at 0.5
and 0.01 respectively.  Can I only achieve stability with such a low ERP
of 0.1?  And if so, won't that introduce alot of joint error?

Another question I have is with regards to motors.  When a powered joint
reaches it's stop, must I shut off the motor (ie, set FMax to 0)?  Or is
there a way to have the stop override the motor?  Right now, I have all
my joints Fmax at 0; however, at one time I was running with FMax at
0.01 and velocity at 0 to simulate friction.
 
The source is posted on the page above, in case anyone is curious, and
wants to critique it for me... =) and hopefully help me solve the
instability problems.

Thanks!!

Gene Ruebsamen