Skip to content

Software aimed at real-time prediction of match outcomes for FIRST Tech Challenge using machine learning algorithms.

License

Unknown, AGPL-3.0 licenses found

Licenses found

Unknown
LICENSE.txt
AGPL-3.0
COPYING
Notifications You must be signed in to change notification settings

DrewWing/EDrewcatedGuesser

Repository files navigation

EDrewcated Guesser V49.0 (Beta)

by Drew Wingfield

Source.

About

The EDrewcated Guesser software is aimed at real-time prediction of match outcomes for FIRST Tech Challenge using machine learning algorithms.

Simply put, this software:

  • Runs on your computer or laptop (Windows only at the moment),
  • Fetches live team and match data and schedules from the FTC API,
  • Calculates statistics such as OPR and CCWM,
  • Predicts match outcomes, and
  • Pushes the statistics and predictions to a Google Sheets spreadsheet.

Note: This software is a CLI intended for advanced users. If you don't know you way around the command line or aren't willing to set up a Google Cloud project, this software is not for you.

You can find the license statement here (The full GNU Affero General Public License is here). The todo list is here. Also see the Updates page.

Helpful Documentation Links

Contributing

See the contributing guide.

Errors

As always, EDrewcated Guesser is a work in progress and has some bugs. Errors should be both printed to the terminal and appended to app/generatedfiles/error.log with a timestamp.

Language Stats:

Automatically generated by line_counter.py.

A graph describing the current language composition.


Credits/Honorable Mentions

Though I wrote almost the entirety of the project by myself, I had some help. Below are some resources that I used (whether for copypasting code, general reference, or other research). All copypasted snippets of code are also cited in their respective locations.

This program uses the official FIRST Tech Challenge API to get information on matches, schedules, and scores. You can find it here.

Thanks to The Blue Alliance for an overview of OPR and the math behind it.

Thanks to this article for ideas on matrix calculation.

Printing in BASH with help from some people on this StackOverflow post.

Python printing in colors (the Colors class in commonresources.py) was taken from Rene-d.

The Google Sheets API was implemented with lots of help from their sample program and quickstart.

Thanks to viniciusarrud on GitHub in this Joblib issue for a solution to a particular bug involving pathing on Windows.

The diagram FTCAPI file diagram.drawio (soon to be exported into an image and put in the docs) was generated using Drawio [24.7.7], made by JGraph, https://github.com/jgraph/drawio.
I am not JGraph, this project is not by JGraph, and JGraph neither endorses me nor this project.

External libraries

This software uses the following external libraries:

EDrewcated Guesser License

AGPL3 logo, Free as in Freedom.

Copyright (C) 2024, Drew Wingfield

EDrewcated Guesser is licenced under the GNU Affero General Public License as published by the Free Software Foundation, version 3.

EDrewcated Guesser is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

EDrewcated Guesser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program (in the COPPYING file). If not, see https://www.gnu.org/licenses/.

No Large Language Models (LLMs), chatbots, or any other so-called "AI" tools were used to code, write, or otherwise create resources for EDrewcated Guesser. Apart from a few (cited) snippets from StackOverflow (and various other places), EDrewcated Guesser was created by hand, from scratch.

No Texas A&M University resources were used in the creation of EDrewcated Guesser.