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

[ros2] Enable ROS (or system) time header stamps in ROS Bridge #157

Closed
vatanaksoytezer opened this issue May 27, 2021 · 3 comments
Closed
Labels
enhancement New feature or request ROS 2 ROS 2

Comments

@vatanaksoytezer
Copy link
Contributor

Environment

  • OS Version: Ubuntu 20.04
  • Source or binary build? Latest source of ros_ign, commit: Latest-fff2dbf4801cbe2116defb817f8a122536bb79d6
  • Ignition: Edifice (Binary)
  • ROS2: Foxy

Description

  • Expected behavior: All the messages that are bridged from ignition to ros2 are stamped with either real time or sim time. Having an option to use the bridge with ros (or system) time. Being able to only pull data with sim or real time is problematic due to time disagreements between ros nodes and ignition for some packages such as moveit2.
  • Actual behavior: There is only sim or real time available stamps on ignition messages that are communicated through ros_ign_bridge

Steps to reproduce

I currently use vatanaksoytezer#1 to work around this issue. I didn't bothered to open up a PR since this wouldn't get merged and breaks the sim time. But I would love to contribute if you point me out some ways through a parameter to add this functionality. I think I could also create and publish clock messages from ros2 to ignition, but that seems unintuitive and I am not even sure that would work.

@vatanaksoytezer vatanaksoytezer added the bug Something isn't working label May 27, 2021
@DLu
Copy link
Contributor

DLu commented Jun 8, 2021

Thoughts @caguero ?

@chapulina
Copy link
Contributor

Being able to only pull data with sim or real time is problematic due to time disagreements between ros nodes and ignition for some packages such as moveit2.

I may be mistaken, but shouldn't MoveIt be using sim time in this situation for consistency?

Having an option to use the bridge with ros (or system) time.

Using system time with simulation seems unreliable to me. Simulation rarely runs exactly at real time, and depending on how fast or slow the simulation is running, you may end up with various strange behaviours.

But I would love to contribute if you point me out some ways through a parameter to add this functionality.

But if this is really the feature that you need, maybe an environment variable like ROS_IGN_TIME=system could be used to switch the time source?

@chapulina chapulina added ROS 2 ROS 2 enhancement New feature or request and removed bug Something isn't working labels Jun 15, 2021
@azeey
Copy link
Contributor

azeey commented Nov 7, 2024

This seems similar to #546 which has been fixed by #562

@azeey azeey closed this as completed Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ROS 2 ROS 2
Projects
None yet
Development

No branches or pull requests

4 participants