This robot is unconventional, it has a special kinematic configuration
that allows it to move and turn simultaneously, and accelerate in every
direction at once (holonomic vehicle) without changing the direction it
is facing. This is not true for a car or a differential drive robot,
that must change heading while turning. I used tree omnidirectional
wheels made by
Philo for the LDRAW parts!)
I started designing this robot after Xander's
Rotacaster One-kit Omniwheel, improving
the wheels axis alignment, so they intersect exactly in the middle of
the robot. This is important for odometry accurate pose tracking. Xander
provided LDD model, while I prefer using LDRAW suite. You can download
the instruction at the bottom of the page.
Besides the 3 motors for driving, the robot has a color sensor placed
right in the center of it underneath the NXT, and 3 Ultrasonic sensors
to scan the environment. To drive perfectly straight even while
spinning, I used the
MicroInfinity Cruizcore XG1300L.
To program the robot, I chose
LejOS NXJ, to maintain the software
easily and to exploit the excellent motor control algorithms provided.
The robot can follow lines and can be remote controlled, even by an
Android phone app I wrote on purpose. The driving-while-spinning feature
has been ported to LejOS from
Xander's Minifig Vomit Mobile.
You can find the JAVA class to make an omnidirectional robot like
this on the
LejOS SVN repository,
or included in the latest LejOS distribution. Therefore, please don't ask me to
send you the source code directly.