Minos 2015 was held at Birmingham City University on April 18th/19th 2015. Following its traditional pattern, the Saturday saw a diverse range of talks and presentation on subjects relating to small robotics.
Here’s how the schedule worked out:
– Lessons from Jehu. David Otten
– Cel Robox 3D printer. Bernard Grabowski
– Contest Roundup. Peter Harrison
– Duncan’s EFT. Duncan Louttit
– Line Follower Data analysis. Stephen Pithouse
– Starting up In Maze Solving. Ian Butterworth
– This and That. Ken Hewitt
– Generating Smooth Turns. Peter Harrison
– 3D printing follow-up. Bernard Grobowski
– 3D printing on the cheap. Chris Balmforth
– Micromouse Software Design. Harjit Singh
Lessons from Jehu. [MINOS15-Lessons-From-Jehu-David-Otten]
Making a welcome return to Minos, David Otten of MIT brought us up to date with the the lessons he has learned from building and running his line-follower robot, Jehu. Named after the biblical king and maniac charioteer (2 Kings 9:20), Jehu is a very distinctive design which uses a single Position Sensitive Detector (PSD) for line tracking.
David described in some detail the configuration of his mouse and its sensor setup. His presentation includes details of the geometry, the schematics of the sensor amplifier design and the method used to convert the PSD readings into a line position error.
There are many aspects of running a high performance line follower that only become apparent after some experience has been gained. For example, the observation that the robot will not actually sit astride a curved segment but must always be running slightly inside the curve. In line-tracking mode, there must be an error from the tracking sensor or there would be nothing making the robot turn.
Another unanticipated issue is about coping with the available forces on the wheels and the transistioning from one turn radius to another. For example, if the robot is already at its traction limit on a curve, where can it get enough extra force to accelerate into the next segment.
Cel Robox 3D printer. [MINOS15-CEL-Robox-3D-Printer-Bernard-Grabowsky]
It seems that everyone has a 3D printer . Or they are going to buy one. Or they want one. Bernard brought his with him to show off what it could do. The first key point is that he could do just that. This is a compact device not much bigger than a common desktop inkjet printer and smaller than many laser printers. The CEL Robox is designed to be very easy to use with reliable printing right out of the box.
All of the sample parts Bernard showed were high quality, accurate and easy to produce. After running through the basics of how to get the machine going, Bernard gave many handy tips for any prospective purchaser on how to avoid common pitfalls and deal with any everyday issues that may occur. It turns out that there were not many. Compared to some 3D printers I have used, this looked like it might be worth the money and effort. During the day, Bernard had the printer make a few parts while the other speakers were doing their thing.
All in all, this is an impressive 3D printer. The list price may be a bit high but it can be found for about £760. In fact, I was impressed enough to buy one shortly after Minos and I have been very pleased with it.
Contest Roundup. [Gallery]
In the regular roundup of contest news from events in the USA, Taiwan and Japan, Peter showed pictures and described how micromouse development was progressing in other parts of the world.
Perhaps the most notable development was the success of Utsonomiya-san in Japan with his vacuum mouse. There have been many attempts over the years to improve traction by adding a fan to a micromouse. The idea is that you might be able to increase downforce to make it possible to sustain higher speeds around the corners. While good conventional mice might be able to drift around corners at better than 2g, the process leaves a lot to be desired in terms of repeatability and reliability.
By placing a suitable fan on the mouse, a partial vacuum can be generated under the mouse to help hold it down onto the floor. Clearly, the addition of the fan adds mass and raises the centre of mass of the mouse so there would need to be a substantial gain from the vacuum just to overcome those problems. Furthermore, the possible speed around the turns only increases in proportion to the square root of the acceleration. That is, to get a speed increase of 10%, you will need an increase of 20% in the grip.
Still, it does not take a huge pressure differential to start to make a difference. Nonetheless, there are many problems to overcome before this can be made to work. Utsonomiya-san has worked really hard for a couple of years to overcome these problems and was finally rewarded with a first place in Japan with a mouse that was astonishingly quick. I predict there will be several fan mice at the 2015 All Japan micromouse contest.
Duncan’s EFT. [MINOS15-EFT-and-time-of-flight-sensors-Duncan-Louttit]
In an acronym-driven presentation, Duncan updated us on progress with his micromouse testbed, Making extensive use of a 3D printer (yes, it is a CEL Robox), Duncan’s mouse incorporates several interesting features. Combining inexpensive Pololu 10:1 motors with high resolution magnetic encoders should provide an affordable drivetrain that will be relatively easy to build and reproduce. Never having had huge success with PWM drive techniques, this mouse uses analogue drive system for the motors which is supposed to provide easier and more accurate control – especially of the simpler motors used in the Pololu units.
Sensing includes Hamamatsu sensors for wall presence information and the VL6180X time of flight sensor from ST for distance measurement. These are impressive units that are able to measure distances over a range of 0-100mm by measuring how long it takes for light to get from the sensor to the target and back. Work it out – it is not very long. The main advantage of this technology is that the ranging data will be independent of reflectivity so long as some light get reflected. In practice, the on-chip processing means that a fair bit of averaging is needed to get a reliable range estimate and the less light there is, the longer it will take to get a valid result.
there are some problems in using several of these on the one mouse and Duncan described a clever method of connecting up four sensors in such a way as to minimise the number of pins and I2C peripherals needed to drive them.
Line Follower Data analysis. [MINOS15-Why not make it go faster-Stephen-Pithouse]
When you get asked (or ask yourself) why you can’t run faster, the answer can be surprisingly complex.Stephen has been building a line follower and in his presentation, he looked at some of the important considerations in making his robot run faster. Of particular importance is knowing were you are and how fast you are going. That may seem obvious if you have experience in this area but there are many examples of robots that lack the feedback needed for fast accurate running. The focus here is on the use of the encoders.
after a review of some of the geometry and kinematics of a two-wheel robot, Stephen developed and presented a thorough treatment of how the encoders can be used to determine the robot’s posture (position and heading) at any time during a run. This work is the foundation for the really interesting part of the project which is to send the posture information over a bluetooth link to a host computer for logging and to plot the data in real time.
The results were very impressive with the calculated track very closely matching the actual track on the ground. The benefit of this kind of visualisation is huge. Real-time viewing of data brings many possibilities.
Starting up In Maze Solving. [MINOS15-Starting-Up-In-Maze-Solving-Ian-Butterworth]
the path between wanting and having can be pretty tortuous. A couple of years ago, Ian decided he wanted to build a maze solving robot. In this presentation, Iaan shares the journey so far. Starting with a readily available kit – the PicOne – he has learned a lot about small robots and the challenges faced by micromouse robots in particular. The starter kit has served him well but now it is time to strike out and build from scratch. We are looking forward to future developments.
This and That. [MiNOS15-Laser-PSD-sensors-Ken-Hewitt]
The most common type of sensor seen on micromouse robots is a simple reflective type that measures the intensity of a spot of light projected onto the maze wall. These are indeed cheap and simple but they have many limitations. Worst of those is the effect of wall reflectivity on the perceived distance.
More sophisticated sensors like those used on David Otten’s mice, use Position Sensitive Detectors and some triangulation to determine distance by looking at the angle made by the projected spot in relation to the transmitter and detector. These are similar in principal to the common Sharp distance sensors but without all the additional processing that makes them so slow. Since the distance is now a function of angle rather than intensity, variable reflectivity in the walls is all but eliminated. In his presentation, Ken explained and analysed the geometry of these sensors as well as describing some experiments with the use of a laser instead of an IR LED for the emitter.
In the final section, Ken describes some of the issues that he thought might be affecting his time trial robot, DEE. The problem, he believes, is that the timing gate sensors are affecting the sensors on DEE. This is potentially a problem for everyone who runs in a micromouse maze. ForDEE, he proposed to simply use an RC filter to recover the signal. For the more common micromouse configuration, Ken discussed the possibility of changing the timing setup to avoid having your mouse suffer from synchronising issues with the gate sensors.
Generating Smooth Turns. [MINOS15-Reliable-Turns-Peter-Harrison]
For micromouse, the race is won and lost in the turns. that is what they say and they are right. Designing a good turning profile is key to having the mouse run a smooth, well controlled turn at high speed. The thing is, how do you set about designing that profile. In this presentation, Peter explained how he goes about this process. To start with, some means must be found to track how well the mouse performs a turn. One method that is very useful, if a little time-consuming, is to take a long exposure photograph while the mouse is running a test turn. LEDs on the mouse will leave a trail that clearly shows the path the mouse took during the turn. If the LED is set to blink at some fixed rate, information is also available about relative speeds.
Next was a consideration of some of the forces on the tyres that are involved in a turn along with the basic physics relating to circular motion. With these things in mind, it is possible to characterise sections of the turn profile and begin to make decisions about their characteristics.
The basic turn profile presented has a trapezoidal angular velocity profile divided into three segments. In general, there are more variables than equations to describe this profile so a decision has to be made about at least one of the variables and then all the others can be calculated. The two key variables will be the length of the lead-in and lead-out phases and the radius of the centre section of the turn.
Simply generating a turn profile is not too hard. The tricky part is in generating the exact same shape turn at a range of different speeds. Many mice have a limited number of fixed-speed turn profiles and they have to pick from one of those. the methods described in this presentation allow a turn to be run at any speed with the same turn shape. In practice, slip will alter the shape but that is taken care of elsewhere.
A simulator running on the PC runs the exact same cade that generates the profiles in real time on the mouse so that the projected track can be reviewed and adjusted without having to run the mouse. The actual results from the mouse match closely the calculated results from the simulation.
3D printing follow-up.
Here, Bernard showed some of the parts that were printed up during the day and gave attendees the opportunity to have a closer look at the machine.
3D printing on the cheap. [MINOS15-3D-Printing-on-the-cheap-Chris-Balmforth]
When planning Minos, there was no intention to have lots of stuff about 3D printing but, on the day, it became something of a theme. In his presentation, Chris introduced us to the other end of the small 3D printer spectrum with the Velleman K8200 kit. This is an open source DIY build that took several days to get working. The DIY approach is very cost-effective and there is no doubt that you end up with a comprehensive understanding of your machine and the whole 3D printing process. It was clear that good results can be achieved with appropriate care. Many of the problems people have with these kinds of printers are likely to be a result of expectations exceeding ability and/or patience. Overall, Chris is happy with his machine.
Micromouse Software Design. [MINOS15-Software-Architecture-Harjit-Singh]
The day finished up with a telepresence presentation from Harjit in Seattle. Harjit began by noting that some of his mouse code is very old. As much as 25 years in places. Now old, good code is no problem but when it comes to making changes or patching bugs, decisions made in another century can make life difficult. Modern software development teaches that it is far better to prevent bugs than to fix them after the event. there is not much gain in constantly modifying old code if the basis for that code was flawed anyway. Apart from anything else, a robot builder’s understanding of the problem grows and changes over time along with the skills that can be brought to bear in solving the challenges.
Harjit proposes a whole new architecture for his mouse software and presented an outline for consideration. Major functional blocks are defined along with their interrelationships and the means by which they should communicate with each other. Good top level functional design will not only make development easier and more reliable, it will also focus the mind on key features and how they might work together. For example, mapping the maze is a discrete function only used during the learning phase of running a mouse. That learning phase will make use of other units like profile generation, command execution and sensor reading.
By carefully separating out these elements and designing the interface between each of them, it will be easier to make even major changes – such as how commands are stored or executed – without generating a series of cascading faults throughout the system. The benefits are clear. What is less easy is the prospect of doing a ground-up re-write of what is a surprisingly complex system in many cases.
Thank you again to all the contributors and the folk at BCU that made it possible.