In DTU RoboCup, mobile robots have to score points by driving through an obstacle course and completing certain tasks of various difficulty. As the robots must be autonomous, they can't be controlled by humans or by other external means, they must complete the track on their own. A black tape line on the floor defines the basic course.
Aske Olsson and I always wanted to participate in the competition with a home built robot. But what should the robot be like? Definitely, the most sane design decision would be to have regular wheels and rotate them with motors for locomotion, and then add a bunch of sensors to the platform. This is indeed the approach that nearly all other competitors use. So if we were to get some attention, we had to either create a superb conventional mobile robot that could compete with the others, or come up with something radically different. We selected what seemed to be least painfull at the time.
One day the idea emerged: why not move about as a snake does? That would indeed be radical, even cool, and we wouldn't have to mess with powered wheels and the steering could be implicit in the snake motion. As time went by we developed the idea, brought components and designed and ordered the controller board. An important milestone was when we got Futaba RC to sponsor us with servos. The servos would otherwise have been the most expensive items on the budget.
Early cardboard prototype and controller board
As we got nearer the day of the RoboCup competition, we managed to get under considerable time pressure. We had to do the construction, assembly and programming in less than a week. But thanks to coffee, rotary debuggers and high motivation we probably had our most productive couple of days there.
The evening before the RoboCup qualification we had just gotten the thing assembled and wired, which meant that tenths of kilobytes of mostly untested code had to be ironed out. That was extremely stressing, because we had to perform the next day, and the entire AVR microcontroller programming with 8 channel PWM generation, timers, interrupts, AD conversion, fix point math, motion control etc, all just had to click.
The morning before qualification the entire system was up and going, except that the algorithm for following the black tape line was still not working properly. The robot would frequently loose the line, and facing time pressure, we had to give up following the line. But we really needed to score one single point to qualify, which meant getting the robot to pass through a guillotine gate within a time limit. So we went for straight snake motion and the aiming principle. Thanks to a good share of luck, we pulled it off, in the second try.
SickSack at DTU RoboCup 2007
Having passed the qualification was a big relieve and gave us one more day of work before the final competition. That extra day was mostly spend improving the software, but it was surprisingly difficult to get the line following algorithm up and going in a stable manner. The following video shows a test of an early not-yet-perfect version, where the robot just about fails passing through the guillotine gate in time:
After further improvements, we got the line following fixed and working pretty well. We were ready for the competition! The following video is of the first competition round:
First round went pretty much as expected, although the robot fell off the ramp to the right, which was not intended. Second round had a more interesting end:
Well, SickSack got three points, which was enough for 13'th position out of 15 participants. But we got the Best Design and Effects award which we appreciate a lot!
Lars Ole Pontoppidan and Aske Olsson after receiving the Best Design and Effects award at DTU RoboCup April 12th, 2007