FIRST Robotics 2020: Updates to the Analog Devices IMU Drivers

We are in the process of rolling out the 2020 libraries for the Analog Devices IMU boards for FIRST Robotics. The new libraries will implement several new features and improvements over previous seasons.

Upgrades are being made to both IMU boards, however, improvements to the ADIS16448 IMU libraries will be limited because this is an older generation device with different features and different target applications. We would like to encourage teams currently using the ADIS16448 IMU board to take a look at the ADIS16470 and consider adding one to your FIRST Choice Round 2 priority list this year.

Here’s what you can expect to see in the coming weeks:

CPU Usage: We had reports from several teams that CPU usage was rather high for the IMU drivers. We’ve made some improvements to the library using the new WPILIB SPI libraries, and CPU usage for C++ and LabVIEW are now fairly comparable. We are still finalizing these improvements for Java.

Sensor Sample Rate: With the CPU improvements, we were also able to increase the ADIS16470 sample rate up to 2000 samples per second, up from 100 in previous years.

New Recalibrate Feature: New for the ADIS16470 ONLY, we added a function which takes advantage of the device’s internal offset recalibration feature. This provides teams a way to compensate for robot movement during the initial calibration routine and for pre-match sensor drift in addition to the existing reset/rezero function. Check out the documentation available at wiki.analog.com/first for more information on this new feature.

Inclinometer Support: New for 2020, we’re including inclinometer functionality, which takes advantage of the accelerometers in the device to determine robot tilt. Documentation for using this new feature will be made available soon, so stay tuned to wiki.analog.com/first for more information.

Sensor Drift: Drift performance of the ADIS16470 IMU now matches datasheet performance, so teams can expect around 5 degrees per hour depending on environmental conditions and other factors. We have some articles and blog posts linked on the wiki that expand more on drift contributors if you want to learn more.

Other Improvements: Unnecessary functions have been stripped, making the library much simpler.

Feel free to reach out to us here on EngineerZone at https://ez.analog.com/adieducation/student-competitions/ with questions about any ADI parts donations.

Good luck this season!

Anonymous