As an enthusiast of the decentralized technologies, I am wondering if there is an initiative or the implementation of libp2p
’s pubsub feature or the entire network stack as an available transport for ROS? Please share your opinion about if it would be done and used!
I haven’t heard of any efforts to do this, but there isn’t anything stopping it from happening from a technical perspective. ROS 2 is designed so that the middleware layer is able to be changed out to different implementations. There was a recent survey of the community to seek out : alternative implementations for the middleware layer, the conclusion of the study was published recently. This may be a helpful report to see the relative strengths/weaknesses of other transport implementations.
The first steps would be to check out rmw
, which contains the headers describing the necessary interfaces a new middleware would have to implement in order to be used as part of ROS 2.
Another valuable thing do do would be to check out the recent work in rmw_zenoh, as you can find many of the potential sticking points of creating a non-DDS-based rmw
implementation.
You might also find this totally serious rmw
implementation using emails useful:
- Repo: GitHub - christophebedard/rmw_email: ROS 2 over email: a middleware implementation
- Blog post, which goes over what
rmw
is and how it interacts with the underlying middleware: ROS 2 Over Email: rmw_email, an Actual Working RMW Implementation – Christophe Bédard
I’m still waiting for rmw_pigeon
Transferred to StackExchange: ros2 - libp2p as a transport/middleware for ROS - Robotics Stack Exchange