Comments (2)
Hi brhea,
The ADIS16448 IMU has much lower noise and does exhibit substantially less drift than other offerings. That being said, the factory calibration is meant to minimize orthogonality error (axis to axis misalignment) and changes in sensitivity (scale) across temperature. Unfortunately, no calibration can compensate for gyro drift in its entirety, but merely reduce as many sources of error as possible.
The "calibration" program included with the driver is perhaps a misnomer. Instead of calibration, this program should really be an "offset recorder". Using the default settings the program samples enough data to most effectively reduce drift (based upon the bias stability plot in the datasheet) and calculates an offset which is then applied to every sample. Even though a portion of the drift is due to uncontrollable noise sources, the drift characteristics will remain reasonably repeatable. Due to the nature of FRC and its short match times, this method of drift reduction is "good enough".
The 448 does have the ability to perform magnetometer soft and hard iron calibration, but both of these are unique to the application, mounting location, etc. and must be performed by the user. The 448, as with most MEMS and with the exception of the magnetometer, is mostly impervious to electromagnetic fields. As with any other electronics, given a high enough EM field strange things will begin to occur.
The user has the ability to revert to the original "power-on offset calculation" method after recording offset data. The only thing that he/she would need to do is delete the calibration file using the RoboRIO web interface.
I re-wrote the data-sampling portion of the driver and greatly improved CPU usage with some of NI's guidance, so I encourage you to give it a try! I'll work on incorporating an additional "Disable" case for those that are only using gyro integration. Both of the AHRS calculation algorithms should be fairly efficient, but "the proof is in the pudding". I'll add some comments to hopefully outline the performance trade-offs.
Hope I've answered your questions!
-Juan
from adis16448-roborio-driver.
Thanks for the detailed explanation. We'll give this a try and see how well it performs (it will probably be next season before our team gets around to this). I'm really a fan of this chip as the performance is very much better than those we've used previously.
The matches are relatively short at 2 1/2 minutes each but when we're developing/testing we'll run a bot for a couple of hours. In the past we've modified the drivers for gyros to continuously calibrate while the robot is disabled,,, this minimized drift when running for long periods of time
from adis16448-roborio-driver.
Related Issues (20)
- Labview error HOT 5
- Yaw delta moving 45 for every 90 degree turn HOT 3
- gyro found by roborio but no data is being gathered by gyro HOT 2
- VSCode 2019 install HOT 7
- Jitpack snapshots incompatible with GradleRio 2019.1.1 HOT 2
- My IMU Dosen't Work HOT 7
- Failing to detect Gyro, and ReadRegister returning 9. HOT 2
- Gryoscope reads everything as zero HOT 4
- Version mismatch HOT 7
- Missing Calibration VI HOT 1
- Extreme gyro drift HOT 2
- Labview deployed vs interactive HOT 2
- gyro not returning any data
- No code after java deploy (2020 beta 4) with 2019-r3 library HOT 1
- Unhandled exception: java.lang.NoSuchMethodError: 'void edu.wpi.first.wpilibj.SPI.free()' HOT 2
- opencv_java344 could not be loaded from path. HOT 1
- Gyro is not resetting HOT 2
- LabVIEW driver does not expose accelerometer data HOT 1
- Generated Vendor Dependencies Aren't Compatible With CI
- Can you move the artifact to a secure repository? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adis16448-roborio-driver.