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.


1 Answer 1


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.

  • \$\begingroup\$ "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." What I tried to ask was, if I put the device for example on a 45 degree angle, is it possible to use accelerometers and the gravity vector on all three gyro axes? \$\endgroup\$
    – varesa
    Oct 14, 2013 at 10:34
  • \$\begingroup\$ @varesa That's an interesting idea, but what you'll probably end up with is the same amount of error distributed between the local axes which have a component in the world Z-axis. So that after the translation you'll have the same error in world yaw. This will probably be the case whether you have the gyro and accelerometer in plane or out of plane by your proposed 45° shift. \$\endgroup\$
    – Samuel
    Oct 14, 2013 at 17:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.