Costmap2DROS transform timeout
Hello ROS experts,
I am running a turtlebot with a Kobuki base and Asus Xtion Pro camera, without any dedicated laser range finder (on Ubuntu 14.04 using ROS Indigo).
When I run amcl everything runs fine and I am able to navigate using Rviz as well as my own code which uses move_base.
However, there is another node that runs, which subscribes to /camera/rgb/image_rect_color and uses the camera images to detect objects. As soon as this node starts running I start getting the below warning repeatedly:
[ WARN] [1456505621.806228153]: Costmap2DROS transform timeout. Current time: 1456505621.8061, global_pose stamp: 1456505620.1919, tolerance: 0.5000 [ WARN] [1456505621.806352967]: Could not get robot pose, cancelling reconfiguration
After a couple of minutes, the robot is unable to navigate anywhere and all the move_base commands get aborted.
I checked the issue posted here and tried to increase the tolerance using
rosparam set /amcl/transform_tolerance 5.0
The tolerance was set properly and I verified it using rosparam get. . This helped for some time, but after that, the same problem reoccurred.
I checked the transform tree and saw that the frequency of map is 10000 Hz while frequency of base_link is around 5 Hz. This appears to be very strange, and it seems to me that this huge difference is somehow causing the transformation from map to base_link to fail.
Given below is a part of my tf transform tree (sorry I could not post an image since I do not have the required amount of points). The sequence is map->odom->base_footprint->base_link:
map Broadcaster: /amcl Average rate: 10000.000 Hz Most recent transform: 1456505319.249 ( -0.752 sec old) Buffer length: 0.000 sec
odom Broadcaster: /mobile_base_nodelet_manager Average rate: 50.556 Hz Most recent transform: 1456505318.483 ( 0.014 sec old) Buffer length: 4.905 sec
base_footprint Broadcaster: /robot_state_publisher Average rate: 5.208 Hz Most recent transform: 1456505318.479 ( 0.018 sec old) Buffer length: 4.800 sec
base_link Broadcaster: /robot_state_publisher Average rate: 5.208 Hz Most recent transform: 1456505318.479 ( 0.018 sec old) Buffer length: 4.800 sec
Any ideas or suggestions regarding possible solutions or pointers to what I may be doing wrong will be highly appreciated.
Best, Sayantan
Once that other node is launched, run
roswtf
in a terminal. It will give you a quick summary of things that might be problematic about your ROS network and TF tree.hello, did you find a way to solve this issue?