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

ros2 galactic interprocess performance

asked 2021-08-20 09:18:01 -0500

rex-schilasky gravatar image

Hi, we did a lot of ipc performance measuring to figure out whether ROS2 + Cyclone DDS is full filling performance requirements for autonomous driving prototyping. I made some latency measurements with a simple pub/sub setup (see ros2_latency_ipc). Because most of our interfaces use dynamic sized messages, we can not really utilize iceoryx shm here. Is there any way "RMW Cyclone DDS only" to decrease latencies for large but also for small payload ? QOS, XML configuration ... ? Measuring results and platform information can be found here for Windows 10 and Ubuntu 20.04.

edit retag flag offensive close merge delete

Comments

Not a definitive answer, but a point of data: At the university, we use ROS 2 for exactly this application. Out of the box, with default settings, it works just fine. The students enjoy it a lot. Additionally, ROS is much easier to start with than other frameworks we tried in the past.

fhwedel-hoe gravatar image fhwedel-hoe  ( 2022-12-06 13:24:03 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2021-08-20 12:46:13 -0500

sgvandijk gravatar image

Would you be able to use intra-process communication? This entails composing your nodes in a single process, either statically at compile time, or dynamically at run time; see the documentation. This allows for zero-copy passing of your messages that bypasses the middleware.

There is still a little bit of additional overhead, and you may not be able to use all QoS options[1], but in general I found it works well and is mostly RMW independent.

[1] See this design document

edit flag offensive delete link more

Comments

Thank you for your answer. Intraprocess communication may be an option in certain cases. But when it comes to recording scenarios (as a separate application) messages need to leave the process space and any lost message hurts. Anyway I will check your links.

rex-schilasky gravatar image rex-schilasky  ( 2021-08-20 15:26:42 -0500 )edit
0

answered 2021-08-20 21:20:18 -0500

Jrdevil gravatar image

We have done some research on this topic for ROS1.

See https://github.com/Jrdevil-Wang/tzc_t...

Our ROS2 version cannot work anymore, because the serialization routine of ROS2 has changed much since ardent. But we would like to support any attempt to transplant it to ROS2.

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2021-08-20 09:18:01 -0500

Seen: 105 times

Last updated: Aug 20 '21