Imu is called inertial measurement unit in Chinese, which can obtain its own acceleration and angular velocity information, and some IMUs can also obtain geomagnetic quantities. BNO055 Xplained Pro was used in the laboratory. It has three accelerometers, three gyroscopes and three magnetometers, and can measure information in X, Y and Z directions. Because we are still in the primary learning stage and don't understand magnetometers, we only use the acceleration and angular velocity information obtained by accelerometers and gyroscopes. There is one thing I want to vomit. During the experiment, I burned two IMUs and a usb. The reason is that the pins of BNO055 Xplained Pro module are not completely wrapped by solder. When installed on a car in the laboratory, the pins directly contact with the metal shell of the car and burn. It's really stupid to cry.
Imu is usually calibrated before use, and the calibration of accelerometer and gyroscope is separate. Because the acceleration value obtained by the accelerometer is unstable and not a constant, it is impossible to directly subtract a value from the result to complete the calibration. The commonly used method is the least square method, and the specific methods and principles can be referred to here. The information obtained by the gyroscope is a constant, and the calibration can be completed by directly subtracting this constant from the result.
I was going to write a program to calibrate the accelerometer, but I didn't expect how to solve the quadratic equation when I wrote it later. It turns out that there is an imu calibration package, so I plan to use it directly. According to its REAME.md, the calibration parameters should be obtained. However, the link to install Ceres Solver is invalid, so you can refer to the installation here.
Because I was on a business trip when writing this article, I couldn't do the experiment because I didn't have imu to collect data. When I go back to school, I'll see if it's feasible ~