CHR UM6-LT Drift

Hello to all,
I just bought some CHR UM6-LT orientation sensors from Pololu. My first impression is that this devices are perfekt. But sometimes there is a really hard drift (see attachment picture). At that picture the sensor was not moved!
This drift appears sometimes in the CHR Serial Interface and at a normal ATmega2560. The sensor works mostly great. Often the drift increases, if I set the gyro to zero! Sometime there is a hard drift in the first few Seconds after powering on the sensor, then everyting seems perfekt. It is really strange. I often calibrated the magnetometer. What could be the problem? Does already anyone had problems like that with this really cool sensor? Or is this normal and I cant do anything to that?
Thank you very much and
Greetings
Jan

EDIT: At the ATmega2560 the drift appears only in the first few seconds (ca. 30sec), after that it works perfekt. At the moment, that is the main problem.


Hello.

What you are noticing might be the result of changes in gyro temperature. According to CH Robotics, when the rate gyros first turn on, they self-heat internally, which causes the biases to change substantially during the first few minutes of operation. Can you look at the output of the individual sensors to see whether your drift is the result of the magnetometer or the gyros? If it is the gyros, you might need to recalibrate them, but you should wait a few minutes after powering up the sensor to perform the calibration, and after that, you should consider disregarding the sensor output during the first few minutes after each power-up. If the problem is the magnetometer, you might just be seeing the effects of local distortions in the magnetic field.

- Ben

Hello Ben,
indeed the gyro was disturbed by the temperature, so I adjusted the temperature compensation. Now the gyro is not more influenced by the temperature, but there is still the drift (see attachment). If I wait a few seconds, the drift stops. At the ATmega the drift only appears in the first few seconds, too. It occured to me that the var (in my case the Euler Yaw var) always grows up +40. So if the var after starting the ATmega is 30, the var grows up to 70. If the starting var is 11, the var grows up to ca. 41. That happens always if the current of the sensor will be stopped, it does not matter how long. If I only reset the AVR, that does not happen.
Thank you very much!
Jan


I am not sure I follow the description of your problem, but it seems like maybe you are just seeing the sensor align itself based on the magnetic field when it first starts up, which is totally normal behavior. The way the sensor works is it uses the gyros to track rotations over short time scales, and the accelerometer and magnetometer to correct for gyro drift over long time scales. If the sensor is doing exactly what you expect after it has been running for a few seconds, then it sounds like everything is fine.

- Ben

Hello Ben,
thanks for your help!
I just found the problem: The EKF varience was in the factory setting too hard. After turning it down the sensor works perfekt the whole time.
Thank you very much!
Greetings
Jan

Great, I’m glad to hear you got it working! Thanks for letting us know what the problem was.

- Ben

I’m getting drift too. What value of EKT did you change?

Hi,
just try to change everything with real big values. Then you see what happens. I changed the Mag Variance in the
CHRobotics Serial Interface to 0, the Accel Variance to 5 and the process Variance to 100.
Greetings