Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 




    I work with BNO055 in IMU fashion. When I put the BNO055 on a table and move it little, the orientations are very good. None drifts. Even over several hours. But as soon as I go from a point A to a point B (200 meters e.g.) with the BNO055, he loses his bearings. What do I have to do for the BNO055 to work safely in the movement as well.

    9 REPLIES 9

    This parameter is called heading drift. No matter what underlying technology, there will always be a drift when integrating the gyroscope date to get heading. The main factor for this drift is the bias stability. With BNO055, it is already close to the maximum stability allowed for a consumer electronic device. Sensors that are more precise than this are subject to export control.

    Is there any reason why you would not want to use the NDOF mode ?


    I used both bno055  usb stick and bno055 shuttle board (in NDOF mode) to measure the heading (in Eulers )in various points about 3 meters apart. I see lots of difference (upto 10 degrees) between the heading values.  Calibrating the sensor again in that same point also gives the same value.  

    What you are seeing here is magnetic distortion. The BNO055 heading can only be as accurate as the magnetic field around it.

    Since USB ports don't grow on trees, there is a good chance your test was done indoor, correct ? Magnetic fields indoors are usually distorted by the building structure and the content of the building. When using a compass, whether mechanical or digital, heading will be affected.

    Thanks for replying,

    You are right, I'm trying in indoor as it will be used on a robot running indoors.

    Even tough I do dedicated calibration at a fixed point I do not get absolute value while facing towards the North,  so can I please know what is calibration ? Why exactly do we calibrate?

    Thank you.



    In NDOF mode, after magnetic calibration is complete the heading will be 0 degrees when facing magnetic North. Since you are complaining about "not getting absolute values", then I would check the quality of the magnetic environment.

    For indoor robots like this, we recommend using the IMU mode, and mitigating the integration error by alternating left and right turns when possible. alternatively, the robot can keep track of the number of complete rotations and do a 360 degree rotation backwards.