Is there any way to use TCP/IP in ROS2 DDS Communication?

asked 2019-09-26 03:40:18 -0500

BattlePants gravatar image

updated 2019-09-26 04:06:50 -0500

Hello.

I am trying to apply ROS2 to my system, but part of my system cannot use UDP due to security reasons.

Is there any way to use TCP/IP in ROS2 DDS Communication? like, change DDS settings, if possible.

+

thanks for comments. I checked the link.

DDS supports UDP, but I'm not sure ROS2 support it.

do you think modifying 'rwm_connext_cpp' or 'rwm_fastrtps_cpp' could be the way?

edit retag flag offensive close merge delete

Comments

Fast-RTPS supports it (see here), but I'm not sure about the ROS 2 side of things (ie: the Fast-RTPS RMW).

And just out of curiosity: what makes UDP a security risk? The fact that it's not 'connected'?

Are you aware of the efforts in SROS2? That doesn't make DDS use TCP/IP, but does exploit DDS Security infrastructure to increase security in DDS based applications (you may be interested in the Hands-on ROS 2: A Walkthrough presentation from ROSCon18 (slides), which shows some of that in action).

gvdhoorn gravatar image gvdhoorn  ( 2019-09-26 03:56:14 -0500 )edit

I'm trying to combine new ROS2 system to exiting system, which is using only tcp for some reason. I'm asking before change whole system to UDP, or do something.

anyway, thanks for comment and information.

BattlePants gravatar image BattlePants  ( 2019-09-26 04:18:40 -0500 )edit

DDS supports UDP, but I'm not sure ROS2 support it.

your added comment confuses me: there are essentially two protocols that (some/most implementations of) DDS support(s): UDP and TCP. ROS 2 uses whatever the RMW choice uses.

do you think modifying 'rwm_connext_cpp' or 'rwm_fastrtps_cpp' could be the way?

I would suggest to avoid modifying anything until you've made sure just using what is already there is impossible. The Fast-RTPS maintainers are very accomodating, and seeing as plain Fast-RTPS already supports TCP transports, it may just be a matter of configuring things correctly.

gvdhoorn gravatar image gvdhoorn  ( 2019-09-26 04:20:03 -0500 )edit

DDS supports UDP, but I'm not sure ROS2 support it. <- It means "I'm not sure about ROS2 Offers APIs to configure DDS settings, UDP to TCP"

I'm sorry to confuse you

Sorry to keep asking, do you have any idea about how to change DDS settings?

BattlePants gravatar image BattlePants  ( 2019-09-26 04:27:25 -0500 )edit

do you have any idea about how to change DDS settings?

no need to apologise.

Unfortunately I don't. You may want to post an issue on the Fast-RTPS issue tracker. The maintainers there have been pretty responsive.

gvdhoorn gravatar image gvdhoorn  ( 2019-09-26 10:48:05 -0500 )edit