I am using Phidgets Spatial 3/3/3 IMU sensor along with rotary encoders to feed to the robot_pose_ekf. For IMU, I am using phidgets_imu and imu_filter_madgwick to get the
sensor_msgs/Imu message. The problem is when I start the process and the robot is stationary at its start position, IMU starts drifting and the position of the robot in RVIZ starts changing (the actual robot is stationary). I have attached couple of images showing the change in position of the robot because of drift:
After 7-8 mins (approx):
I dont know whether this is normal or not. This only happens when I add IMU to the input of robot_pose_ekf, if I only have rotary encoders, everything looks OK. Also, I am not using magnetometer in the IMU and here is the relevant part of the code:
<!-- IMU --> <node pkg="phidgets_imu" type="phidgets_imu_node" name="IMU_node1" output="screen"> <param name="frame_id" value="base_link"/> <param name="period" value="32"/> </node> <node pkg="imu_filter_madgwick" type="imu_filter_node" name="IMU_node2" output="screen"> <param name="use_mag" value="false"/> <param name="publish_tf" value="false"/> <param name="fixed_frame" value="odom_combined"/> <remap from="/imu/data" to="/imu_data"/> </node>
Does anyone has any insights on why is this happening and how can it be resolved? Please let me know if you need more information from me.
Thanks in advance.
Post score: 0