[ROS2] TF2 can't find existing frame inside a node
Node says: Timed out waiting for transform from base_link to odom to become available, tf error: Invalid frame ID "odom" passed to canTransform argument target_frame - frame does not exist
. But transformation is actually available and transform tolerance is set to 1s.
ros2 run tf2_ros tf2_monitor base_link odom
returns:
RESULTS: for base_link to odom
Chain is: base_link
Net delay avg = 0.00163495: max = 0.028209
Frames:
Frame: base_link, published by <no authority available>, Average Delay: 0.00286788, Max Delay: 0.0139816
All Broadcasters:
Node: <no authority available> 312.691 Hz, Average Delay: 0.0101854 Max Delay: 0.753335
How is that possible and what could cause that?
P.S. this happens only after restarting the node couple of times, when launching the whole system again transformation is detected
Asked by avzmpy on 2021-02-26 05:32:43 UTC
Comments
Please provide enough information to reproduce your problem. The most common reason for this sort of error is that you're not letting the buffer fill before you try to query it. This is more often at startup. And if it's not persistently a problem it might just be a startup sequencing issue that resolves itself in steady state. In a distributed system not all information is immediately available.
Asked by tfoote on 2021-03-01 12:05:19 UTC