iRobot Create 2 – NVIDIA Jetson TK1

The iRobot Create 2 is an affordable robot platform for education and research. Looky here:

Introduction

We are at an interesting point in time in the robotics world. Robots encompass a wide variety of disciplines and engineering, the cross roads where virtually everything technical meets. By their nature, robots are both mechanical and electrical. New school robots also include computerization, which means computer hardware and software are integrated into the system.

Robots come in almost an endless variety of shapes and sizes, from hobbyist Lego Mindstorm robots, to DARPA challenge humanoid robots, to self driving cars, to automated drones, to specialized Kuka robotic arms used in industrial manufacturing. Here’s the thing: the world of robots is the epicenter of change due to advancements in material sciences, computer hardware and computer software. The “state of the art” four years ago is common place today due to the additive advances in all of the associated fields.

One question is, “How do you get started in robotics?” A lot of people are first exposed to robots with Lego Mindstorm. Once they “outgrow” that (if that’s even possible at this point), where do you go next? Jumping in feet first brings a bewildering array of mechanical, electrical and computer terminology. Even if you are comfortable in any one of those disciplines, crossing the line into another can bring major pain.

Another point is cost. Once you start going into “real robot land”, the bills add up quick. As a beginner, it’s hard to tell what the difference is between all of the different gears and motors and servos, or what’s appropriate where. It’s difficult to get involved in the field without spending some serious coin. Once you do, the “real robots” require a lot of knowledge to get running smoothly. I’ve met many people who have been frustrated trying to get something that they think should be simple to work at all.

Robot as a Platform

One solution to this dilemma is to buy a complete robotic platform or kit on which to base your robot studies. You’ll find people doing that in schools or industry for education or research purposes. You will also be shocked to find out what kind of money they pay for these platforms. It is not unusual for the platforms to cost upwards of $5,000 to $50,000 USD. “Extreme Entry level” robots generally start at about $2,000 USD. Hobbyist kits are generally much less expensive, but lack the expandability and durability of a professional robotic platform, and are very often singular in purpose.

The reason that the robotic platform is a good choice for learning is that you do not have to “know the world” to get started. If you have a robotic vehicle, you can think about control as higher level concepts. For example, you may have a four wheel vehicle that you want to drive to a location. There are high level constructs for “go forward”, “turn left”, “turn right”. Things like that. If you were building your own robotic wheeled vehicle from scratch, you would have to tell the electric motors on the robot to spin, at what RPM, figure out where you currently are using some type of encoding, build general navigation and control systems and things like that. In other words, you need to “know” the workings of the underlying hardware from a bottom up perspective.

That’s not a bad thing, and it’s something you may want to learn about later. The professional platforms give you access to the “low level” stuff. But that’s a difficult path to start wandering down the first day as a beginner. Also, if you’re not interested in the lower level functions of the robot, and you want to “create value” by adding higher level functionality, you would be spending your time counterproductively on a “bottom up” build.

As an example, let’s say one wants to add vision based control systems to a robot. The work generally should be on implementing a vision system, not on trying to build a vehicle to the point where you could start adding a vision system. Let’s say we have a NVIDIA Jetson TK1 with a camera attached. We want to follow a yellow ball that’s somewhere in the field of view of the camera. It feels pretty natural to have a simple interface to a working robotic platform that the Jetson could issue commands to navigate towards the ball, rather than spend time building and programming the robotic platform itself. But I’ve told you that the robotic platforms are expensive …

iRobot Create 2

Back in the 2010-11 time frame, iRobot came up with an interesting idea. One of the robots that iRobot builds is the Roomba vacuum cleaner. The idea is that they would take the guts of the Roomba 400 series robots and take out the cleaning brushes and such, then sell them at a nominal price to the education and research and development markets. The customers would get real, production quality robots. They called the “new” robot Create. The nominal cost? Less than $200 USD!

The folks over at Willow Garage (the keepers of Robot Operation System) saw this potential as a great teaching tool, and quickly came up with the idea of “Turtlebot“, adding a laptop for computer brains and a Microsoft Kinect for computer vision to the Create. These additions act as enabling technologies for the Turtlebot to do things like wander autonomously. You can read more about the current Turtlebot on their website.

Because the pace of technology is relentless, after a few years the Create (as well as the Kinect for the Turtlebot) were end of lifed and no longer available.

Which brings us to today. iRobot is now shipping the iRobot Create 2 a $199 USD programmable robot base based on their Roomba 650 robot. The Create 2 is a remanufactured 650, which means that instead of filling up landfills with robot carcasses, the bones can be repurposed back to becoming helpful robotic platforms for education and research.

The Create 2 has two motors used for navigation that turn the drive wheels, encoders for the wheels, bump sensors that detect when the Create 2 bumps into an object, and “cliff” sensors which determine the distance of the robot from the ground. The cliff sensor is used to make sure that the Create doesn’t do a swan dive off the top of the stairs. The cliff sensor is at the front of the robot, before the wheels. If the sensor detects that it’s more than a couple of inches to the ground, the Create stops and tries to avoid tumbling down the stairs. Of course, the Create also has a rechargeable battery. If you’re just adding up the costs of the parts, it’s a good deal. Add the fact that everything is tied to together in a durable package and you can talk to it over a serial cable, it’s a steal.

The Turtlebot idea is good, but technology has changed there too. For another couple of hundred dollars, it is possible now to add a NVIDIA Jetson TK1 Development Kit to the Create 2, replacing the laptop. The Jetson has more raw computing horsepower, plus a GPU, to boot. Still need some ranging sensors, but I think you can imagine the possibilities.

Acquisition!

The next step was to get a Create 2, and have a look. This is the same video as at the start of the article. Looky here:

The Create 2 is meant to be played with, and has places to drill, build and make. You didn’t think I was doing articles on IMUs, LIDAR and Robot Operating System for nothing did you? Looks like we’re in for some fun!

4 Comments

  1. Hello,
    Thank you for sharing this interesting project.

    I have been working on almost the same project as yours. The difference is that I control the robot from serial monitor. I was trying to get the robot to stop when it faces an obstacle. I have searched the Internet for such a code but couldn’t find any. I tried to get something from your code and add it to mine but that wasn’t successful. Could you please help me with this?

    Thank you.

1 Trackback / Pingback

  1. Jetson TK1 Create 2 Robot - Part I - NVIDIA Jetson TK1 Dev

Leave a Reply

Your email address will not be published.


*