[ros-users] [Discourse.ros.org] [Next Generation ROS] IPC in ros2

Erik Boasson ros.discourse at gmail.com
Wed Dec 6 16:51:22 UTC 2017



Thanks for the detailed comparison and the kind words :slight_smile: 

If I may give some more context to a few of our choices:

* Our proposal deliberately only specifies the encoding for the message headers, and nothing for the payload. The reason is that we want the protocol to be as widely applicable as possible, and mandating a single payload encoding would work against that. Obviously one needs to agree at some point what that encoding should be, but it could be negotiated or configured. As you noted, when interoperating with DDS, XCDR would be a sensible choice, but it is not necessarily the only sensible one: for example, OpenSplice has nicely integrated support for Google Protocol Buffers, and so deciding to send GPB encoded data could also be a good choice.
* Regarding QoS, the intent is that the protocol is limited to those settings that matter at the protocol level, and durability and reliability are the only ones of the DDS QoS for which this is the case  e.g., history and deadline are really handled locally. All these other QoS can be specified as properties, so that the requested-offered model of DDS can be maintained in the bridging to DDS.
* Peer-to-peer and sleep cycles pose a bit of a problem indeed, and we havent really paid much attention to the combination. Still, there are many examples of gossip protocols that do just that by adjusting their cycles to stay in sync, and you could build an implementation of this protocol in peer-to-peer mode that does the same thing. Whether that would be worth the bother is anyones guess.
* We are really interested in doing RMW directly on top of our protocol, but we havent gotten around to it yet. I guess assuming an extremely restricted environment like my implementation does makes everything just a little harder ...

For all those who are interested, we have continued working on the our protocol specification and the current version is now included in our repository.





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/24) or reply to this email to respond.




More information about the ros-users mailing list