To run the app, follow these steps:
- Connect an external camera.
- Execute
main.py
. - A window will pop up, displaying several buttons.
Click the "Scan" button to scan new QR codes. The window will show a message informing you about the status of the most recent QR code you've scanned and the total number of QR codes in the database.
Click the "Switch camera" button to switch between the web camera and an external camera. The default option is an external camera.
To generate images of the grid that show the pieces a team put up in their matches, follow these steps:
- Enter a team number in the box above the button.
- Click the "Map" button.
- The file will open in your browser.
To update the stats for specific teams in the same column, follow these steps:
- Enter a team number in the box above the button.
- Click the "Update" button.
Note: All displayed stats are averages, except for the last two: autonomous and endgame charging. Their format is engaged-docked-other. For example, if the record is 1-2-3, it means they got engaged once, docked twice, and did something else (park or none) three times.
Before starting your scouting meeting, run meeting_prep.py
. This file will generate spreadsheets with average stats and match-by-match stats for every team.
Team 624 uses Google Forms for pit scouting, and the last question is always a picture of the robot. To attach pictures to each team's page on the spreadsheet, place a file named pit.csv
in the same folder as the app.
Additionally, each team will receive two HTML files showing their contributions to the grid in every match. The app also includes a graphing feature to check the progression of every team throughout the tournament.
The api.py
file contains various functions that allow you to gain more insights into a competition and check your data using The Blue Alliance, Statbotics, and other websites. Most of these functions were rarely used but can be added if needed.
The following functions have been used this season:
This function generates a CSV file with estimations of how many links each team contributes. It uses the same algorithms as OPR.
This function checks every input against TBA. It can only detect false positives when a scout indicates that a piece was placed when it actually wasn't.
To use any of these functions, call TBA().[function name]()
in any other file.
In config.json
, enter values for the following fields:
"tba-key": "",
"event": "",
"qual_number": 0
The app will automatically generate data.db
and scouts.json
. The first file will store all the data about matches, and the second file will keep track of who scouted each match.