Grand Prix Racing   The Science of Fast Pinewood Cars 
Given a frictionless scenario of a track and car, the only really controllable variable in the race time is the center of mass location. Let N+B = 6.4 inches so that the valid values of CMx and CMh have their largest posible range. Also let *, the body tilt angle be zero for convenience. Now we can optimize the following set of equations in CMx and CMh:
Parts of the trajectory length,
L1 = Lr+N+BCMx + (Rr+CMh)tan(O/2)
L2 = LfNB+CMx + (Rr+CMh)tan(O/2)
The initial speed on the flat,
v0 = \[2L1gsinO]
Total race time,
t = (2L1 + L2)/v0
We now find at what value (or values if any) of CMh make the change in race time with respect to a change in the height of the center of mass equal zero: dt/dCMh = 0. First, evaluate dt/dCMh using the frictionless model equations above.
dt/dCMh = (2dL1/dCMh + dL2/CMh)/v0 + (2L1 + L2)d(1/v0)/dCMh
Start with the second inner derivative, most complicated one, since it will resolve in dL1/dCMh.
d(1/v0)/dCMh = (dv0/dCMh)/v02
Evaluate the inner derivative and plug the result back in the next step.
dv0/dCMh = d\[2L1gsinO]/dCMh = (dL1/dCMh)gsinO/\[2L1gsinO]
Note, \[2L1gsinO] is just v0, so
d(1/v0)/dCMh = (dv0/dCMh)/v02 = (dL1/dCMh)gsinO/v03
Evaluate the inner derivative and plug the results back in the next step.
dL1/dCMh = d(Lr+N+BCMx + (Rr+CMh)tan(O/2))/dCMh = tan(O/2)
So (2L1 + L2)d(1/v0)/dCMh = gsinOtan(O/2)(2L1 + L2)/v03
Begin evaluating the first inner derivative of dt/dCMh.
dL2/dCMh = d(LfNB+CMx + (Rr+CMh)tan(O/2))/dCMh = tan(O/2)
So (2dL1/dCMh + dL2/CMh)/v0 = 3tan(O/2)/v0
Then, finally, putting the two back together,
dt/dCMh = 3tan(O/2)/v0 + gsinOtan(O/2)(2L1 + L2)/v03
Simplify, by gathering terms in tan(O/2),
dt/dCMh = tan(O/2)(3v02 + gsinO(2L1 + L2))/v03
Expand v02 and simplify to get:
dt/dCMh = gsinOtan(O/2)(6L1 + 2L1 + L2)/v03
and then
dt/dCMh = gsinOtan(O/2)(L24L1)/v03

Solving for CMh when dt/dCMh <= 0, either L24L1 <= 0 or v03 = infinite. Only the first possibility makes sense.
0 >= L24L1 = LfNB+CMx + (Rr+CMh)tan(O/2)  4[Lr+N+BCMx + (Rr+CMh)tan(O/2)]
Simplify, to get the inequality
0 >= Lf  4Lr 5(N+BCMx)  3(Rr+CMh)tan(O/2)
Isolate CMh on the left (dividing by tan(O/2) makes the inequality switch):
CMh <= [Lf  4Lr 5(N+BCMx)  3Rrtan(O/2)]/3tan(O/2)
Again, tan(O/2) is negative, so for CMh to be positive, Lf  4Lr 5(N+BCMx)  3Rrtan(O/2) < 0.
So, 4Lr + 5(N+BCMx) > Lf  3Rrtan(O/2)
This gives us a condition on CMx!
CMx < N+B[Lf  4Lr  3Rrtan(O/2)]/5 which looks like it would be quite large!
Undaunted, we now find at what value(or values if any) of CMx make dt/dCMx = 0.
dt/dCMx = (2dL1/dCMx + dL2/CMx)/v0 + (2L1 + L2)d(1/v0)/dCMx
Start with the second inner derivative, the most complicated one, since it will resolve in dL1/dCMx.
d(1/v0)/dCMx = (dv0/dCMx)/v02
Evaluate the inner derivative and plug the result back in the next step.
dv0/dCMx = d\[2L1gsinO]/dCMx = (dL1/dCMx)gsinO/\[2L1gsinO]
Note, \[2L1gsinO] is just v0, so
so d(1/v0)/dCMx = (dv0/dCMx)/v02 = (dL1/dCMx)gsinO/v03
Evaluate the inner derivative and plug the results back in the next step.
dL1/dCMx = d(Lr+N+BCMx + (Rr+CMh)tan(O/2))/dCMx = 1
So, (2L1 + L2)d(1/v0)/dCMx = (2L1 + L2)gsinO/v03
Begin evaluating the first inner derivative of dt/dCMx.
dL2/dCMx = d(LfNB+CMx + (Rr+CMh)tan(O/2))/dCMx = 1
So (2dL1/dCMx + dL2/CMx)/v0 = 1/v0
Then, finally, putting the two back together,
dt/dCMx = 1/v0  (2L1 + L2)gsinO/v03
Simplify, by gathering terms in 1/v03,
dt/dCMx = ( v02  (2L1 + L2)gsinO)/v03
Expand v02 and simplify to get:
dt/dCMx = gsinOL2/v03

