This board is designed to give teams single-axis sensor feedback for use in field-oriented driving and complex autonomous routines. FIRST has provided teams with Java, C++ and LabVIEW libraries to help you get started. This sensor will be included in all FIRST Choice orders automatically at no charge. For more information check out http://www.analog.com/first and the AndyMark FIRST Choice website.
Analog Devices is proud to introduce the ADIS16448 10 degree-of-freedom IMU to FIRST Robotics. This sensor is designed to provide robots with high precision motion feedback for advanced robotics tasks.
The ADIS16448 is a complete inertial system, integrating a triaxial gyroscope, a triaxial accelerometer, a triaxial magnetometer, and pressure sensors in a calibrated, compact, robust package. For FIRST Robotics, ADI has also designed an MXP breakout board to easily integrate this sensor on your team’s robot. This sensor is available on the FIRST Choice website for purchase. Check out http://www.analog.com/first for more information and the AndyMark FIRST Choice websitefor links to tutorials and software.
Feedback and questions are very welcome! Please start a new thread or send a PM if you need any assistance!
Thanks Marshall! Let me know if you have any questions once you have the sensor in-hand. It took a lot of negotiating and testing, but the software and hardware should be ready for competition!
As a side note, I updated the IMU software last night to properly sample the sensor. There are a few more features I’d like to add to the framework, but teams should be able to drop it into their code quickly.
FIRST Choice lists a quantity of 350 of the ADIS16448 IMU MXP units available. Will these be available for purchase if we don’t win the FIRST Choice lottery and if so how much and where do we buy them?
As part of FIRST Choice round 2, we were fortunate enough to be awarded 2 ADIS16448 IMU’s. They were our top priority on the list, and fortunately we got them!!
So now the quest begins to learn how to use them effectively. We use Java, but unfortunately I am not versed in Java at all, so my question may sound a bit naive. Do you know if there are any quick start guides or users guides for these?
I have seen the links to Github to acquire examples, but those are mostly geared to LabView. I also see “examples” for Java, but don’t I need the libraries to support it? (I’m hoping that our Java Guru student can answer these simple questions, but I’m asking here in case he is at a loss how to answer.
The required library is on github. It’s a single Java file (Java/com/analog/adis16448/frc/ADIS16448_IMU.java). You will need to copy this java file into your robot project (you will have to put it in a subdirectory “com/analog/adis16448/frc” to match the package name).
One caution with this sensor is it is sensitive to magnetic fields and the current Java and C++ code does not do magnetic disturbance rejection… so you may want to consider using the gyro results rather than the fused yaw result.
Thanks Peter, that is the info I needed to hear. The advise about the magnetic disturbance rejection is also nice to have, and I have seen that mentioned in another thread as well. (In fact, now that I searched for it, you were the one who mentioned it in the other thread. )
So, would mounting the RoboRIO as far as possible, or remoting the adis16448 via a ribbon cable) from motors help with this issue?
It would certainly help to distance it as much as possible, but I’ve not done any testing to try to determine what the actual minimum “safe” distance is. E.g. there’s a possibility that the necessary distance is larger than the robot.
Is there any information anywhere concerning which SPI port the Accelerometer and Gyro use? I know from the RoboRIO documentation that there are four total and I know that the board just uses CS0 and CS1 but which is which?
Is there a cable that can be used to extend the accel and gyro away from the roborio? We would like to use this, but our design has the rio in a vertical orientation and it would be a challenge to move. If we had a cable that would allow us to position the gyro as needed that would be great.
I just have not been abe to find any kind of a 8 pin SPI cable online, but I’m probably just not looking for the right thing.
The connector is a 10 pin 0.1" pitch IDC ribbon connector, and you need 0.05" pitch 10 conductor ribbon cable. Look at DigiKey parts ED10500-ND (female connector), MPK10K-ND (male connector), and AE10G-5-ND (5’ ribbon cable). Even easier, DigiKey also sells premade assemblies such as H3AWH-1018G-ND (1.5’) and H3AWH-1036G-ND (3.0’).
Also worth noting is the fact the sensor is a 3-axis one, so you could vertically mount it (if it’s rigidly mounted and actually vertical) and just read different axes.