S SmartDocs

Robotics & Autonomous Systems

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

ROS 2 Updated 2026-03-28

iceoryx v2.0.0

Features: block publisher when subscriber queue full #615 extend chunk header for gateways and recompute #711 Basic Windows 10 support #33 Common puml file for common settings #865 Relocatable Pointers - Version 2.0 #926

Read article →
ROS 2 Updated 2026-03-28

iceoryx v2.0.1

Bugfixes: CMake warning: empty command-line option #1311 thanks to @clalancette iox-#743 Fixes to make docs exportable #1289 Don't exclude implementations of public classes in Doxygen #1293

Read article →
ROS 2 Updated 2026-03-28

iceoryx v2.0.2

Bugfixes: Double build issue in ROS2 build farm #1323

Read article →
ROS 2 Updated 2026-03-28

iceoryx v2.0.3

Bugfixes: Build error on certain versions of Windows/Visual Studio #1476 Fix FileLock leak when lock failed #1440 Fix INTERFACE_INCLUDE_DIRECTORIES in CMake #1481 m_originId in mepoo:ChunkHeader sometimes not set #1668 W

Read article →
ROS 2 Updated 2026-03-28

iceoryx v2.0.4

Features: Add the introspection to the ROS release #2099

Read article →
ROS 2 Updated 2026-03-28

iceoryx v2.0.6

Refactoring: Patch cpptoml to use cmake 3.16 #2011 Update github actions #2011 Remove warning in toml gateway config parser #2266 Fix warnings on macOS #2284

Read article →
ROS 2 Updated 2026-03-28

Iceoryx C Language binding

If you are looking for an example take a look at the icedelivery on c example.

Read article →
ROS 2 Updated 2026-03-28

Gateway to DDS Networks

A gateway for bridging between iceoryx systems and DDS networks. The gateway enables iceoryx systems running on separate hosts to communicate with each other.

Read article →
ROS 2 Updated 2026-03-28

DDS Gateway Examples

Here you can find examples how to use the dds gateway in a real system. The examples use docker to simulate separated hosts running iceoryx.

Read article →
ROS 2 Updated 2026-03-28

List of examples

Example · Description · Level · icehello · Sending data to another process · :star: · icedelivery · Sending and receiving data using C++ · :star: · icedelivery_in_c · Sending and receiving data using C · :star: · icedock

Read article →
ROS 2 Updated 2026-03-28

Listener (or how to use callbacks with iceoryx)

The Listener is thread-safe and can be used without restrictions. But be aware that all provided callbacks are executed concurrently in the background thread of the Listener. If you access structures inside this callback

Read article →
ROS 2 Updated 2026-03-28

Listener in C (or how to use callbacks with iceoryx)

The Listener is thread-safe and can be used without restrictions. But be aware that all provided callbacks are executed concurrently in the background thread of the Listener. If you access structures inside this callback

Read article →
ROS 2 Updated 2026-03-28

complexdata

To implement zero-copy data transfer we use a shared memory approach. This requires that every data structure needs to be entirely contained in the shared memory and must not internally use pointers or references. The co

Read article →
ROS 2 Updated 2026-03-28

ice_access_control

This example demonstrates how access rights can be applied to shared memory segments on Linux-based operating systems. It provides a custom RouDi, a radar and a display application.

Read article →
ROS 2 Updated 2026-03-28

icecrystal

This example shows you how to use the introspection for debugging purposes. With the introspection you can look into the machine room of RouDi. It shows live information about the memory usage and all registered processe

Read article →
ROS 2 Updated 2026-03-28

icedelivery

This example showcases a data transmission setup with zero-copy inter-process communication (IPC) on iceoryx. It provides publisher and subscriber applications. They come in two C++ API flavors (untyped and typed).

Read article →
ROS 2 Updated 2026-03-28

icedelivery in C

You can find a more detailed description of the C API in the iceoryx_binding_c README.md.

Read article →
ROS 2 Updated 2026-03-28

icediscovery

This example demonstrates how to search for specific services using iceoryx's ServiceDiscovery. It provides two applications - one offering different services and one searching for these making different search queries.

Read article →
ROS 2 Updated 2026-03-28

icediscovery in C

This example demonstrates how to search for specific services using iceoryx's service discovery. It provides two applications - one offering different services and one searching for those with different search queries. T

Read article →
ROS 2 Updated 2026-03-28

Use Iceoryx In A Docker Environment

Let's assume we are working on a system in which iox-roudi runs in a docker environment and it should orchestrate two applications which are running again in two different docker containers so that we end up with a syste

Read article →
ROS 2 Updated 2026-03-28

iceensemble

A common use case is that multiple sensors are sending data of the same type, e.g. LIDAR data, and a subscriber is interested in the data of all those sensors.

Read article →
ROS 2 Updated 2026-03-28

icehello

This example demonstrates a basic data transmission with zero-copy inter-process communication (IPC). It provides a publisher and a subscriber application.

Read article →
ROS 2 Updated 2026-03-28

iceoptions

This example demonstrates what kind of quality of service options can be configured on the publisher and subscriber side. The options can be used for the typed and untyped C++ API flavors as well as the C API.

Read article →
ROS 2 Updated 2026-03-28

iceperf

!!! note Since not all IPC mechanisms are supported on all platforms the IPC benchmark only runs fully on QNX and Linux. The iceoryx C or C++ API related benchmark is supported on all platforms.

Read article →