Sunday, November 18, 2007

Micromouse

I used to take part in inter-school micromouse competitions (organised by Ngee Ann Polytechnic) when I was still schooling.

What is micromouse? It is a small little robot that moves on wheels and uses sensors to "see" around itself. The competition is actually to see how fast a micromouse can get from one corner of a maze to the centre of the maze. This it does by using its sensors to draw a map of the maze as it moves around, and then deciding how best to move within the maze to get to the centre, based on the algorithm programmed into it.


The first few years were done using a custom program from Ngee Ann Polytechnic. Basically, you don't really control the mouse much, except for defining the maze solving algorithm and parameters for movement. Subsequently, you get to control the micromouse using C, with a specially designed IDE that incorporates the required libraries to control the motor and sensors. This was when I started learning C programming. Before that, I was dabbling in BASIC, though I had tried to pick up C, but with little success.

I don't have those programs with me anymore, it has been more than 10 years since I took part in micromouse competitions. But the memories of staying back to work on the mouse, of time spent running it through the maze time and time again, of fine-tuning the movement parameters, and debugging the program, these remain to this day.

Micromouse Information Centre
Mobots
Ng Beng Kiat's Micromouse page
A micromouse maze solving algorithm

No comments: