[FRC Blog] 2021 Beta Testing and 2020 Data Usage Reporting

Posted on the FRC Blog, 10/16/2020: 2021 Beta Testing and 2020 Data Usage Reporting | FIRST

2021 Beta Testing and 2020 Data Usage Reporting

2020 OCT 16 | Written by Kevin O’Connor, Senior Robotics Engineer, FIRST Robotics Competition.

Beta Testing

Despite the modifications to the 2021 season, the FRC Control System Team is still working on improvements to the software provided to teams and would like to invite teams to assist with Beta Testing those improvements. We’re looking for 20-25 teams per software language to participate in our annual FIRST Robotics Competition Control System Beta Test to help shake out any bugs in our updates to the software before the season.

This year these changes include improvements and translations of the software documentation site, improved basic simulation and unit testing capabilities and more. Beta Testing will begin in late October and have specific task deadlines through 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.

Teams may apply to Beta Test 2021 software even if they are not yet sure of their plans to participate in the 2021 season. Teams do not need access to their robot or control system hardware in order to apply.

Interested teams should fill out the form here. The initial deadline is October 23, however the form will remain open and teams may be admitted on a rolling basis until capacity is reached. Teams should receive notification of selection status no later than 72 hours after the initial deadline if submitting before the deadline or 72 hours after submission if submitting after the deadline.

Usage Reporting

The FIRST Robotics Competition software has a feature called ‘usage reporting’ that tracks what WPILib objects are created in each team’s code and reports that data back to the field when the robot is connected. Data from the 2020 season can be found here. Some notes about the data:

  • The data has been anonymized. Team numbers have been removed and the data has been re-sorted so teams are not in order by team number.
  • Data is collected by the FMS software at events so 2020 data is only available for teams who competed at official events in 2020.
  • We can only track the objects teams create in code. If a team creates extra motor controllers that aren’t on the robot, they will still be captured by this system. If a team creates 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). This means that if a team that switched motor controller types, or IMUs, or anything else during the season, the sheet will show numbers for both devices. Language and Framework report what was used in the last recorded match.
  • Some objects naturally result in double counting (e.g. Encoders use Digital Inputs).

Some stats for those who want themscreenshot-2020-10-11-v318 screenshot-2020-10-11-v316 screenshot-2020-10-11-v317 image-8


Is there more detail about plans for the simulation mode. Given the need for remote work, I was hoping the simulation mode would be enhanced beyond the “control panel” operation provided in 2020. The control panel was very helpful in debugging prior to using our actual robot. However it would be nice to see our code operate on a simulated field.


1 Like

WPILib has been working on a high fidelity 2D simulator. However, if your looking for a game style 3D field, none are available that works with WPILib (Autodesk has a somewhat kinda functional one).

However, WPILib has introduced WebSockets that interface with our simulation API so accessing WPILib simulated features cross-language is an option. Hopefully we’ll see some organizations implement something of the sort.

As far as I know, there is no official plans from FIRST or WPILib for a 3D simulator.

1 Like

Some takeaways and fun outlier teams I found:

  • No one declared more than one Gyroscope
  • Someone used 17 digital inputs, 8 solenoids and 14 spark maxes
  • Three teams are still using Jaguars
  • Three teams use 14 solenoids
  • One team used 7 ultrasonic sensors
  • Only two teams used the Analog outputs on the RIO.
  • No one used the MindsensorsSD540
  • 14 teams used more than 2 xbox controllers
  • Some team used 154 UsbCamera’s. Another team use 98. Five teams used 4 cameras.
  • Zero pixy or pixy2 cameras were reported.
  • Someone managed to have 255 of the PIDController2's. 22 teams had more than 20 of these.
  • Nydec Dynamo’s and Fusion Venom’s didn’t see much usage this year - 1 and 8 respectively.

Again, the usual caveat - this is how many X their software declared, not necessarily how many were actually on the robot.


Thanks for responding. 2D is all I am interested in. I see a call to Field2d in the simulation package. Is there going to be more added to this package for the 2021 season? Perhaps some sample code on how to connect code to the 2D simulator.


What objects would these have been in WPILib? We used a pixy last year, but we rolled our own using I2C because we were unaware of anything built in.

I think you would have to report it manually. The Java library some team made at one point might have done it, but I don’t know if that’s still being maintained.

1 Like

There’s simulation physics too.

We don’t really have docs on Field2d yet. We added a thing called Mechanism2d for a visual representation of the physics backend, but the JSON format for that is undocumented.