/HeatStripe

Quickly download and play with ZEBRA Motionworks data with ease

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Heatstripe

Quickly download and play with ZEBRA Motionworks data in a simple and usable format.

Use

HeatStripe allows you to save the JSON data ZEBRA MotionWorks outputs given by The Blue Alliance into an easily readable excel based format (CSV) for use in both in Excel and Tableau. ZEBRA MotionWorks tracking will be at over 10 events this year, so being able to make use of this data will be huge, especially if you are at an event with this technology available. With Tableau, you can easily use this data to track any movement on the field and take your scouting to the next level with little required work.

Install

Windows

  1. download the latest version of HeatStripe from the releases page

  2. Generate a TBA API key. This is used to access data from The Blue Alliance. You can generate a TBA API key here.

  3. Run HeatStripe.exe. The first time setup will have you enter your API key. You will need to run it a 2nd time to have the changes save fully.

  4. Enter an event code with ZEBRA Motionworks data and let HeatStripe condense the data. It may seem non-responsive during that time, but that is normal operation.

  5. If the data is for use within Tableau, you must resave the data from a CSV file to an XLSX file to be able to connect it to Tableau. Tableau does not like large CSV files and will refuse to run properly with them.

MacOS/Linux

  1. clone the repo or download the zip file. You will need Python 3 and the requests library. You can install it by running the command python -m pip install requests

  2. Generate a TBA API key. This is used to access data from The Blue Alliance. You can generate a TBA API key here.

  3. Run HeatStripe.py. The first time setup will have you enter your API key. You will need to run it a 2nd time to have the changes save fully.

  4. Enter an event code with ZEBRA Motionworks data and let HeatStripe condense the data. It may seem non-responsive during that time, but that is normal operation.

  5. If the data is for use within Tableau, you must resave the data from a CSV file to an XLSX file to be able to connect it to Tableau. Tableau does not like large CSV files and will refuse to run properly with them.

FAQ

Q. Where do i find event codes?

Event codes can be found on any TBA or frc-events page by looking at the event url. For example, the 2022 PNW District Championship is 2022pncmp. You can find examples of both within their URL's below:

Example TBA url for finding event code

Example frc-events url for finding event code

Do note that the year must be included for the event code to properly work.

Q. How do I add the field image in Tableau?

To add a background map in Tableau, go to Map > Background Images, and upload a field image using the X and Y columns as the X and Y fields.

Example of adding an image to a sheet

You can find high quality field photos for the 2022 season in this Chief Delphi thread. Use the photo with the prefix "cropped" for the best results.

Q. What is the "stop data" and is it possible to change its settings?

The stop data collection is meant to collect the positions of where a robot stops, namely for shooting. It does this by looking at a range of points and seeing if a robot has moved out of that range after a certain amount of time, and plots that point if it has met those condintions. This solution isint foolproof (namely, a disabled bot can be counted as "stopped") but with the defaults, you should be able to quickly tell when a spot is abnormal for a team.

Currently, this setting defaults to a 2 foot radius for longer than 3.5 seconds. While you cannot change these in app, you can modify the settings.ini file to ones that better suit your needs.

Thanks

Thanks to Caleb Jackson for creating the logo.

These people helped make this project possible:

Icecube45 MC42 octocynth
Icecube45 MC42 octocynth
github.com/icecube45 github.com/MC42 github.com/octocynth