FIGURE 3. An early
photo of Maxwell, a
human-scale mobile
manipulator using
Dynamixel and ROS.
FIGURE 4. The
TurtleBot arm.
42 SERVO 04.2012
4,096 positions over 360 degrees of motion, or a resolution
of 0.087 degrees. This greatly improves our ability to place
the robot gripper exactly where we want it.
The new MX-servos also have a 32-bit microcontroller in
them, unlike the older eight-bit controller found in previous
series. This allows a maximum bus rate of up to 3 MBps
which could be useful if you want to very finely control your
robot arm. The improved controller also offers real PID
control and access to the individual P, I, and D term gains
which opens up a number of cool possibilities for tweaking
the servo performance. In all cases, the MX-series servo has
mechanical dimensions compatible with its equally-sized RX
predecessor. The MX- 28 servo is available now; MX- 64 and
MX-106 servos should be on shelves shortly.
Dynamixel Controllers
Since the Dynamixel servos have a serial bus, you can
actually connect them directly to a serial port or to a USB
port using a USB-to-serial adapter such as the Robotis
USB2Dynamixel. However, we can get even better
performance by placing a stand-alone controller in between
the USB and Dynamixel buses.
Several years ago (when I helped start the Mech
Warfare competition at RoboGames), I found myself
wanting an easy-to-use microcontroller board with
integrated XBEE wireless radio and the ability to control
Dynamixel servos. Out of this need grew the ArbotiX
RoboController. After Mech Warfare that year, I found that
a number of other people had a similar need. The ArbotiX
RoboController is available from Trossen Robotics, and all of
the software is released under an open source license.
Why do I bring this up? Because over the past year and
a half, I have been using the ArbotiX to connect my robot
hardware to a laptop running ROS. I have stopped using
the XBEE radio connection (as was used for remote control
in Mech Warfare) and started using a direct hard-link wire
(a USB-to-serial cable from FTDI) to achieve a more robust
connection, and I have added larger motor drivers to
support a larger drivetrain for my 25 pound, 5 ft tall mobile
manipulator, Maxwell (Figure 3). Maxwell is currently
undergoing a series of upgrades after which he will have a
new arm consisting of mostly MX- 64 servos, instead of the
current mix of both AX and RX servos which has caused a
nightmare of wiring issues. I'll have more details about
Maxwell in next month's SERVO Magazine.
I built the ArbotiX-ROS drivers from the ground up with
the intention that users could quickly configure a robot
using only a few lines of a configuration file without writing
much (if any) code. The drivers are documented at
www.ros.org/wiki/arbotix and are released under an
open source license. The controllers offer code that allows
Dynamixel-based robots to easily leverage the navigation
and arm navigation capabilities of ROS.
Some Examples
There are a number of mobile manipulators out there