robot_localization Transform from base_link to map was unavailable for the time requested. Using latest instead.
Hi to Tom and everybody,
I’m currently configuring the robot_localization package in having two ekf_nodes and one navsat_node for fusing GPS, IMU and odom. The problem is that I’m getting the following warning which I’ve seen is a recurring problem in the localization_package:
Transform from base_link to map was unavailable for the time requested. Using latest instead.
. If you want to help me to troubleshoot this problem, I’m posting my configuration files for the EKF and the navsat nodes here. I’m also posting the tf_tree of the system in which you can see there is no delay in the transformation between the map to odom and odom to base_link. Finally, the rate of the IMU, GPS, odom is 50, 40 and 50 respectively. Moreover, It is not a real robot; I’m simulating everything in Gazebo.
I’ve tried the following:
• Setting the variable transform_time_offset: 0.05 in the ekf_se_odom node. I don’t really see the point of this because there is no offset in both transformations.
• Setting the variable predict_to_current_time: true in the ekf_se_odom node
At this moment, I’m running out of ideas and that’s why I’m asking for help.
The bag file for about 10 seconds of simulation, you can find it here:
ekf params
# For parameter descriptions, please refer to the template parameter files for each node.
ekf_se_odom: # Used only for broadcasting odom to base_link transforms
frequency: 30
sensor_timeout: 0.1
two_d_mode: true
transform_time_offset: 0.0
# transform_time_offset: 0.05
# predict_to_current_time: true
transform_timeout: 0.0
print_diagnostics: true
debug: false
odom_frame: odom
base_link_frame: base_link
world_frame: odom
# -------------------------------------
# Wheel odometry:
odom0: /wolverine_velocity_controller/odom
odom0_config: [false, false, false,
false, false, false,
true, true, true,
false, false, false,
false, false, false]
odom0_queue_size: 10
odom0_nodelay: true
odom0_differential: false
odom0_relative: false
# -------------------------------------
# Laser scanmatching odometry:
# odom1: scanmatch_odom
# odom1_config: [false, false, false,
# false, false, false,
# true, true, true,
# false, false, true,
# false, false, false]
# odom1_queue_size: 10
# odom1_nodelay: true
# odom1_differential: false
# odom1_relative: false
# --------------------------------------
# imu configure:
imu0: /imu/data
imu0_config: [false, false, false,
true, true, false,
false, false, false,
true, true, true,
true, true, true]
imu0_nodelay: false
imu0_differential: false
imu0_relative: false
imu0_queue_size: 10
imu0_remove_gravitational_acceleration: true
use_control: false
process_noise_covariance: [1e-3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1e-3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1e-3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0 ...