[ros-users] [Discourse.ros.org] [ROS-Industrial] Reliability, safety, security, maintenance and support in ROS

Víctor Mayoral Vilches ros.discourse at gmail.com
Thu Dec 20 10:45:01 UTC 2018

[quote="fmrico, post:3, topic:7146"]
I think you can not compare a final product of two companies with ROS, even if we limit it to their navigation capabilities. ROS provides a base where to build concrete applications, and it is the responsibility of the person who develops a final application to complete the generalities of ROS to adapt it to a final solution.

I find this statement pretty interesting @fmrico and while I don't fully disagree when it comes to  "_a final product_" , I actually have a pretty strong opinion about the usefulness of ROS (ROS 2 in particular) to compare different individual components. Our team, often, finds that comparing two different pieces of hardware of the same kind (e.g. two cameras or two actuators aimed for a similar task) is actually pretty hard. Specially because things like communication interfaces and APIs differ substantially (which makes system integration a complete hell most of the time).

Our approach for the last years has been to "find common ground" to attack these comparisons. Typically, assuming you have component A (`C_A`) and component B (`C_B`) with their respective interfaces, let's say `I_A` and `I_B`,  to compare them. Often, you'd go ahead and create an abstraction layer on top of `I_A` and `I_B` called `AL` that allows you to speak to both components and effectively make the comparisons. This way, you can inspect which component `C_A` or `C_B` actually performs better for your needs.

To us, `AL=ROS`. I think this is one of the core principles of ROS and also, the reason why we selected it when we started building [H-ROS](https://acutronicrobotics.com/technology/H-ROS/) years ago covering not only electrical interfaces but a wide variety of aspects required to go from a component to a module (note that modules imply certain characteristics including interoperability).

Now, back to your statement, I believe it depends very much on the "final product" (assuming we're speaking of robots, final robots) itself. E.g., we started a while defining [models for a composite set of robot modules](https://acutronicrobotics.com/docs/technology/hrim/model/models/composite). While this is still a work in progress, we managed to interface with several 6DoF arms ([model proposed](https://acutronicrobotics.com/docs/technology/hrim/model/models/composite/arm)) and that provided quite a bit of insight that we later used in the development of our latest robots so I'd argue that you can actually compare _certain_ final products with ROS.

@fmrico I'm very interested to hear what's your reaction to this since as I said, we're still exploring this path and we certainly could use additional insight.

[Visit Topic](https://discourse.ros.org/t/reliability-safety-security-maintenance-and-support-in-ros/7146/6) or reply to this email to respond.

More information about the ros-users mailing list