0
$\begingroup$

Rosanswers logo

Greetings,

I was wondering about real-time patches for ROS, such as Orocos, and their actual efficiency.

I am quite new in the field of RT stuff, but as I read that ROS wasn't an real-time software, I consider that it is lacking the ability to make sure that its cycles, communication protocols and other will be done each in a given time.

So the actual question is, in which way does the use of any RT tool kit make ROS real-time? I mean, the core process would still be the same, with the same timing uncertainty problems, so at which level does the RT patch acts? And is it really efficient?


Originally posted by francoisdtf on ROS Answers with karma: 62 on 2015-03-27

Post score: 4


Original comments

Comment by gvdhoorn on 2015-03-27:
Just to clarify: OROCOS is not a 'real-time patch' for ROS. It is a stand-alone framework. It can be integrated into a ROS application (but the same is true for many other frameworks / tools). OROCOS indeed supports the creation of real-time component-based systems.

Comment by francoisdtf on 2015-03-27:
@gvdhoorn Okay, sorry for the misuse of the word. My question remains though, but maybe this formulation would be better : if using a real-time tool together with ROS within a system, wouldn't the use of ROS make the whole system non-realtime?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I'd like to refer you to some previous, related questions on this topic. See:

Even though some of those questions (and their answers) are several years old, not much has changed in the intervening years.

ROS2.0 however should change this, as depending on the DDS middleware option used, it should make real-time applications possible without requiring any other framework. It would still require a real-time capable OS though (and carefully programmed nodes).


Edit:

Okay, sorry for the misuse of the word. My question remains though, but maybe this formulation would be better : if using a real-time tool together with ROS within a system, wouldn't the use of ROS make the whole system non-realtime?

For an answer to your rephrased question, I think I can refer you to ros_control and RT.

In short: sure, any non-real-time component that is placed in the critical path of an otherwise real-time capable system will obviously make it impossible for that system to maintain its determinism guarantees.

But that is obviously not ROS-specific. The same holds for an OROCOS application (or any other framework) that uses non-deterministic services in one of its components.


Originally posted by gvdhoorn with karma: 86574 on 2015-03-27

This answer was ACCEPTED on the original site

Post score: 9


Original comments

Comment by francoisdtf on 2015-04-02:
Thank you a lot, all of this was really helpful and greatly improved my understanding of the whole thing.

Comment by gvdhoorn on 2018-10-08:
If the downvoter could clarify why he/she felt a downvote was justified perhaps this answer could be improved.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.