My micromouse generates a lot of data. I log speeds, sensor readings, motor controller parameters. All sorts of things. Often that data just makes me worry. Most recently, I was noticing that there were some large variances at speed.
Micromouse is a race – among other things. If you cannot go fast, you are less likely to do well. I had noticed that the controllers were working hard at higher speeds, the mouse was less reliable than I liked and corners were less predictable. I looked hard at the controller code and could find nothing fundamentally wrong. I asked other builders for their opinions and a common theme came back in the answers. It was obvious in retrospect. At speed any mechanical defects are likely to have a greater effect.
Remember that this mouse had its wheels re-built in a hotel room in Fort Worth, out of parts McGiver would have been unhappy with, so I am no longer expecting great performance. There is nothing the competitor can do about the surface of the contest maze. If it is bumpy, it is bumpy and that is an end to it. Everyone gets to run the same maze. What I needed was a way to find out how much mechanical defects in the mouse would affect its performance.
I know the bearings are not really good enough. I am reasonably happy with the stiffness of the chassis. Something I had never checked was the roundness of the wheels. My wheels are 3D printed and measure up pretty good but I never took the trouble to true them up properly on the lathe. They are nor permanently mounted and I tried to think of ways to reliably measure them. The trick is that everything performs just fine at low speed and I cannot measure them while they thunder round at 3000RPM or so.
Micromouse Tyres Tested
It took several days before the obvious solution occurred to me. Isn’t that often the way? What I can do is to make sure they are definitely not round and see how that affects the performance. Since my tyres are not glued to the rims, it is easy enough to fix a couple of layers of paper between the tyre and rim. I used 10mm squares of post-it note. These are self-adhesive so they won’t come flying out and each sheet is 0.1mm thick so I can get a reliable and repeatable experiment. I placed two such squares under each of the tyres on just on side to give a 0.2mm lump. The lumps were arranged to hit the ground together.
First, let’s see what the mouse data looks like with the tyres as they normally run. Data is recorded from the encoders giving mouse speed in mm/s and from the gyro giving angular velocity in deg/s.
Clearly, speed and acceleration affect the mouse. As the speed gets higher, the mouse is less able to grip the ground and you can see the measured speed jumping around as, presumably, the tyres slip and grip the ground. The wheels on each side behave slightly differently and are unlikely to be properly balanced. Uneven motion of the wheels causes small, high-frequency rotations of the mouse. These get worse as speed and acceleration increase. Below about 1m/s, the mouse is remarkably stable and well-behaved. If I could get it to run that well at 3m/s, I would be very happy.
Then, the wheels get padded to make them out of round by 0.2mm. This was done pretty well at random, on one side only. The placement of the pads could have reinforced or cancelled out any existing defects. It is pretty clear from the results that the defects were not cancelled out though. Conditions for the test were otherwise exactly as before.
The pads made a huge difference. Everything about the mouse behaviour while under load got worse. Dramatically so at higher speed and acceleration. Interestingly, constant speed motion was still pretty good and the final position error was very small in all cases. It should not be surprising though to find that the grip of the tyre changes as it rotates. Remember that the pads were on one side only so this is a worst-case error.
What is to be learned? Principally, it is that there is no substitute for good micromouse tyres with a perfectly round section and that my existing tyres are less than perfect. Since the errors occur at the extremes of power (speed*acceleration) output, it might be a good idea to use a variable acceleration profile to help deal with high power manoeuvres. Finally, it would be really good to have a decent suspension system to help keep the tyres properly planted on the ground. I can think of ways to make that happen but not ways to build it.
Perhaps I should try harder to measure the existing wheels.