Wednesday, December 15, 2010

Speed and accuracy improvements

First off, let me tell ya... you can make just about anything into a delicious Mexican-tasting dish with liberal application of ranchera sauce. Seriously, this stuff is good. Threw some remnants of rotini, farfalle, and chicken together with some shredded rice and half a bottle of sauce. Tasty as all get out. My all time favorite dish with this type of sauce is of course 'arroz con pollo' - particularly of the style available at Tequila's. If you're passing through any of those locations in Colorado I suggest you stop in and get it. You can tell them Jersey Tom sent you if you'd like, but they'll probably reply with, "¿Que? ¿Quien es este pendejo?"

Anyway, just as I was getting to the point of saying, "Well shit... anything more to this sim thing is going to be a real pain in the ass," I had a couple pretty good ideas to improve the realism and accuracy as well as solution speed.

1. Replace integration scheme.
I considered explaining the concept of numerical integration here, but instead I'm gonna direct you to Wikipedia if you're a non-engineer and really that interested about it. As I was mentioning in the earlier post on the topic, for the moment I'm using a dumb rectangular-method integration method. Generally the least accurate of any method I know, unless you're using a random number generator. Think I'll upgrade to the trapezoidal method for now, which is plenty sufficient given that the accuracy limitation will now lay in the engine torque function which is doing linear interpolation anyway.

Another viable option is to replaced the fixed time step method with a variable step method... but I'm not too excited about that at the moment.

2. New way to solve straightaways.
Currently my sim finds the braking point on a straight by stepping the initial application point backward 1 foot at a time, starting at 0. If you have a long braking zone, that takes a long damn time. At first I had been thinking of implementing an adaptive algorithm that increments the braking length in large steps if it's way too fast for the following corner. Better method is to do a single forward integration of acceleration from Turn X, and a single "backward" integration of braking starting from Turn X+1. The brake application point is their intersection. Bam! This alone should make the damn thing run literally 100x faster.

3. Add trail-braking and throttle modulation into and out of the corners
Whoa, now. Think I'm going to have to make a separate entry about this, because it's serious stuff. So serious that it precludes the inclusion of Mexican sauces.

No comments: