Go to Post If you want to attach a name to your post then I might actually consider your opinion. - Gregor [more]
Home
Go Back   Chief Delphi > Technical > Control System > Sensors
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 07-08-2013, 21:40
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,076
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Reducing Drift in KOP Gyroscope

If you make some modifications to the WPIlib Gyro class code you can add the ability to re-calibrate the gyro via a button press on the driver station during the Disabled state before the match starts. All MEMS gyros are sensitive to heat, and they self-heat once they are on. If you turn on the robot and the MC takes a while to start the match, there is a good chance that the initial calibration will be quite a ways off by the time the match starts. Recalibrate at the last possible moment, and also zero the accumulated heading at this time, and you'll be in good shape.

Averaging multiple gyros can help, but not eliminate, the drift issue. Pretend you have N identical gyros on the robot. As N approaches infinity, you can basically eliminate any random errors that accumulate over time. But, you cannot remove systemic errors (errors that are common to all of the gyros). Systemic errors include nonlinearities, thermal sensitivities, cross-axis sensitivities, alignment errors, etc. To reduce systemic errors, you generally need a better gyro. There is a reason (well, multiple reasons) that NASA does not use the FRC KOP gyro on their spacecraft. With inertial sensors, you often get what you pay for. The good news is that, for FRC applications, the KOP gyro is usually fine for 15 seconds of autonomous mode. If you want to do field-centric control for a holonomic drivetrain, it might be worth spending $50 or so on a superior gyro.

Fusing a gyro with encoders (via a Kalman filter or other techniques) helps in a few specific cases. Namely, you gain the ability to do a "zero velocity reset". In other words, if you KNOW you aren't moving (because the encoders aren't changing state), you can disregard any gyro movements during these periods. In general, though, the complexity of an extended/unscented Kalman filter will outweigh the benefits in 99%+ of cases.

Last edited by Jared Russell : 07-08-2013 at 21:42.
Reply With Quote
  #17   Spotlight this post!  
Unread 22-12-2013, 17:30
stevethetinker stevethetinker is offline
Registered User
FRC #1288 (RAVEN)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2004
Location: St. Charles, MO
Posts: 35
stevethetinker is an unknown quantity at this point
Re: Reducing Drift in KOP Gyroscope

We (1288) have used gyros in some years. The stability of the KOP gyro was not an issue. They have been good enough for the autonomous period. The 2010 robot had a gyro, but was not used in competition. I have since been working with that robot developing a better drive system. The gyro drifted enough to be a problem. It would drift 10 degrees or more in just a minute or two, which was a big problem for field-oriented drive controls. I replaced it with a new gyro from Andymark and the drift is much less. I'd say your 0.01 degree per 2-3 seconds is good for this technology. As noted in other posts, these gyros are temperature sensitive. There is an on-chip temperature sensor that you can access through another analog input. The hard part is measuring the temperature-drift equation. Once you have that you can compensate for most of the drift.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 02:33.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi