Closed sloretz closed 7 years ago
This also manifests as a tf.ConnectivityException: Could not find a connection between 'link1' and 'link2' because they are not part of the same tree.Tf has two or more unconnected trees.
exception for tf trees dynamic links trees on either side of a static.
I tested it again today. It's still an issue on Kinetic
$ apt show ros-kinetic-tf
Package: ros-kinetic-tf
Version: 1.11.8-0xenial-20160721-134129-0700
Just ran into this - @tfoote should static frames work in python?
Looking at this I think that the tf python bindings have not been extended to subscribe to the static transform topics. I'd suggest using tf2_ros' python bindings instead: http://wiki.ros.org/tf2/Tutorials/Writing%20a%20tf2%20listener%20%28Python%29
Can the python library for tf be officially deprecated then? I think a lot of people still use it, and won't realize that it doesn't work with static transforms anymore (specifically since https://github.com/ros/robot_state_publisher/pull/56)
@tfoote What do you think about replacing the python tf implementation with calls to tf2_ros?
That would be the optimal solution then they would stay in sync.
Since we have been battling with the same problem for quite some time, I'd be willing to provide a pull request for that, unless someone else is working on it already.
I just found this bug under ROS Kinetic on Ubuntu 16.04. Looks like merge #134 has had the solution ready since early March. Can this be merged and closed?
Resolved with #134 being merged
The python tf api on Jade cannot lookup transforms published on /tf_static. Section 1.8 on the tf2 migration page says
I would expect that to mean the tf api would be aware of /tf_static transforms.
How to reproduce:
Start roscore and publish a static transform
rosrun tf2_ros static_transform_publisher 0 0 0 0 0 0 parent_frame child_frame
Start python and run the following code using the tf api
Start another instance of python and run the equivalent code on the tf2 api