Is RTT-ROS integration realtime-safe?

Hello,

We want to use Robotic Operating System's rosbag logging utility to
log data from within Orocos components. We are planning to use the
RTT-ROS Integration stack to get the data from the data from Orocos
into ROS messages so that rosbag can log it.

To be precise, we want to provide an OutputPort on each of our
real-time components and stream them to ROS topics. The concern is
that this will break the real-time safety of those components, as ROS
topics are not real-time safe.

Thanks

Dynamic Robotics Laboratory
Oregon State University

Is RTT-ROS integration realtime-safe?

On 08/02/2012 03:59 PM, Johnathan Van Why wrote:
> Hello,
>
> We want to use Robotic Operating System's rosbag logging utility to
> log data from within Orocos components. We are planning to use the
> RTT-ROS Integration stack to get the data from the data from Orocos
> into ROS messages so that rosbag can log it.
>
> To be precise, we want to provide an OutputPort on each of our
> real-time components and stream them to ROS topics. The concern is
> that this will break the real-time safety of those components, as ROS
> topics are not real-time safe.
>
> Thanks
>
> Dynamic Robotics Laboratory
> Oregon State University

The rtt/ros integration team already thought of this. There is a
separate, single thread spun up for all ros activities (e.g.
publish/subscribe). So you will not impact the real-time behavior of
your RTT components by specifying a ROS connection policy for your ports.

Of course, once data crosses that boundary from RTT to ROS, all bets are
off on determinism.

JD

Is RTT-ROS integration realtime-safe?

On Fri, 3 Aug 2012, J.D. Yamokoski wrote:

> On 08/02/2012 03:59 PM, Johnathan Van Why wrote:
>> Hello,
>>
>> We want to use Robotic Operating System's rosbag logging utility to
>> log data from within Orocos components. We are planning to use the
>> RTT-ROS Integration stack to get the data from the data from Orocos
>> into ROS messages so that rosbag can log it.
>>
>> To be precise, we want to provide an OutputPort on each of our
>> real-time components and stream them to ROS topics. The concern is
>> that this will break the real-time safety of those components, as ROS
>> topics are not real-time safe.
>>
>> Thanks
>>
>> Dynamic Robotics Laboratory
>> Oregon State University
>
> The rtt/ros integration team already thought of this. There is a
> separate, single thread spun up for all ros activities (e.g.
> publish/subscribe). So you will not impact the real-time behavior of
> your RTT components by specifying a ROS connection policy for your ports.
>
> Of course, once data crosses that boundary from RTT to ROS, all bets are
> off on determinism.

And, also of course, that logging thread might get starved when your
realtime activities are eating up computational and communication
resources. In other words, there is no magic in that solution.

> JD

Herman