Compatibility with the Analog Devices Gyros

So the ADXL362/ADXRS450 and the ADIS16448 gyros came today from FIRST Choice. I was really exited until I saw that the website only talks about LabVIEW code. Can a team that uses another programming language like Java still get some kind of use out of the gyro or is it as useful as a brick(to teams that don’t use LabVIEW)?

There is an ADXRS450 class in Java and C++ that will work out of the box with the ADXRS gyro. I do not know for the ADIS16448 gyro however.

As Thad stated, ADXL362/ADXRS450 support is included in both C++ and Java WPILib. C++ and Java code for the ADIS16448 is available at the same location as the LabView code: GitHub - juchong/ADIS16448-RoboRIO-Driver: ADIS16448 IMU Library for FIRST Robotics and the RoboRIO designed for use with WPILib . The ADIS16448 driver has a Kalman filter implementation but it does not currently do magnetic disturbance rejection (patches to fix this would be welcome).

Yea the ADXRS450 worked fine after updating the plugins, I’m having trouble figuring out where to put the java code for the ADIS16448 so I’ll just stick to the ADXRS450 for now. Thanks for your help :]

> it does not currently do magnetic disturbance rejection

Can you elaborate on the ramifications of not doing “magnetic disturbance rejection”?


The magnetometers in the device sense magnetic fields and are used in the Kalman filter to stabilize the gyro and derive a magnetic heading. Not doing disturbance rejection means that strong magnetic fields (such as those caused by motors) will result in incorrect heading readings.

Do you know if these patches are currently under development? It would certainly be nice to have them.

So, what does that mean for us using these devices with C++? Can you elaborate on what interfaces will be useful and which will not? Or is using this device in C++ just not going to be useful?

In short, should we bother using the ADIS16448 IMU with C++? If so what can we use reliably?

I’m certainly not qualified to add the compensation needed for these devices.


Using the gyro readings alone should be fine. If you want to try using the Kalman derived heading, you should mount the device as far away from motors and moving steel as possible then test heavily to see how it performs, especially driving around steel like most of the field this year.

Thank you!