sub LegoMotors(A,B,C)
SerialOut 12,0,0x80,4,0,A,1,0,0,0x20,0,0,0,0
SerialOut 12,0,0x80,4,1,B,1,0,0,0x20,0,0,0,0
SerialOut 12,0,0x80,4,2,C,1,0,0,0x20,0,0,0,0
return
FIGURE 9. This RobotBASIC function provides speed and
direction control for all three NXT motors.
FIGURE 7. LEGO parts make it easy to use bolts to
mount motors to the foam-board base.
can be expensive but worthwhile if you know you want a
robot with one of these wheel configurations. This makes
having an inexpensive experimental platform even more
valuable because it can help you decide if multi-directional
wheels are appropriate for your projects.
Nexus has just started looking for distributors here in
the US so hopefully their products will be available soon
without the high cost of international shipping. If you can’t
find a local source for their products, their marketing
executive Anny Kong ( Anny@NexusRobot.com) has agreed
to provide special pricing for SERVO readers that includes
shipping to the US. Three omni wheels are $50; four
mecanum wheels are $260; and the robot kit shown in
Figure 5 is $1,450.
If you have a LEGO NXT system, you can easily mount
Nexus’ omni wheels (or perhaps similar wheels from other
sources) to each of three motors. Rather than trying to
create a base solely from NXT parts, we chose to use foam
board as shown in Figure 6. Foam board can be
purchased at nearly any craft store, is easily cut
with a razor blade or hobby knife, and can be
glued to quickly create relatively strong structures.
The NXT motors can be mounted to the foam
board as shown in Figure 7. We chose to orient
the motors vertically, but foam board is so easy to
work with that you can let your imagination run
wild. Vertical foam board beams were added next
to each motor to provide lateral support for the
motors and to act as legs for an upper level.
Our finished robot is shown in Figure 8. The
second level supports the NXT brick (the computer)
and — because it is glued to the vertical foam
board supports — it adds significant rigidity to the
assembly. Notice that we added an ultrasonic
distance measuring sensor and three line sensors to
make it easy to experiment with a variety of
environmental situations.
You could use Mindstorms — LEGO’s graphic
oriented language — for your experimentation if
you prefer, but we used RobotBASIC (a free
language available from www.RobotBASIC.com)
to interface with our robot. One of the nice things
about the NXT is that communication with the
motors and sensors can be handled using direct
commands. This allows RobotBASIC programs to
control the robot (and read sensor data) without
downloading any programs to the robot itself.
LEGO’s direct commands are simply strings of
data that communicate directly with the NXT’s
FIGURE 8. The finished robot has an ultrasonic distance sensor
and three line sensors.
44 SERVO 12.2011