The February 2023 issue of IEEE Spectrum is here!

Close bar

Learn How to Program a TurtleBot and Use ROS

What can you do with a TurtleBot 2? We're about to find out

3 min read
Learn How to Program a TurtleBot and Use ROS

This is the first post in our TurtleBot tutorial series. Check back every week for new posts.

Can a robotics journalist with a degree in geology program a real robot to do cool new stuff? We're going to find out, with a new series of articles featuring the TurtleBot 2.

Hi there. My name is Evan, and I write about robots for IEEE Spectrum. I've written thousands of robot-related articles since way back in 2007, so while it may be true that I know rather a lot about robots, I'm certainly not what you’d call a roboticist, in that I have essentially no idea how to build or program an actual robot. I have a degree in astrogeology, of all things. I've always felt bad about that: here I am, writing about all of this robot stuff, with a background in Martian impact cratering. I mean, how can I possibly get other robot people to take me seriously when I don’t know the first thing about making a robot, right?

So, I'm going to start doing something about that. Clearpath Robotics and the Open Source Robotics Foundation have very generously agreed to lend me a shiny new TurtleBot 2, which I'll be using to write a series of tutorials based on the experiences that I have with it. Seeing as I’m an astrogeologist, my job will be to start from scratch, putting together articles and tutorials that absolutely anyone will be able to follow along with to see what it's like getting a TurtleBot up and running and doing fun things, even if you have no experience with robots or Linux or ROS or any of that (since I pretty much don't).

Let me give you just a little bit more detail on my background, so that you know where I’m starting from on all this. Firstly, I’m a Windows user. I’ll be writing these tutorials on a relatively new desktop PC running Windows 7. For the robot, I'll be using the Robot Operating System (ROS), which runs on Linux, so getting all that to work is going to be a challenge all by itself. I do know how to write computer programs, but only in Visual Basic (!), which isn't going to be particularly useful, except that it might (I’m hoping) make it a little bit easier for me to understand the syntax and structure of other programming languages. So I do have a little bit going for me (I think), but even if you don’t, nothing in here should be beyond you if you have a willingness to do a little bit of learning.

Now, why a TurtleBot and ROS and not some other platform and operating system? There are a couple reasons. You can find all kindsof roboticskits for beginners that are easy to build and program, but you probably don’t need our help with those. We wanted to tackle something not-easy that might be a little bit intimidating for most people (and for the record, I’m certainly intimidated). TurtleBot is a serious robot (it has a mobile base with sensors, a Microsoft Kinect, and a computer), but since the hardware is provided for you, it's all about the software, which is the whole point: we're not going to be building a robot, we're going to be teaching a robot, and teaching ourselves. The vid below, which we posted last year when the TurtleBot 2 was unveiled, gives an overview of the platform:

Also, we're interested in getting some firsthand experience with ROS. We write about ROS a lot, because many (if not most) of the newest and coolest robots are running it. The appeal is, in part, that we can use ROS to take advantage of a huge community of roboticists doing lots of clever things on all kinds of robots, and let their expertise help us make our TurtleBot smarter without needing some kind of crazy Ph.D in robotics ourselves.

What's going to happen now? Over the next weeks and months, we're going to get our new TurtleBot up and running and doing cool stuff. We'll figure out Linux and ROS. We'll get it to follow us around and map rooms. We'll teach it to do new things that nobody has ever gotten a TurtleBot to do before, and maybe even slap some fun accessories on there. To be honest, I'm not exactly sure where this is going, but that's part of the fun: we're going to just follow our TurtleBot wherever it wants to take us. And if you have ideas or questions, let us know in the comments.

[ TurtleBot ]

[ Clearpath Robotics ]

[ Open Source Robotics Foundation ]


The Conversation (0)

The Bionic-Hand Arms Race

The prosthetics industry is too focused on high-tech limbs that are complicated, costly, and often impractical

12 min read
A photograph of a young woman with brown eyes and neck length hair dyed rose gold sits at a white table. In one hand she holds a carbon fiber robotic arm and hand. Her other arm ends near her elbow. Her short sleeve shirt has a pattern on it of illustrated hands.

The author, Britt Young, holding her Ottobock bebionic bionic arm.

Gabriela Hasbun. Makeup: Maria Nguyen for MAC cosmetics; Hair: Joan Laqui for Living Proof

In Jules Verne’s 1865 novel From the Earth to the Moon, members of the fictitious Baltimore Gun Club, all disabled Civil War veterans, restlessly search for a new enemy to conquer. They had spent the war innovating new, deadlier weaponry. By the war’s end, with “not quite one arm between four persons, and exactly two legs between six,” these self-taught amputee-weaponsmiths decide to repurpose their skills toward a new projectile: a rocket ship.

The story of the Baltimore Gun Club propelling themselves to the moon is about the extraordinary masculine power of the veteran, who doesn’t simply “overcome” his disability; he derives power and ambition from it. Their “crutches, wooden legs, artificial arms, steel hooks, caoutchouc [rubber] jaws, silver craniums [and] platinum noses” don’t play leading roles in their personalities—they are merely tools on their bodies. These piecemeal men are unlikely crusaders of invention with an even more unlikely mission. And yet who better to design the next great leap in technology than men remade by technology themselves?

Keep Reading ↓Show less