ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Why did ros prevail? [closed]

asked 2019-02-27 13:42:26 -0600

shaqdc1 gravatar image

New to ROS, trying to understand the history of robotic frameworks in general and how this opensource software came to be. So why did ROS prevail over other frameworks. In 2012 trinity researchers had done a study where player stage and mds had better scores but now ros is the standard. Is it because of OSRF and it taking over ROS in 2013, or what. Would like to know.


edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by shaqdc1
close date 2019-03-07 11:43:41.738342


@shaqdc1 I don't doubt that this is a duplicate, but a link would be nice.

fvd gravatar image fvd  ( 2019-03-19 06:30:34 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2019-02-28 11:43:38 -0600

ahendrix gravatar image

From what I've seen, ROS has been popular among academics and startup robotic companies for a number of reasons:

  • The Willow Garage internship program and PR2 program trained a lot of interns on how to use ROS, and when they went back to their universities, they brought ROS with them and trained the other students in their lab about how to use it.
  • Willow Garage put a lot of effort into the documentation and documentation structure for ROS. This makes it easier to get started than competing frameworks. (This is the primary reason why I started using ROS)
  • By it's structure, ROS is a federated framework, which makes it easier for developers to use other packages, and easier for developers to release their own work.
  • OSRF (and Willow Garage before it) provide pre-compiled binaries to run ROS on Ubuntu. This helps make it easier to install and run ROS.
  • There is a large demand for books about ROS, and therefore a reasonable number of books about ROS.
  • ROS is (mostly) released under a BSD license that makes it easy for companies to use without worrying about copyright.
  • There are a number of other companies building and supporting relatively capable ROS-based robots that are targeted at beginners, including the Turtlebot project and most of the robots that have been released by Clearpath Robotics.

The primary measures for the success of ROS are the number of papers that cite the original workshop about ROS at ICRA 2009, and the number of downloads of the ROS binary packages. I believe OSRF publishes both of these metrics.

edit flag offensive delete link more



+1 to documentation and accessibility. I would add the existing selection of drivers/bridges and the network effect as another major reason. Few things matter as much to new adopters than "Is this the least painful option that does what I need to do?"

fvd gravatar image fvd  ( 2019-03-01 00:13:06 -0600 )edit

@fvd COuld you elaborate what you mean by existing selection of drivers/bridges and the network effect. I couldn't quite catch it.

shaqdc1 gravatar image shaqdc1  ( 2019-03-04 12:57:02 -0600 )edit

Drivers: There are lots of good ROS nodes to connect sensors and other hardware to ROS; for example the Hokuyo urg_node, lots of camera drivers, and a variety of mobile bases and actuators.

ahendrix gravatar image ahendrix  ( 2019-03-05 01:36:42 -0600 )edit

Network effect: since there is already lots of good software written that uses ROS, this encourages further development of software using ROS, since people try to re-use existing drivers and algorithms.

ahendrix gravatar image ahendrix  ( 2019-03-05 01:38:38 -0600 )edit

answered 2019-03-02 02:13:24 -0600

updated 2019-03-05 09:42:51 -0600

I have been developing robot for about 12 years and using ros for more than 8 years. By the way, I am mechanical background, currently more on programming.

I wrote quite a long essay in Chinese two years ago stating why it is prevail.

I just make an abstract.

  • ROS is better than what I used before ROS in communication, visualization, simulation, transportation, community, commercialization, compare with Windows + RTX, IPC, NAOqi, Labview, qnx, etc.
  • ROS standardise the message types in robotics. That's why ROS start to thrive. Thanks to Willow Garage.
  • Compare with Android (which is more dominant in China for the less functional robot products), ROS definitely has a bright future.

I think if Sebastian is going to remove things from ROS instead of building from scratch, only shows that ROS has its value.

@Sebastian From my opinion, ROS is not designed for embedded system and it is not aim for low level control, though ROS has this feature.

The only thing I agree with Sebastian is that ROS has safty issues, and security issues due to the networking configurations.

Anyway, welcome to have a discussion.

edit flag offensive delete link more


In your own blog you give an example where it took you days (over a week) just to compile a ROS package:

This is not normal. This is terrible software.

ROS is not designed for embedded system

ROS is designed specifically for ubuntu. This is absurd. It is ridiculous to assume that a robot will be running ubuntu.

And people claim it is possible to get ROS to run on other platforms, but good luck with that. You will probably spend a week with trying to get it to compile.

Embedded systems are extremely important in robotics. Most robotics are embedded systems, or contain them in their components.

Compare with Android (which is more dominant in China for the less functional robot products), ROS definitely has a bright future.

It sounds like you don't even know what ROS is. It's not ...(more)

Sebastian gravatar image Sebastian  ( 2019-03-14 13:28:51 -0600 )edit

ROS is terrible, absurd, ridiculous, and I do not know what ROS is.

I am aware that you cannot read Chinese. again, Anyway, welcome to have a discussion.

tianb03 gravatar image tianb03  ( 2019-03-14 22:46:55 -0600 )edit

answered 2019-02-27 16:56:43 -0600

Sebastian gravatar image

updated 2019-02-28 10:37:30 -0600

ROS is not really used in industry due to poor design. It's mostly used by professors and students, who typically don't know better.

Did it prevail? In what sense? As far as I can see it is just popular with people just starting out that don't know better.

EDIT: I was asked to give some technical explanation/insight.

First - one has to ask: What is ROS? The definition I would give is that ROS is a collection of software providing features such as pub-sub messaging, visualization, data serialization, data recording, build management and package management.

The first thing I would like to point out is that these features are often independent and don't need to be used together. From this perspective, ROS seems to be a bunch of distantly-related software modules that are all lumped under the same umbrella. For example, the build management and package management do not need to be used at all. Same with data serialization (in the form of rosparam). Its use is totally optional.

I think this is something that is not explained or understood by a lot of people. A lot of people will be afraid to step outside of the "ROS ecosystem" because they feel that doing so would be doing something wrong. However, this is a mistake because the "ROS ecosystem" is arbitrary. Is rosconfig the best software that does that type of serialization? Is catkin_make the best build manager? Is rospack the best package manager? There are many good alternatives out there, but people will not explore this because they are discouraged from doing so.

For me, I started using ROS and then slowly removed the components one-by-one. I removed catkin_make because it was very slow and generally hard to use when compared to a conventional CMake (or make) build. CMake is a widely used standard that has been around for decades. If you have any sort of problem you can find solutions online. catkin_make is built on top of CMake for reasons that I find unclear, and has only existed for less than a decade. It is also used by far less people. For that reason, it is much harder to find any sort of information to debug any problems you might have while using catkin_make. And let's say after a few years you become an expert in catkin_make. Well, that was time you could have spent learning CMake in which case you'd be familiar with an industry-standard software and not one that is much less used.

I won't go through every software component, but it was similar. Why use rosparam when there are so many better alternatives? rosbag is OK for recording data, but it's very hard to setup playback so that the result is consistent.

The one thing I find a lot of companies use is the visualization. That's because rviz works pretty well. Typically they will wrap the visualization in their own library so it is self-contained and ... (more)

edit flag offensive delete link more


Yes, it is used outside of academia in industry. And those that do use it, "know better." It's a good tool/ecosystem among many.

jayess gravatar image jayess  ( 2019-02-27 18:33:46 -0600 )edit

ROS is used in a lot of startups that are founded by people from academia. That is the overwhelming majority of its industry usage. It's a pretty terrible tool/ecosystem in almost every way.

Sebastian gravatar image Sebastian  ( 2019-02-27 18:45:07 -0600 )edit

It's also used by large, multi-national companies as well. I used it at one (a Fortune 200 company) and we certainly found it suitable. Like anything else, it has uses that it's appropriate for and uses that it's not.

jayess gravatar image jayess  ( 2019-02-27 18:58:01 -0600 )edit

ROS has a pretty large market share and that certainly wouldn't have happened if it were truly

a pretty terrible tool/ecosystem in almost every way

In fact, you use it. Otherwise, why do you frequent this site?

jayess gravatar image jayess  ( 2019-02-27 19:01:07 -0600 )edit

I've personally been hired by large companies to REMOVE ROS from projects because it is inflexible and poorly designed software. I think at this point I should probably just delete my account for this website. I added it when I myself was a student with no knowledge of programming.

Sebastian gravatar image Sebastian  ( 2019-02-27 19:05:14 -0600 )edit

ROS has a pretty large market share and that certainly wouldn't have happened if it were truly a pretty terrible tool/ecosystem in almost every way

What makes you say that? Argument from popularity. See - your thinking is clouded by fallacy. It's self-evident.

Sebastian gravatar image Sebastian  ( 2019-02-27 19:07:04 -0600 )edit

My thinking is not clouded. I don't know why you're being so argumentative over this. Have a nice day.

jayess gravatar image jayess  ( 2019-02-27 22:01:16 -0600 )edit

To make this answer a little less anecdotal and inflammatory, it'd be nice if you could give some more technical arguments/insight into what it is that companies find lacking and what makes them hire engineers to remove it from their software.

Additionally, I'd be interested to know what it ..

gvdhoorn gravatar image gvdhoorn  ( 2019-02-28 03:26:11 -0600 )edit

Question Tools



Asked: 2019-02-27 13:38:53 -0600

Seen: 1,080 times

Last updated: Mar 05 '19