I am working on a robot for navigating confined spaces that are GPS denied, I have to navigate a 300mm square concrete tube. This is a prototype/proof of concept work and I don't have a ton of sensor experience so I am trying to balance ease of use vs accuracy. We will also be working with some form of LIDAR slam and kinematics approximations to corroborate position.

I have been recommended the BNO055 IMU because it has integrated sensor fusion and a simple interface. However, I have also heard that the proprietary software is quite inaccurate.

Bosch has discontinued the BNO055 and their recommended sensor for robotics is the BMI088. Could anyone with more experience feedback on what sensor would be best for me?

Also, could anyone recommend an open source software for dead reckoning?

  • $\begingroup$ Explore extended kalman filter. There are ros implementaions for that as well, you can use them straight forward $\endgroup$
    – McLovin
    Commented Nov 22, 2023 at 15:11

1 Answer 1


The BNO055 contains a magnetometer, while the BMI088 does not. However, the magnetometer is of limited value in most on-robot IMU applications because the motors cause enough magnetic disturbance to mess with any calibration you perform.

Although the BNO055 has on-board sensor fusion and a simple interface, I'd recommend you pick the BMI088 or newer:

  1. The integrated sensor fusion on the BNO055 is aimed at IoT and mobile phone applications, and at one point it required motion in all 9 DoF to calibrate. If you have a ground-based mobile robot, this calibration routine is cumbersome.
  2. The BNO055 is no longer supported, so the integrated sensor fusion is of limited value and won't be receiving updates.
  3. You have a lidar and other sensors to compensate for any drift that might accumulate.

As for dead reckoning, your robot kinematics have a lot to say about what sort of library you need there. I gather from your question that your robot is legged and not wheeled, so dead reckoning is a bit more challenging. SLAM in a long, narrow (featureless) passageway is difficult. However, if the goal is not to create metric maps but to safely traverse the length of the tube, then dead reckoning matters a lot less.

Disclosure: I used to work at Bosch in the robotics area, but I had frequent contact with some of the Sensortec team.

  • $\begingroup$ Yes, our robot will be legged but we are looking at an inchworm design so the movement will be fairly linear. The passageway is not completely featureless as it has bends and some obstacles and trusses. The goal is to gather enough of a map to be able to navigate the tunnel and perhaps gather information about the surface of the tunnel. The IMU will be used for dead reckoning but also to check if the robot is falling and to check the robot's orientation as it will climb vertical and horizontal. Thank you for your recommendation I will take this into consideration $\endgroup$
    – Friizzle
    Commented Nov 23, 2023 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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