[ros-users] [Discourse.ros.org] [Next Generation ROS] Ros2 and DDS messaging

William Woodall ros.discourse at gmail.com
Thu Mar 23 23:20:05 UTC 2017

[quote="SecretaryBirds, post:3, topic:1556"]
Breaking the ability for "native" DDS communication seems harmful. That seems like a helpful feature for adoption on production systems.

@SecretaryBirds, I agree and that's why we spent some time thinking about it with respect to the topic name and partitions.

The current proposal has the benefit that so long as the target DDS configuration doesn't require a partition that violates our topic name rules (e.g. contains invalid characters like `.`), then all we need is an option to avoid putting the ROS specific prefix on the topic, which should be easy to do, and it's my intention to do that on the first implementation pass (since it's easy to do).

We didn't settle on a way to pass "exact" topic name and partitions as described as possibilities in the design document. For features beyond "avoid the ROS prefix in the partition name" I do not believe they are on our roadmap. But they could be points where community contributions would be tractable.

If you need a very specific partition name or multiple partition names, then it gets harder to support that through the ROS API. An alternative which makes lots of things possible, but also addresses this issue, is to implement the `ros_to_<dds impl>` packages, which allow you to get access to the underlying DDS objects for various ROS primitives. For example, if you create a ROS subscription, then with this package (say `ros_to_fastrtps` for example) you could get the underlying `DDS::DataReader`'s, `DDS::Subscriber`'s, `DDS::Topic`'s, etc. and do to them whatever you want, including creating additional `DataReader`s. There may be consequences you have to deal with when you do this (it might change ROS API behavior), but it gives you full control to do what is required in various cases.

Unfortunately, I see the mismatched IDL types on the topics to be a larger barrier to this working than the topic names and partitions being used.

[Visit Topic](https://discourse.ros.org/t/ros2-and-dds-messaging/1556/4) or reply to this email to respond.

More information about the ros-users mailing list