It's that time of year once again as thousands of high school students across the globe begin the scramble to design, build, and test a robot in 6 weeks. This year's challenge has just been released this morning and I'm just as excited for FIRST Power Up as a dog is for tennis balls.
Throw the ball already!
You can watch the game reveal video on the FIRST Robotics Competition YouTube page!
Rather than talk about the teams today, I wanted to take some time to introduce everyone to what ADI has to offer to give your team an advantage, and why you want to use them!
ADXRS450 Gyro Board - Available on FIRST Choice and for Purchase on AndyMark
This is the same gyro board we included in the Kit of Parts last year. Code to use these boards is already integrated into the WPI library, so you can plug it into your SPI connector on the RoboRIO and get started right away. We talked to several teams at Championship and saw that many had great results during autonomous using them last year. Using a gyro is an easy way to determine which direction your robot is pointing, making it great for performing turns during autonomous or keeping your mecanum drive robot facing in the correct direction while strafing. The ADXRS450 gyro board is a great place to start for teams that are brand new to the world of gyro heading on their robot.
ADIS16448 10-Degree-of-Freedom IMU Board - Available on FIRST Choice
Back again on FIRST Choice this year is the ADIS16448 industrial grade inertial measurement unit (IMU). If you really want to get precise motion control, the IMU is the way to go. Each unit is calibrated individually at the factory, meaning more precision for your robot. High vibration environments (like being mounted on a competition robot with motors and pneumatics and crashing into walls) can also lead to significant errors on less expensive gyros, however the ADIS16448 happens to excel at rejecting this influence - it was designed for industrial grade UAVs after all! All of that adds up to superior performance when it comes to helping your robot know where it's pointing. Code is available on github here courtesy of jchong and there is even a handy installer available for teams that are using LabVIEW. In addition, we know teams have had issues with this board in the past, and we are pleased to announce that with the newest RoboRIO image, teams can expect improved performance from the IMU compared to previous years. This applies to all of our IMU boards regardless of when they were obtained.
The metric most teams like to use when selecting a gyro for their robot is drift. Let's explore what that means for your robot.
Most gyros, including the ADXRS450 and the ones inside of the ADIS16448 IMU, produce an output that has a unit of degrees-per-second. It's a measure of the rate of rotation in a particular unit of time t. The higher the number, the faster your robot is rotating. A gyro does not simply output the degrees you've rotated your robot. A gyro will take hundreds of readings over the course of a given time period, indicated by the purple, red, and green lines in the figure below. If you were to add each of those readings together, you end up with the actual change in angle that occurred during that set time period (one second in the example below). The calculus term for this is integration. For those who have taken calculus (or those of you "older folk" that remember your calculus classes "back in the day"), this is the same as calculating the area under the curve. This math is done for you in the WPI library and in the code linked above for the IMU.
When you first turn on the robot, the orientation you place the robot in will be set as 0 degrees. Think of this as your robot's idea of "due-north" or straight forward (for example, towards the opposing team's driver station).
Top is the front of the robot in this case
However, since no gyro is perfect, that direction will drift over time. Remember how we have to obtain the actual direction in degrees by adding every single sample together? Over time, every little error in each individual reading begins to add up. These errors could be from any number of different internal and external sources. (If you're interested in learning more about all of these error sources, you can check out this article.) The biggest contributing factor to this drift is the gyro's Bias Stability spec, which is a measure of how stable the gyro measurement is over a long period of time. If you were to leave your robot powered on for a full hour without moving it, the gyro value would read something very different from zero at the end of that hour.
Again, the top is the front of the robot
This is what teams typically refer to as gyro drift. Once you take into account the different error sources mentioned in the article linked above, teams can expect the IMU to drift somewhere between 20 and 30 degrees per hour. At first glance, that might seem like a lot of drift! But if you look at what this means over the course of a match, we see this drift is actually not so bad. If we assume your robot stayed powered on for a full 7 minutes before the match even started, your robot will think it's heading has only changed by about 3 degrees. By the end of the match, that number is closer to 4 or 5 degrees, which is much smaller and more manageable.
Now that all of you are experts in gyro drift (right?), you are armed with the knowledge to make the most epic autonomous routine ever!
This year we want to give a huge shout out to Samtec for providing the connectors on both of these boards as a donation to FIRST Robotics! Samtec offers a wide range of connector solutions, ranging from simple digital/analog I/O to RF and even optics. They have been a long-time partner for the iSensor product family, and we're excited to have them on board with this year's donations! You can check out their website here and their FIRST Kickoff blog post here.
Are you ready to POWER UP? Share your thoughts about the game reveal below or how you would solve this year's challenge. Be sure to follow The Engineering Mind for updates throughout the robotics season!
This blog is part of a series covering the 2018 season of the FIRST Robotics Competition, FIRST POWER UP. Stay tuned for more updates, including coverage of the Championship Events in Houston and Detroit at the end of April! Get to know the ADI teams, learn more about our donation boards, and meet the employee mentors that make it all happen!