[ODE] Springs & Dampers

Nate Waddoups nathan at whatever.net
Wed Apr 24 13:56:01 2002


On Wed, 24 Apr 2002, Michael Sebastian Sbrissa Bortolin wrote:

> Frank, i'm trying to implement a double wishbone suspension [...]

Coincidentally, I made a double-wishbone chassis last night.  For the
spring & damper system I used something analogous to a torsion spring
sytem - a motor on one of the wishbone hinge joints.  I don't (yet) have
the ability to create wheels in my application (all bodies are boxes), so
I couldn't drive it around, but the chassis behaved pretty reasonably in
response to me manipulating the outsides of the wishbones and stuff like
that.

See http://www.packetgnomes.com/~nathan/video/Juice/juice_simplechassis.mpg

The motor-as-spring functionality works kinda like this:
double desired_velocity = (desired_position - current_position) * gain;

And then I use a low gain value and a relatively small maximum-force value
 - small as compared to what I would use for a hip or knee joint in a
walking structure, anyhow.

The effective spring rate won't vary with deflection in quite the same way
that a true linear compresion spring would, but it looks promising anyhow.  
I'm sure you could get the same effect with more realism (but more
computation) using a motor on a slider joint, but it would require hinge
(or ball) joints at each end of the slider, with intermediate bodies.

"Wheels and ball joints" just moved up my to-do list several notches. :-)
Perhaps by the end of the week my app will be able to make things that can
drive around.  I have to fix some cut/copy/paste stuff first though.

-- 

Nate Waddoups
Redmond WA USA
http://www.natew.com