description: >- 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.
DDS / ROS2 Configuration
{% hint style="info" %} This API requires at least auterion-api-version: 4 to be available {% endhint %}
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. 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.
{% hint style="info" %}
In case a developer intends to use zero-copy messaging, the network mode host
has to be set in the auterion-app.yml
.
{% endhint %}
{% hint style="info" %}
In case a developer intends to override the configurations, it needs to be done in the entrypoint of the application. Changes to the auterion-app.yml
might not have any effect, as they may be overwritten in the automatic configuration process.
{% endhint %}
Comments
0 comments
Please sign in to leave a comment.