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

Bridging ROS2 node and NON-ROS based applications on DDS

asked 2020-06-18 18:51:20 -0500

mugetsu gravatar image

hi, anyone have experience communicating with ROS2 at the DDS level? Past the abstraction. Say I have a ROS2 node that needs to communicate with an application on the same network, but is not running ROS at all. Is it as straightforward as using the DDS api? For this instance I'm using FAST RTPS

I know that ROS2 simplifies the complexities of DDS, but is it practical for an external application to use the RTPS API to receive and send messages to ROS2? Is there a bridge for such a thing?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2020-06-18 19:04:21 -0500

tfoote gravatar image

If you just want to use the DDS API within the same process that's not a problem go ahead. ROS is just building on top of DDS and can operate in parallel with other DDS usages.

Slightly more complex if you want to send the ROS datatypes you can take the generated IDL files for the messages and compile them into the other application.

You can just break the abstraction and call the DDS APIs directly.

edit flag offensive delete link more


I know, that in ROS2 foxy there are 4 implementations of DDS. And I also have read about the limit of using these Implementations to connect with each other. Like: Fast-DDS <-> Connext does not support communication over pub/sub WString published by Fast-DDS can’t be received correctly by Connext on macOS

Because I want to commnicate with ROS2 through DDS with python. Is there any python wrapper for this purpose? Or a example, specifically using Cyclone DDS. Thank you.

pheilip gravatar image pheilip  ( 2021-04-19 08:08:58 -0500 )edit

Question Tools



Asked: 2020-06-18 18:51:20 -0500

Seen: 1,017 times

Last updated: Jun 18 '20