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
:
- Bring the high-performance zero-copy shared-memory communication offered by
iceoryx2
to ROS 2 applications - 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