I would like to know if there are any other solutions to implement slip compensation into a Half-Size Micromouse other than the conventional method. I have spoken to a few Japanese competitors, and they told me that the only solution they have to such a problem is creating a table of predetermined values and using these values to increase or decrease the before turn/after turn distances. The values used are determined by the Mouse's intelligence. Due to the fact that this method has too many limitations, I would like to hear more suggestions from people who are familiar with this matter.
-
1$\begingroup$ What specific limitations are undesirable? $\endgroup$– Phil FrostJul 26, 2013 at 11:19
-
3$\begingroup$ This question would benefit from links to the background information on the Micromouse competition. What is the "conventional method" of slip compensation? Does slip compensation affect rotation, linear motion, or both? $\endgroup$– IanJul 26, 2013 at 19:07
1 Answer
Wheel slip is a serious limitation for any odometry-based robot tracking system. The big problem is a wheel will slip when the force due to wheel torque exceeds the tire/ground static friction force. Wheel torque depends on not just the PWM commanded power, but also the battery voltage and the gearbox. The drive friction depends on the vehicle dynamic weight, and the tire and surface properties, both of which can change dramatically over short periods (e.g., when crossing a bump).
At low torques and speeds, slip is a small effect, mostly noticable as a small deviation in the distance turned. At high speeds or torque, which is what wins competitions, wheel slip dominates the vehicle's dynamics.
But there are lots of possible tools to detect and compensate for wheel slip:
An accelerometer and gyro based IMU can be used to cross-check wheel odometry, since slip will cause a mismatch between these two. Magnetometer (9-axis) IMUs are better for big applications, since the magnetic axis helps stop gyro drift, but you need to be careful about shielding the fields from the motors on a small robot. Surface mount MEMS IMU packages can be quite lightweight.
A downward-facing optical sensor, like the optic flow motion sensor in an optical mouse, can be used to estimate vehicle motion. I've seen these used on micro-mouse sized platforms. Like a black mousepad, the track typically has enough optical roughness to allow the sensor to work reliably, although depth of focus blur and motion blur can be a problem.
Separate non-powered odometry wheels are another option, although these are difficult to fit even in a full size micro mouse platform.
Outward-looking wall tracking sensors are very useful in micro mouse localization. Of course, you need to detect the walls to map the maze, but you can also use them to calibrate your motion, especially if you can reliably measure distances in the forward direction, such as via ultrasonics or laser distance measurement.