IMU are often used in theoretical models involving SLAM.

I'm a bit confused on their practical value since error accumulation is so bad that after a couple seconds you need to completely ignore it.

What is the reason to use and IMU and when should they be used?

More generally, how do you handle the horrible accumulation of error making the item essentially useless for localization?


IMU's are extremely useful in SLAM.

Here is just a basic list of some of the benefits/uses.

  • Provides an initial guess on pose for optimization methods.
  • Helps filter out outliers for computer vision feature matching.
  • Provides scale in monocular slam.
  • Provides global pitch and roll estimates.
  • Works much better for Kalman filters prediction then a basic velocity model.
  • Only sensor that can reliably work everywhere.(Cameras need lighting, GPS needs a connection, LIDAR problems with reflections and rain)
  • An easy source of angular velocity which is useful for getting rid of motion blur in cameras and LIDAR.
  • Scenario identification: In car odometry it can help detect when the wheels are slipping.
  • And more that I can't think of the moment.

When should they be used?

Always. You should never have a sensing platform/robot without an IMU.

More generally, how do you handle the horrible accumulation of error making the item essentially useless for localization?

You always have to pair it with a sensor that is more accurate in the long term. LIDAR,GPS, Cameras, are all viable options. The IMU is there to estimate the pose in the short time between these other measurements.

Also if your motion model is good for something like a car then you can also get some really good estimates. Take a look at https://github.com/mbrossar/ai-imu-dr. The results with purely an IMU is on par with several state of the art SLAM methods.

  • $\begingroup$ I think the motion model and IPC will give better results than any IMU measurement as long as you can detect obviously bad alignments. $\endgroup$ – FourierFlux Oct 18 '20 at 6:42
  • $\begingroup$ Yes but you never use an IMU alone. It is always meant to be used in conjunction with a sensor. Your motion model + IPC will give better results than an IMU, but an IMU + IPC will perform even better. $\endgroup$ – edwinem Oct 18 '20 at 15:14
  • $\begingroup$ Also ICP( Iterative closest point). IPC is (inter-process communication) :) $\endgroup$ – edwinem Oct 18 '20 at 15:52
  • $\begingroup$ I don't think ICP+ motion model will be worse than ICP + IMU, I will need to test I guess. But I am more confident in odom information than IMU. $\endgroup$ – FourierFlux Oct 18 '20 at 22:36
  • $\begingroup$ The problems with motion models is that you also have to define them. The IMU equations work the same no matter the vehicle. Be it drone,car, legged robot,... So you can design your SLAM algorithm for one, and have it apply to all. $\endgroup$ – edwinem Oct 18 '20 at 23:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.