navsat_transform_node - no transform from base_link to map [closed]
Edit2: I have tested my heading towards NSEW and have found that I am actually -19 degrees at East not 0 at north like I expected. I will be making this improvment tomorrow but would still love anyone to point out any mistakes I have made. All nodes are running at 30Hz again.
EDIT1: I have done some further research and have found that the imu is running at 100Hz and the navsat node is publishing messages at 30Hz. I am assuming the problem is in that the navsat node is looking for a transform every 30hz but my ekf node is only publishing a transform every 100Hz and so it doesn't line up nicely? (i haven changed my ekf nodes to 100Hz since the config was posted since the imu data is at 100Hz
I am having troubles with my navsat transform node where the GPS data is either jumping around a lot or we experience the error
transform from base_link to map was unavailable for the time requested. Using latest instead
The launch file is
<?xml version="1.0"?>
<launch>
<include file="$(find state_publisher)/launch/state_launcher.launch"/>
<group ns="/localisation">
<rosparam command="load" file="$(find maps_ekf)/ekf_params.yaml"/>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_cont" clear_params="true"/>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_disc" clear_params="true">
<remap from="odometry/filtered" to="odometry/filtered_disc"/>
</node>
<node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform" clear_params="true" output="screen">
<remap from="odometry/filtered" to="odometry/filtered_disc"/>
<remap from="gps/fix" to="/fix"/>
<remap from="imu/data" to="/imu/data"/>
</node>
</group>
</launch>
The parameters are the same as the dual_ekf_navsat_example.yaml with covariance, topic names and the node names edited. The imu and gps data is set to 100ms
ekf_cont:
frequency: 30
sensor_timeout: 0.1
two_d_mode: true
transform_time_offset: 0.0
transform_timeout: 0.0
print_diagnostics: true
debug: false
map_frame: map
odom_frame: odom
base_link_frame: base_link
world_frame: odom
odom0: /wheel_odom/odom
odom0_config: [false, false, false,
false, false, false,
true, true, true,
false, false, true,
false, false, false]
odom0_queue_size: 10
odom0_nodelay: true
odom0_differential: false
odom0_relative: false
imu0: /imu/data
imu0_config: [false, false, false,
false, false, true,
false, false, false,
false, false, 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: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.01745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0.01745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0.15708, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0.0004, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0.0004, 0, 0, 0, 0, 0, 0, 0,
0, 0 ...
Do bumps exist on here
How did you fix this?
Hi @the3kr, I actually just ignored this issue in the end and it didn't cause me any further issues.