Thank you, NimbleValley, NimbleValley's blog, and NimbleValley's auto-scout program, for inspiration and making this project possible!!!
The P.A.C.K (Predictive, Analytical, and Competitive Knowledge-base) is designed efficiently gather, analyze, and visualize the locations of FRC Robots in the FIRST Robotics Competitions.
Take PNW District 2025 Sammamish Event, Lower Bracket, Round 2, Match 6, For example:
Here is The P.A.C.K's detected path of team 1294. Pink lines denote robot movement during the autonomous period, while cyan lines denote the tele-operated period:

-
Sign up for Roboflow (or log into, if you're already a step ahead :P).
-
Create a workspace and go to settings -> api keys. Create and copy a private api key.
-
Clone this repo. CD into scouting-ai folder and run these commands, depending on the OS:
(Windows)
./setup.bat
(Unix-like)
chmod +x setup.bat
./setup.sh
-
A file called .env will show up, along with other folders. Paste the Roboflow api key there.
-
Get pip! Copy the contents into a new python file. Run the file with a preferred python interpreter. Please use the same interpreter for all steps below. It is also highly recommended to set up a virtual environment to avoid dependency collisions.
- Install the necessary libraries by running this command:
pip install -r requirements.txt
- Calibrate the field! Inside src/AIScout.java, modify the constants TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, and RED_ON_LEFT to match with the relative coordinates of the corners and orientation of the game field. For example:
- Run these commands, depending on the OS. Follow the instructions and run the video downloader, detector, and analyzer. For the video downloader specifically, enter the link to the YouTube video of the match (preferrably WIDE) to be analyzed.
(Windows)
./run.bat
(Unix-like)
chmod +x run.sh
./run.sh
- Finally, run src/Visualization.java, and enter the team number to visualize its robot paths!
-
Shoutout to NimbleValley!
-
Contributing Writer. (Aug 29, 2024). Mapping Robot Paths in Robotics Competitions with Computer Vision. Roboflow Blog: https://blog.roboflow.com/robot-path-mapping/ (NimbleValley's blog)
-
https://github.com/NimbleValley/auto-scout (NimbleValley's auto-scout repo)
-
https://github.com/KevinStern/software-and-algorithms/blob/master/src/main/java/blogspot/software_and_algorithms/stern_library/optimization/HungarianAlgorithm.java (HungarianAlgorithm.java)
-
https://github.com/DevCTx/YouTubeDownloader (YouTubeVideoDownloader.py, modified)
-
https://github.com/stleary/JSON-java. (All files in /json folder)
-
All match videos and images used in this repository are sourced from PNW District 2025 Sammamish Event, Lower Bracket, Round 2, Match 6 of the FIRST Robotics Competition.
-
The field image used for visualization (field.png) is sourced from the FRC game manual.
-
Some AI assistance is used in this project.

