TurtleBot: ROS Meets Kinect Meets Create
out for access to the keyboard and screen while it was
powered up. The top plate has a series of 1/8” holes spaced
3/4” apart in a 4-1/2” by 7-1/2” pattern that can be used
for mounting experiments and sensors. The Kinect is mounted
on two 3-1/4” spacers and is set to the back of the robot.
It’s elevated to allow the Kinect’s fixed angle of vision to
detect objects as close to the front of the robot as possible.
The tilt base is not attached; instead, the body of the
Kinect is fastened to the third plate. You have to remove
two adhesive-attached strips from the bottom of the Kinect
to access the threaded holes. The whole mechanical
assembly is very simple and only took me a few minutes.
The Base: The iRobot Create
80 SERVO 01.2012
There have been literally thousands of robots constructed
by using the iRobot Roomba series of robot vacuum cleaners
that were hacked to remove only the vacuum system and
brushes. iRobot quickly saw the potential of a market for robot
experimenters and developed the Create. The basic model is
priced at $129. This Create does not include a rechargeable
battery but rather a green case that holds a dozen alkaline
batteries. I would recommend adding the 3,000 mAh Ni-MH
battery and the iRobot fast charger for a total price of $219,
as the Create can literally ‘eat’ non-rechargeable alkaline
batteries like they were candy. The $60 iRobot Command
module that I mentioned earlier is a great addition if you don’t
want to use just the ROS software that comes with the TurtleBot.
iRobot has what they call the Premium Development
Package which includes the above plus a remote control,
two virtual walls, and the self-charging base for the charger.
The Create is based on the iRobot Roomba 400 series
and is compatible with many of that series’ accessories.
According to the specifications, it is designed to handle a
maximum payload of five pounds and has an extra wheel
supplied to stabilize taller robot designs like the robot shown
in Figure 7 — another Create/netbook/camera configuration.
The TurtleBot arm shown in Figure 8 was originally developed
by Michael Ferguson. WG summer intern, Helen Oleynikova,
worked with the arm and demonstrated it for me. Needless
to say, the 14.1 pound TurtleBot weighs a bit more.
The Create’s wheel shown in Figure 9 is beefy. The
belt drive from the motor is connected to a planetary gear
arrangement, and the shaft encoder (gray and black wires)
is used for odometry. With 32 installed sensors (you can add
more of your own), a 25-pin expansion port, and a series of
10 nice demos built in the Create is an ideal experimental
platform on its own. Using either the command module or
your own microcontroller and the Quick Start Guide (which
gives you access to the compiler and a series of sample programs
using C or C++ or some other programming languages via
the iRobot Open Interface) will give you a great start for an
advanced robot. If you want to use the Kinect, I highly
recommend the use of ROS for its unique abilities with the
Kinect sensor’s more complex data stream (though Microsoft’s
RDS4 has been tweaked to also utilize the vast amount of
visual data). I would never recommend hacking an old
Roomba in an attempt to convert it to a Create-like base, as
you will probably end up with a poorly operating machine
and not have anything like a Create. Keep the Virtual
Walls/Lighthouses though, because they will work with the
Create. At $129, you’ll be far happier buying a brand new
model. Co-founder of iRobot, Helen Greiner, gave me a
Create several years ago and I have found it to be the
perfect ‘already built’ base for most robot experimenter’s
projects. I was quite grateful for the Create because it has
so many applications in robot research. It is easy to see why
WG chose this capable platform for the TurtleBot.
Eyes and Ears: The Xbox 360 Kinect
The advent of Microsoft’s Xbox 360 Kinect sensor was
the true impetus for the development of the TurtleBot and the
Parallax/Microsoft Eddie. The Kinect is not just a camera for
some robot’s processor to make sense of a data stream sent
by the camera. It is an intelligent vision/navigation/mapping
system that — at a mere $130 — can best systems that cost
a hundred times more. Within hours after the Kinect was
introduced in November ‘ 10, it was hacked, and many
photos and hacked data soon appeared on the Internet. By
the 60 day point — with sales averaging 133,333 units per
day — it had made the Guinness World Records list as the
best-selling consumer electronics device of all time.
You can use a Kinect with a Create utilizing a tutorial by
Melonee Wise at www.ros.org/wiki/kinect/Tutorials/Adding
machine was her stepping stone to the TurtleBot. Microsoft
has donated 2,500 Kinect sensor systems to FIRST high school
competition robotics teams for use during the 2012 season — an
ideal next step up for these steadily advancing series of robots.
There is so much information available on the Internet about the
Kinect itself, Kinect hacking, and robot applications that I won’t
go any deeper into it here. It is the ROS and the Kinect
working together that makes the TurtleBot what it really is.
ROS: the Soul of TurtleBot
I had some uncertainties about just how adept I might
be when installing and using ROS on the Asus netbook in
the TurtleBot. As a metal-bender, electron-shover, software
and programming have never been my strong suit.
Fortunately, Melonee and Tully spent an afternoon guiding
me through some of the basics, so I was able to adapt. I
did make a few mistakes along the way, however.
After downloading the 99 page tutorial, I sat down and
tried to immerse myself in it. Some parts came easily to me
and some I really had to think about. I highly recommend all
potential buyers of the TurtleBot first sit down with the free
downloads of the open source ROS and the variations from
ros.org, and get used to the way it operates. ROS is far more
than a programming language as it is an amazing and quite
popular extensible collection of libraries and tools for robotics.
One of the nice features is the ability for the community of
users and developers to be able to contribute a system package.