conferences | speakers | series

Introduction to Eclipse iceoryx

home

Introduction to Eclipse iceoryx
FOSDEM 2020

Bosch has open sourced a true zero-copy middleware for inter-process communication on modern robotics and vehicle computers. The shared memory based solution is compatible with Linux/QNX and achieves data independent communication in constant time without serializing data. We would like to present our recent development towards an open-source release and demonstrate our performance and timing benchmarks on a privately developed embedded robot.

On FOSDEM 2018 Bosch presented OpenADx, an initiative to collaborate and accelerate the development of automated driving with the open source community. On FOSDEM 2020 we would like to present the first project under the OpenADx umbrella called Eclipse iceoryx TM. Over the course of its company history, Bosch could establish a solid understanding of the needs and requirements of the automotive domain in terms of liability, reliability, safety and determinism. In a time where highly automated driving hits the road, these aspects become more and more important. An automated driving kit is a networked system that processes a sensor data stream in the range of GBytes/s. This naturally arises the need of an efficient and lightweight data transfer mechanism. Our group at Bosch has its main focus on tackling exactly this challenge. In order to approach the problem of distributing the high frequency, high throughput data streams on fusion and planning computers, we’ve developed a solution which can guarantee a time constant communication channel independently of the size of data to be transported. Our approach is based on shared memory which allows for transparently connecting the same range of memory between multiple processes and thus enables a true zero-copy communication. Given the nature of shared memory, an efficient data transport can thus be realized solely by passing pointers to memory addresses from publishers to subscribers. iceoryx is fully compatible with the ROS2 and Adaptive AUTOSAR APIs and can be used as an implementation for both.

Speakers: Simon Hoinkis Christian Eltzschig