ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2013-03-12 09:36:42 -0500 | received badge | ● Famous Question (source) |
2012-10-30 16:42:05 -0500 | received badge | ● Notable Question (source) |
2012-09-17 00:01:59 -0500 | commented question | TransformListener not working in nodelet With ros::Time(0) it works. |
2012-09-16 19:16:09 -0500 | received badge | ● Popular Question (source) |
2012-09-14 00:29:42 -0500 | received badge | ● Organizer (source) |
2012-09-14 00:29:15 -0500 | asked a question | TransformListener not working in nodelet Hi, I am porting a node to a nodelet and having trouble with the TransformListener. In the node it works, but not in the nodelet. Overview:
if( !tfListener->waitForTransform(target_frame_id, cloud->header.frame_id, cloud->header.stamp, ros::Duration(10.0), ros::Duration(0.1), error) ) ... No exception is thrown, it does simply fail. If I try a tfListener->lookupTransform afterwards it will throw an exception: Unable to lookup transform, cache is empty, when looking up transform from frame [/velodyne] to frame [/world] A call to tfListener->getCacheLength() return 10 seconds, a tfPrefix is not set, an tfListener->getAllFrames() also returns all frames correctly. The things I tried so far:
As stated above, a node with a TransformListener() running parallel to the nodelets has no problem looking up the transform an all calls of getCacheLength(), getAllFrames() give identical results to the nodelet-TransformListener. Anyone any suggestions? Regards, Torsten Fiolka |