Using MATLAB to Filter Gyroscope Data

5 visualizzazioni (ultimi 30 giorni)
NickPK
NickPK il 24 Giu 2016
Risposto: James Tursa il 24 Giu 2016
I'm working on a project that involves collecting gyroscope data and plotting the angular position using that data. As with most any gyroscope, I'm seeing a fair amount of noise and drift in my collected data. At rest, the values stay decently close to their original offset value, however, once I integrate the angular velocity to get angular position, the drift shows up clearly. A screenshot of this is below:
I've been doing some research on different types of filters, but haven't had much luck implementing one. From what I've seen, MATLAB has some built-in filter functions that I may be able to implement into my code, but I've never used any before and don't really know where to start with those.
Can someone give me some pointers on how to implement a simple filter to clean up my data?
Links to the gyro I'm using and its datasheet are below:
Link to gyroscope: Adafruit Gyroscope
Link to gyroscope data sheet: L3GD20H Gyro Data Sheet

Risposte (1)

James Tursa
James Tursa il 24 Giu 2016
Sounds like you need to calibrate. I would recommend looking into "gyro calibration" online to get an idea of how to calibrate gyro bias and drift. E.g., sitting at rest on a known position on the surface of the earth you can map earth rotation rate into the gyro instrument coordinate system to get the expected measurements. You can then compare that with actual measurements to get the residual errors. The gyro calibration techniques you find online should help to get you going on algorithms to use to filter these errors and resolve the gyro bias and drift errors.

Categorie

Scopri di più su Instrument Control Toolbox in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by