[UPDATE] "Unknown Reason for Transform Failure"

asked 2023-05-08 06:49:27 -0500

pitosalas gravatar image

updated 2023-05-20 17:32:44 -0500

Running ROS1 noetic on Ubuntu 22.04. All is well except this "Unknown Reason for Transform Failure"

image description

If I disable all the static transforms that are launched automatically, then I get the expected:

image description

Then I issue this command:

rosrun tf static_transform_publisher  0 0 0 0 0 0 base_footprint scan_link 20

Which I verify like this:

image description

I've tried a variety of things to get to the bottom of this, like running the static transfer on the robot itself, vs. on the remote computer. Note that my base publishes and updates the transform between odom and base_footprint.:

image description

One more thing: if I change global fixed frame to scan_link, then the error goes away!

More details

Here's a short video showing the problem:

https://share.getcloudapp.com/8LuqRXqm

(by the way, that's a cool lightweight tool to make videos on Macos)

I have Methodically eliminated one suspect after another but the problem continues coming up. I fixed the IMU problem. It seems that the i2c address was different from the default, I suspect because I have the IMU daisy chained with another device on i2c.

The problem as you see in the video is that when I set odom as my global frame, the lidar, an error appears which I am unable to interpret further. It is coming out of RViz so I don't even know what source code to look at.

From the video you will see that tf_echo and tf_monitor look ok but seem to indicate a duplicate tf broadcaster possibly messing up the odom to base_footprint tf. rostopic echo /tf and /tf_static both look ok.

edit retag flag offensive close merge delete