While at the Taiwan 2012 micromouse contest, my mouse showed an alarming tendency to pull to the right. Clearly something was wrong with the drive train.
No mouse will have identical left and right drive trains. Sure, you try and make them both as close as you can but there will be differences. On Decimus 2C, the right wheel seemed to have suddenly got a lot worse. Now neither wheel was particularly good and a bit of fettling got them behaving a lot better. Enough for the controller to compensate under modest conditions.
Now I am back home and up to doing a bit more mousework, I wanted to see how bad things were. While the controller can compensate quite a lot, the worry was that, at high speeds and/or high accelerations, there would not be enough headroom in the motor drives to allow enough adjustment.
The first test is to set the mouse up to drive at a modest 4.5m/s/s acceleration with top speed limited to 2.7m/s/s. Now, I say modest but those are about the kind of values that would win contests only a few years back. While the mouse is running, record the PWM sent by the control system to each of the wheels and plot it against mouse speed.
So – there is a clear difference between the wheels. There is a significantly larger load on the right wheel than on the left – 10% higher drive levels are needed. And that is after a fair bit of work to free it up. I rather wish I had done this test while it was giving trouble as I suspect that the right wheel was so stiff that the PWM level needed to drive it under these conditions would have been so large that steering was a problem as was turning at speed. That was certainly what I was seeing.
Of some concern is the way that the PWM shows much greater variation at speed. It is not clear to me why that might be. However, I was running on my kitchen floor so it may just be slippage.
You can see from the chart that, just to get an acceleration of 4.5m/s/s, the controller has to apply a feedforward PWM value of 300 (30%). I had been aiming for a maximum acceleration of 7m/s/s and a top speed of 3m/s so let’s see how that affects things. Here is the exact same test with those parameters.
There is no doubt that the mouse is going to find itself in trouble under these conditions. Before it reaches 2.5m/s/s, the drives have started to saturate. As soon as that happens, effective steering control will degrade and there is an increasing risk of slippage. The sudden decrease at the end of this chart is because the mouse reached the half way mark and started to decelerate. Note that I need about 50% PWM just to achieve the acceleration.
Calculations for the mouse tell me that it should be more than capable of performing under the higher accelerations. However, there is a much higher level of loss in the drive train than I had taken into account.
What does this mean for the running mouse? If steering is to be effective, top speed must be limited. Alternatively, accelerations must be lower. My calculations for maximum allowable wheel acceleration during a turn will have to be revised downwards.
I could rebuild the drive train to reduce losses but then I would need to re-calculate the controller constants and other mouse parameters. Overall, the only solution for this mouse seems to be to revise downwards the performance expectations. Probably, I had been wildly over optimistic about the possible performance and had not thought through all the stuff needed to achieve that performance.
Time to take things a little more steady and concentrate more on reliability rather than trying to go so fast my eyes bleed.