Alert.png

Notice: This page contains information for the legacy Phidget21 Library.

Phidget21 is out of support. Bugfixes may be considered on a case by case basis.

Phidget21 does not support VINT Phidgets, or new USB Phidgets released after 2020. We maintain a selection of legacy devices for sale that are supported in Phidget21.

We recommend that new projects be developed against the Phidget22 Library.


Click on the 2phidget22.jpg button in the menu bar to go to the Phidget22 version of this page.

Alert.png

Gyroscope Primer

From Phidgets Legacy Support
Revision as of 20:48, 3 August 2012 by Burley (talk | contribs) (→‎Drift)

Introduction

A MEMS (microelectrical-mechanical system) gyroscope is a device that is used for measuring orientation. Accelerometers can perform a similar function when they are stationary by measuring the components on each axis of Earth's gravitational field. However, if the accelerometer is experiencing acceleration other than gravity it will not be able to distinguish and consequently will not be able to determine orientation. This is where gyroscopes become useful.

How Gyroscopes Work

Gyroscopes contain small strips of metal that bend when the gyro twists and moves. By measuring the amount of bending the gryo can accurately report what angular velocity it is experiencing. Angular position is often what is desired however. In order to obtain angular position the angular velocity can be integrated over time. Once integrated the data will be similar to the data from a 3 axis compass, it is important to note however that the gyro data will be with respect to an arbitrary 0 where as the compass is with respect to the Earth's magnetic field. This means that the gyroscope will more often than not give you different numbers than the compass. The only time this is not true is when the gyro is zeroed directly parallel with the Earth's surface and pointing to the North magnetic pole.

Basic Use

In general gryoscopes must be calibrated, most are calibrated at the factory where they are manufactured though. Check the data sheets for the gyro you have to see if it requires manual calibration.

Once calibrated you are ready to start using the gyro. When you power it up you need to hold it as still as possible and then use the zero function or button to make the gyro ready to take accurate measurements.

Note that the gyro headings are the roll, pitch and yaw of the gyro with respect to the arbitrary zero point set at the beginning.

Drift

Gyroscopes drift. It is unavoidable. Even extremely expensive, high end models will have significant drift. For example, the 1056 is rated to drift 4°/min. So over the course of an hour of measurements, the gyroscope will be reporting values that are 240° off what they should be. This is obviously quite substantial. In order to compensate for drift there are a few things you can do:

The best thing to do is zero the gyro on a regular basis. Zeroing the gyro will reset the drift back to nothing and you can begin again. The problem with this is that you can only zero the gyro when it is stationary. This means that you will need to stop movement for a period of time (it can take a few seconds to complete the operation) before continuing on with measurements.

The next thing that can be done is to continually correct for the drift. In order to do this the drift rate needs to be measured over as long a period of time as possible. Keep the gyro as stationary as possible and leave it overnight. Check the gyro reading in the morning and you know how much the gyro has drifted over the period of X hours. Now you can divide that down to determine the drift amount for each individual sample, and then in your program you can subtract the drift amount from each and every sample. The issue is that drift is not constant, averaging over a large period of time will help negate any instantaneous ill effects but individual samples still have a margin of error associated with the subtracted drift value.

In practice a combination of the 2 above strategies is the best. Continually subtracting drift from the measurements and zeroing whenever it is possible to do so.