It is the morning of June 29th 2013 and we are gathering for the annual UK micromouse contest. As in previous years, the contest takes place as part of the Techfest event held by Birmingham City University at Millenium Point.
Techfest is a wide ranging robotics event open to all. Here you can find line following contests, wall followers, drag racers, humanoid robots, sumo, ant weight robot wars and, of course micromouse. My focus, clearly, is micromouse and I get so focussed that I often miss much of the rest of the action. Each year, I tell myself that I will be more relaxed and look around more but I don’t suppose this year will be any different.
Decimus – my micromouse
Decimus 4B is my main hope in this event. Earlier in the year, I ran it at the APEC micromouse contest in Long Beach, California. That went better than I had hoped considering that all the low level code had been re-written in the five weeks prior to the event. For this contest, I have re-written almost all the higher level code. That is, all the searching, solving and path running code. It remains to be seen how effective that will be but the early signs are encouraging.
As I write this, the main micromouse maze is being set up for the morning heats and contestants are starting to arrive. We are spread out quite a bit this year. The micromouse contest is being held in the main auditorium as usual but the other events are in the large event suite on the floor above.
With two days practice on a large maze, I have eliminated the most obvious and worst of the bugs but here will be plenty remaining. If I have one key tip from recent contests, it is to not use the contest as a debugging event. Anyway, with a quick check that the sensor calibration was OK and the basic moves all worked, it was time for the heats.
The micromouse heats
This year’s heats maze turned out to be the same as that used at the APEC event in March. That is not an easy maze for any micromouse and results in a very long path to the centre. Still, it would be interesting to see if I could improve on my performance since then.
After a few incidents, I ended up fourth in the heads behind the two Chinese entries. These were very smooth mice with extremely good control. In particular, their basic steering algorithms allowed them to correct very reliably in the maze.
Predictably, the heat had revealed a few possible problems for me. My fastest run time was a bit worse than the best I had managed in APEC which was a little disappointing. Decimus 4B in APEC started off fairly slow and built up to a speed where the forward acceleration was about 8m/s/s. At the time, I felt the mouse had more to give and worked on making things better. After the practice sessions earlier this week, I had been confident that I could start the fast runs at the speed I left off in California and go faster after that. In several runs, it had been able to accelerate at up to 12m/s/s and perform turns with centripetal acceleration of at least 13m/s/s. This morning though, it was soon apparent that the maze, while looking like it had a better surface, actually turned out to give less grip. My strategy had to change.
I also discovered that my new, ‘improved’ turn method still had more than a few rough edges and not all te turns were correctly set up. Crashes seemed likely and so run speeds were reduced for safety. During the break before the finals I also discovered that I had made a mistake in the threshold values for the walls sensors. These were adjusted and I took the mouse off to the practice maze to check that I had it right. But the practice maze was gone! And I could not remember exactly what the previous values were. Time to keep calm and carry on.
The micromouse finals
The finals maze was significantly shorter with a number of alternative routes and two principal routes of the same length at 58 cells. With the possible exception of a tricky diagonal on the way into the center, it didn’t look too bad. There were fifteen mice in the final so the available time for each micromouse was cut down to 6 minutes to be sure that they could all get a go in the maze.
Being well placed in the heats, I had a long wait before I could run. Knowing there were untested changes in the mouse, I grew increasingly nervous as my turn approached.
Decimus4B performed a pretty well flawless search out to the goal and back to the start with the start being found in a very good time. Things were looking good and it set off on its first speed – albeit at a lower speed than i would have liked. And then it crashed. Well, that was my strategy for a winning score finished with so I recovered the mouse and brought it back to the start for another go. Now I had forgotten that I had told it to perform a second search after the first run if it was not sure it had the best time. More time was wasted while it did that and then finally performed a proper speed run. The time was pretty good but the mouse had been touched and it had done two searches so the overall score as not so good.
After one touch, the penalty is applied once to all subsequent runs so there was nothing to be lost by grabbing the mouse for a quick clean of the tyres between each run. Eventually I managed a fastest run of 6.99 seconds and just failed to finish one more faster run inside the new 6 minute time limit.
It seemed unlikely that I could win with the penalties accrued but I was reasonably happy with the fast run time. The only real issue was that I had only been able to get up to what was to have been my starting speed.
One of the Chinese mice retired and only two remained. They both performed really well and only attempted one speed run. The runs were enough to get them first and second place. These were really good mice. All the more so because they had not taken part in any open contest before. The fastest run time of all was 6.89 seconds and so I ended up second in that particular category.
Micromouse time trials
The final event of the day is the time trial. Here the mice simply have to get all the way around the outside of the maze as fast as possible. This seems easy enough but there a couple of things to worry about. I was particularly pleased with Decimus 4B as it managed a best circuit time of just 5.04 seconds. That is an average speed of 2.28m/s or so and rather better than I had hoped. Before the event, I would have been happy with anything less than 6 seconds. I had set things up so that the mouse would do four complete laps, increasing the acceleration on each lap. Interestingly, each lap took a little longer. This was no accident. When I repeated the entire sequence, I got exactly the same results. I am pretty sure of the reason but I will leave you to figure it out for yourself. My new target for this event is 4.5 seconds
So ended another great contest. Decimus 4B didn’t win the contest overall but I am greatly encouraged by its performance and I have some clear and relatively simple improvements still to make. It is certainly fast enough to do well in any contest and I think it can go faster still. This was only its second outing and I hope to have it run in a couple more contests later in the year.
Thanks again to Tony and Chris and all the rest of the team at Birmingham City University.
As soon as I get the full result, I will put them up here.