A History of ROS (Robot Operating System)

BY RICARDO TELLEZ /  TUESDAY, 09 JULY 2019 /  PUBLISHED IN ROS

Go to TheConstructSim.com for the ROS Ignite Academy and ROS course list!

ROS (Robot Operating System) is now very popular among roboticists. Researchers, hobbyists, and even robotics companies are using it, promoting it and supporting it. However, not always was like that. Do you know ROS history? In the early days, ROS was an unknown only used by a bunch of robotics freaks. How did ROS reach its current status of robotics standard? Let’s see in this article how ROS reached its current superior status.

The Stanford Period

ROS started as a personal project of Keenan Wyrobek and Eric Berger while at Stanford, as an attempt to remove the reinventing the wheel situation that robotics was suffering. Those two guys were worried about the most common problem of robotics at the time:

  • too much time dedicated to reimplement the software infrastructure required to build complex robotics algorithms (basically, drivers to the sensors and actuators, and communications between different programs inside the same robot)
  • little time dedicated to actually building intelligent robotics programs that were based on that infrastructure.

Even inside the same organization, the re-invention of the drivers and communication systems was reimplemented for each new project. This situation was beautifully expressed by Keenan and Eric in one of their slides used to pitch investors.

robotics-reinvent-wheel-History-ROS

Most of the time spent in robotics was reinventing the wheel (slide from Eric and Keenan pitch deck)

In order to attack that problem, Eric and Keenan created in 2006 a program in Stanford called the Stanford Personal Robotics Program, with the aim to build the framework that allowed processes to communicate between each other plus some tools to help create code on top of that. All that framework was supposed to be used to create code for a robot they also will build, the Personal Robot, as a testbed and example to others. They would build 10 of those robots and provide them to Universities so they can develop software based on their framework.

NOTE: The people more versed in ROS would recognise on those the precursors of ROS-comm libraries and the Rviz, rqt_tools and the like of current modern ROS distributions. Also, the Personal Robot was the precursor of the famous PR2 robot.

pr1-robot-History-ROS

PR1 robot, picture by IEEE Spectrum

Similar frameworks at the time

The idea of such a system for robotics was not new. Actually, there were some other related projects already available for the robotics community, being Player/Stage one of the most famous in the line of open source, or URBI in the line of proprietary systems. Even Open-R, the system developed by Sony which powered the early Aibo robots of 1999, was a system created to prevent that problem (a shame that Sony canceled that project so they could have become the leaders now. Ironically, this year Sony launched again a new version of the Aibo robot… which runs ROS inside!). Finally, another similar system developed in Europe was YARP.

Actually, one of the leaders of the Player/Stage research project was Brian Gerkey, who later went to Willow Garage to develop ROS, and now is the CEO of Open Robotics, the company behind the development of ROS at present. On its side, URBI was a professional system led by Jean-Christoph Baillie, that worked very well but could not compete with the free-ness of ROS.

That is an important point to discuss: URBI was (at least) as good as ROS. I used it for many research tasks while doing my Ph.D., for example this code about making Aibo robot walk using neural networks (in 2005!!), making Aibo dance, and do some other tricks. But URBI failed when competing with ROS. URBI had as many tools for debuging, and as many documentation as ROS. However, why is it that URBI failed against ROS?

The fastest readers will jump to the point the Urbi was not free. Actually, it was quite expensive. Was the price what killed URBI? I don’t think so. In my opinion, what killed URBI was the lack of community. It takes some time to build a community, but once you have it, it acts like changing gears. URBI could not build a community because it relied on an (expensive) paying fee. That makes that only people that can buy are accessing the framework. That is limiting the amount of community you can create. It is true that ROS was free. But that is not the reason (many products that are free do fail). The problem is that they built a community. Being free was just a strategy to build that community.

Switching gears

While at Stanford, Keenan and Eric achieved to get $50k of funding and used it to build a PR robot and a demo of what their actual project was. However, they realized that in order to build a really universal system and to provide those robots to the research groups, they would need additional funding. So they started to pitch investors.

At some point in time of 2008, Keenan and Eric met with Scott Hassan, investor and the founder of Willow Garage, a research center with a focus on robotics products. Scott found their idea so interesting that decided to fund it and start with them a Personal Robotics Program inside Willow Garage. The Robot Operating System was born and the PR2 robot with it. Actually, the ROS project became so important that all the other projects of Willow Garage were discarded and Willow Garage concentrated only on the development and spread of ROS.

Willow Garage takes the lead

ROS was developed at Willow Garage for around 6 years, until Willow shut down, back in 2014. During that time, many advancements in the project were made. It was this push during the Willow time that skyrocketed its popularity. Also it was during that time that I acknowledged its existence (I started with ROS C-turtle in 2010) and decided to switch from Player/Stage (the framework I was using at that time) to ROS, even if I was in love with Player/Stage (I don’t miss you because ROS is so much better in all aspects… sorry Player/Stage it is not me, it is you).

In 2009 the first distribution of ROS was releasedROS Mango Tango also called ROS 0.4. As you can see, the name of the first release had nothing to do with the current naming convention (for unknown reasons to this author). The release 1.0 of that distribution was launched almost a year later in 2010. From that point, the ROS team decided the naming of the distributions after turtle types. Hence, the following distributions and release dates were done:

