IMU calibration
Prerequisites
No matter what board do you have on your rover, there may occure some problems with Internal Measure Unit - both integrated and external. The IMU readings may show the rover spinning in Z axis - which would seem as rover is rotating in place, even if the robot is not moving at all.
Running Calibration
To resolve this problem, we have prepared a script for calibrating the IMU sensor, which will measure the offset causing the robot's drift and take it into account in provided data from the sensor.
To calibrate your IMU all you have to do is to connect to the rover via SSH, and execute the command:
rosrun leo_fw calibrate_imu
Perform the calibration while the rover is not moving, and is placed on a flat
ground in normal orientation (no tilt) to ensure the proper measurements.
Otherwise the imu won't be calibrated correctly.
The script has one optional argument which specifies how long the offset will be measured. It default to 10 seconds, so if you would like to measure it only 5 seconds, you can execute:
rosrun leo_fw calibrate_imu 5
When the script finishes, the offset is automatically saved on the rover and used to provide accurate measurements.