Eurobot is a competition heavily promoting fair-play. One aspect of it is that robots must be able to avoid accidental collisions with their opponent (of course, plain and simple aggression is also completely out of the question!).

To make this task easier, the rules allow you to add to your robot a mast where the other team can place a beacon. This way, it's possible to have a constant, know element on any robot you play against.

Now this is all good and well, but this mast must stay at a fixed height at all time, and remain perfectly level... not exactly easy with a robot that can translate and rotate it's body! The mast is optional, yet choosing not to have one means direct elimination for any match where the opponent has a beacon, not a risk I'm willing to take (we only have 5 official matches, I don't want to play even less :/ ).

So here is my take on this problem: make a dynamic beacon mast, that stays level and at the correct height when the body moves.

Dynamic beacon mast gallery here

The mast is made of 3 Dynamixel AX-12+. The two lower servos control the height and the forward-backward orientation of the support, while the upper is mounted to tilt the platform left and right. The up-down amplitude is of around 8cm, and the tilt angles are more than what the body can do, so no worries on the movement amplitude front. What is a little more uncertain is the precision of support attitude when it has a 300g beacon on it. Further test is needed to be sure it's really stable and precise enough to be accepted at the competition.

Control of this appendage can be performed in two ways: either put sensors to sense the platform attitude and heigth, or compute the servos position with IK, just like we already do for the legs. I wouldn't mind strapping the top platform with an IMU and use this data for lateral stabilization, but when it comes to maintaining a precisely fixed height, it would be a little more complicated... so I will go with the second option.

Finally, this fixed, stabilized elevated platform seems like a good place to put the camera that will look at the whole playing field. The goal of this one will hopefully be to help spot the best action to do. The camera is a Playstation Eye, that I chose for its rapid shutter (up to 60fps at 640x480, 120fps at 320x240). While I won't be analyzing the video feed on the fly, having a camera that can take a picture in 1/120th of a second instead of 1/30th sure looks like a good idea on a moving robot ;)