TurtleBot: ROS Meets Kinect Meets Create
FIGURE 9.
Create wheel,
encoder, and
drive system.
FIGURE 8. TurtleBot arm with
Robotis AX- 12 actuators.
FIGURE 7. Calliope Development
Platform from robotshop.com.
ROS has progressed beyond ‘switchyard’ — the name given to
it at Stanford’s SAIL (Stanford Artificial Intelligence Laboratory)
in 2007. Further development of ROS is now centered at Willow
Garage. It supports Ubuntu Linux and is an entirely open
source software that is free for commercial and research use.
After the quick mechanical assembly, the robot is now
ready for its software installation. The TurtleBot kit includes a
green USB drive that contains ROS and Diamondback (the latest
release). At ROS.org, you can go to Robots/TurtleBot/
diamondback/Robot Setup – ROS Wiki for setup and installation
instructions. One thing to remember is to NOT boot up the
brand new laptop to bring up Windows because this will make
it harder to access the BIOS screen. In fact, you can run into
a bit of trouble by calling up Windows Office 2010 to purchase
it at a later time — as I did — not thinking about what the
netbook was intended for in the first place: the robot’s brain.
Insert the USB thumb drive into the netbook and turn on the
computer while repeatedly depressing “Esc” until the dialog
“Please select boot device” appears. Select USB device and hit
“Enter.” Follow the ‘robot setup Wiki’ instructions very carefully.
You’ll shut down, remove the USB drive, re-start, and start up
Ubuntu. The next steps are setting up NTP (Network Time
Protocol), the root password, and the SDK (software
development kit) on the computer. The following steps from the
ROS Wiki site are designed to assist you in getting started with
the TurtleBot and are a great introduction to understanding ROS:
1. TurtleBot Setup: These instructions will guide you through
unpacking your netbook and installing the TurtleBot software.
2. TurtleBot SDK Setup on your computer: These
instructions guide you through how to set up your
computer to control the TurtleBot.
3. TurtleBot Networking Setup: Establishing communication
between the TurtleBot and workstation.
4. TurtleBot Environment Setup: Set up your environment.
5. TurtleBot Bring-up: How to start a TurtleBot.
6. TurtleBot Teleoperation: How to teleoperate your
TurtleBot with a keyboard or a joystick.
7. TurtleBot Follower Demo: How to make your TurtleBot
follow whatever’s in front of it.
8. TurtleBot Odometry and Gyro Calibration: This will show
you how to calibrate or test the calibration of a
TurtleBot, which is highly recommended when running
any navigation-based application.
This article is not intended as a primer on ROS because
the subject is so vast. ROS Electric is the next upgrade after
Diamondback, and should only be installed after a thorough
knowledge of Diamondback, in my opinion. Some people
have found learning ROS to be a fairly daunting task. TurtleBot
and ROS are really for serious robot experimenters; it is not
for a smaller robot running on a microcontroller only. You’re
going to require a fairly powerful netbook at the least, but
once you have your machine assembled and are running
the software, you are literally going to be blown away with
the numerous advanced capabilities of your machine. If you
are even a little familiar with Unix or embedded Linux and
know the C++ that ROS is written in, TurtleBot will be ready
to go after loading the software. You’ll want another computer
(Mac or Windows) as a workstation for Wi-Fi teleoperation,
preferably with a joystick. If you have some trouble or
questions about TurtleBot, ROS, Kinect for Windows SDK,
applications, SLAM and gmapping, or any other topic, the
TurtleBot wiki pages at ros.org are a great resource.
Final Thoughts
The TurtleBot may look like a simple robot, but the
three main components working in conjunction with each
other and ROS deliver a machine that is capable of tasks
limited only by your imagination. Of course, you can build
your own machine by buying or substituting some of the
components, but the nice thing about purchasing the full
TurtleBot kit is the included software which is already set up
for the Create’s base and the positioning of the Kinect.
After the software is loaded, it’s ready to go. SV
SERVO 01.2012 81