Skip to content

ROS2 Fastdds Upgrade - Compatibility between Humble and Jazzy #9551

@uff1199

Description

@uff1199

@DerBaertige and me observed the following and want to propose a solution:

Is your feature request related to a problem? Please describe.

Incompatibility between ROS2 Humble and Jazzy versions due to fastdds

Currently LibCarla is linked against fastdds v2.11.2, ROS Humble uses v2.6.1 and both versions are compatible. ROS Jazzy on the other hand uses v.2.14.5 and I noticed heavy blocking behavior (up to seconds) in fastdds recvfrom calls when Nodes want to subscribe to topics published within CARLA.

See image below.

Additionally, the whole simulation stalls because also the publish function calls executed in the game thread are blocking as well.

We also think that upgrading the fastdds version is necessary, as Humble will reach next year EOL.

Describe the solution you'd like

We upgraded the fastdds version to v.2.14.5 and communication with ROS2 Jazzy was not stalling anymore. Furthermore backward compatibility with ROS2 Humble was maintained. We also observed, that currently no toolchain and / or documentation exists to upgrade the cpp + header files with fastddsgen-Tool necessary for the fastdds publishers, based on existing ROS2 message definitions (.msg). As there are significant changes between cpp + header files for fastdds v.2.11 and v.2.14.

Also observed in a different context here: #8381 (comment)

Simply selecting a newer fastdds during the Setup step will not solve as the cpp + header files are outdated. Because the selected versions depend on it but they are not generated during build process.

If wished we would like to contribute our findings in upgrading fastdds to the CARLA project. It will not interfere with existing works on reworking the ROS2 handling see #9451.

Additional context
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions