Using ekf_localization_node from robot_localization package for IMU only navigation
Hi,
I have a pretty high quality IMU (VN-100) for which I want to test the performance with IMU-only EKF filter. I have setup my system inspired this post.
However, I am experiencing the issue that the resulting /filtered/odometry
shows zeros for linear displacements x,y and z.
Any hints or suggestions would be very welcome. Thanks in advance.
I am setting up the system as follows:imu_ekf.launch
:
<launch>
<node pkg="tf2_ros" type="static_transform_publisher" name="bl_imu" args="0 0 0 1.5708 0 3.1416 base_link imu" />
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se" clear_params="true">
<rosparam command="load" file="$(find imu_vn_100)/launch/imu_only_ekf.yaml" />
<param name="odom_used" value="false"/>
<param name="imu_used" value="true"/>
<param name="vo_used" value="false"/>
</node>
</launch>
imu_only_efk.yaml
:
frequency: 50
sensor_timeout: 0.1
two_d_mode: false
transform_time_offset: 0.0
transform_timeout: 0.0
print_diagnostics: true
debug: false
debug_out_file: /path/to/debug/file.txt
publish_tf: true
publish_acceleration: false
odom_frame: odom # Defaults to "odom" if unspecified
base_link_frame: base_link #base_link # Defaults to "base_link" if unspecified
world_frame: odom # Defaults to the value of odom_frame if unspecified
imu0: /imu/imu
imu0_config: [true, true, true,
true, true, true,
true, true, true,
true, true, true,
true, true, true]
imu0_nodelay: false
imu0_differential: false
imu0_relative: false
imu0_queue_size: 5
imu0_pose_rejection_threshold: 0.8 # Note the difference in parameter names
imu0_twist_rejection_threshold: 0.8 #
imu0_linear_acceleration_rejection_threshold: 0.8 #
imu0_remove_gravitational_acceleration: true
use_control: false
stamped_control: false
control_timeout: 0.2
control_config: [true, false, false, false, false, true]
acceleration_limits: [1.3, 0.0, 0.0, 0.0, 0.0, 3.4]
deceleration_limits: [1.3, 0.0, 0.0, 0.0, 0.0, 4.5]
acceleration_gains: [0.8, 0.0, 0.0, 0.0, 0.0, 0.9]
deceleration_gains: [1.0, 0.0, 0.0, 0.0, 0.0, 1.0]
Cheers...