As a high school student, I developed a cross-platform robot scouting web-app for my school's FIRST Robotics Competition team.
For the 2020 FIRST Robotics Competition (FRC) season, I built a public web-app to be used to record data on opponents present at a competition. The app is branded as 4855 Scouter, named for the team number of the team I participated in, but it is available for anyone to view and download. The app is also open source and can be viewed by anyone through GitHub.
Each FRC match pits 3 schools on an alliance against 3 other schools. Roughly 12 qualification matches are played by each school with randomly generated teammates and opponents for each match. Qualification matches are followed by elimination rounds, where the top 8 teams pick 2 robots from the remaining field to compete together with for the remainder of the tournament.
My robotics team, Team 4855 Ramageddon, had long struggled to find an efficient way to scout robots at competitions, an important task given that roughly 40 robots will compete at any given event. One of the main constraints to develop under was the lack of reliable internet; due to the volume of people present at a competition, most venues cannot deliver consistent wi-fi, meaning the scouting solution would have to function while 100% offline. Most students on the team had access to only a cell phone or a school-provided Chromebook, so the solution would have to operate properly on any device.
Each scout would watch one single robot during each qualification match and take notes on its various behaviors during a match, including how many points it scored. Once a scout had collected some data, they exported their results into a file, which was handed over to a lead scout via flash drive, who then imported the data into their own system.
The lead scout can leverage the data they have and use it with multiple different analysis tools. A numerical RPI (Ramageddon Power Index) is assessed to every team in the lead scout's system, functioning much like a power rating calculated by determing a robot's average score contribution. The app also calculates other statistics for each robot, such as its likelihood to play defense during a match, its average defensive strength, and its likelihood to successfully climb at the end of a match.
The lead scout also has access to a match simulator, which can predict the results of any 3 versus 3 match-up. The simulation gives a detailed scoring breakdown that emulates the breakdown used on visual displays at events. It also generates different insights, such as the average RPI of the team, the strongest scorers, and either one or two different textual insights on each alliance's keys to winning the game.
I also developed a tool to help teams in the top 8 narrow down their selections when they start to pick robots for the elimination rounds. The picklist generator allows a team to keep track of which teams have already been chosen or are no longer available for selection.
Below the grid of teams is a compiled list of all the remaining teams that can then be sorted by any attribute. There are options for the best overall team, best scoring team, or best defensive team. If the user is looking for a combination of different strengths, they can select "Custom" and use dials to tune which attributes are the most important to them. Teams are then sorted by a "rank value," which is a number determined using various coefficients to weigh each of the team's attributes.
Team 4855 used this tool during the St. Joseph, Michigan district event, which took place March 5-7, 2020. The team as a whole was greatly pleased with the ease of use and the ability of the lead scout to quickly communicate to the drive team what they were up against in their upcoming matches using the match simulation. Once the event had ended, the match simulator was used to simulate every match played in an attempt to correctly project the winner of each match, which it did with 72% accuracy. Unfortunately, as a result of the COVID-19 pandemic, all remaining events for 2020 were cancelled, and the tool could not be used any further.