Ah, yes, I think Martin has it with the well-timed infinitesimal pulses. The only way to improve upon it without cheating too blatantly would be to use the above method, but stop a few hundred Joules short of being able to crest the hill. Then have the driver get on the roof of the car, and run off the back of the car as fast as he can.
There are a few variations on this theme that involve the driver removing noncritical components (the interior, bodywork, exhaust, whatever) and vigorously ejecting them rearward while the car is at rest or traveling forward. But these are all examples of human power, and if that's allowed, then you may as well just push the car faster little by little, as you would push a child on a swingset.
While commuting today, I was thinking about what the data would look like in MATLAB. If you look at my TPS readings (or using fuel injector pulsewidth as a surrogate), you'd think I'm an indecisive driver. Maybe I am, but traffic can be unpredictable.
Do you automatically discard unusable data by running the observer only across timescales where the fuel injectors are active? Perhaps you could record the position of the neutral safety switch (or manually select timescales where you were coasting) to allow you to include data for neutral coasting. I'm sure engine efficiency is one of the most unpredictable parameters, so being able to set engine torque to zero some of the time would improve your ability to estimate all of the parameters, right?
Your project is as interesting to me for its ability to estimate CdA despite gravitational and rolling resistance effects, as for its ability to measure BSFC.
|