DASH-2 is the second in the series of DASH machines for the IEE Micromouse competition. The previous year's DASH-1 achieved fifth in the intermediate class. DASH-2 builds on this experience.

DASH-2 uses two wheels in a “wheelchair” arrangement. Forwards movement is by driving both wheels forwards. It turns by driving one wheel forwards and one backwards. The wheels are mounted on shafts driven by a worm and gear arrangement from separate DC motors. The motors are driven from an H-bridge using bipolar upper elements and power FET lower elements. Both bipolars ON lets the motor free-wheel, both FETs ON gives a braking action.

Each motor shaft has a disk with 8 holes in it. A LED and phototransistor work with these to give a notional shaft position.

The mechanical system and drive electronics are from Swallow Systems’ PIXIE robot.

The electronics uses an Intel 80C31 microprocessor with memory expanded to 32K RAM and 32K EPROM. Two external interrupts are used to measure motor revolutions. Four I/O bits are used for the motor drive. DASH-2 has increased the clock speed from 12 MHz to 14.7456 MHz over DASH-1.

As well as the speed improvement this also allows 4 times faster downloading via the serial comms port.

DASH-1 had only 6 sensor inputs and this was a serious problem. DASH-2 has 10 sensor inputs and this is still not enough! Next year I anticipate still more sensors to solve particular positioning problems.

The sensors are based on Hamamatsu photo I.C.s. These make very easy reflective light sensors. The LEDs used with them are all high-brightness visible red types. This makes debugging the sensor positions MUCH easier. The sensors use modulated light and are very tolerant of sunshine or fluorescent light.

The software is written in Microprocessor Engineering's FORTH 83. Without its interactive features, DASH-2 would not have been ready in time.

Work on DASH-2 only started on 21st June. I used DASH-1's software as a starting point and built another robot based on PIXIE with the unnecessary bits removed and an extra 32K RAM added. The extra sensors came from multiplexing 4 old inputs to give 8 new ones.

The intention was to improve the positioning control by using the extra sensors. This has allowed a significant speed increase. The positioning is still not perfect especially when there are "pathological" cells with no maze walls.

DASH-1's RS232 level shifters in a pod connected to the UART socket give a long lead for connection to the host.

Software development used DASH-1's code to start with. This includes a FORTH compiler. It was then a case of bursts of interactive development on a practice maze followed by burning a new EPROM. The current EPROM is number 8 beyond DASH-1.

The algorithms used fall into four parts. The main function that has changed is wall following and positioning the mouse. There are three vertical sensors each side that correspond to; too close, just right and too far from the respective wall. There are horizontal and vertical sensors on the front of DASH-2. These are used to detect if it is near a wall and for positioning relative to that wall respectively.

Another function is navigation i.e. keeping track of where the mouse is. This can cause problems in pathological cases where the mouse has a long run of continuous walls. This year's change is that there are horizontal sensors at each side to detect where side walls start and finish. Every time there is a gap on either side, DASH-2 corrects its position.

The third function is to find the centre of the maze. DASH-2 uses three weighted rules. It likes to carry straight on, it likes to get closer to the centre and it likes to boldly go where it has not gone before. These rules overlay the basic idea of not hitting walls!

The last function is to optimise the route from start to centre. This is done continuously as DASH-2 moves. By the time it reaches the centre it knows its best route, of the cells visited, for the return path.

These main functions are coordinated to follow a scheme of:- find the centre, return to the start by a good route, go back to the centre by a good route, return to the start fast, get to the middle fast.

After DASH-2 has traversed 80 cells, it panics and starts to travel fast. Fast travel can cause positioning and navigation problems. This speedup feature is a left-over from last year but it may prove useful!

There are some known problems with DASH-2. It cannot turn very repeatably due to backlash in the drive train and wheel slip. This may be solved by adding more sensors so that it can position itself more accurately.

The software is not well structured. The next version may use the multi-tasker to run the maze-solver and centre-finder as separate tasks. The terminal task will also run separately to allow interactive debug DURING a test run.

How it went

In competition, DASH-2 performed reliably but not fast. It found the centre successfully on both runs and ran about twice as fast as DASH-1.

The competition had also moved on so DASH-2 only improved to third place. From here on we have to compete in the advanced class with serious contenders like MIT. It will be several years before we are competitive in this class.

 You can email queries to us at:- sales@swallow.co.uk

Date Last Modified: 29/4/98