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

Revision history [back]

I'm answering this so verbosely not only pointed at your question, but since I get this question alot, I want to write something out so I can forward this to future question askers. Its a friendly rant :-)

In addition to the good metrics from the report that @gvdhoorn posted, I can tell you that out in Silicon Valley I can hardly name a robotics company who's product _isn't_ running ROS. I think I was able to come up with 3 that I know for sure don't use it in any way. All are heavily research focused MIT or CMU spin outs, so that's not shocking to me.

  • Simbe
  • Fetch
  • Savioke
  • Vicarious
  • Built
  • Cruise (autonomous cars)
  • Apex (autonomous cars)
  • Bossa Nova
  • Bosch
  • LG
  • Toyota Research Institute
  • Honda
  • BMW's industrial automation groups
  • Amazon Robotics and AWS
  • Certain groups in Google
  • iRobot recently
  • and I work for Samsung Research, which you can make whatever implications you like from.

The list goes on. There's even massive industrial giants forming the ROS TSC (https://index.ros.org/doc/ros2/Governance/) including LG, Samsung, Amazon, and Microsoft. From talking even to autonomous driving companies, many more of them use ROS(2) or ROS derived tools, more than you might think as a casual observer. Additionally with the entrance of folks like Apex, I think you'll see even that space converge back into ROS-land.

On your specific points:

I heard that ROS is not complete thread-safe when working with multiple subscribers/publishers

If you write bad code, you'll have bad ROS code. That's not a ROS problem, that's a bad use of ROS problem. I can say that I've had robots with over a hundred days of constant up time on a ROS designed system. Some are probably approaching a year.

is not good to implement in machinery control for robust automation

That's all based on your requirements. Though most reasons why I would say "well, maybe" aren't true anymore. ROS2 takes care of most of those. Its suitable for those. If you're trying to spin something at 100KHz, you may be right, its not the most optimal communication framework for that sort of low level control, but that makes up remarkably little of any autonomous robot system.

Is better to wait for ROS2 or ROS Industrial

Well to be clear, ROS2 is here, we're on the second LTS release and there are people building products with no ROS(1) in it at all anymore. ROS-I is a consortium of companies working on standards and projects, its not a separate thing from ROS itself.

I'm answering this so verbosely not only pointed at your question, but since I get this question alot, I want to write something out so I can forward this to future question askers. Its a friendly rant :-)

In addition to the good metrics from the report that @gvdhoorn posted, I can tell you that out in Silicon Valley I can hardly name a robotics company who's product _isn't_ running ROS. I think I was able to come up with 3 that I know for sure don't use it in any way. All are heavily research focused MIT or CMU spin outs, so that's not shocking to me.

  • Simbe
  • Fetch
  • Savioke
  • Vicarious
  • Built
  • Boeing
  • Cruise (autonomous cars)
  • Apex (autonomous cars)
  • Bossa Nova
  • Bosch
  • LG
  • Toyota Research Institute
  • Honda
  • BMW's industrial automation groups
  • Amazon Robotics and AWS
  • Certain groups in Google
  • iRobot recently
  • and I work for Samsung Research, which you can make whatever implications you like from.

The list goes on. There's even massive industrial giants forming the ROS TSC (https://index.ros.org/doc/ros2/Governance/) including LG, Samsung, Amazon, and Microsoft. From talking even to autonomous driving companies, many more of them use ROS(2) or ROS derived tools, more than you might think as a casual observer. Additionally with the entrance of folks like Apex, I think you'll see even that space converge back into ROS-land.

On your specific points:

I heard that ROS is not complete thread-safe when working with multiple subscribers/publishers

If you write bad code, you'll have bad ROS code. That's not a ROS problem, that's a bad use of ROS problem. I can say that I've had robots with over a hundred days of constant up time on a ROS designed system. Some are probably approaching a year.

is not good to implement in machinery control for robust automation

That's all based on your requirements. Though most reasons why I would say "well, maybe" aren't true anymore. ROS2 takes care of most of those. Its suitable for those. If you're trying to spin something at 100KHz, you may be right, its not the most optimal communication framework for that sort of low level control, but that makes up remarkably little of any autonomous robot system.

Is better to wait for ROS2 or ROS Industrial

Well to be clear, ROS2 is here, we're on the second LTS release and there are people building products with no ROS(1) in it at all anymore. ROS-I is a consortium of companies working on standards and projects, its not a separate thing from ROS itself.

itself.