I really enjoy my TurtleBot. I haven’t programmed it to do anything very useful, like bringing me coffee, but it’s still a lot of fun: It lets even a n00b like me explore and learn a bit about ROS, or Robot Operating System, the influential software platform used by a growing number of robotics researchers and companies around the world. My kids seem to like the TurtleBot, too. It’s now decorated with “Frozen” stickers and a drawing of what I assume is Elsa’s face.
Now, after nearly three years, ElsaBot needs an upgrade. In addition to a new battery pack, I’m considering replacing the Asus netbook that powers the robot. Something smaller, more powerful, and less ugly would be great.
Looking at what other TurtleBot owners have done, I think one option to consider is picking one of the many ARM-based systems that support ROS—Qualcomm’s Snapdragon, Nvidia’s Jetson, or even a Raspberry Pi. At only $35, a Raspberry Pi 2 or 3 looks particularly enticing, although the install documentation looks particularly frightening (n00b, remember?). For a little more money, there’s the TurtleBot 2e project, based on a Qualcomm DragonBoard 410c ($75), but again, the installation looks quite complex.
The Intel Joule 570x development kit includes a 64-bit, 1.7 GHz quad-core Intel Atom processor, 4 GB RAM, 16 GB eMMC memory, 4K video capture and display, 802.11ac Wi-Fi, USB 3.0, and other interfaces. The compute module itself (the silver rectangle above) is about the size of two quarters side by side; the rest of the dev board is used for I/O ports.Image: Intel
Yet another option I’m looking into is Intel’s Joule [right], a new computer board aimed at robots, drones, AR/VR, computer vision, and Internet of Things (IoT) devices. The board has impressive specs, including 4K video and support for Intel’s RealSense depth camera. The only bad thing: This thing is pricey! The high-end version, the Joule 570x, is on sale for $370. So, yeah, you can get 10 Raspberry Pi boards for the same amount. Clearly, the Joule is not designed for your average DIY project; Intel says it’s for developers, manufacturers, and entrepreneurs who are working on high-performance applications and want to get products to market fast. It plans to introduce the Joule 550x, a less expensive version, as well as stand-alone Joule modules, later this year.
A few weeks ago I saw a short YouTube video showing a Joule-powered TurtleBot. It turned out to be part of a demo that Canonical, the company behind the Ubuntu Linux operating system, prepared for the Intel Developer Forum (IDF) in August. To find out more about that project, I spoke with Michael Benz, the Canonical engineer who set up the TurtleBot for the event.
Benz says that, for a device like Joule, you’d want to use Ubuntu Core, also known as Snappy, a stripped-down version of the full Ubuntu OS that offers more speed, stability, and security. And to run applications on Snappy, instead of conventional app installs, you’d use so-called snaps. “Snaps are self-contained packages, so they have everything they need to run on top of the OS,” he explains.[shortcode ieee-pullquote quote=""Snaps are self-contained packages, so they have everything they need to run on top of the OS. (For a ROS app) the snap would run a dependency check and pull in every ROS piece needed and bundle all in a package"" expand=1]
For a TurtleBot application like the one he developed for IDF—the robot drove within a tape-delimited area while streaming video to a nearby computer—the snap would “run a dependency check and pull in every ROS piece that it needs and bundle all in a package,” Benz says, adding that the snap would be Ubuntu release-independent.
This month, Canonical is expected to release an Ubuntu Core image for Joule (images are already available for other devices). Benz is also planning to put his IDF demo as a snap on Ubuntu’s public snap store. “So you’ll get the entire ROS operating system as well as my Python code and that will install as a snap,” he says.
This seems really interesting for robotics. If developers can create ROS apps as snap packages, it could become much easier for users to run—and update—apps on their robots without having to go through complex installations and worry about dependencies, libraries, and so forth. Indeed, some developers are already experimentingwith this possibility, and the Open Source Robotics Foundation (OSRF), which maintains ROS, seems to have plans for a ROS snap store. “You’ll be able to write, share, and run ROS-based Snappy apps for your favorite robots,” they wrote in a blog post last year.
Could this help make ROS more accessible to those who are not command-line ninjas or computer science PhDs? I sure hope so. Which brings me back to my TurtleBot. I still haven’t decided what to do about its computer. But apparently there are some 2500 TurtleBots out there in the world, so if you own one and have upgraded it, I’d love to hear what compute module you’re using.
Also, ROSCon 2016 is starting tomorrow, so hopefully we’ll get an update on the ROS snap store, other ROS-supported devices, and much more.
And on a TurtleBot-specific note, we’re expecting some exciting news! Evan, who also loves his TurtleBot (he apparently takes Trevor everywhere) will be there to cover everything. Stay tuned!
Erico Guizzo is the digital product manager at IEEE Spectrum. An IEEE Member, he is an electrical engineer by training and has a master’s degree in science writing from MIT.