ROS is not real-time OS. After reading the architecture of ROS, I am unable to realize why is ROS not real-time? What part of the architecture or what design decision is causing that?
-
4$\begingroup$ Just as a reference; the same topic on ROS side answers.ros.org/question/134551/why-is-ros-not-real-time $\endgroup$ – IsaacS Mar 1 '14 at 12:43
Check out this website, http://www.control.com/thread/1026205354 you'll find your answer. The reason I directed you to this website is because ROS is an Operating System to provide Real-Time like operation but not truly. You can also call it as Pseudo-RTOS.
-
$\begingroup$ I am expecting an answer particular to the implementation of ROS. $\endgroup$ – Manas Paldhe Mar 1 '14 at 3:00
-
1
-
$\begingroup$ implementation as in, what particular part of ROS is the cause for it not being RT? $\endgroup$ – Manas Paldhe Mar 2 '14 at 10:24
-
$\begingroup$ I found that it used TCP for communication and so is not RT $\endgroup$ – Manas Paldhe Mar 2 '14 at 10:25
-
$\begingroup$ @Tvaṣṭā Thanks for the very informative link. However, is there a chance you can summarise the most salient points from that discussion? This helps prevent link rot and ensures people take the right answer away from this question. $\endgroup$ – ThomasH Mar 4 '14 at 19:12
ROS isn't even an operating system, it's a framework and it's usually built on top of Ubuntu. First and foremost, it provides a clean way to write several modular programs with inputs and outputs and stitch them together at runtime.
There's no reason you can't run ROS inside a RTOS (however, it was developed on Ubuntu, so it will take effort to get it running on anything else.)