The Taiwan 2012 micromouse and intelligent robot contest is only five days away. I have spent a huge amount of time in the last few weeks trying to turn my latest code re-write into a working mouse. This could all have been a lot less stressful if I had done things differently.
Here is a key tip. Don’t build one micromouse – build several. The Decimus 2 platform has not changed much but one of the important alterations was to the sensor orientation. It needed doing badly but it meant that I could no longer simply go back to a previous version of the code and run that. Practically, that was a big mistake – huge in fact. Once committed, I had no choice but to go forwards and see through the changes I was making. If I had built up another chassis, I could have improved the already working code on the existing chassis while working on the new code on the revised chassis. The code changes were what meant the previous sensor orientation would not work. So, to get software improvements, I needed hardware changes. After that, the previous technique would not work for me.
As it became apparent that the ‘improvements’ were not going well, things got more and more difficult. With no fallback plan or older mouse to run in contest, everything depended on being able to make this one work. Furthermore, the time taken up with this was stopping me from doing any work on Decimus 4. There was a stage where I was all but convinced that I would not have a single micromouse to run in the contest. That stage was only the day before yesterday! The idea that I might have to turn up 8000 miles away with nothing to run was just horribly embarrassing and simply could not be allowed to happen.
While I can generally do without, and I would not recommend it as a way of life, it is true that sometimes good results come from working under pressure. By yesterday evening, several major problems resolved themselves and It looked like I had a working micromouse again.
This evening (pretty much the last chance I have to work on the mouse before leaving for Taiwan), all the turns got recalibrated, the steering was adjusted and the mouse got its first chance to run in the mini maze I have at home. All in all, I am pretty happy. It is capable of running fast enough to do a typical contest maze in under ten seconds which was my target for this mouse. Ideally, it needs another week’s work on fine tuning and there are some issues with the search. So long as it can successfully find the goal, it stands a reasonable chance of getting a good time. At least, I hope so.
So – what should I learn from this story?
- Start new development on new hardware.
- Don’t mess with a working mouse.
- Don’t give up.