|Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.|
Calibrating the robot IMUDescription: This tutorial explains how to calibrate the robot IMU (Inertial Measurement Unit)
Tutorial Level: BEGINNER
Next Tutorial: Calibrating the robot RC
To calibrate the IMU sensor: ric_robot/ric_calib service is used to enter calibration mode and saving the data. The com field in the service request can range from 1 to 4 as follows:
com=1 – Enter magnetometer calibration mode.
com=2 – Enter accelerometer calibration mode.
com=3 – Save current calibration data.
com=4 – Exit calibration mode.
com=5 – Erase calibration data.
For example to calibrate the magnetometer of Lizi 1 robot use:
$ rosservice call /lizi_1/ric_calib "com: 1"
After entering calibration mode, move the robot around and then send com=3 request to save the data, followed by a com=4 request, as follows:
$ rosservice call /lizi_1/ric_calib "com: 3" $ rosservice call /lizi_1/ric_calib "com: 4"
If something went wrong, just send com=4 request to discard the data. The calibration data is stored in the EEPROM.