09-13-2017, 10:19 AM
[FRC Blog] 2018 Beta Testing and 2017 Usage Reporting
2018 Beta Testing and 2017 Usage Reporting
Written by Kevin O'Connor, FIRST Robotics Competition, Robotics Engineer
This year we are once again looking for 90 teams, 30 for each software language, to help us test the 2018 FIRST Robotics Competition software. A small number of teams have been invited to bypass the application process based on past performance in Beta testing. Most of the spots are still up for grabs, though, so make sure to fill out the application found here by Sunday, September 24th, if you are interested. Beta teams will be asked to upgrade their 2017 robots to the 2018 software, perform some specific tests with any significant changes or new tools, and help educate other teams about the changes for 2018. Beta Testing will begin approximately the 2nd – 3rd week of October and each task will have specific deadlines through approximately the end of November. Teams may continue to test through Kickoff, but software starts to lock in early December so testing done in December may not be done in time to fix any bugs discovered.
2017 Usage Reporting
One of the under-the-hood features of the FRC Control System software is a system called Usage Reporting. This system tracks what WPILib objects are created in each team's code and reports the data back to FMS when the robot is connected to the field. This data helps FIRST and our Suppliers understand how teams are using the Control System which can give us insight into things such as adoption of new features or usage of legacy classes.
Here are a few numbers from the data that teams may find interesting:
The complete processed data set can be found here.
The total number of motor controllers used on 2017 robots
The total number of USB input devices used to control those motors
Total Encoders used to get feedback from those motors
The number of teams that used pneumatics (with the PCM) on their 2017 robot
The number of Digital Outputs used to control non-actuators (lights, sensors, etc.) on 2017 robots
Number of teams programming in Python
The number of Analog Outputs used to control non-actuators (sounds, lights, etc.) on 2017 robots
A few notes on this data:
- The data has been semi-anonymized. Team numbers have been replaced with rookie years and the data has been resorted so teams are not in order by team number.
- We can only track the objects teams create in code. If you create extra motor controllers that aren't on your robot3, they will still be captured by this system. If you create motor controller objects of the wrong type, that wrong type will be captured by this system.
- Counted objects and TRUE/FALSE show the largest number of any given object used in any one match (i.e. if a Robot had 2 Encoders in match 1 and 3 Encoders in match 7, 3 will be reported). Language and Framework report what was used in the last recorded match.
- Some objects naturally result in double counting (Encoders use Digital Inputs)
1 Only includes encoders plugged directly into the roboRIO
2 Compressor may not show for C++ and Java teams that didn't use the Compressor object. Counting the # of teams that had > 1 Solenoids is a more accurate count of teams using pneumatics.
3 Example: A handful of teams report more than 16 motor controllers which would be awfully tough with only 16 channels on the PDP.