> Dont forget AWD !
I've been reading most of the physics post in the RAS but there's a
lot to go through & most of it's above me.. so please be nice...
To Seb, no, I'm not using the Pacekja formula YET.. (I'm not after too
much realism)
Oh by the way it's a no wheel drive car!, it should be a rear wheel
drive but
I'm only using weight transfer from longitudinal (hate that word)
acceleration.(See below)
I'm not modeling any longitudinal slip at all.
I'm only calculating using Front/Back wheel pairs (not individual) &
assuming CG is in the middle of the car...
Here's basically what I'm doing to calc my forces....
1) Get sideslip of the car...
sideslip = ATAN(velocity.lat / velocity.long); //(in radians)
2) Get the rotation angle of the car from Angular Velocity...
(ang_vel * Dist_CG_2_FrontAxle)
rot_angle = ATAN(Angular_velocity * Dist_CG_2_Frnt /velocity.long);
//(in rads)
3) Get front & rear slip angles...//(in radians)
SlipAngle_Front = sideslip + rot_angle - steering_angle;
SlipAngle_Rear = sideslip - rot_angle;
4) Calc weight ...
Tot_Weight = mass * Gravity; // say 1500KG * 9.8m/s
Wfrnt = Tot_Weight * Dist_CG_2_Rear / Wheelbase
- (CG_Height / Wheelbase) * (mass * acceleration.long) ;
Wrear = Tot_Weight - Wfrnt;
5) Calc lateral forces front & rear... (slip angle in Radians)
Force_Lat_Frnt = SlipAngle_Front * CA_F; // CA_F is typically
-3.8
Force_Lat_Rear = SlipAngle_Rear * CA_R; // CA_R is typically
-4.2
6) Limit lateral forces... (Simple model)
if(Force_Lat_Frnt > MaxGrip) {Force_Lat_Frnt = MaxGrip;} //
MaxGrip = 1
if(Force_Lat_Frnt < -MaxGrip) {Force_Lat_Frnt = -MaxGrip;}
if(Force_Lat_Rear > MaxGrip) {Force_Lat_Rear = MaxGrip;}
if(Force_Lat_Rear < -MaxGrip) {Force_Lat_Rear = -MaxGrip;}
7) Do Lateral force...
Force_Lat = Force_Lat_Frnt + Force_Lat_Rear; // maybe (frnt+rear)/2
?
8) Calc Torque...
torque = Force_Lat_Frnt * Dist_CG_2_Frnt - Force_Lat_Rear *
Dist_CG_2_Rear;
9..10...11..12
20) Calc Angular Acceleration ..
angular_acceleration = torque / inertia; // I use mass for inertia
(1500kg)
21) Calc Angualr Velocity ...
angular_velocity = angular_acceleration * TimeBase;
22.... do everything else & start again...
I've got lots of other stuff happening, but simplified, it comes down
to what I've written above & it seems to have some basic flaw..( What
only 1? ;)
I appears to do everything else ok, powerslides & spins & such..
Eventually, (I hope), I might get into more complex physics but this
is good enough for what I'm doing so far so if anyone can shed some
light why it won't spin under acceleration (I don't sim wheel spin
yet) while gently turning full steering lock I'd be most grateful.