Skip to main content

Rejoicing

So, I've been bashing my head against a wall for the last couple of days trying to get this simulation working. For my Engineering Fundamentals course, I'm part of a team that has to design and simulate an entry to the SAE Supermileage Competition. We don't actually have to build it, and development/build costs are above the scope of the project. However, the code to simulate the performance of the vehicle is due tomorrow, and I was having a devil of a time getting it to do what I wanted to. There were two, vaguely-related issues at hand:

  1. The vehicle refused to go slower than about 175m/s. Now, this is a ~75kg vehicle being driven by a stock 3.5hp engine...aside from the fact that that just isn't physically possible, if you looked up the rules on the link above, you'll have seen that the maximum allowed average lap speed is 11.176m/s...less than a tenth the value the simulator was giving.

  2. The data being charted out by the simulator looked, as an astute onlooker mentioned, "like a demented two-year-old hopped up on sugar, paste, and napalm drew it in a fit of rage with crayons". It was, to say the least, a most--shall we say?--interesting thing to see...

As the old programmer's saying goes:

The code is doing exactly what we told it to do;
now we have to trick it into doing what we want it to do.

Sometime mid-day on Monday, I had an epiphany of sorts regarding the first issue, and the vehicle began to behave quite nicely, producing a neat 3600mpg mileage. However, it took until late today to have a breakthrough on the second issue, and suddenly the code was done!

I fiddled about a while longer, putting together a real nice interface for it, to gather the initial vehicle data from the user or a file, and to determine which of eleven different plots the user wanted for that particular run. I wrapped it all up, cleaned and documented, and sent it off to my team and the professor, almost a full day early.

Spent the last half-hour generating PDF documents from the code and data files, as my printer apparently has decided it is going to be antisocial and not talk to either of my computers. le sigh Oh, well. This is why I pay the lab fees, eh?

So, I've been doing a little happy dance here, because it was an especially satisfying project completion. I could, I guess, add the "enhanced" features to it, that are due next week some time, but I'm not going to for three reasons:

  1. I don't feel like it.

  2. It'd be showing off, as I know for certain that our simulation is thus far both the most complete and the most functional (yes, those are two different criteria, just look at a Windows OS for an example of a complete, non-functional program, and OO.o for a functional, incomplete program) in the class.

  3. It'd be breaking a basic tenet of coding, that one writes the code as close to the deadline as possible to give the impression that the code is a difficult challenge that not just anyone could do (in other words, protecting job security).

In other news, I have, finally, gotten an email address for Brittany Li. ::big grin, too large for an emoticon to contain::

[2022 edit] hi, it is me from the future. This was a really...weird...time in my life and I was super creepy around Brittany and...yeah. I was dumb and horny and should have known better.[/edit]