I have been using the BMO055 for the last few months as a heading sensor in our robot. There is
noticeable drift in the heading reading which seems to happen in a number of scenarios:
These are some of the things I'm going to try
What other steps can I take to mitigate against these problems?
Solved! Go to Solution.
What is the column 3 in your data log? I expect it is accel or gyro output on one axis, is it right?
if that is the case, i can see periodly vibration introduced by motor.
This means the heading drift is really affected by motor.
Can you consider to adding mechnical dumping to reduce the transition of vibration from motor to sensor?
And also move sensor even far away from motor?
Pause can help also explain that the motor vibration will affect the sensor output. During the pause, sensor have chance to do self calibration to compensate the additional offset introduced by motor.
Apologies, columns 2, 3, 4 are the X, Y, Z orientation output, 5-13 are the calibration parameters.
There is indeed vibration, I am intentionally inducing it as its running on a test bed to replicate the robot.
I practice there will be vibration as its mounted on a robot driving in rough terrain. There will be vibration from the following sources:
Mechanical damping might be possible to an extent.
Currently, there is no too much option to improve the BNO055 performance according to vibration.
You can consider to use BMI088 which is target for robot application and have some vibration robust design introduced into sensor.
But in this case, you need to run the sensor fusion in the host MCU which you may not willing to do so.
Also pause is good option to improve the performance when we face similiar situation.