Decimus 4 is a four wheel micromouse in the same style as so many others that you see now. Until building it I thought I had a good idea what some of the problems might be. I was partly right…
Having watched many four wheel micromouse runs since Kato-san so impressed everyone in 2009, I was keen to give it a go myself. The two-wheel design is capable of great things but it soon reaches the limits of what might be possible. In particular, straight line acceleration is limited by the height of the centre of mass and the force exerted on the front and rear skids.
With a four wheel mouse, it should be possible to ensure that the centre of mass does not shift outside the contact patches even under heavy braking and acceleration. Of course, none of this is of any use if you do not have enough grip in the tyres but that is another story.
Four wheel micromouse forward profile
After setting up the controller, it was time to see how hard the four wheel micromouse design could accelerate.
This profile shows the mouse accelerating at 9m/s/s up to a top speed of 2m/s. Deceleration is limited to 7m/s/s. The total distance covered was 2m. Tracking is generally good. Although I can manage 11m/s/s, the response starts to get very noisy as the speed gets up to maximum. I expect it would be possible to tune the controller a bit more to eliminate this but I see no real need just now. While 2m/s may not seem a very high top speed, note that the PWM peaks at 900 while correcting at that speed. The maximum possible PWM is 1024 and this run was done with fairly fresh batteries. As the battery voltage drops, the PWM is automatically increased to get a constant voltage drive. There must always be some headroom in the PWM or the controller will saturate. With a top speed of 2.8m/s, the mouse went into a violent spin as it got to near the top speed. No need to go there again.
Deceleration needs to be limited to a lower value than acceleration because the mouse centre of mass is a it closer to the front wheels. I think that, with a deceleration of 9m/s/s, the mouse tips onto its nose.
The error trace is in hundredths of a millimeter and, according to the data log, the error never exceeds about 1.5mm. Even so, there is some lost motion – about 15mm over 2m – as the wheels slip. Keeping the accelerations down to less than 7m/s/s pretty much eliminates all slipping. You will see that the left and right PWM traces differ my a small amount. That is caused by the gyro correcting a problem I will mention a bit later.
Overall, I am fairly happy with the forward controller and profiler.
Four wheel micromouse turn profile
However, that is the easy bit. Two problems are giving trouble. One is the cause of the gyro correction in the data log shown above. I had thought that a four wheel micromouse was intrinsically more likely to go straight than a two wheel micromouse. Now I think that the design may actually be less stable. Experiments show that tiny changes in the orientation of the left and right drive trains will cause the mouse to wander off to one side or another. Simply bringing in the front end of the drive trains by as little as 0.2mm can change the straight line performance for a drift left to a drift right.
This may be cause by poor mechanical design on my mouse. Certainly, I can now think of ways to do it better. Even so, Everyone I have asked so far has also observed that, without the gyro correction, their mouse will not go straight.
The other problem is that I am having a lot of trouble making the turns accurate and repeatable. During any turn, all the wheels of the four wheel micromouse must skid. because of that, there are very large losses and these are slightly unpredictable. Clean tyres on a clean maze make for the highest losses. For a slow turn, the losses are a high proportion of the turning force needed.
It seems impossible to find a good set of values for the feedforward constants that will give me decent open-loop turns. Worse still, my calculations for the rotational controller seem not to produce a useable controller. For the forward controller, I could just do the calculations, plug in the controller constants and get the result you see above. For the rotation controller, things seem much more difficult. I may have to go back and do the PWM-angular velocity calibration again because that is critical to the process. Naturally, the results that you get form that calibration depend upon the available grip.
Once the turns are sorted out, D4 should be nearly ready to go but, so far, that is looking much harder than I had supposed.