ros2 / ros1_bridge

ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2
Apache License 2.0
449 stars 287 forks source link

TF Latency #369

Open oym1994 opened 2 years ago

oym1994 commented 2 years ago

Hello, Thanks for your great contribution. I am now using the nav2 and use ros1_bridge to transmit message. Here I came across a problem about transmission latency.

Issue report

TF latency Required Info:

Expected behavior

The TF latency is almost the same

Actual behavior

The TF latency in ROS2 is far longer than in ROS1

Additional information

TF tree in ROS1(ROS2 is not launched) pureROS1tf

TF tree in ROS1(ROS2 is launched) rosTF

TF tree in ROS2 ros2TF

As shown above, when using rqt_tf_tree, we can see that the latency of TF between rslidar and map is less than 150ms, when the ROS2 is also launched, the latency is about 205 ms, while in ROS2, the latency is about 260 ms.

It seems that there exists obvious TF latency with ros1_bridge. Why This happened and how to avoid this?

Thanks for your attention and wait for your kind response.

gbiggs commented 2 years ago

The bridge will introduce some delay because it has to receive the data, translate it into a different data type, then broadcast it again. The length of this delay will depend on how heavily loaded your system is.

Can you please provide a system that I can run to verify your problem?

foxydevelby commented 1 year ago

Hi, had a similar issue but focusing on the pointcloud data. can you suggest any solution to improve the performance? left(ros1) right(ros2) g_vs_h

I use this command: ros2 run ros1_bridge dynamic_bridge -- --bridge-all-1to2-topics