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

Invalid argument passed to lookupTransform argument source_frame in tf2 frame_ids cannot be empty

asked 2018-08-02 09:31:13 -0500

ysl208 gravatar image

updated 2018-08-02 13:06:54 -0500

jayess gravatar image

I'm using the surface_perception package to get some table top data but I've been getting this error message

Invalid argument passed to lookupTransform argument source_frame in tf2 frame_ids cannot be empty

after running the surface segmentation for the multiple times and I can't seem to figure out what the problem is.

The error message appears when i launch this file:

<launch>
  <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" />
  <node pkg="tf2_web_republisher" type="tf2_web_republisher" name="tf2_web_republisher" launch-prefix="xterm -e gdb --args"/>
</launch>

i tried adding the launch-prefix="xterm -e gdb --args" to the tf2_web_republisher node but it just shows up the same error messages without indicating where its occuring.

An odd thing that happens is that the visualisation shows one of the axes to be enlarged as shown here

I know this is related to some empty frame_ids but i cant seem to figure out where they are. When I run

rostopic echo /tf2_web_republisher/result

then all frame ids are empty even when there's no error message.

any advice would be highly appreciated!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-08-03 04:25:17 -0500

Tom Moore gravatar image

It looks like the node in question is only doing one lookup. You can download the source and print out whatever information you want. The exception is being caught, so I don't think gdb is going to help you here. I'd remove that.

If you can't find any empty frames, try doing a rostopic echo /tf or a rostopic echo /tf_static to see if any of the raw tf data shows empty frames. You could grep for an empty frame_id or child_frame_id field. Then you can backtrack to whatever node is publishing the transform in question.

edit flag offensive delete link more

Comments

i tried doing a grep for empty frame_id for both /tf and /tf_static but didnt get anything. Will try to download the source and print out some info

ysl208 gravatar image ysl208  ( 2018-08-03 05:26:58 -0500 )edit

so I included an extra if statement to make sure it doesnt try to lookup the transform if the source or target frames are empty. how do i find out what the exact cause is though? TFPair does not seem to have any identifiers. Also I'm still getting the enlarged axis arrow as mentioned in my post

ysl208 gravatar image ysl208  ( 2018-08-03 08:31:59 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2018-08-02 09:31:13 -0500

Seen: 3,049 times

Last updated: Aug 03 '18