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

tf that has stopped publishing still can be found by lookupTransform

asked 2014-07-18 01:13:23 -0500

Veerachart gravatar image

Hi guys,

My problem is that lookupTransform function can still get the transformation and rotation of a frame that has stopped publishing already (I tried tf_echo and tf_monitor and it is not there.)

What I am doing is that I use Kinect and openni_tracker to get the skeleton, then use a frame from the skeleton to set up another frame relative to the world frame. However, when the human is not present in the Kinect view anymore, the skeleton's frames are still in the list got from listener.getFrameStrings(). Anyway, my broadcaster.sendTransform(...) is not called, as far as I have checked, so my frame is not published. (tf_monitor also shows that it is not there.)

But, another node that is waiting for this frame can still get translation and rotation from lookupTransform function, which is not what I want.

Any possible causes? Thank you.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-10-22 18:51:11 -0500

tfoote gravatar image

updated 2014-10-23 13:15:09 -0500

The frames still exist but have the old data. You just need to check the timestamps for the latest data to know how long you want to consider a non-observation to be no person present. If you query with time 0 it will give you the latest known info, which may be old. But the resultant value will have the timestamp of the result that you can check for the age.

edit flag offensive delete link more


So, tf_echo checks for that and does not display it? Is there any function to remove a frame (I mean, manually or automatically)?

Veerachart gravatar image Veerachart  ( 2014-10-22 20:51:59 -0500 )edit

New processes which start up do not have the historical data that an already running process has. That's why they do not have information about the transform. You need to pay attention to the timestamps in your queries.

tfoote gravatar image tfoote  ( 2014-10-23 13:14:35 -0500 )edit

Question Tools

1 follower


Asked: 2014-07-18 01:13:23 -0500

Seen: 194 times

Last updated: Oct 23 '14