1

I am working with ROS2.0 and the default DDS Vendor FastRTPS, if I want to switch to RTI connext (I have already installed) what are the environmental changes do I have to make and is there any procedure to identify which DDS is being used for communication if there are more than one DDS installed in the system ?

I got another supplementary question:

Can we use DDS as just a communication medium between two ros(not ros2.0) system? if yes then how we will use QoS in publisher as well as subscriber?

If there is any supporting document for my 2nd question I'm shared,that would have been a great help.

thank you

rama
  • 43
  • 2
  • 6

1 Answers1

1

To switch from Fast RTPS to Connext, you'll need to: 1. set the environment variable RMW_IMPLEMENTATION=rmw_connext_cpp 2. ensure that the environment is also set up for the Connext installation (PATH, NDDSHOME) 3. (probably) perform a rebuild of ROS 2 with the above.

See https://github.com/ros2/ros2/wiki/Working-with-multiple-RMW-implementations for more detailed info.

A quick way to determine which DDS implementation is being used is to use WireShark to capture the underlying RTPS packets; WireShark includes an RTPS dissector, and can reveal the vendorId for whatever RTPS packets are captured.

As for the supplementary question: There is a ROS 1 / ROS 2 communications bridge package. See https://github.com/ros2/ros1_bridge/blob/master/README.md#build-the-bridge-from-source for more info.

neil-rti
  • 46
  • 4
  • thank you @neil-rti for suggesting WireShark, it did not come to my mind. – rama Mar 02 '18 at 03:48
  • About the second question: I have some idea about using ros_bridge and I have tried some used cases. My specific Question was **can we use DDS as communication medium between ros system with out involving ros2** once again thank you for your response . – rama Mar 02 '18 at 03:57
  • wireshark is perfect to analyse packets and get the DDS informations – Stoogy Jun 25 '18 at 17:25
  • Can you elaborate about using DDS as communication medium between ROS system without ROS2? ROS is not using DDS, so if you want to communicate using DDS it is not possible. You will have to find or write something to interface this communication. You have this package https://github.com/ros2/ros1_bridge for example that can be used to communicate between ROS and ROS2 – Stoogy Jun 25 '18 at 17:30