[ODE] SPRING

LR logreg at free.fr
Mon Mar 20 02:49:43 MST 2006


thank you Simon.
In fact, when the spring constant is so low, the joint 'crashes'. it was my problem : i used K = 5 or 10 for a body of 5Kg Mass. Using a higher K and the documentation formula it work fine.
 
Laurent.

  _____  

De : ode-bounces at q12.org [mailto:ode-bounces at q12.org] De la part de Simon Šander
Envoyé : lundi 20 mars 2006 07:34
À : ode at q12.org
Objet : Re: [ODE] SPRING


I use this function to calculate ERP and CFM.
 
public static void Calc(float springConstant, float dampingCofficient, float sprungMass, out float erp, out float cfm)
{
            float r = 2.0f * dampingCofficient * (float)Math.Sqrt(sprungMass * springConstant);
            float hk = Scene.OdeTimeStep * springConstant;
 
            erp = hk / (hk + r);
            cfm = 1.0f / (hk + r);
}

Simon

 
  _____  

From: ode-bounces at q12.org [mailto:ode-bounces at q12.org] On Behalf Of hamstah
Sent: Friday, March 17, 2006 2:17 PM
To: LR
Cc: ode at q12.org
Subject: Re: [ODE] SPRING


LR wrote: 

Hi,
 
I'm trying to use suspension in a hinge2 from spring constants that configure ERP and CFM. I'm using the documentation formula:
 

ERP = h kp / (h kp + kd)
CFM = 1 / (h kp + kd)
 
and my bodys jump .....
 
if i modify with :

 
ERP = h kp / (h  (  kp + kd  )  )
 
it feel really better. Is it a documentation error ? or does i have another problem ?
 
if i do the same modification with CFM =  1 / (h ( kp + kd ) ) my bodys jumps again ...
 
 
Laurent


Hi, If i look at your formula:

ERP = h kp / (h  (  kp + kd  )  )
I can say that its equal to ERP = kp / (  kp + kd  )


and this equation doesnt take 'h' as parameter...
So I think your equation isnt correct.
Now I dont have the time to look on it, but perhaps somebody can help you with it...
see you


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://q12.org/pipermail/ode/attachments/20060320/5e54d34d/attachment-0001.htm


More information about the ODE mailing list