Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Gyro drift correction

Gyro drift correction

Gyro drift correction

I'm working with gyros (ADXRS150 from Analog Devices). How can I filter the output so that the drift-problem minizes? Do you know any filtering method (Kalman, FFT/DFT etc) that can be applied here? Any suggestions?

RE: Gyro drift correction

You can't.  That's why it's specified on the datasheet.

If you are in a condition where you know there is no motion, you can measure the drift and compensate for it to some degree.  Alternately, you must compare your state with that of a more reliable system and calibrate against the other system.


RE: Gyro drift correction

Thats the problem. In my application I don't know when  it is not used.

I thinked about using two different types of system at the same time, but by this way it'll be very expensive

RE: Gyro drift correction

If you can't tolerate the drift and there is no reference that you can calibrate against, then you probably need to look for a better gyro


RE: Gyro drift correction

The follwing are gut opinions. Not based on any experience or professional ability. Correctness is neither implied nor should be expected. So read at your own peril.

Gyro drift is a function of frictional losses in the gyro mechanism, time, temperature and ambient vibration levels and probably a hundred other things. At the end of the day you are looking for a number for the absolute uncertainty of each measurement after all you modeling right?. You probably have to calibrate the unit for Bias and Scale, possibly check for linearity and temperature dependancy (of both bias AND scale). Also dont forget Orthogonality of the sensor axis to mouting. MEMS chips are not famous for great ortho coefficients. Just compute you directional cosines and apply the coordinate transformation matrix to your axes data .

But at the end of the day, There is really is now wat to "correct" for the non linear and random drift component. I suspect thats why we have GPS to guide missiles.

I know of several things people have done. In the oil and gas industry, You begin your data collection at a known point (basically a stand of known pitch yaw and roll in the truck) and then start you data gathering by sticking the gyro package in the hole. At the end of the run, you put the sensor back onto the stand (which you have been careful not to move!) and compare the actual orientation to the tool's reported orientation. You than take the difference and "apply" it to the data, basically doing a linear adjustment to each measurement in your data set. I dont know how they handle wrap around errors though...(by the way these are with what are colloquially referred to as "North Seeking Gyros", NOT Rate gyros.)

Another thing you can do is to periodically hold the sensor still  or give it a "known" constant input and check the actual drift over a period of time and then use that number as a constant correction until the next time you do a drift check.

I feel that depending on the level of accuracy you need, either of these might work. Its one thing to try to be withing 10 degrees over a few minutes and another thing entirely to calibarate a gyro on a submarine...

So Im am assuming you are integrating to get pitch yaw and roll (or some subset thereof). Watch the integration process. It is inherently a smoothing operation so it tends to minimize the affects of spikes in your data (things normally caused by shock inputs and such) but it is also nasty as it will integrate you to infinity very fast.

Kalman filters are what I have heard of people using to try and predict the process state based on previous samples. The best of my understanding says that you use a hueristic model and past data (something like a difference equation) to "predict" the correct value. I would look into it as it is possibly your best bet. Pretty advanced stuff I suspect. Beyond my level.

I do know that gyro sensor packages in advanced guidance systems in missiles and such are actually heated and kept at a constant temperature to minimize thermal drift errors. Not really practical. If you had the room and money to heat the damn thing, you could just as easily buy a better gyro (which I see has already been suggested).

Also, depending on the frequency response of your chip (I see that its about 150 degrees/second maximum rate out, thats something like 25 Hz), you might try to design a shock isolating package that will limit your vibration induced drift. Try suspending the sensor package on soft springs or rubberbands or something. Tune it to have a resonance below 25 Hz and as low a Q as you can manage (Airpots?in oil?). This should reduce any vibration induced coupling. And for heavens sake make sure you are anti aliasing and sampling fast enough and with enough bit resolution. Dont expect a 0.001 degree stable Gyro with a 8 bit A/D.

Good luck. Me, I would turn to drink.


RE: Gyro drift correction

Actually, almost ALL ICBM's remain strictly inertial.  The rationale is that in time of war and or EMP environments, GPS service may be eliminated or degraded.

Therefore, an ICBM's gyro is aligned just prior to launch and its drift is low enough to handle the 45 minutes or so until its doomsday.

Gyro drift is a direct valuation of the quality of the gyro.  Vibrating mass gyros have the greatest drift, while quartz rate, spinning gyros, FOGs, strategic RLGs, ESD spinning gyros, and strategic gyros have progressively smaller drifts.

Note that spinning gyros cover the gamut of the drift range, based on size, rotation speed, and quality of bearings.


RE: Gyro drift correction

I Usually use an accelerometer in unison with a Gyro in a setup similar to what "IRStuff" suggested in the first responce to your posting.  I remember an article I read on the internet that showed exactly how to set this up.  Try this:  http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=GGLD,GGLD:2004-34,GGLD:en&q=Gyro+accelerometer  

I am going to use this arrangement, along with a WAAS GPS system in my aerobot project ( http://aerobot.lfordesign.com ).  Hope this helps a bit...


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close