Introduction
Throughout the past few years, I’ve been a member of the 5675 FIRST Robotics Team, the WiredCats. I’ve now returned to 5675 as a mentor to continue leading our team in advancing our scouting abilities. During the 2022 season, I designed and created a robust scouting framework and accompanying mobile app to help us become more strategically capable. Now, I’m writing these articles to document my knowledge. I aim to spread my knowledge to other FIRST teams and allow future WiredCats team members to carry the torch once I move on.
What is Scouting?
In competitive robotics, scouting entails gathering data on opposing teams during competitions. This helps gain a better understanding of one’s opponent’s strengths and weaknesses, leading to better match-by-match performance and more strategically sound decision-making.
Scouting, as I’ll be explaining it, is a process with many steps. It starts months before any competitions, in January, and continues all the way until the end of the season.
The first necessary step is to determine what information to track—it might seem that it’s best to gather as much data as possible, but this has diminishing returns. To ensure relevance, all data collected needs to be analyzed and transformed into something useful, which has significant overhead. Furthermore, the process I’ll explain in this series of articles uses manual entry as the primary method of collecting data1Other methods of collecting/importing data, such as TheBlueAlliance, are also possible; however, there are no plans to explore those alternatives in this series., which means that the more information is collected, the more errors might slip through.
The second step is to create the interface that will allow data to be collected. I’ll explain how to do that using AppSheet, a browser-based program that facilitates the creation of simple mobile apps.
Third is to create the procedure for analyzing the collected data. Once scouters have downloaded the mobile app constructed with AppSheet, the data they enter is piped back into Google Sheets, where all the magic happens. This portion is the most technically complex part of the process by far since getting detailed and meaningful analysis requires some intricate formulas. Extracting information from the deluge of available data is a delicate task that requires patience and perseverance when formulas inevitably break.
The fourth and final step is to put everything above into practice at an actual competition. In each match, six team members will watch one robot each, tracking how it scores points and what it does using the app developed earlier. That data is sent back to Google Sheets and processed, and then before each match that the team partakes in, a print-out of critical information is generated and given to the drive coach.
Keep in mind that everything above has to be completed in just a few short months between the time FIRST announces the game and the time the team leaves to compete. There’s not much time to get everything done: construct an app in AppSheet, wire it up to Google Sheets, set up the analysis tools, test it, find out it doesn’t work, fix it, and ship it out the door as a competition-ready package.
Why This Series?
The AppSheet & FRC series of articles will focus on the second and third steps above: creating a program in AppSheet to gather data and creating various formulas in Google Sheets to analyze that data. Specifically, it will be a guided tutorial on constructing a scouting app for the 2022 FRC game: Rapid React. Although the 2022 season has come and gone, the skills needed to create a scouting app are transferable, and this series should provide the requisite technical know-how to allow success in future seasons.
By the end of this series, you will have the following:
- A functional app that can be tested and tinkered with using archived videos from 2022 matches.
- An understanding of how to utilize AppSheet to create simple mobile apps.
- The knowledge and skills needed to create powerful data analysis tools in Google Sheets.
Prerequisites
This series aims to be a newbie-friendly starting point, requiring little prior experience and aiming to build skills from the ground up. That said, there are a few small prerequisites you should have before getting started:
- An understanding of what FIRST Robotics is. This series is designed for scouting in FRC, and although it could be adapted to other situations, knowing the terminology surrounding FIRST (team vs. alliance, match point vs. ranking point) is expected.
- A basic familiarity with spreadsheets—either Excel or Google Sheets. Nothing complex, but if you aren’t aware of what the =SUM function does, you’re in for a rough time.
- Familiarity with simple programming logic. There’s no need to know how to actually code, but knowing the purpose of an if-else statement is expected.
As one additional note, please be aware that to have more than ten people using an AppSheet app requires a payment.2Note that a discount is available for nonprofit and educational organizations. That said, this series has value regardless of whether you personally will have the opportunity to put it into practice on your FIRST team: the fundamental proficiencies of strategic analysis are transferrable to virtually any field.
What Now?
The following article will explain how to set up AppSheet and Google Sheets with a basic framework for creating an app. It will assume you already have an account with both AppSheet and Google, so if you don’t yet have logins for those services, now would be an excellent time to get them.