Archived

This topic is now archived and is closed to further replies.

MrOffRoad

torque damping

Recommended Posts

I have a car modelled as a rigid body with 4 spring - damper pairs at each corner. I working on and off road vehicle simulation. I use the velocity of the centre of vehicle to find the drag(damping) for each spring - damper pair damping force = - constant * velocity the damper works great and I can critically damp the up and down motion of the vehicle ok. The problem is that since I am taking the velocity from the center of the body, rotational motion is not damped. So I get an oscillating orientation when I give the system a nudge. I do have the angular velocity of the body but I can''t figure out how to use it to get me a sensible damping force. I hope that makes sense Any thoughts or ideas welcomed

Share this post


Link to post
Share on other sites
I think I remember this correctly... someone correct me if not.

If a rigid body is rotating about an axis with angular velocity W, and a point's locaitno on the rigid body is given by a vector R from a point through which the axis passes, then the rotational velocity of the point is given by the cross product V = W x R

You can then project the new velocity vector onto the local "up" axis of the body to determine how much of the velocity is in the direction of the spring system, which I assume is aligned with the object's up axis. Add this velocity to that of the centre of mass of the body.

Edit: Drew a diagram, noticed an error, and fixed order of cross product.

[edited by - Geoff the Medio on July 28, 2003 3:18:24 PM]

Share this post


Link to post
Share on other sites
the velocity at any point P on the car would be

Vp = Vcar + (P - CGcar) x Wcar

CGcar is the centre of gravity of the car.

Vp is the velocity point at the top of the damper. The velocity at the bottom of the damper (point Q) would be the velocity along the damper length, plus an equation based on the velocity at point P, assuming the dampers are very rigid (they move only along the direction of the damper).

Vq_lateral = Vp - (Vp * DIR_damper) * DIR_damper

Dir_damper would probably be just the ''up'' direction of the car chassis, unless you want dampers to be slightly pushing forward or pushing on the sides.

Share this post


Link to post
Share on other sites
quote:
Original post by oliii
CGcar is the centre of gravity of the car.


It doesn''t have to be the mass centre of the car, as long as the point is on the axis of rotation. Granted, it''s practiacally always going to be the centre of mass...
quote:

Vp = Vcar + (P - CGcar) x Wcar


Are you using a left handed or right handed coordinate system? This seems to apply to left handed, whereas mine was for right. Probly should be right if OP is using OpenGL or right-handed matrices in DirectX, left if using left-handed matrices in DirectX, or whatever is appropriate if using some other rendering method or internal physics implimentation.

Or just pick one and add a - if it''s the wrong way.

Share this post


Link to post
Share on other sites
Thanks guys thats great.

I''ve just implemented it and it works well. My simulation is now starting to look good

I''m using direct x and the left had system so I used

V = R X W in the end (although I had to try it both ways )

thanks again

Share this post


Link to post
Share on other sites
yeah, I am not 100% sure, but I get my physics from that
page, and it works for me

http://www.cs.unc.edu/~ehmann/RigidTutorial/

Anyway, if it''s wrong, try the other way round

Share this post


Link to post
Share on other sites