Musings
on the new corner to corner competition
These are some of the thoughts that
have occurred to me when contemplating the new
competition. Some of the ideas will be used in future
offerings either in terms of competition entries or kit
materials. One important consideration is that
competitions are always easiest to win in the first year.
We can expect that next year's mice will be considerably
quicker than this year's.
One great difference with the new
competition compared to the large maze-solving
competition, is that it is possible to design mice
without a processor! Wall followers need nothing more
than reflexes to keep at the correct distance from the
wall. It should be possible to solve the problem with a
mouse along the lines of DASH FREE with area
coverage sensors. It remains to be seen whether such mice
are competitive.
Strategies
Given that the only time that counts
is the first run from the start to the end, there seems
little benefit in trying to find the best route unless
you have some kind of vision system that allows you to
find the best route before you set off. If you cannot
find the best route you will need to use a strategy that
guarantees a successful run and "second guesses" the
maze-setter.
There are two obvious strategies:-
Follow the left-hand wall and follow the right hand wall.
Either of these will work and, for any particular maze,
one will be better than the other. The maze-setter can
choose to make one much easier than the other so it may
be an advantage to be able to select which wall your
mouse will follow. Unfortunately, the ability to follow
either wall has a cost in terms of the number of sensors
needed and hence the weight of the mouse. It may be worth
having two entrants, one for each wall and run both in
the competition to guarantee best results!
There may be other strategies. The
maze-setters have promised to make it so that it favours
"apparantly intelligent" mice. I don't know how they will
do this.
You can expect that the maze will
contain at least one dead-end. A symetrical mouse that
can run both backwards and forwards may be able to detect
this and simply reverse direction rather than having to
turn round.
Wall followers don't need to know
where they are in the maze. More intelligent mice may
need to know this. This will need to be, at least partly,
by dead reckoning as the mouse can only see a "landmark"
when it passes a gap in one of the maze walls. This type
of dead reckoning can be done by counting how far the
wheels have turned but you can be completely messed up by
wheel spin or skidding. Some mice use separate undriven
sensing wheels to avoid this problem.
Drive
train
Our drive train is small enough for
the competition. I have used it in DASH ONE and
DASH TWO within the same size mazes. However, it is
not small enough to guarantee a U-turn within the width
of the maze. What this means in practice is that mice
using our drive train will need to be able to run at
least one of the motors backwards to cope with dead-ends.
The simplest way to implement this is with a reversing
relay. H-bridge drivers can also be used.
There are at least three strategies
for controlling the speed of the DC motors. I have used
all of these in the past. Which you find best will depend
on your specific needs and capabilities. The strategies
are:-
1) Apply a "stiff" DC voltage to the
motor and rely on the internal feedback mechanism from
the back emf.
2) Time-share the motor between
applying power and using the armature emf as a speed
sensor.
3) Apply a PWM signal and use the
position sensors on the drive train to derive a
speed.
Option 1) is very simple to implement
but will have problems when the motors are heavily
loaded. It has potentially a rapid response time. This is
the system used in the DASH FREE kits and has proved
to be capable of good performance. My first attempt at
the corner to corner competition will use this technique.
Option 2) is moderately complex. It
does compensate for increased load on the motor but may
have problems due to having a slow response time. Creag
Louttit and Steve Eakin's THRUST SSC uses this
technique and it works well.
Option 3) is most complex but
potentially has the best performance. In practice it is
difficult to exploit this at high speed. This system is
used in PIXIE, DASH ONE and DASH TWO. All of
these machines run comparatively slowly. With my
implementation, this system is only practicable for mouse
speeds up to about 20cm/sec. I would need to increase the
microprocessor throughput proportionately to achieve
higher speeds.
Whichever strategy you use, you should
consider whether it will allow you to brake the motors.
Good brakes will make a tremendous difference to the
performance of the mouse.
Sensors
The maze can be sensed in many ways
including mechanical sensors of various types. Infra-red
LEDs and phototransistors are favoured by some of the
faster competitors. I currently prefer Hamamatsu's
S4282-51 with multiple visible red LEDs to give area
coverage. This is probably because of my experiences to
date with them. In principle, the infra-red systems could
be smaller and lighter but I like the ability to see
where the light is going and the lack of
interference.
What I would like to be able to do
with the sensors is to measure how far away a wall is
with a resolution of 5 or 6 bits. This would let me make
a proper servo-mechanism for maintaining my distance from
the wall. Unfortunately, I cannot achieve this resolution
with my sensors so I am limited to a simple "bang-bang"
control where the mouse is either too close to the wall,
just right, or too far away.
Sensor positions will depend very much
on the speeds that your mouse is capable of. However,
there are a couple of things that you should
know.
Imagine a very crude mouse with just
one sensor mounted on the right hand side. If it finds a
wall the mouse turns away from the wall by running the
right motor, if it cannot find a wall it should turn
towards the right by running the left motor. This mouse
is intended to "wobble" its way round the course. Such a
mouse will work but only if the sensor operates over an
area rather than at a point. Provided the area covers a
line from just behind the right wheel axle forwards it
should be possible to make the mouse follow the wall. The
sensor area must extend back this far to avoid the mouse
getting hooked-up on wall ends where the mouse has to
turn 180 degrees. The sensor must extend far enough
forward so that when the mouse turns to the right, part
of the sensing area gets closer to the wall!
For more intelligent mice, it is very
profitable to know how far away the wall in front is. If
you know it is further away than your worst-case braking
distance, you can afford to go flat out. Once you detect
the wall, you can start to apply the brakes. You might
like to use the long-range sensor from our application
note for this purpose.