May 18, 2006 (backdated)
This is my holonomic (omnidirectional) robot. It is controlled by a Atmel AVR. The AVR is getting direction and rotation information from the analog joysticks on a wireless PS2 controller that I am holding. It then translates the requested vector and rotation into the appropriate speed and direction for the three wheels, using a little trigonometry. The robot then moves in whatever (360°) direction you push the joystick.
This is an early proof of concept. The frame and wheels were purchased as spare parts from a Palm Pilot Robot Kit, sold by Acroname. I decided to use my own controller(s). The version pictured in the video used a ATmega32 and a separate servo board. The servo board was used because the ATmega32 only has hardware support for two 16-bit PWM outputs, and I needed to control 3 servos. I had experimented with 8-bit PWM and 16-bit software PWM, but had problems with servo jitter. The servo board was later dropped when I upgraded the AVR board to an ATmega128, which has support for six 16-bit PWM outputs.
TODO: updated video with new controller, more info, specs, source, etc.