DDS / ROS2 Configuration

For the inter-process communication between FMU and apps or app to app, AOS applies DDS/ROS2 as a middleware/framework. This page describes default configurations and possible points of modification.

This API requires at least auterion-api-version: 4 to be available

For the inter-process communication between FMU and apps or app to app, AOS applies DDS/ROS2 as a middleware/framework. While there are multiple implementations of DDS, Auterion applies FastDDS as the recommended middleware to use. DDS can apply the usage of shared memory and even realizes zero-copying to make the communication most efficient and resource-saving. In order to obtain such a setup, the configuration of DDS has to be setup properly for every application using it.

This setup is done automatically on app installation if the API version is set accordingly. A proper configuration file is mounted to each containers and the referring environment variables are set, depending on your app's settings (running in a full access network mode host or more closed bridge network).

For example, the environment variables may be defined as:

FASTRTPS_DEFAULT_PROFILES_FILE=/usr/share/dds/fastdds/fastdds-host-mode.xml
RMW_IMPLEMENTATION=rmw_fastrtps_cpp
RMW_FASTRTPS_USE_QOS_FROM_XML=1

FASTRTPS_DEFAULT_PROFILES_FILE is a common FastDDS configuration file used for pure DDS communication. The two latter variables are used by ROS2 applications.

In case a developer intends to use zero-copy messaging, the network mode host has to be set in the auterion-app.yml.

In case a developer intends to override the configurations, it can be done in theauterion-app.yml files compose-override section for each service.

Last updated