Sensors, Electronics and Prototyping

Reply To: total calibration method

Welcome to Redshift Labs Forums UM7 Product Support total calibration method Reply To: total calibration method



I’ve been having yaw (heading) drift issues like some others on this forum and I have a few questions. I’m replying to this post because some of the questions are related to how calibration should be done. Please excuse the laundry list, but if someone could help me answer all of these I’d have a much better understanding of how the magnetometer calibration works.

Q1) Does setting the magnetic reference vector actually affect the performance (accuracy) of the yaw estimate? Or is it simply a way to reset the definition of North (that is, the zero heading point)? In my application I don’t care about heading with respect to Earth or any “absolute” frame. I only care about relative heading (how has the heading changed when my device is rotated from some prior stationary point). So do I need to be concerned with setting the magnetic reference vector?

Q2) If it is important for me to set the magnetic reference vector, should I do it before or after magnetometer calibration?

Q3) If I set the magnetic reference vector, should I simultaneously set the accelerometer reference vector? That is, do they both need to be updated when one of them is set at a given IMU orientation.

Q4) Let’s say hypothetically I do the calibration inside of a building, but not right next to metal objects. Then I take the UM7 outside to an open field. Should I expect to see problems with yaw accuracy because the environment changed? If the environment changes as in this hypothetical example, would I have to redo the magnetometer calibration, would I have to reset the magnetometer reference vector, do both, or do neither?

Q5) Let me be more specific about the exact issue I’m having in case you have ideas as to what’s going on. First off, I have the UM7 inside of a device with other electronics, wires, and batteries. I’ve done the magnetometer calibration as shown in the tutorial video. When my device is stationary the yaw estimate is stable. No drift. But let’s say I rotate my device about 90 degrees after it’s been stationary and then I bring it to a stop again. What will happen is there will be an immediate change in the yaw while my device is rotating corresponding to the fact that my device’s heading is changing. But then when my device stops rotating, the yaw will continue to change very slowly for another 10 seconds or so, by an amount of 5 to 7 degrees, in the *opposite* direction. Any ideas?