Micromouse – Sensors and Cornering
I've tended to think of robot motion in terms of a Cartesian coordinate system - straight lines and 90 degree turns. The micromouse 'maze', with its 16x16 array of cells, plays right into this way of thinking. Each cell in the maze comes neatly packaged with right angles and perfect dimensional order. It's easy to represent in the computer's memory as well by mapping each cell in the maze to a corresponding array cell in memory.
This leads us to think of traveling through the maze as a serial process - cell by cell. Enter a new cell, figure out where the walls are, figure out where to go next, then move on. In fact, when you watch a competition in person, it appears that many of the robots are following that exact same strategy. They move into a new cell, make a noticeable pause, then start moving again. It's perfectly understandable. It's a significant challenge just to get your robot design to move in a straight line and make reasonable turns.
Yet the top competitors seem to have approached the problem a little differently. They move smoothly through the maze. Of course they go down blind alleys and have to retrace their steps. But, as they move, even during the very first exploratory trip, they appear to have already figured out what lies ahead of them. Some of them, albeit a small number of them, go faster during their first search than many of their competitors go during their speed runs.
They appear to be committing to turns before they are completely into a cell (see conceptual drawing above.) Both approaches result in a 180 degree turn but the path on the right is significantly shorter than the one on the left. It requires 3 turns rather than 2, but the total turn angle is the same. More importantly, the sensing and decision making have already been done before the robot enters the next cell.
One approach that might allow them to achieve that kind of speed is to sense the presence, or absence, of walls in the next cell before they get there.
Some of the competitors have multiple sensors mounted on the front, and sometimes on the rear, of their robots. The sensor pointed directly forward is easy to understand. Theoretically it should be possible to select the transmitter and sensor and adjust the operating parameters to detect a wall on the far side of the next cell. Of course there are a lot of variables that might inhibit reliable performance. But, in principle, we should be able to make that approach work.
The sensors that are pointed at an angle, crossing each other, are more interesting.
At first glance it would appear that they are not very useful. After all, they will only be able to sense light (or ultrasound) that is reflected back to them. Assuming that the emitter for each sensor is also aligned at the same angle, then as long as the robot is moving straight ahead, no signal will be reflected. The angle of incidence and the angle of reflection are equal. So, it appears that the added electronics are of no practical use at all....
But, the top competitors are obviously smart people. They didn't spend extra money, time, and effort just to build in sensors that don't provide useful information.
Most of the information I've run across on the web indicates that the best strategy is always to go straight ahead until you find a wall. It follows that once you find a wall ahead of you, then you will find-
- an opening on the left
- an opening on the right
- walls on both sides
Why not decide to turn as soon as you know there's a wall directly ahead? As soon as you turn far enough so that one of the angled sensors is positioned to get feedback, you will know if there is an opening in that direction or not, and can act accordingly.
Another area where the angled sensors might be playing a key role is in recognizing and navigating through a diagonal opening in the maze.
The simplistic, right angle approach, shown in blue, requires a long series of moves and turns. This is extremely expensive from an elapsed time perspective. On the other hand, if the robot can identify and naviate through opportunities like this by going straight up the middle, then it will save a terrific amount of time. But, in order to do that, it has to have some way of knowing where the walls are, and avoid running into them. This may be where the angled sensors play a role.
Naively I assumed that the best angle for sensors like these would be 45 degrees so that they would be pointing perpendicular to the side walls while transversing a diagonal stretch. Observation shows, however, that the actual angle being used by the top competitors is a little less than 45 degrees. Trying to figure out the specifics, and the root causes behind them, will be a very interesting exercise.
The 'best of the best', by the way, go one step further. They also design in a gyroscope module that keeps them on the straight and narrow while they put the pedal to the metal. And, some of them even design their robot mice so that they can run just as fast backwards as forwards.
You might also enjoy: