rec.autos.simulators

Car physics: anti-pitch problem

Ruud van Ga

Car physics: anti-pitch problem

by Ruud van Ga » Sat, 28 Sep 2002 18:12:40

Hi there,

I'm having trouble still with getting suspension anti-pitch fully
correct.
After lots of small drawings etc. I do believe I understand what's
going on, but the end result (weight transfer not being different when
anti-pitch is used) just doesn't match.

I'll post a calculation that was taken in the following test:
- a car weighing 7160N
- 50/50 weight balance
- 50% brake bias (just for debugging)
- the car is driving forward at about 20 km/h
- brakes are full on (locked wheels on all sides)
- wheelbase: 2.4m
- anti_pitch=100% for all suspensions (all 4 sides)

Time was stopped; telemetry indicating:
- acceleration = -0.896 g (braking)
- CG height = 0.388 (average of all 4 wheels)
- Theoretical wgt transfer: 1036N front, -1036N rear
- Actual wgt transfer: 437N front, -586N rear

Indicating problems also are:
- Actual weight of the car: 7000N (summed load)
- Actual weight transfer: 57% front;
   theoretical = 64% front.

Theoretic weight transfer is calculated using W=a_x/g*h/L, where
g=9.81, h=CG height, L=wheelbase.
Note the actual weight of the car (the summed loads on all tires)
changes throughout t he entire manouevre. Doesn't sound right, does
it?

Perhaps someone can spot the fault in the following program flow then:
- Fx on the front tires (braking longitudinal) = -1834N
- Fx on the rear tires = -1365N
- Since anti_pitch=100%, no pitching torques arise from the springs
(this is confirmed in the code; the springs all balance out to near-0
torque)
- All weight transfer is therefore led directly through the suspension
links
- With anti_pitch being 100%, the relationship between Fz and Fx is
Fz/Fx=h/L. (Gillespie, pg. 251)
   This results in: Fz=Fx*h/L = Fx*0.1617 = 1834*0.1617 = 296N for
each front tire, and Fz=220N for each rear tire.
- That gives the total wgt transfer as shown above: 2x296= -592N rear,
2x220= 440N front.
- That isn't the theoretical 1036N. What's missing?

Something which my eye spotted (thanks, eye): in Gillespie, pg. 252,
he continues with eq. 7-16 being: e/d=2*h/L. I can't quite follow
that; how would I then relate the jacking forces for just 1
suspension? Use e and d instead of h and L? (the instant center's
longitudinal and vertical distances from the contact patch center)

The extra 2 in the above might have something to do with it; after
all, take the current weight transfer; 592+440 = 1032N, which is very
close to that 1036N theoretical number.

Also, a thing I don't get is that since the braking forces on the
front (1834N) is dif ferent from the rear (1365N); this is ok in
itself, but it leads to different jacking forces (296 vs. 220N) as
well; how could this be, if the weight ADDED on the front should equal
the weight SUBTRACTED/LIFTED at the rear? (given that all weight
transfer goes through the links directly)

Thanks very much for any comments on my lacking knowledge,

Ruud van Gaal
Free car sim: http://www.racesimcentral.net/
Pencil art  : http://www.racesimcentral.net/

Jim Seamu

Car physics: anti-pitch problem

by Jim Seamu » Sat, 28 Sep 2002 20:30:48



You shouldn't have two different numbers here Ruud - if the braking is
steady state and you're on a flat track then the weight removed from the
rears must equal the weight added to the fronts.

Jonny Hodgso

Car physics: anti-pitch problem

by Jonny Hodgso » Sat, 28 Sep 2002 21:16:15


Without having access to a copy of Gillespie, but taking an
intuitive/pictorial approach: the line of action of the suspension
should pass through the CG, shouldn't it?  Which, for a 50/50
weight split, is located at 'h' up and '0.5L' back, giving h/(0.5L)
or 2h/L...

Jonny

Jim Seamu

Car physics: anti-pitch problem

by Jim Seamu » Sat, 28 Sep 2002 21:47:52



The balance of torques about the CG should read:
    SumForAllTyres(Fx.h) = SumForAllTyres(Fz.L)

You can't do what you've done, which is:
   TyreFrontRight(Fx.h) = TyreFrontRight(Fz.L)
   TyreFrontLeft(Fx.h) = TyreFrontRight(Fz.L)
   TyreRearRight(Fx.h) = TyreFrontRight(Fz.L)
   TyreRearLeft(Fx.h) = TyreFrontRight(Fz.L)
This is what's causing you to have different weight transfer values at front
and rear.

It's incorrect to assume that L is the wheelbase when you're calculating per
tyre, what we need is distance from contact patch to CG, which in this case
(50/50 weight distribution) happens to be L/2. This is why you're getting
roughly half the weight transfer that you should be getting.

