What are technical reasons for criticisms of ROS's Reliability/Robustness/Safety?
A criticism have found against ROS is that it is lacking reliability/ Robustness or that it is not suitable for safety critical systems specifically in industrial/commercial contexts but this is often just stated and is not accompanied by any evidence or specific technical examples of why this is the case. I have tried to research this but it does not seem to be very well documented.
The main points I have been able to find are: unreliability of TCP based transport and a few complaints of resource leaks and thread safety issues.
For instance one of ROS industrial's aims ( http://wiki.ros.org/Industrial ) is 'Develop robust and reliable software that meets the needs of industrial applications'. The implication there would be that regular ROS is not sufficiently robust and reliable for industrial application?
I also see a number of answers to posts that suggest ROS is not suitable for robots that need to run 24/7 due to reliability issues.
Could anyone point me towards sources that go into more detail on these issues or does anyone know what specific issues there are that contribute to reliability problems?
EDIT: Aditionally I know that transport reliability should be improved (if it was actually a problem) in ROS2 by the quality of service settings from DDS and the change to UDP and also the change to not include master removes reliability issues of that crashing (Which is actually partly an answer to my origional question I didn't think of when asking it...) but otherwise I would be equally interested in answers concerning ROS2 as ROS1.
You tagged this with
ROS1
but also withardent
, which is a ROS 2 release name.Are you looking for answers for specific ROS versions, or more of a general statement?
Yes, I was looking for more general comments. The instructions when posting said that you should include the distribution as a tag so I just picked one in hopes of avoiding any automatic moderation. I shall ammend the tags.