'Timed out waiting for transform from base_footprint to map' error when launching rtabmap_ros.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

'Timed out waiting for transform from base_footprint to map' error when launching rtabmap_ros.

MalarJN
This post was updated on .
I am trying to follow the instructions for the simulation portion of this tutorial. However, when I launch rtabmap_ros using roslaunch rtabmap_ros demo_turtlebot_mapping.launch simulation:=true, I get a lot of warnings.

The following warnings come up once and the launch process seems to continue.

Rtabmap: Parameter name changed: "Optimizer/Slam2D" -> "Reg/Force3DoF". Please update your launch file accordingly. Value "true" is still set to the new parameter name.
Setting "Grid/FromDepth" parameter to false (default true) as "subscribe_scan" or "subscribe_scan_cloud" is true. The occupancy grid map will be constructed from laser scans. To get occupancy grid map from cloud projection, set "Grid/FromDepth" to true. To suppress this warning, add param name="Grid/FromDepth" type="string" value="false"/>


The following warnings come up multiple times and the process either is stuck there or it continues to the next set of warnings:

Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.
/rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).


The next set of warnings is the following warning multiple times:

Memory.cpp:810::addSignatureToStm() Very large angular variance (500000.000000) detected! Please fix odometry twist covariance, otherwise poor graph optimizations are expected and wrong loop closure detections creating a lot of errors in the map could be accepted.

I ran rosrun tf view_frames and the tf frames output doesn't contain the 'map' node. I think that is causing this issue. I have attached the frames.pdf file here. frames.pdf

How can I fix this for rtabmap_ros to work without any glitches. RTABMap hangs or crashes.

I am using the 0.17.6 version of rtabmap_ros and ROS Kinetic in an Ubuntu 16.04 VM.

Best regards,
Malar.
Reply | Threaded
Open this post in threaded view
|

Re: 'Timed out waiting for transform from base_footprint to map' error when launching rtabmap_ros.

matlabbe
Administrator
Hi,

Hopefully, rtabmap on Kinetic will be updated to 0.19 soon, which include latest changes in https://github.com/introlab/rtabmap_ros/blob/master/launch/demo/demo_turtlebot_mapping.launch

You may try to just download that launch file and execute this one instead of the one installed by 0.17.6 binaries. This will fix at least the "Very large angular variance (500000.000000) detected!" warning.

The first warnings are okay, we still use old launch file parameters to keep the example working with oldest rtabmap versions. Those parameters are remapped automatically to new ones, as the warnings said.

For "Timed out waiting for transform from base_footprint to map" warning, let rtabmap starts for a couple of second to have map-> odom frame published.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: 'Timed out waiting for transform from base_footprint to map' error when launching rtabmap_ros.

MalarJN
This post was updated on .
Hi Mathieu,

Thank you very much for your reply. Using the demo_turtlebot_mapping.launch from 0.19 version fixed the angular variance error as you mentioned. However, even 5 minutes after launching rtabmap, the tf warning (Warning #1below) and (Warning #2 below) "didnot receive data" continued to appear

Hence as suggested in this page , I executed the command static_transform_publisher 1 0 0 0 0 0 1 map odom in a new terminal and after that tf warning(Warning #1) went away. however, I still get the Warning #2

Warning #1
[ WARN] [1565444430.804897254, 355.054000000]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.
Warning #2
[ WARN] [1565444437.269914070, 356.777000000]: /rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap/rtabmap subscribed to (approx sync):
   /odom,
   /camera/rgb/image_raw,
   /camera/depth/image_raw,
   /camera/rgb/camera_info,
   /scan


How do I proceed from here?

Question #2-
 
As suggested in the same tf page above, Following the instructions to add the Static_transform_publisher command to the launch file did not work. I am afraid i got either the syntax or the location of the command in the launch file wrong.

What is the syntax and where exactly do i insert the command in the launch file so that I don't have to run it manually every time for tf to be published

Attaching the frames.pdf file generated after running the static_transform_publisher command manuallyframes.pdf 

Best regards,

Malar.
Reply | Threaded
Open this post in threaded view
|

Re: 'Timed out waiting for transform from base_footprint to map' error when launching rtabmap_ros.

MalarJN
Hi Mathieu,

I uninstalled rtabmap_ros 0.17.6 package and removed all related folders and installed rtabmap_ros 0.19.3 using:
sudo apt-get install ros-kinetic-rtabmap-ros ros-kinetic-rtabmap
That seems to have fixed all the issues and rtabmap is working again.

Best regards,
Malar.