Linear Velocity from robot_localization Package after IMU integration and and only one sensor (IMU) as Sensort Iput
HI
Im using the robot_localization robot_localization to get the linear Velocity of underwater simulated ROV with Gazebo. In order to get the correct orientation of the linear (twist) component of the published topic which is odometry/filtered
I set inertial_reference_frame:=world_ned"
instead of world in the Gazebo launch file and the .yaml file is like this
odom_frame: world_ned
base_link_frame: /rexrov2/base_link
world_frame: world_ned
Than the TF is like thisTF three Is that correct? Than the launch file is
<launch>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se" clear_params="true">
<rosparam command="load" file="$(find robot_localization)/params/ekf_template.yaml" />
<!--param name="frame_id" value="odom"/>-->
</node>
<remap from="imu0" to="/rexrov2/imu" />
</launch>
Than the yaml configuration file is:
frequency: 80
silent_tf_failure: false
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
imu0: /rexrov2/imu
imu0_config: [false, false, false,
true, true, true,
false, false, false,
true, true, true,
true, true, true]
imu0_nodelay: false
imu0_differential: false
imu0_relative: false
imu0_queue_size: 6
imu0_pose_rejection_threshold: 0.8
imu0_twist_rejection_threshold: 1.8
imu0_linear_acceleration_rejection_threshold: 0.8
imu0_remove_gravitational_acceleration: true
use_control: false
stamped_control: false
control_timeout: 0.2
acceleration_limits: [8.3, 0.0, 0.0, 0.0, 0.0, 8.4]
deceleration_limits: [8.3, 0.0, 0.0, 0.0, 0.0, 8.5]
acceleration_gains: [8.0, 0.0, 0.0, 0.0, 0.0, 8.0]
deceleration_gains: [8, 0.0, 0.0, 0.0, 0.0, 8.0]
publish_acceleration: false
Following this Frames Set Frames set up up and taking in account that my simulation is underwater is the frame set up ok or do I need some static_transform_publisher
such as <node pkg="tf" type="static_transform_publisher" name="base_link_to_odom" args="0 0 0 0 0 0 /rexrov2/footprint /rexrov2/base_link 100" />
So Im getting the Linear velocity Values and can compare with one "Ideal" "Pose" sensor that will gonna gonna use bit is only for comparison. So in the Velocity values are some how following the Ideal one but is a weak response.So what parameters can tune or what can do in order to get better results? Thanks