This project contains a work-in-progress implementation of the ROS2 Middleware Interface (RMW) using OpenDDS.
This project contains several ROS2 packages:
rmw_opendds: composed of (this repo)rmw_opendds_cpp: Responsible for binding the ROS2rmw.hinterface functions to the equivalent OpenDDS functions.
rosidl_typesupport_opendds: composed of (https://github.com/oci-labs/rosidl_typesupport_opendds)opendds_cmake_module: Responsible for configuring paths to the TAO/OpenDDS IDL processors and headers.rosidl_typesupport_opendds_c: Responsible for generating OpenDDS C headers based on the OMG IDLs produced by ROS2 preprocessors.rosidl_typesupport_opendds_cpp: Responsible for generating OpenDDS C++ headers based on the OMG IDLs produced by ROS2 preprocessors.
These packages are built using ROS2's Colcon build tool. rosidl_typesupport_c and rosidl_typesupport_cpp are almost identical, but must be provided as separate packages in order to satisfy the build-time requirements of the ROS2 demo projects.
See https://github.com/oci-labs/rmw_build/blob/master/README.md for details on how to build and run this repo.