Electronic – Cancelling drift of a gyro by mounting

driftgyroimumount

I am trying to design a device that is used for capturing rotation. I think I will be using an IMU from Invensense, as I have a few of them to play with.

A big problem gyroscopes seems to be drift, particularly yaw drift, as the drift on pitch and roll axes can be (mostly) removed by using a accelerometer to monitor gravity.

Is there a reason not to mount the device "on it's corner/edge", assuming that most of the time the up axis will stay the same, so no axis will have to be aligned with the gravity field for long. I have tried googling for this, but haven't really found anything. I'm assuming there must be something wrong with my idea, as I didn't find it being commonly used.

In my case the computational power needed to rotate the "local" rotations to "world" locations is not an issue, as it can be either done on a 32-bit microcontroller or a pc that is connected to the uC.

Best Answer

Maybe it depends on your gyro, but as far as I know the drift issue is not related to the measurement hardware on the Z-axis. Mounting the gyro on its side will have exactly the same drift as the standard mount. The drift associated with the yaw is typically larger because it is normally corrected for using the magnetometer, which has a much less reliable vector than an accelerometer. Meaning that the acceleration due to gravity, the down vector letting you know that the gyro is not moving on pitch or roll is much more consistent a measurement than the Earth's magnetic field. Especially if taking measurements indoors. There are plenty of things that create magnetic fields on order with the Earth's, none that match its gravity (assuming surface of the planet measurements).

One of the most effective drift cancelling methods I've used for a full IMU is zero angular velocity update. Very basically, if there is any time you know the device is actually stationary, you zero out the gyro. Depending on your application this might be after a footfall for a foot mounted device or any other recurring resting state. Works for the accelerometer too, though the zero velocity state measures acceleration due to gravity, giving your updated gravity offset.

I believe that Invensense devices have some pretty fancy data fusion on chip that should help sort all of this out but, to get very good results, you'll probably still have to use a Kalman filter.