MPU9150 quaternion convergence and offset

By manishrao , 21 August 2014

During recent experiments with MPU9150, I have noticed that the quaternion from MPU takes some time to converge to a stable position and a yaw angle offset is observed, as illustrated below. The test set up is with the MPU placed flat on the table with accelerometer positive z-axis pointing up. The gyro orientation I pass into the DMP is the identity matrix because of the set up.

The sensor is completely stationary. The plot was made with my quaternion to Euler angle function. The results from the plot was also confirmed by the motion-driver-client.py Invensense provided: I can see object turning and stablizing with a roughly 15 degree yaw offset.

Image removed.

I am using DMP for 6 axis fusion and my log consists of quaternion, raw acceleration and calibrated gyro reading.

To my understanding, 6 axis fusion does not correct yaw, and if there's a constant gyro reading, I would see continuous drift in yaw. The fact that my yaw plateaus leads me to believe that gyro bias was pushed correctly into the DMP. Also, this doesn't seem to be a device-specific problem, as I have tried at least 2 sensor boards and both showed similar behavior, with slight difference in the yaw offset. (12 vs 14 degree).

I am not using the magnetometer in this case, because the environment for my project is prohibitive of it. As such, I observe the same phenomenon no matter what initial heading I experiment with.

Has anyone run into similar situations? How would I identify the source of this error? Any suggestions on how this can be removed is greatly appreciated.

The test log can be found at http://www.mediafire.com/view/39h5j8zg5nr11lq/test.log

phpbb Topic ID
16500