Skip to content

[uORB-DDS] Handling Versioning on ROS2 side #25468

@Pedro-Roque

Description

@Pedro-Roque

Describe problem solved by the proposed feature

Currently, when a new version is obtained for a specific message, the micro-xrce-dds-agent creates topics with _v{i}, where i=1, ..., n stands for the version of the message.

For offboard controllers, these might pose a silent-fault effect, as the original topics are no longer available, and no error message is thrown out either.

Describe your preferred solution

My suggestion would be to keep the topics intact (that is, keeping the topics names without _v{i}), and let micro-xrce-dds-agent throw a deserialization error due to difference in data length. In this way, the user is aware that the messages need to be updated.

For changes in which fields are removed/changed, I believe we can find a different alternative.

Describe possible alternatives

  • Major and Minor versioning, which, however, might not be desirable;
  • Changes to the message and translation node;

Please see thread below.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions