Long live ROS: Why the robotics revolution is being driven by open source development
On the heels of a major coup in the DARPA Robotics Challenge, Open Source Robotics Foundation CEO Brian Gerkey talks humanoid disaster robots, drones, and the open source future of the flourishing robotics industry.
The 2015 DARPA Robotics Challenge (DRC) wrapped up last month, and while teams from Korea and the U.S. took away $3.5M in prize money, the real winner was the open source robotics movement. Of the 23 teams competing in the DRC, 18 utilized the open-source Robotic Operating System (ROS) and 14 used Gazebo, an open source robot simulator that allows developers to test concepts in robust virtual environments without risking valuable hardware.
ROS and Gazebo fall under the stewardship of the Open Source Robotics Foundation (OSRF). Originally part of Willow Garage, a legendary Bay Area hardware developer and proponent of open source solutions in personal robotics, OSRF spun off in 2012 as a non-profit dedicated to advancing the development of open source platforms for the robotics community. In the wake of the fanfare surrounding the DRC, I reached out to Brian Gerkey, CEO of OSRF, to find out what the competition has meant to the open source movement and what the impact of open source solutions will be for the robotics industry in the years ahead.
Greg: Early on in the DRC, Gazebo received the official blessing of the DRC. How did that come about?
Brian: Some folks from [DRC organizer] Gill Pratt's team approached us in 2012 while we were still at Willow Garage, though we already had plans to spin off the Open Source Robotics Foundation as a non-profit. They told us they were planning to kick off a new robotics challenge, and because they would be dealing with complex, expensive, sometimes fragile humanoid robots, simulation was going to be a very important tool. They wanted to make sure competitors would have access to a high quality simulator to do development and testing.
Interestingly, they wanted to make one path into the competition through software simulation. Developers would show off their skills, and the initial winners would be given an Atlas robot. Gill has said publicly that part of his vision for the DRC was to have a high quality open source simulator be a legacy of the program. That's because a simulator broadens access to robotics, which are inherently expensive. The lowest cost robot is one that exists in your computer.
Greg: Why do you think Gazebo was the most attractive simulator for DRC organizers?
Brian: The focus we've had with Gazebo that differentiates us, and really it's only possible because we're an open-source community, is that philosophically we want Gazebo to be the best possible stand-in for a robot. Most simulators tackle very specific control problems but don't balance all the other aspects, all the sensors a robot might have, the way it exchanges data with the world, the state of the battery, etcetera. If you've written a code for talking to a robot with Gazebo, you can use that same code to talk to your actual robot because we've simulated that robot to a high enough fidelity. That's really unique.
Greg: What conditions did Gazebo need to simulate for the DRC, and how did the platform's capabilities change because of that partnership?
Brian: Historically, Gazebo had been used to simulate mostly wheeled or tracked robots. So the main change is that now we needed to simulate walking robots. That's much more complicated. One of the biggest challenges was modeling how to measure reaction forces on the bottom of the feet. Also, humanoid robots tend to have many more degrees of freedom than other robots. A car basically has four joints, the wheels. Atlas, if you include the articulated hands that were used in the competition, has 53 degrees of freedom. It's a much more complex system to simulate, and you had to have whole thing run in real time.
Greg: It makes sense that a lot of teams were using Gazebo, since that was basically the gateway into the competition for some groups, but it's striking to me, and a real testament to the proliferation of the operating system, that so many teams were also using ROS.
Brian: Right, and that wasn't anything we did specifically. Those teams just decided it was the right tool for the job. It was a pleasant thing to find out. ROS is just so heavily used now. We were walking through the team garage and you saw ROS running all over the place.
Greg: There's a simple corollary that comes to mind when talking about an open source operating system for robots, and that's the Windows/Linux paradigm. Is that an appropriate comparison, and do you see the field being refined down to a couple big proprietary solutions and then ROS?
Brian: You know, with windows versus Linux, Windows got there first by a long shot. It was the entrenched party. So Linux is the scrappy upstart. In the case of robotics, open source got there first. The community grew up doing things the open source way. There was actually a period in the mid-2000s where Microsoft put a lot of effort into its Windows-based Robotics Developer Studio. It had really good features, but it's never taken off. So yeah, I think robotics are proving to be a different situation than what happened with personal computing.
Greg: What's in the offing for ROS and Gazebo, and where will they be most impactful in the next couple years?
Brian: Gazebo recently added the first models integrating aerial and underwater vehicles. And that's all integrated into the same simulator, so it's all part of Gazebo's virtual world. Another thing that's really going to aid robotics research is that through collaborations with Stanford and Georgia Tech we're introducing different kinds of physics than we currently use. So that's a few ways to solve Newtonian problems. For instance, are you simulating a very complex robot, or are you simulating 1000 different flying vehicles moving around with respect with each other? There are fundamentally different approaches you might use to give you a balance of efficiency and fidelity. Gazebo currently offers four different physics options that developers can use.
With all that, drones are really active with both ROS and Gazebo. Historically, drones have a GPS autopilot on board. So right now, drones can take off, go to a GPS point, land. If there are obstacles in between, most drones will run into them because they don't have sophisticated path planing. So what developers are doing is adding a companion computer or a co-pilot. They run ROS on there, just like many industrial robots are now doing, plug in new sensors, and add autonomy.
In terms of impact, an equally important area is the forthcoming generation of service robots. These are robots that are moving around in warehouses, factories, institutional environments, hotels. They run around places where humans are, and they do useful things. Right now you're starting to see robots do delivery tasks or warehouse management. Gazebo excels as simulator for those situations. So you can actually have software engineers program against a Gazebo robot, not a physical robot. YOu can put it through its paces virtually, then use that same code you develop with your physical robot.