S SmartDocs

Robotics & Autonomous Systems

ROS 2, humanoid robots, drones and autonomous vehicle systems.

ROS 2 Updated 2026-03-28

ChunkHeader

Chunks are the transport capsules in iceoryx. They store data from a publisher as payload and are sent to one or more subscriber. Furthermore, there is some meta information which is stored alongside the payload, e.g. th

Read article →
ROS 2 Updated 2026-03-28

Service Discovery

Service discovery over IPC channel e.g. message queue or UNIX domain socket is not performant since larger data is transferred, which can lead to transmission of several frames. If lots of services are discovered at high

Read article →
ROS 2 Updated 2026-03-28

Logging and error handling

Logging is performed by the Iceoryx internal logger. The logger is used internally to record errors and general system runtime information. It can also be used by the user in application code for the same purpose.

Read article →
ROS 2 Updated 2026-03-28

Listener

The Listener is besides the WaitSet one of the building blocks to realize a push approach to detect and react to certain events. The Listener offers the user the ability to attach objects with a corresponding event and c

Read article →
ROS 2 Updated 2026-03-28

Lockfree Queue

We explain some details of the lockfree queue in order to provide an intuition for the way the lockfree queue works. This could serve as a basis for a formal proof later if desired.

Read article →
ROS 2 Updated 2026-03-28

Relocatable and Relative Pointers

When memory is shared between applications and each application maps the shared memory to a different starting address in its own address space, raw pointers cannot be used anymore. This is due to the fact that a pointer

Read article →
ROS 2 Updated 2026-03-28

Request/Response Communication

Beside the publishsubscribe messaging pattern initially supported by iceoryx, the requestresponse pattern is also widely used in the field where iceoryx is headed. Since we aim for a good integration with ROS 2, this is

Read article →
ROS 2 Updated 2026-03-28

Goals and nongoals

Goalsgoals NonGoalsnongoals User personasuserpersonas

Read article →
ROS 2 Updated 2026-03-28

Shared memory communication

When a process in a POSIX system starts it is given its own virtual address space.

Read article →
ROS 2 Updated 2026-03-28

FAQ

In this document are tips and hints documented which can help for troubleshooting on RouDi.

Read article →
ROS 2 Updated 2026-03-28

Configuration guide

When building iceoryxposh, there are several configuration options set by default. These options adjust the limits of Publisher and Subscriber Ports for resource management. These limits are used to create management str

Read article →
ROS 2 Updated 2026-03-28

Installation guide for contributors

While developing on iceoryx, you may want to know if your changes will break existing functionality or if your newly written tests will pass. For that purpose, we generate CMake targets that execute the tests. First, we

Read article →
ROS 2 Updated 2026-03-28

Architecture

This article provides an overview of the Eclipse iceoryx architecture and explains the rationale for it.

Read article →
ROS 2 Updated 2026-03-28

Best practice for testing

This is a guide on how to write tests for iceoryx. It intends to cover the most common cases which will probably apply to 99% of tests. This shall not encourage to be more royalist than the king and common sense shall be

Read article →
ROS 2 Updated 2026-03-28

How optional and error values are returned in iceoryx

Many parts of the iceoryx C++ API follow a functional programming approach and allow the user to specify functions which handle the possible cases, e.g. what should happen when data is received.

Read article →
ROS 2 Updated 2026-03-28

QoS policies

Unlike other middlewares, e.g. DDS used in ROS 2https://docs.ros.org/en/galactic/Concepts/AboutQualityofServiceSettings.html, iceoryx keeps things simple and offers basic Quality of Service QoS settings. The QoS settings

Read article →
ROS 2 Updated 2026-03-28

Installation

All iceoryx libraries are deployed as independent CMake packages. Posh is using functions from hoofs and is depending on it. You are able to build posh and hoofs and integrate them into existing CMake projects.

Read article →
ROS 2 Updated 2026-03-28

Overview

This document covers the core functionality of Eclipse iceoryx and is intended to provide a quick introduction to setting up iceoryx applications.

Read article →
ROS 2 Updated 2026-03-28

What is Eclipse iceoryx?

The technology behind Eclipse iceoryx originated in the automotive domain. With the introduction of videobased driver assistance, the amount of data to be exchanged between different threads of execution increased to GBy

Read article →
ROS 2 Updated 2026-03-28

Welcome to iceoryx.io

Eclipse iceoryx™ is an interprocesscommunication middleware that enables virtually limitless data transmissions at constant time.

Read article →
ROS 2 Updated 2026-03-28

iceoryx vx.x.x

Full Changeloghttps://github.com/eclipseiceoryx/iceoryx/compare/vx.x.x...vx.x.x

Read article →
ROS 2 Updated 2026-03-28

iceoryx v1.0.0

Full Changeloghttps://github.com/eclipseiceoryx/iceoryx/compare/v0.90.7...v1.0.0

Read article →
ROS 2 Updated 2026-03-28

iceoryx v.1.0.1

Full Changeloghttps://github.com/eclipseiceoryx/iceoryx/compare/v1.0.0...v1.0.1

Read article →
ROS 2 Updated 2026-03-28

iceoryx v.1.0.2

Full Changeloghttps://github.com/eclipseiceoryx/iceoryx/compare/v1.0.1...v1.0.2

Read article →