Turtlebot Odometry Calibration (with and without IMU) Observations/Questions
After adding the Razor 9DOF IMU from Sparkfun, the resulting Odometry actually seems to have gotten worse as shown in the two videos below:
Wheels-only Odometry, IMU disabled, analog Gyro disabled: https://youtu.be/ibY_HCBGm6U
Wheels + IMU, analog Gyro disabled: https://youtu.be/mPiKbtP5szM
Both show the robot's position with respect to the /odom
frame as calculated by robot_pose_ekf
. If the odometry was perfect (i.e. no error) then the position of the walls as seen by the Neato XV-11 LIDAR would remain in the same place as the robot is moved around.
The wheels-only odometry has a long-term drift as the TurtleBot is rotated continuously (via joystick telop). In the short term, though, it is pretty accurate and can probably be improved further by fine tuning the scaling parameters.
The wheel+IMU odometric position gyrates pretty significantly per turn but there is no long term drift.
When localizing with AMCL, adding the IMU will likely produce worse results because Localization can compensate for long term odometric drift but the short term gyrations will throw it off.
I did calibrate the IMU as described in the wiki page, including the Magnetometer (Section 7.1.3). The calibration_magn_use_extended
parameter is set to true
.
I'm looking for suggestions on how the improve the results of the wheels+IMU odometry. Thanks.
Also, here's the Matlab Analysis of the Magnetometer configuration data. I'm not sure how this is supposed to be interpreted. Please let me know if something's wrong.