You've also got a minor error creeping in because a car with mass (7160 N/g)
braking at 0.896g has a total Fx of 6415.3 N, whereas your Fx values (1834
front, 1365 rear) sum up to only 6398 N. This is why you're getting
"roughly" half, instead of exactly half.

:0)

Ruud van Ga

Car physics: anti-pitch problem

by Ruud van Ga » Mon, 30 Sep 2002 00:46:42

On Fri, 27 Sep 2002 13:47:52 +0100, "Jim Seamus"




>> - With anti_pitch being 100%, the relationship between Fz and Fx is
>> Fz/Fx=h/L. (Gillespie, pg. 251)

Ok thanks Jim & Jonny.
I'm using 2*h/L now, and this gives more weight transfer.

I still get different weight transfer at front and rear. Read on.

You mean:
   TyreRearRight(Fx.h) = TyreRearRight(Fz.L)
   TyreRearLeft(Fx.h) = TyreRearRight(Fz.L)
do you?

Sorry, but I don't yet understand what you mean with the above 4
formulae. I calculate jacking forces per wheel; that should be
possible, right?

Let me take an extreme example: a car like in the original example
(50% weight balance etc), anti_pitch=100% on all suspensions.
Now, suppose only the front brakes full (front wheels lock); the rear
doesn't apply any braking (100% front brake bias).
Fz,front=-1800N, jacking forces are say 1034N. How does the weight get
transferred to the rear? Is it just because the vertical jacking force
(1034N) pushes the car up by 1034N and the rear then sees a car that's
1034N lighter?

Currently, the Fz forces are close, weight transfer is close, but I
still have the odd Fz,front=958N (or something) and Fz,rear=-1100N.
Something fundamental is still wrong, but I feel I'm closing in. ;-)

Maybe yes. :) There's still a lot going on, so small errors in roll
can also do a bit of harm. I had about 3Nm of pitch torque
nevertheless in that example. But some rummaging variables cannot be
ruled out anymore; it's gotten too complex. :)

Ruud van Gaal
Free car sim: http://www.racer.nl/
Pencil art  : http://www.marketgraph.nl/gallery/

Matthew V. Jessic

Car physics: anti-pitch problem

by Matthew V. Jessic » Mon, 30 Sep 2002 12:20:16


> Hi there,

> I'm having trouble still with getting suspension anti-pitch fully
> correct.
> After lots of small drawings etc. I do believe I understand what's
> going on, but the end result (weight transfer not being different when
> anti-pitch is used) just doesn't match.

Anti-dive shouldn't affect the steady state weight transfer
in braking. A free body diagram of the whole car shows this.
(It is analogous to why anti-roll bars don't effect steady state
lateral weight transfer amounts.)

What it does is reduce the pitch angle at the same
g level, again analogous to the workings of anti-roll bars
for roll in lateral acceleration.

Anti-dive can affect the the weight transfer transient
because what it does is transfer more or less of the
weight through the non-spring parts of the suspension
system. More anti-dive will transfer weight faster
because you are transfering more of the weight through
various metal structural elements.
This is pretty much instantaneous while weight taken up by
the springs takes longer to happen because the sprung mass
has to have time to physically move relative to the wheels
in order to compress the springs.

The timing issue here can be important in some cases because
more "anti" (-dive or squat) makes the car essentially stiffer,
so the effective frequency increases.

- Matt

Jim Seamu

Car physics: anti-pitch problem

by Jim Seamu » Tue, 01 Oct 2002 13:55:29

Oops I forgot to correct the copy/paste, what I meant was.......

"You *can't* do what you've done, which is:
   TyreFrontRight(Fx.h) = TyreFrontRight(Fz.L)
   TyreFrontLeft(Fx.h) = TyreFrontLeft(Fz.L)
   TyreRearRight(Fx.h) = TyreRearRight(Fz.L)
   TyreRearLeft(Fx.h) = TyreRearLeft(Fz.L)"

i.e. don't take the wheels individually, instead, it's the sum of the
torques that needs to balance out. Then even a 100% front brake bias will be
able to alter the vertical road reaction force at both front and rear of the
car.

The 2*h/L thing is good only as long as the car uses 50% front weight....
what you need is "TyreFrontRight(Fz.[susp.z-cg.z])" - i.e. the distance from
the CG to the contact patch as measured in the car's Z (longitudinal)
direction.

Cheers
Jim


rec.autos.simulators is a usenet newsgroup formed in December, 1993. As this group was always unmoderated there may be some spam or off topic articles included. Some links do point back to racesimcentral.net as we could not validate the original address. Please report any pages that you believe warrant deletion from this archive (include the link in your email). RaceSimCentral.net is in no way responsible and does not endorse any of the content herein.