robot_localization with GPS,IMU and odometry , in Gazebo simulation
Hello,
I have been working to configure the dual_ekf_navsat setup from robot_localization
(brilliant piece of software) for using it with my simulated robot in Gazebo,
I have all sensors, thanks to gazebo_plugins
, I have ;
- Ackermann drive plugin that also provides
odom
- IMU plugin provides
imu/data
- GPS sensor plugin provides
gps/fix
I have identical sensor setup with the basic example provided in dual_ekf_navsat, but so far for some reason the second instance of EKF that is responsible for GPS, shifts dramatically and finally explodes. The first EKF instance responsible for continues
odom->base_link
transform seems doing fine.
I really don't know what I am missing here, I checked all the topics names and data published under these topics. Everything is in simulation , so I will expect it to work ideally. y dual_ekf_navsat
.yaml is ;
# For parameter descriptions, please refer to the template parameter files for each node.
ekf_local_filter_node:
ros__parameters:
use_sim_time: true
clear_params: true
publish_tf: true
filter_type: "ekf"
frequency: 30.0
sensor_timeout: 0.1
odom0: /odometry/wheel
imu0: /imu/data
odom_frame: odom
base_link_frame: base_link
world_frame: odom
map_frame: map
odom0_config: [false, false, false, # X , Y , Z
false, false, false, # roll , pitch ,yaw
true, true, true, # dX , dY , dZ
false, false, false, # droll , dpitch ,dyaw
false, false, false] # ddX , ddY , ddZ
odom0_relative: false
odom0_differential: false
odom0_queue_size: 10
imu0_config: [false, false, false, # X , Y , Z
false, false, true, # roll , pitch ,yaw
false, false, false, # dX , dY , dZ
false, false, true, # droll , dpitch ,dyaw
false, false, false] # ddX , ddY , ddZ
imu0_relative: false
imu0_differential: false
imu0_queue_size: 10
imu0_remove_gravitational_acceleration: true
process_noise_covariance: [0.03, 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.03, 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.04, 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.03, 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.03, 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.06, 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.025, 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.025, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0 ...