If your micromouse acceleration is very high, the front end will want to lift due to reaction torque. Two wheel mice lose traction as the back end presses down on the floor. Four wheel mice should perform better. But what if you accelerate really hard?
I knew that Decimus 5alpha would lift on acceleration. It also dips when decelerating. Deceleration is limited to 8m/s/s specifically to try and prevent the front end hitting the ground and possibly catching on any joins in the maze floor. I didn’t really know how it behaved when accelerating. The back is quite short so I assumed it could never lift so much that the back would touch the floor.
Tell tale signs:
Then I noticed that the PCB was worn at the back:
Looks like it rubs on the floor.
For some time, I have been trying to get my motor controller to work as well as possible. Generally, I am very pleased with the result but one feature in particular had been bothering me. Here is a plot of the set speed and actual speed for a simple profile.
Ignore the mess when braking – the feedforward controller is getting some attention. When you are done admiring the accuracy with which most of the profile tracks, focus on the end of the acceleration phase. The mouse actual speed overshoots badly and takes nearly 100ms to settle down. I thought this was something about the controller and the sudden step changes in feedforward values when acceleration finishes. It is not.
Video evidence of acceleration effects
This morning, I dug out my camera and took a video of the acceleration phase of the profile. The camera can do 240fps at pretty poor resolution and I need more light. I then slowed the video down by 10x.
Now you can clearly see the front lift. It is stopped by the back end of the mouse hitting the floor. Acceleration takes place over 75mm of travel and then the front crashes back to earth. The tyres are bouncy so first, the back end lifts and then the whole mouse takes off. That is when the motors, having no resistance, rush on and I get the overshoot. When it touches down again, the motors are briefly braked, the apparent speed drops and the controller goes crazy trying to work out what to do.
Acceleration mitigation
Now, at last, I understand what is going on with the controller. I also know why I have to limit forward acceleration to about 13m/s/s or I start to see significant errors. And, as if evidence were needed, I see clearly one way in which a suction fan will help.
Without a fan, more complex profiles will mitigate the bouncing. I really must look into getting a better high-speed camera.