In 2010 I attended Estonian biggest robotics competition Robotex. Because I like to build simple things - I chose beginners category and simple differential drive, because.. I like to win. Everybody else tried to do omni-directional driving, 10bit precise odometry and other crazy stuff like that. I had been in the competition for couple of years and I had seen that 90% of the robots never moved on the big day. So me and couple of my friends built robot named Goblin. It was one of two(three?) robots from our university that actually moved. Goblin didn't lose a round in beginners (no camera) competition and came sixth in advanced version.
So, the design had to be totally foolproof. So I took two random geared motors from lab, fitted them with two big LEGO wheels and bolted to base plate. Next to them went a LiPo. In the front was the mechanically most difficult thing - the dribber. It was basically a motor from CD-rom and pole covered with rubber. Point of it was to make ball roll towards the robot so robot could steer the ball. On either side of the dribber there was a mini servo with Sharp GP2D12 on it for distance measurements. Later on, Goblin got itself coilgun, chassis with some leds and capacitor bank, but these things didn't affect the performance of the robot. On top of everything it had a big black mohawk - it had two purposes: hold goal sensors and to look awsome.
Electronics were fairly simple - chosen for minimum time waste and speedy changing (in case of magic smoke goming out). It had one little board with atmega88 and two modulated IR receivers to find beacon (signalling on the goal). Then two h-bridge boards with L298n drivers. One board for wheels, other one for the dribber. Then it had mainboard with just one atmega88 and separate board for controlling leds. Power supply had three 7805 voltage regulators. One for servos, one for mainboard and one for other things.
The sensor board listened two modulated IR receivers and decoded the modulation. The mainboard controlled servos, leds, motors and sensors. It used the servos to sweep with distance sensors so it got one dimensional distance map. Then algorithm searched for the ball from the scan. Unfortunately the sensors were extremely slow, they updated their output about 25 times per second. So to get full scan robot had to stand still for about 4 seconds. That gave it a weird yanking motion: it sped forward about a meter, stopped suddenly, "thought" for 5 second and accelerated again.
http://youtu.be/tZs97A68c-w?t=2m55s shows Goblin without the chassis in action.
At the moment we are building next version of this robot, now with some serious firepower and so on but whatever - don't brag before it works. I have an idea to make Goblin work again (yes, we salvaged it for the parts) as a RC toy but I haven't had the money yet. It was a fun project, showed again the necessity of KISS principle.