adding "good" IMU data causes troubles to robot_pose_ekf
Hi,
I am using a MMP for navigation and mapping. I got trouble while rotating with move_base and debugged the robot_pose_ekf data. Here are my strange results :
- when
imu_used : false
in the ekf.yaml file, I sent a move_base goal of 90 degrees to the left and the robot rotated 90 degrees to the left, and /encoder topic gave expected quaternions. Looked fine. - Then I set
imu_used: true
and I sent the move_base goal of 90 degrees to the left (after restarting the roscore to set the new parameter). The robot rotated about 170 degrees -instead of 90- but the quaternions in /imu/data and /robot_pose_ekf/odom are fine (I mean expected data).- I created a node to rotate 90 degrees using only IMU data and the robot rotated 90 degrees as expected.
Can the error be from parameters in move_base? I checked the frames, looks fine too.
Here is the husky_ekf.yaml :
freq: 10.0
output_frame: "odom"
sensor_timeout: 1.0
publish_tf: true
odom_used: true
imu_used: true
The gps is disabled
And here is the launch file:
<launch>
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" output="screen">
<rosparam command="load" file="$(find clearpath_tec_bringup)/config/husky_ekf.yaml"/>
<remap from="gps" to="gps/fix"/>
<remap from="imu_data" to="imu/data"/>
<remap from="odom" to="encoder"/>
</node>
</launch>