ANNOUNCEMENT: Updates to the Analog Devices IMU Drivers for 2020

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 on EngineerZone at https://ez.analog.com/adieducation/student-competitions/ with questions about any ADI parts donations, or send us an email at [email protected].

Good luck this season!
@ImAnEngiNERD & @juchong
Analog Devices, Inc.

2 Likes

I just pushed updates to the maven repository and GitHub for the ADIS16470 IMU! Additional details can be found on the GitHub site (link). The link to the maven repository will remain the same for 2020: http://maven.highcurrent.io/vendordeps/ADIS16470.json

Updates to the ADIS16448 should be ready in a day or two! Sorry for the delay!

Updates are now available in all languages for both IMUs! The API and features have been mostly standardized between sensors to make using either much easier. Shoot me a PM or reply to this post if you run into issues!

There is an incompatibility between CTRE’s latest Talon SRX driver (5.18.0) and the ADIS16470 driver.

See post: CTRE Talon Driver incompatible with ADIS16470 Driver

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.