ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ROS TF claims tree disconnected, but clearly connected

asked 2017-05-05 19:45:01 -0500

ibd gravatar image

updated 2017-05-05 19:45:58 -0500

Hi all

I am playing back some rosbag file. In RVIZ, I see the error message "No transform from [area_description] to frame [start_of_service]". TF view_frames agrees and shows the following: ROS TF tree

However, when I export the rosbag file, /tf topic only, to .csv format, I can clearly see that there are 3 kinds of transformations in the rosbag file: 1. map -> start_of_service 2. start_of_service -> device 3. area_description -> start_of_service Whereas the left side is the value in "field.transforms0.header.frame_id", and the right side is the value in "field.transforms0.child_frame_id" in the resulting .csv file.

Now, the resulting graph is acyclic. If we choose start_of_service as root, this is clearly a valid tree. The question remains: Is ROS able to invert the transformations so to form a valid TF tree?

Apologies if this has been asked before. I was unable to find an answer on google or here.

Cheers! - ibd

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-05-05 23:29:49 -0500

ahendrix gravatar image

TF doesn't allow transforms with multiple parents, and will reject new transforms if the child frame already has a parent.

You should be able to use the rosbag API to rewrite the transforms in your bag file to fix them.

Maybe you should make the area_description frame a child of the map or start_of_service frame, or maybe make it the parent of the map frame?

edit flag offensive delete link more


I see, thank you for suggestions on how to solve it. Is there a reason that these restrictions are in place?

ibd gravatar image ibd  ( 2017-05-08 14:36:09 -0500 )edit

Question Tools



Asked: 2017-05-05 19:45:01 -0500

Seen: 455 times

Last updated: May 05 '17