ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Orocos RTT has pretty good ROS integration. Version 2.7, which should be released soon for Hydro has plugins for communicating with the ROS world: params, topics, services and an action server implementation. More details can be found here. Be sure to check out the README.

ROS integration means that you end up implementing Orocos RTT componets, using Orocos primitives like properties, ports and operations; which then get mapped to ROS parameters, topics, services and actions. If your RTOS is already supported by Orocos RTT, there is no overhead in building a binary against the Linux kernel or the RTOS one.

Orocos RTT has pretty good ROS integration. Version 2.7, which should be released soon for Hydro has plugins for communicating with the ROS world: params, topics, services and an action server implementation. More details can be found here. Be sure to check out the README.

ROS integration means that you end up implementing Orocos RTT componets, using Orocos primitives like properties, ports and operations; which then get mapped to ROS parameters, topics, services and actions. If your RTOS is already supported by Orocos RTT, there is no overhead in building a binary against the Linux kernel or the RTOS one.

Notes based on answer comments:

  • ROS services are inherently non-deterministic and non-rt, hence should not be called from a rt context.
  • Static ROS param configurations are usually read at controller configure-time, hence from non-rt. For changing parameters, you can use dynamic_reconfigure from a rt context.
  • I'd like to better understand the usecases of an action client living in a rt context before commenting further.
  • To which extent can you have a separate non-rt thread with service servers and action clients, and synchronize communication between the rt and non-rt threads with the primitives already built in OROCOS (like lock-free buffers, which do not suffer from priority inversions)?.