Login  Register

TF_NO_FRAME_ID: Ignoring transform with child_frame_id

classic Classic list List threaded Threaded
8 messages Options Options
Embed post
Permalink
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

TF_NO_FRAME_ID: Ignoring transform with child_frame_id

dify1492
This post was updated on Jul 14, 2021; 5:35pm.
Hi all,

For my hardware set up I have a d455 stereo camera and t265 on top of each other for a handheld mapping.
Here is my tf tree:


I'm running robot localization using /t265/odom/sample and /t265/imu as two inputs to obtain /odometry/filtered and /odometry/filtered_map. I'm also running imu_filter_madgwick to obtain /rtabmap/imu topic.

However, when I launch this following cmd:
"roslaunch rtabmap_ros rtabmap.launch    \
   args:="-d --Mem/UseOdomGravity true --Optimizer/GravitySigma 0.3"    \
   odom_topic:=/t265/odom/sample    \
   frame_id:=t265_link    \
   rgbd_sync:=true    \
   depth_topic:=/d400/aligned_depth_to_color/image_raw    \
   rgb_topic:=/d400/color/image_raw    \
   camera_info_topic:=/d400/color/camera_info    \
   approx_rgbd_sync:=false    \
   visual_odometry:=false    \
   wait_imu_to_init:=true    \
   imu_topic:=/rtabmap/imu"

I get the following TF Error:  TF_NO_FRAME_ID: Ignoring transform with child_frame_id "t265_odom_frame"  from authority "/rtabmap/rtabmap" because frame_id not set
         at line 233 in /tmp/binarydeb/ros-melodic-tf2-0.6.5/src/buffer_core.cpp


Has anyone encountered this error or knows how to solve it?
I've been stuck at it for two days now..

Thanks.

BR
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

dify1492
After setting the "publish_tf_map" and "publish_tf_odom" both to false the TF_NO_FRAME_ID error disappeared but now I get the following error:
[ WARN] [1623881684.365859083]: Invalid argument passed to canTransform argument source_frame in tf2 frame_ids cannot be empty

And also rtabmapviz shuts down right away. So I can only use rviz at this moment.

Does anyone know what's going on here?
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

matlabbe
Administrator
Hi,

I see your rtabmap command is coming from this tutorial: http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping

If robot_localization is not started, do you have the same error?

cheers,
Mathieu

Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

dify1492
I got it solved.
Thank you.

Closing this issue.
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

CGV_lee
In reply to this post by matlabbe
Hi Mathieu,

I'm using a RealSense D455, but I couldn't find specific instructions for it on the HandHeldMapping tutorial page. It seems the tutorial mostly covers other sensors like Kinect and ZED.
Do you have any recommendations or example launch configurations for using the D455 with rtabmap_ros in handheld mode? Also, I’ll try running it without robot_localization to see if the error persists.
Cheers,
Minseok
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

CGV_lee
In reply to this post by dify1492
Hi, could you tell me why the nodes related to the D455 camera are published statically in your TF tree?
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

matlabbe
Administrator
The camera frames are published by realsense driver (or part of their launch file).

On ROS2, try the D435i examples here https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_examples/launch

On ROS1, you may follow RGB-Depth mode from D400 series on this page https://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping or the Stereo IR / IR-Depth modes from D400 series on this page https://wiki.ros.org/rtabmap_ros/Tutorials/StereoHandHeldMapping 
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: TF_NO_FRAME_ID: Ignoring transform with child_frame_id

CGV_lee
I’m currently using a mini PC with an i5-1135G7 CPU and 16GB of DDR4 RAM.
I’m wondering if there are any recommended specifications for running RTAB-Map.

Thank you for your reply.