Yet another tf problem
Doing this :
print self.tf_listener.lookupTransform("/map", "/camera_frame", rospy.Time(0))
pose_camera_frame.header.stamp = rospy.Time(0)
pose_world_frame = self.tf_transformer.transformPose("/map", pose_camera_frame)
The first line works and I get the transform between /map and /camera_frame. But when I want to transform my pose which is defined in camera_frame to the map frame, I get this error:
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 711, in _invoke_callback
cb(msg) File "/opt/workspaces/catkin_ws/src/sp_navigation/scripts/sp_sub.py", line 515, in callback
pose_world_frame = self.tf_transformer.transformPose("/map", pose_camera_frame) File "/opt/ros/indigo/lib/python2.7/dist-packages/tf/listener.py", line 188, in transformPose
mat44 = self.asMatrix(target_frame, ps.header) File "/opt/ros/indigo/lib/python2.7/dist-packages/tf/listener.py", line 75, in asMatrix
translation,rotation = self.lookupTransform(target_frame, hdr.frame_id, hdr.stamp) LookupException: "map" passed to lookupTransform argument target_frame does not exist.
But tf just saw that map existed and had no problem giving me the transform between map and camera_frame. pose_camera_frame is a PoseStamped variable with
pose_camera_frame.header.frame_id = "camera_frame"
And tf listener and transformer are defined as follows:
# Create a TF listener
self.tf_listener = tf.TransformListener()
# Create a TF transformer
self.tf_transformer = tf.TransformerROS()
Why does this happen?