MINOS is the annual UK micromouse conference. A grand term for a great weekend. This year's event was last weekend - April 12th and 13th. Once again, the whole thing was organised by Adrian Johnstone and Janet Hales from Royal Holloway College, University of London.
The weekend followed the now familiar pattern of technical talks and presentations on the Saturday followed by a very good meal at a nearby restaurant in the evening. Those of us who still had some energy left then sat up putting the world to rights over an extra beer or glass of wine. We were treated to the luxury of brand new halls of residence this year. All sparkling clean and fresh.
On the sunday, after a hearty breakfast, everybody gathers back in the Department of Computer Science building for some hands-on mouse tuning and practice. There is an infomal competition around lunchtime to round the session off. This year everyone was greatly surprised to find that the walls of the maze seemed to be absorbing more IR than before. Same walls, same maze, same room but IR reflectance was down by perhaps 30% from when it was used last year. Nobody could really work out why but a good bit of tweaking of sensors soon had nearly everyone running as well (or badly) as before.
The presentations this year set a new standard for interesting and relevant technical content. Here is the programme:
MINOS08 Programme
Dave Otten
Inertial Navigation with Accelerometers on MITEE Mouse 11 - Any Chance?
Richard Nock
Machine Vision for micromouse
Pete Harrison
system design / primus / half size
David Hannaford
Intelligent Mice
Michael Beatus
My experiences with developing my first micromouse (First Step)
Rob Probin
Colour vision processing for wall detection
Duncan Louttit
chassis design
Tony Wilcox
VHDL and programmable logic for custom peripherals
Martyn Pittuck
Robotics at Reading
Derek Hall
Techfest 2008. Micromouse in India
Where available, the PDF icon will get you a copy of the slides and the camera icon will get you a video of the presentation.
Read on for a summary of each presentation...
Dave Otten - Inertial Navigation with Accelerometers on MITEE Mouse 11 - Any Chance?
Dave Otten is one of the great figures in Micromouse. Always ready to help a novice, frequently willing to travel absurd distances to promote the micromouse competition, Dave can be relied upon to provide food for thought with his offerings at Minos.
the first part of David's presentation was about how to determine the appropriate forward error constants for his motor driver code.
On a previous occasion, Dave said that he had added an accelerometer to his mouse in the hope of improving performance. However, early results indicated there would be some serious issues relating to noise and drift before the accelerometer was going to be of any use. Since then, he has clearly been busy and brought to us the results he has obtained so for.
MITEE Mouse 11 will run conventionally but has been fitted with a pair of accelerometers - one each, front and rear. Whatever the original reason for fitting two, it turns out to have been quite fortuitous since one of them seems to give particulalry unstable results.
In principal, an accelerometer can be used as an inertial reference system capable fo telling you about the acceleration, speed and distance you mouse has travelled. Combined with the more conventional odometry, it should be possible for the controller to detect loss of grip when accelerating or cornering. The aim of the experiments described in this presentation is to obtain sufficient information from the accelerometer to permit a single, straight-line run to be performed entirely under the control of the accelerometer, without the use of the wheel encoders. Dave's presentation has a variety of data collected from the rials illustrating some key features of managing errors intrinsic to a mouse controller and the particular problems associated with noisy accelerometers.
Richard Nock - Machine Vision for Micromouse
Richard has been working on vision systems as a design engineer. After a personal introduction, Richard gave us some details of a modulated Infra-red sensor system. This is a form of lock-in detector with a Direct Digital Synthesizer providing the clock source. As the emiter is linearly driven, there are some efficiency concerns. The receiver employs a digital filter based on the Goerzel Algorithm for tone detection. This is effectivefly a single-frequency DFT. Modelled results for this process readily demonstrate anti-aliasing in the system.
Next, Richard took a look at linear array sensors, giving some information on a TAOS 768 pixel array that looks relatively easy to drive and quite handy to use.
The third section examined the use of monochrome cameras in a vision-based guidance system. The idea is examine just two scanlines from a camera and look for contrast changes as an indication of the position of the bases of the walls. Processing can be performed in a CPLD. Simple trigonometry will allow the mouse to determine its position and orientation in the maze relative to the local walls. Simulations demonstrate the functionality of the method and Richard hopes to have this implemented in a future mouse.
Pete Harrison - System Design and Primus
A couple of years back, I described an intention to produce an 'open source' micromouse. This would be a stepper-driven design published with enough details that anyone could build their own copy. I know of only two other such efforts. One is the famous description of Mitee Mouse III by Dave Otten in Circuit Cellar magazine. The other is the description of BasicMouse by Eiicho Morinaga in Japan.
After several delays, I finally got round to building Primus. It is described on this site and al drawings and code are available for download. One final part remains. That is a complete, maze-solving version of the software for Primus.
This presentation describes some of the design ideas behind Primus and my current DC mouse. The essential idea is that a micromouse, like many other things, can be designed and build in a modular fashion that makes it relatively easy to avoid replicated effort when moving from one instance to another.
Also in the presentation are a couple of thoughts about pathological mazes and wall sensors. The maze issue is about the recent discovery of a simple maze configuration that will defeat the solver I have been using for the last five years. It has never let me down and generated this error but I happened upon a section of maze that will make the mouse crash. Hard to believe I have not seen it before.
As for sensors, the response of these things is intrinsically non-linear. However, it seems that the simple process of finding the reciprocal of the sensor readings could leave you with much more usable results.
Finally, a few slides about half-size micromouse. I think the major limitation is simply mechanical. Finding manageable small motors and gears could be a bit of a challenge. The electronics are relatively easy to fit into the space. Slide 14 shows a possible PCB layout using the same components as Decimus and they all fit quite nicely. The challenge now is finding some motors.
Just to be clear, the mouse in the last few slides is not mine. It belongs to a Japanese builder I believe. Unfortunately I cannot work out the owner's name so if anyone should know, please yell me so I can credit it properly.
[update: 21/05/08 - I now have information about the builders and links are in the slides. Thank you.]
David Hannaford - Intelligent Mice
David is a regular of th Midlands Micromouse Club. His background in computing leads him to the conclusion that it should be possible, and desirable, to build more intelligence into our mice. A typical micromouse is the product of an absurd number of twaeks and specialist tuning. Simply making sure the wall sensors work properly can be difficult and time-consuming. Corenering is often the result of a long series of calibration tests where the mouse performance is analysed and the results compiled back into the code to further refine its behaviour.
How much more useful it would be if the mouse software could perform some of these chores for us. An intelligent mouse could learn the best way to get around a particular corner. It couldtake into account available grip, sensor performance, speed and other environmental conditions and train itself to perform optimum corners. better yet, there is the possibility of emergent behaviour wher, for example, specific combinations of moves might be melded into a single, more efficient version.
This is not the stuff of fancy and speculation. We now have available an enormouse amount of processing power in a tiny space. In his presentation, David describes some of the essential features of intelligent systems and some of the key approaches to these kinds of methods. He also suggests some specific technicques tha the mouse builder might employ inthe quest to build an intelligent mouse.
Michael Beatus - First Micromouse
Michael has been building a mouse for a little while now. Initially confident that, since the technology was not over complex, it would be a relatively simple matter to make a mouse, Michael has discovered that things are rarely that simple. In his presentation, Michael shares some of the pleasures and pains of mouse building. He describes his approach to the initial design and some of the particular goals that he has hoped to achieve that will make his mouse a bit different from others. Of particular interesst is the reminder that we all bring different skills to the art of building a micromouse and that means there will always be some additional compromise as a result. Although confident in his electronics and programming skils, mechanical design was a weakness that was readily overcome by employing a ready-made drive platform.
Rob Probin - Colour Vision Processing
Vision systems for mice are a recurring theme. There are tremendous challenges in using an apparently simple camera to provide information for the guidance of a micromouse - or any other autonomous vehicle for that matter. Key among the issues are the frame rate, resolution and volume of date from any camera system. Frame rates are difficult to improve by any large factor. Sensor design compromises the actual resolution available -which is often significantly less than that quoted by the manufacturer. Provided there is sufficeient memory available to the processor, the data volumes are not so hard to deal with on modern, high-speed processors. Nevertheless, vision processing is still a non-trivial exercise.
In this presentation, Rob took us through some of the basics of colour vision systems and the inherent limitations associated with affordable imaging sensors. These details set the framework withingn which they set out to find and map the walls of a maze from the mouse platform. the essence of the technique chosen is to analyse the image for colour information. The walls of a standard maze are painted red on the tops. Rob showed us some elegant processing that reduces the data rate and isolated the key nearby wall tops. Further processing can then provide information about the position and orientation of the mouse in relation to those walls.
Practical demonstration from recorded images were particularly persuasive and we look forward to seeing these techniques applied to a real mouse. Indeed, they are all applicabale to other kinds of platform as well.
Duncan Louttit - Chassis Design
Effective chassis design maks a huge difference to the potential performance of your mouse. The essentials are reasonably straightforward and are described by Duncan in the first part of his presentation. In essence they are that the mouse should be low, long and wide. These characteristics will ensure that accelerations will not transfer away from the wheels any more weight than can be helped. The key is to ensure that as much of the weight as possible stays over thewheels to maximize the available grip. Duncan reminded us that the materials are probably capable of providing sufficient grip to allow accelerations approaching 1g (9.8m/s/s) but only as long as there is enough downforce on the wheels.
The second part of Duncans presentation dealt with a possible way to avoid weight transfer away from the wheels without relying on the dimensions of the chassis. As well as simple weight transfer, Duncan reminds us that there are inertial considerations related to the torque required to accelerate the motor and wheels and make them rotate. The idea is that, by careful consideration of the relative masses and rotational inertias of the components of the drive train, it might be possible to have the motro inertia at least partially couteract the inertia of the mouse. The effect of this would be a mouse that could accelerate without tilting. Thus the weight would remain over the wheels with little transfer to the sliders. duncan has a physical model demonstrating the effects he has talked about. It remains to be seen whether it will be practical to incorporate these ideas into an actual mouse.
Tony Wilcox - VHDL and custom peripherals
Many processors are well supplied with peripheral devices and yet somehow there is always something missing. Either the peripherals is not in the form you would like or it is multiplexed with some other viatal port or it is not available in combination with another vital peripheral or there are not enough of them or...
Programmable logice devices, from the humble PAL all the way up to the most complex of FPGA devices provide us with the opportunity to design and implement exactly the peripheral mix we need for any partucular task. these designs are robust and transportable from device to device. If necessary, it is even possible to implement the processor core on the same device and have a truly custom-bult processor for the job at hand. Tony gives us an overview of the various technologies available and the building blocks to be found in typical devices. Tools for developing and programming were briefly considered.
Next, Tony looked at the basic featured of VHDL , illustrating these features with the configuration of practical elements likea 3-line to 8-line decoder and a flexible PWM driver which would allow the choice of drive mode in hardware at run-time.
Sequential logic presents a few more challenges and these were explained an illustrated with the design and implementation of a quadrature decoder. Strating with a simple x2 decoding scheme, the various requirement were investigated and suitable VHDL developed. This design was then progressively refined until it met all the practical requiremets of a flexible, x4 decoder which could be implemented in any of a very large number of real devices.
Since PWM generation and quadrature decoding are both essential components of any DC motor-driven mouse, this presentation has laid a very useful foundation for anyone wanting to implement their own custom logic into a micromouse - or any other mechatronic system for that matter.
Martyn Pittuck - Experiences at Reading
Martyn has been interested in micromouse for a few years now and is currently a pos-graduate student at Reading University. His brief presentation gave us an interesting insight into some of the work being done their in respect of autonomous system. Topics ranged from battlefield lasers, through land-based autonomouse vehicles to Unmanned Aerial Vehicles. Clearly, they have no reason to be bored at Reading!
Derek Hall - Techfest 2008. Micromouse in India
Our final session of the day was from Derek Hall who has been building mice for some time. He and Jim Chidley travelled to India earlier thisyear as guests of the organisers of the annual Techfest robotics competition. the levelof interest and participation in micromouse in India is quite astounding. Huge audiences cheered on each mouse well into the early hours. Derek reports a wide range of skills and plenty of potential.