Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

platform_velocity_controller publishes tf as TRANSIENT_LOCAL #121

Open
taDachs opened this issue Nov 28, 2024 · 3 comments
Open

platform_velocity_controller publishes tf as TRANSIENT_LOCAL #121

taDachs opened this issue Nov 28, 2024 · 3 comments
Assignees
Labels

Comments

@taDachs
Copy link

taDachs commented Nov 28, 2024

Please provide the following information:

  • OS: Ubuntu 22.04
  • ROS 2 Distro: Humble
  • Built from source or installed: tried both
  • Package version: 1.0.0-1jammy.20241126.044506 (apt), 2ac65c7 (source)
  • Real hardware or simulation: hardware, tried with mock hardware as well (ros2_control mock hardware, not simulation)

Expected behaviour
Normal tf (not tf static) should be published VOLATILE

Actual behaviour
platform_velocity_controller publishes tf as TRANSIENT_LOCAL

To Reproduce
Start the platform_velocity_controller and check the QoS for tf

Other notes
Output of ros2 topic info -v /husky/tf

Node name: platform_velocity_controller
Node namespace: /husky
Topic type: tf2_msgs/msg/TFMessage
Endpoint type: PUBLISHER
GID: 01.0f.57.0b.0d.89.5f.73.00.00.00.00.00.00.4f.03.00.00.00.00.00.00.00.00
QoS profile:
  Reliability: RELIABLE
  History (Depth): UNKNOWN
  Durability: TRANSIENT_LOCAL
  Lifespan: Infinite
  Deadline: Infinite
  Liveliness: AUTOMATIC
  Liveliness lease duration: Infinite

/tf (or in this case /husky/tf) should always be published as VOLATILE, as TRANSIENT_LOCAL latches the topic and old tf messages have no value. It also can lead to error messages because of dropped messages. It is not a critical issue or anything but should still be mentioned

@taDachs taDachs added the bug label Nov 28, 2024
@Mechazo11
Copy link

Hi @taDachs I was wondering does this error lead to TF_OLD_DATA warning message?

@taDachs
Copy link
Author

taDachs commented Dec 5, 2024

@Mechazo11 hey, yes, this can happen. TF_OLD_DATA gets thrown when data is added to your tf_buffer that is older than the cache limit (see here). By latching the topic, old messages might get added to your tf buffer, resulting in that error.

@tonybaltovski tonybaltovski self-assigned this Dec 5, 2024
@tonybaltovski
Copy link
Member

@taDachs this looks deeper than this repo. It looks to be from here: https://github.com/ros-controls/ros2_controllers/blob/master/diff_drive_controller/src/diff_drive_controller.cpp#L412 Do you want to open an issue there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants