[ros-users] Hard Realtime requirements and ROS/OROCOS

Stefan Kohlbrecher stefan.kohlbrecher at googlemail.com
Fri May 14 18:06:08 UTC 2010

Hi everyone,

right now, I'm evaluating the ROS-OROCOS integration because my group
has hard realtime requirements for some control parts of our system.
The integration works fine so far,  but there are still some things
that could be easier to do (Automatic timestamp
conversion/synchronization and generation of OROCOS types from ROS
msgs for example). From what I gather, on PR2 a RT-PREEMPT Kernel with
a corresponding SCHED_FIFO Thread is used for realtime control. While
this seems to work pretty well, one is bound to using RT-preemption
instead of the dual kernel approach OROCOS permits one to use.

So, without going into much detail, it seems like using ROS only is
possible, but it might lead to higher latencies in special cases and
isn't as flexible in the choice of the underlying RTOS. OROCOS on the
other hand is more flexible in choice of RTOS, but has some more
overhead (especially in terms of implementation) when integrating it
with ROS nodes.

Of course, the best of both worlds would be the best thing to have, so
are there plans for a even tighter integration of both (like the
aforementioned automatic generation of types)? Does anyone have
further insights/experience/tips regarding hard realtime using ROS
with or without OROCOS? Is there some roadmap or cooperation between
developers regarding this topic?

Thanks in advance for every answer,

More information about the ros-users mailing list