Along that time, other facts also happened:

  1. In 2009, they built a second version of the Personal Robot, the PR2
  2. In xxx, they launched ROS Answers, the channel to answer technical questions about ROS.
  3. The first edition of the ROSCON was in 2012. The ROSCON became the official yearly conference for ROS developers.
  4. In 2010, they built 11 PR2 robots and provided them to 11 Universities for robotics software development using ROS (as the original idea of Eric and Keenan). At that point, the PR2 robot was for sale, so anybody in the world could buy one (if enough money available ;-).
  5. Simulation started to show very important. More precisely, 3D simulation. That is why the team decided to incorporate Gazebo, the 3D robotics simulator from the Player/Stage project, into ROS. Gazebo became the default 3D simulator for ROS.

As ROS was evolving, all the metrics of ROS were skyrocketing. The number of repositories, the number of packages provided, and of course, the number of Universities using it and of companies putting it into their products.

ros-evolution-repo-packages-History-ROS

Evolution of ROS in the early days (picture from Willow Garage)

Another important event that increased the size of the ROS community was that, in 2011 Willow Garage announced the release of Turtlebot robot, the most famous robot for ROS developers. Even if PR2 was the intended robot for testing and developing with ROS, its complexity and high price made it non viable for most researchers. Instead, the Turtlebot was a simple and cheap robot that allowed anybody to experiment with the basics of robotics and ROS. It quickly became a big hit which is used even today, in its Turtlebot2 and Turtlebot 3 versions.

In 2013 Willow Garage ‘announced’ that the company will dissolve along the year.

I remember when we received the news that Willow Garage was closing. I was working at that time at Pal Robotics. We all at Pal robotics were very worried. What would happen with ROS? After all, we had changed a lot of our code to be working with ROS. We removed previous libraries like Karto for navigation (Karto is software for robot navigation, that at present is free, but at that time we had to pay a license for using it as the main SLAM and path planning algorithms of our robots).

The idea was that the newly created Open Source Robotics Foundation would take the lead of ROS development. And many of the employees were absorbed by Suitable Technologies (remember one of the spin-offs created from Willow garage, which ironically does not use ROS for their products ;-). The customer support for all the PR2 robots was absorbed by another important company, Clearpath robotics.

Under the Open Source Robotics Foundation umbrella

Under the new legal structure of the OSRF, ROS continued to develop and release new distributions

The reports created after each year are publicly available here under the tag ROS Metrics.

Having reached this point, it is important to state that the last distribution of ROS will be released next year in 2020. It is called ROS Noetic, which will be based on Python 3, instead of Python 2 as all the previous ones. From that date, no more ROS 1 distributions will be released, and the full development will be taken for ROS 2.

What is ROS 2? Let’s dig in…

ROS 2.0

Around 2015, the deficiencies of ROS for commercial products were manifesting very clearly: single point of failure (the roscore), lack of securityno real time support… were some of the main deficiencies that companies argued for not supporting ROS in their products. However, it was clear that, if ROS had to become the standard for robotics, it had to reach the industrial sector with a stronger voice than the one of the few pioneer companies already shipping ROS in their product.

In order to overcome that point, the OSRF took the effort to create ROS 2.0.

ROS 2.0 has reached already its fourth distribution in June this year with the release of Dashing Diademata.

Recent movements in the ROS ecosystem

  • On 2017 the Open Source Robotics Foundation changed its name to Open Robotics, in order to become more a company than a foundation, even if the foundation branch still exists (some explanation about it, in this post and in this interview to Tully Foote).
  • Recently, Open Robotics has opened a new facility in Singapore and established a collaboration with the government there to develop
  • Local ROS conferences have been launched:
    • ROSCON France
    • ROSCON Japan
  • In the last months, big players like Amazon, Google or Microsoft have started to show interest in the system, and show support to ROS.

That is definitely the sign that ROS is in good health (I would say in better health than ever) and that it has a bright future in front of it. Sure many problems will arise (like for example, the current problem on creating a last ROS 1 distribution based on Python 3), but I’m 100% sure that we, I mean, the whole ROS community, we will solve them and build on top of them.

I expect a long and strong life for ROS. #GoROS !

Conclusion

ROS is a mature open source project. I would say that ROS is the more mature open source robotics project of the world. So if you are planning to get into robotics, you need to master it.

On the next article, we are going to move into the problem of learning ROS. ROS is complex. ROS takes time. So how to approach that learning to optimize your time? That is what I’m going to show you in the next article (if you cannot wait until then, let me point you towards the ROS online academy that we have built to speed up your learning).

Share this:

TAGGED UNDER: ROS HISTORY

Ricardo Tellez

ABOUT RICARDO TELLEZ

Co-founder and CEO of The Construct. Prior to this role, he was a postdoc researcher at the Robotics Institute of the Spanish Research Council, and worked for more than seven years at Pal Robotics developing human size humanoid robots, including the navigation system and the reasoning engine. He holds a PhD in artificial intelligence and aims to create robots that really understand what they are doing.