Using the above model equations for no drag and a car with its center of mass on the track, CMh = Rr, compute dt/dCMh then apply a change of dCMh = 1.59 inches to compare times.
dt/dCMh = gsinOtan(O/2)(L24L1)/v03
dt/dCMh = 386.088*0.3612680095803*0.1869470163908(242.84*116.9)/(180.3525022587)3
dt/dCMh = 386.088*0.3612680095803*0.1869470163908*224.8/5866330.362582
dt/dCMh = 0.0009992269492016 s/in
dt = (dt/dCMh)dCMh = 0.0009992269492016*1.59 = 0.00158877084891
This represents about a third of an inch advantage at the finsh line.
t = 2.6408708925780.00158877084891 = 2.63928212173 s
Comparing with the actual race time computed from the model equations above with CMh = 1.59 gives us a sense of accuracy:
2.639275829493  2.63928212173 = 0.000006292237 s! A very small error.
Using the above limits for better times by positioning CM, find the best CM location for the no friction scenario from the condition for CMx and CMh.
CMx < N+B[Lf  4Lr  3Rrtan(O/2)]/5
Plug in the parameters and evaluate
CMx < 6.4(249.5  4*110.5 + 3*0.59*0.1869470163908)/5
CMx < 6.4+192.169103781/5
CMx < 44.83 inches  no problem!
CMx will always be under this limit.
Now evaluate the limit on CMh,
CMh <= [Lf  4Lr 5(N+BCMx)  3Rrtan(O/2)]/3tan(O/2)
CMh <= [249.5  4*110.5 5*(6.4CMx) + 3*0.59*0.1869470163908]/(3*0.1869470163908)
CMh <= [192.5 5*(6.4CMx) + 0.3308962190103]/0.56084104917
At this point, pick a value for CMx. Let CMx = 0. Continue evaluating.
CMh <= (0.3308962190103  192.5  5*6.4)/0.56084104917
CMh <= 224.169103781/0.56084104917
CMh <= 399.7016696848
That is easily satisfied, pick the other extreme value for CMx. Let CMx = 6.4. Continue evaluating.
CMh <= (0.3308962190103  192.5)/0.56084104917
CMh <= 192.169103781/0.56084104917
CMh <= 342.6445051863

What is a more realistic limit value for CMh? The real limit on the height is determined by either the ramp angle or your local rules.
If the ramp was flat at zero angle, the center of mass could be as high as you please. But as the ramp angle increases, the center of mass will eventually hang over the front axle. Then flop, the car will topple forward over it's front bumper.
Given a ramp angle, O, how high can the center of mass be before toppling the car? The same geometry used to determine the distribution of weight to the axles gives the result:

For O = 21 deg. and BCMx = 5.9, the result is 15.3 inches. Pretty tall!
Likely your local rules allow a maximum height of only three inches.
[Pit Area]  [Title Page] 
Grand Prix Racing   The Science of Fast Pinewood Cars 
Copyright © 1997, 2004 by Michael Lastufka, All rights reserved worldwide. 