Five years ago, a robot slowly trundled around a Californian office doing things like opening doors and using electrical sockets.
They're routine activities for people, but this was a Willow Garage PR2 alpha robot. By navigating through eight doors and using nine outlets, it notched an important milestone -- using the Robot Operating System (ROS) to accomplish its complex mission.
PR2, a bulky, rolling droid with two arms, was relying heavily on ROS to open the doors and plug itself in. ROS is an open-source operating system that has continued to grow since that day in June 2009 and is now helping robots tackle real-world tasks in unexpected ways.
First developed in 2007, ROS is a collection of tools and libraries that serve as a framework for writing robot software. It's basically a programming platform for robots, just as Android is a platform for smartphone apps.
It's also an approach to artificial intelligence grounded in the premise that the real world is such a complex puzzle for robots to grasp, navigate and act upon that machines must share their knowledge and skills in order to be more useful.
A recent ROS software package, for instance, allows robots to find objects with handles in 3D point clouds. A demo video on YouTube shows Rethink Robotics' Baxter research and assembly robot using the fix to find laundry detergent bottles, scrubbers and pots, grab them and drop them into a box.
Other examples from robotics labs include using ROS to get PR2 robots to fetch beer and fold laundry. But the OS is spreading far beyond research applications.
While many industrial robot arms are using ROS, future commercial applications could be similar to cleaning robots from Avidbots. The Canadian startup is developing separate machines that automatically sweep and scrub floors in commercial facilities like shopping malls or warehouses, a bit like Roombas for large spaces.
The ROS-powered robots cooperate with each other by trading their maps of cleaning areas. Avidbots says renting or buying its robots can save companies 50 percent or more on floor-cleaning costs compared to human crews.
Meanwhile, Blue River Technology, a startup based in Mountain View, California, is using the core features of ROS in agricultural work. Its LettuceBot is an automated computer vision system that kills unwanted lettuce plants. As a tractor pulls the system through a crop of lettuce, algorithms can select baby lettuce plants and then kill them with a precisely delivered overdose of fertilizer spray.
This makes lettuce "thinning" more efficient since lettuce plants have to be close together to germinate but some must be removed for others to grow. LettuceBot can thin out a 6-hectare plot in a few hours compared to two days with 50 workers. If LettuceBot runs into problems, however, engineers can quickly check the ROS code, which is grouped into "nodes," to implement a solution. The hackability factor is a major benefit of an open-source platform.
"The impressive thing about ROS was it allowed only a few engineers to write an entire system and receive our first check for service in only a few months," Willy Pell, a senior systems engineer at Blue River, wrote in an email.
ROS is also being used in a worldwide fleet of hundreds of cars that gather data for Nokia's Here mapping apps. The cars are equipped with rooftop Velodyne LIDAR sensors, GPS and cameras, and data from them must be processed before storage. That's where ROS comes in.
"The system of sensors and computers means the software that's needed is very like that which is used to create robots," Here engineer Michael Prados said recently in a blog post.
Mapping the outside world is a long way from ROS's beginnings in Willow Garage.
"In addition to the variety of platforms, we've seen ROS come to offer a set of powerful algorithms that make programming robots easier, including perception, planning, control and simulation," Brian Gerkey, CEO of the Open Source Robotics Foundation (OSRF) and a former director at Willow Garage, wrote in an email.
The OSRF has been promoting ROS as well as Gazebo, an open-source 3D software program that allows engineers to simulate robots and their sensors before building them.
One of ROS's most far-flung deployments began in April when the International Space Station received a crucial component for its Robonaut 2 humanoid robot, which was developed by NASA. Robonaut's flexible legs arrived aboard a Space X Dragon spacecraft as part of a resupply mission to the station.
The legs will allow Robonaut to become a mobile system and reposition itself in the station, where it will gradually take on maintenance chores. ROS is being used in the control system for the legs of the robot, which will eventually work outside the station as well, performing tasks in the vacuum of space.
"We've seen ROS used on pretty much every kind of robot that you can imagine, wheels to legs, ground to air to water and beyond," Gerkey wrote.
"Five years ago, you would have spent months or even years writing the code to let your new robot navigate safely; now it's a matter of installing some open source tools and tweaking some configuration files."