Ask Your Question
0

Working with RMW CycloneDDS and SROS2

asked 2020-10-07 09:59:19 -0500

elias gravatar image

updated 2020-10-07 10:13:46 -0500

I've been trying to find information on combining SROS2 with CycloneDDS.

I have a full benchmark package with which I test different configurations (RMW, Security, QoS settings, etc.). For the combination where I set the folowing environment variables:

RMW_IMPLEMENTATION=rmw_cyclonedds_cpp 
ROS_SECURITY_ENABLE=true 
ROS_SECURITY_STRATEGY=Enforce

I get the folowing error message:

1602077428.219743 [23]  benchmark: Could not load Authentication library: dds_security_auth: cannot open shared object file: No such file or directory
1602077428.219749 [23]  benchmark: Could not load Authentication plugin.
1602077428.219751 [23]  benchmark: Could not load security
[ERROR] [1602077428.220364595] [rmw_cyclonedds_cpp]: rmw_create_node: failed to create DDS participant

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'error not set, at /tmp/binarydeb/ros-foxy-rcl-1.1.7/src/rcl/node.c:276'

with this new error message:

  'rcl node's rmw handle is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.7/src/rcl/node.c:428'

rcutils_reset_error() should be called after error handling to avoid this.
<<<
[ERROR] [1602077428.220430161] [rcl]: Failed to fini publisher for node: 1
terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
  what():  failed to initialize rcl node: rcl node's rmw handle is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.7/src/rcl/node.c:428

I can't seem to find information if this is supposed to work with the current versions. I don't have any problem for fastdds with and without security and for cyclone without security.

Package versions:

ROS2: Foxy
ros-foxy-rmw-cyclonedds-cpp: 0.7.3-1focal.20200911.211813

Following the tutorial on https://github.com/ros2/sros2/blob/fo... results in the same error.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-10-19 19:15:31 -0500

evshary gravatar image

It seems that the Debian Package of CycloneDDS doesn't include security function.

I think there is something wrong (maybe lack of definition for building) while creating CycloneDDS packages for ROS 2.

However, you can workaround this by building Cyclone DDS from source code.

I've tried to use source code build instead and it works well with SROS.

edit flag offensive delete link more

Comments

a build of the release branch 0.7.x did the trick. thanks

elias gravatar image elias  ( 2020-10-22 05:58:23 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2020-10-07 09:59:19 -0500

Seen: 661 times

Last updated: Oct 07 '20