donkeycar icon indicating copy to clipboard operation
donkeycar copied to clipboard

Improve calibration steps for IMU

Open Ezward opened this issue 3 years ago • 3 comments

We call the calibrateMPU6500 method, but we do no calibration of the magnetometer on the MPU9250. We could do much better and we need to if we want to use the IMU to improve path following. See this repo for a set of python scripts that do a more thorough calibration https://github.com/makerportal/mpu92-calibration

Here is a series of associated articles:

  • https://makersportal.com/blog/calibration-of-an-inertial-measurement-unit-with-raspberry-pi
  • https://makersportal.com/blog/calibration-of-an-inertial-measurement-unit-imu-with-raspberry-pi-part-ii
  • https://makersportal.com/blog/calibration-of-a-magnetometer-with-raspberry-pi

Ezward avatar Dec 12 '22 19:12 Ezward

@Ezward,

The makerportal mpu92 calibration documentation is very impressive and thorough.

TCIII

TCIII avatar Dec 12 '22 21:12 TCIII

Here are some links for integrating IMU and for fusing IMU with GPS

  • https://pypi.org/project/droneposelib/. dronepose lib is a python library that will make pose estimates based on IMU data.
  • https://pypi.org/project/imusensor/ library to make reading the IMU easy. Look at the acknowledgements at the bottom of the page.
  • https://github.com/micropython-IMU/micropython-fusion micro-python library implements Madgwick
  • https://github.com/xioTechnologies/Fusion AHRS fusion in C with Python bindings. Includes some error rejection.
  • https://github.com/smahajan07/sensor-fusion Python fuse GPS with IMU for position and orientation estimation

Ezward avatar Feb 06 '23 22:02 Ezward

The driver that we currently use also has calibration methods; https://pypi.org/project/mpu9250-jmdev/

Ezward avatar Feb 15 '23 06:02 Ezward