carma-platform
carma-platform copied to clipboard
system_alert publishers have varying QoS settings
Summary
Each carma_lifecycle_node (ros2) and CarmaNodeHandle (ros1) is defined with a publisher for system_alert. In ros2, the publisher is defined without specifying the quality of service (QoS) setting, causing it to default to a volatile
durability (see https://docs.ros.org/en/foxy/Concepts/About-Quality-of-Service-Settings.html). The ros1 bridge however, which bridges the ros1 system_alert messages is defined to publish in ros2 with transient_local
durability setting (see https://github.com/usdot-fhwa-stol/carma-config/blob/247aaf50f46cef921700b67266ce9c03e74e7e13/development/bridge.yml#L74).
An issue that arises from this configuration is that if a ros2 subscriber receives a message from a publisher with transient_local
QoS, then it will not be able to receive any messages published by publishers to the same topic with volatile
QoS. One way to resolve this incompatibility issue for the /system_alert topic is to configure all publishers to /system_alert in ros2 to have a transient_local
QoS setting.
Commit
Develop
Expected Behavior
All publishers on /system_alert should have the same Quality of Service settings
Actual Behavior
ros1 bridge publishes /system_alert with a transient_local QoS while the ros2 publishers default to volatile durability.
Steps to Reproduce the Actual Behavior
- Run carma-platform on develop
- Run ros2 topic info on system_alert
- Check publisher QoS
Related Work
No response