rmw_iceoryx2 v0.1.0 release

Hi all,

orecham here, one of the committers from the eclipse-iceoryx project.

I’m pleased to announce the alpha release of rmw_iceoryx2, compatible with ROS 2 rolling and available at: GitHub - ekxide/rmw_iceoryx2: ROS 2 RMW implementation for iceoryx2

Why yet another RMW? We have the following goals for rmw_iceoryx2:

  1. Bring the high-performance zero-copy shared-memory communication offered by iceoryx2 to ROS 2 applications
  2. Provide a unique option for reducing safety certification effort of ROS 2 applications with safety-critical use-cases

Rather than require the entire ROS 2 stack be certified (e.g. for ASIL-D), rmw_iceoryx2 offers an alternative through interoperability between ROS 2 and iceoryx2 applications. This allows the freedom for porting safety-critical components that require certification to iceoryx2 (which is designed for certification) while still participating in the ROS 2 ecosystem.

Current State

With this first alpha release, there is still some work to do and polish to be made. Not all features are yet available and existing ones need thorough real-world validation. Most notably, support for message serialization is not yet available nor service-client communication (waiting on some features to be completed in iceoryx2). Lack of serialization support means that rmw_iceoryx2 can currently only work with self-contained message types, however, this will be one of the first limitations to address next.

Furthermore, only intra-host communication is currently possible. We have plans to introduce host-to-host capabilities in the near future by leveraging existing host-to-host-capable middlewares. Some more info about this is available in the README.

Performance

The current performance_test results are as follow. There is still quite a bit of room for improvement compared to raw iceoryx2:

Contributing and Feedback

We look forward to your feedback! Input from real-world application configurations will be invaluable for bringing rmw_iceoryx2 to stability. Additionally, insights from those experienced with RMW implementations would greatly help improve quality. The current state was achieved using only the information available in the RMW documentation, thus there may be some edge-cases known to veterans which are not properly addressed.

For those who have the capacity to get involved with implementation, we welcome all contributions! We will provide as much support as needed to those who are interested.

Thanks for reading!
Cheers

12 Likes