Huskie Robotics SPOT V3 Beta: A Modular Scouting App For Every Year

Huskie Robotics, Team 3061 is excited to announce the V3 beta release of our open-source scouting app – SPOT (Scouting Platforms On Time)! SPOT is an open-source, modular scouting app platform upon which a team can deploy a scouting app with little to no prior experience. SPOT is designed to be a long-term solution for scouting: easily configurable between years, simple to maintain, and new features are added every year.

This is the first release for the 2024 CRESCENDO season, which includes updated config files for match scouting and team/match analysis. We plan to refine the matching scouting interface and team/match analysis visualizations based on internal testing and feedback from other teams. As always, you can fork SPOT and adapt the config files to suit the needs of your team. Details about SPOT are available on our website. There is a quick start guide and a set of video tutorials (from SPOT V2: 2023 CHARGED UP season) to get you up and running quickly whether for deployment for an event or to evaluate locally.

SPOT is designed for a wide range of teams with a wide range of expertise and requirements:

  • A team that is new to scouting and isn’t sure what information to gather or how to analyze their data. SPOT comes as a preconfigured app that can be deployed with minimal setup and will provide all the basic functionality needed by most teams.
  • A team that has some experience with scouting and wants to collect specific data that may not be part of the default configuration but that doesn’t have significant programming experience. SPOT can be configured by modifying configuration files rather than by writing code.
  • A team that has experience with scouting and wants to perform custom analysis operations or advanced custom scouting interfaces and has some programming experience. SPOT can utilize user-provided analysis modules to extend its functionality beyond the default configuration without requiring teams to modify the base code.
  • A team that has significant experience with scouting and significant programming expertise. SPOT is open source, documented, and designed to be extensible such that teams can start from this code base and build their own custom scouting system.

Key Features:

  • Easy to use platform for data entry throughout matches.
  • Works on all platforms, from iOS to Android to web.
  • Analysis page to display detailed statistics and charts about matches and teams.
  • Admin view for live scouter management at competition.
  • Preconfigured for the 2024 CRESCENDO game with no additional game-specific customization required.
  • Easy deployment experience when teams run a server on Glitch
  • Optimized for teams who have internet access while scouting, completely functional for teams with no internet access.
  • Quick setup with a built-in first-run wizard to walk teams through configuring their scouting app, connecting to The Blue Alliance, and setting up their database.
  • Completely configurable analysis and scouting view without the need for a single line of code.

If you have further questions or would like to request new additions to SPOT, feel free to ask here or email us at [email protected]!

7 Likes

I really like how user friendly your data entry interface is. Have you done the time-based scouting in the past? If so, are there any lessons you’ve learned? I’ve always thought the benefits are significant but worried about scouts’ accuracy as well just additional data/complexity.

Hope to see you guys at the championship or during the offseason!

PS: Seeing 7411 in your demo is a little depressing. They had a pretty cool expanding frame in 2019 and were great winning Midwest 2020 before folding.

Thank you for looking into SPOT! We’ve used time-based scouting since the creation of SPOT 6 years ago. We believe that most of our challenges aren’t because of our time-based scouter app, but user accuracy. Over time, we’ve grown familiar with training scouters to become more accurate. We also require that scouters practice using SPOT during the weeks leading up to competition, such as week 0 matches. Here is a link to our scouter training slides for this year.

Furthermore, we believe that having time-based data such as cycle times, outweighs the potential losses in scouter accuracy. Our match simulation feature has been surprisingly accurate when compared to the actual outcomes of the matches. Through these features, SPOT has been critical to our playoff strategy.

Hoping to see you guys soon!

2 Likes

This looks very cool. I have a few questions:

  1. In the analysis demo, it seems that for some reason in a match simulator, Q3 for example, somehow there are 75 stage points in the prediction.
  2. Why are harmony and amplified speaker shots taken into account? They don’t mean much on their own
  3. How would I go about adding a candle bar graph, or a radar chart?
  4. Is there a way to assign specific teams to specific scouters?
  5. Does the timer take into account the disabled time between auto and teleop?
  6. I’ve noticed a weird behavior with the timer, after starting a match, undoing, and starting again, and pressing the match time again, something odd is happening.
1 Like

Hey SPOT team! In an effort to increase interoperability between scouting apps, we recently announced The Purple Standard (TPS), a unified, community-driven standard for FRC scouting data (see https://chiefdelphi.com/t/the-purple-standard-a-unified-and-community-driven-standard-for-frc-scouting-data/449394 and https://thepurplestandard.com), paving the way for collaborative scouting across apps (which benefits smaller teams and rookies). TPS is modular and completely customizable based on the data you want to collect in your scouting app. Would you be interested in integrating TPS into your app to benefit teams using SPOT and join the wider network of collaborative scouting data?

1 Like

Thank you for your feedback!

The 75 stage points from the demo data were caused by a bug within our SPOT code. We’re fixing that error and will release the patched version in an upcoming release.

We believe that statistics such as harmony and amplified speaker shots can be useful in a bigger-picture context. For example, it helps to see a team’s tendency to shoot with amplified shots vs. non-amplified shots. Furthermore, these stats will help us with generating more accurate match predictions.

In the future, there will be added support for different types of graphs. If you would like to do so, you can fork our current repository and add implementation for your analysis modules (e.g., candle bar graphs and radar charts). We store modules for our graphs within src → analysis → modules.

There’s not yet a supported feature for assigning scouters to specific robots, although it is currently in our backlog.

As of right now, the timer does not account for the disabled time between auto and teleop, though this problem will be fixed in our next release.

We are currently resolving some bugs with the undo button and others on our repository’s issues page. Please be on the lookout for our next couple of releases!

2 Likes

I like how simple your interface is because you don’t show any counters or timing values to the user. It is only buttons.

The downside is that scouters can’t correct mistakes. What is your advice to a scouter if they know they pressed a wrong button? Should they not submit the match data?

1 Like

In the corner of each of SPOT’s screens is an undo button, which can undo any other action in the program. After undoing the action, click the correct action to replace it. As long as the scouter notices the mistake, the undo button allows them to correct it in the moment. I hope this answers your question.

2 Likes

Your scouting app is so cool! We just set it up and were wondering how to go about adding in a text box for notes about the match? Also, it was mentioned the program is compatible with ios and android. How does one download SPOT as an app?

Thanks for your help and making this lovely scouting app!!

1 Like

I found that you need to configure this file. Which fields to configure can be found in the Application tab in Chrome DevTools. After resolving the errors that show up there, when opening the scouting app on a mobile device, a prompt to install the app will appear. This is utilizing the PWA technology, so it works for a range of devices, independently from the OS.

1 Like

Thank you for trying out SPOT! To add a textbox for notes within the analysis pipeline, you will need to add custom buttons that include a textbox in config → match-scouting.json and make changes in config → analysis-pipeline.json, config → analysis-modules.json. There are likely other changes which have to be made, which we are looking into… Additionally, this is a feature that we have considered developing, so be on the lookout for future updates to SPOT!

We do not have an official application for SPOT on iOS and Android devices. However, you can create an app shortcut to the SPOT website on your mobile device. To do this in both iOS and Android, create a shortcut to the homescreen through the browser’s menu (e.g, Safari & Chrome). For Safari, go to the match scouter website and click on the share button in the menu. Then, click on “Add to Home Screen.” For Chrome, similarly go to the match scouter website and click on the three dots in the top right corner and add.

We are glad to see SPOT getting so much interest. We would like to share some screenshots of SPOT’s User Interface for easy reference without going to the demo website:

Scouter View 1
Scouter View 2
Scouter View 3


3 Likes

We just started using the website at our first event and are wondering if there is a way to neglect a bad data point (ex. neglect match where auto messed up and scored 0 while all others scored 3+ each)?

We currently do not have an explicit way to exempt a data point from SPOT’s /analysis. You can potentially access the MongoDB cluster and try to remove the faulty data, but the process is messy and out of our current scope of knowledge. From what we know, deleting data from MongoDB is an incredibly delicate process that usually does more harm than good, so I wouldn’t recommend this solution.

Our team believes we get the most realistic results from our scouting when we include matches in which functions failed, as they can indicate a robot becoming more or less reliable over time. As a result, I don’t expect we’ll add a match exemption feature to SPOT this year.

2 Likes

Hello everyone! We are excited to announce that we have finished making changes to SPOT for the 2024 season. Listed below are some new changes and a slide deck with updated instructions.

  • We updated the auto and teleop button layouts to mark the locations for speaker shots. We also added a drop note button.
    Each of the 4 buttons in the middle corresponds to a location on the field. If a note is shot into the speaker, then the scouter will select the respective location where the shot took place.

  • We also added a new layer to track specific locations of auto pickups, which is accessible from the auto Ground button.
    The orange buttons in the middle correspond to a note. We have two layers, one for scouters viewing the field from the side closest to the amp, and the other corresponding to scouters closest to the source side. Teams can edit which layer the scouter sees from match-scouting.json.

  • Various bug fixes, including issues with /analysis and the undo button

Thank you once again for your interest in and use of SPOT this year. We look forward to putting together an even better version next season.

2 Likes

I am having a problem and keep getting an xhr poll error. Can someone help?
Thanks

Would you create a new issue via GitHub now that I’ve added a template to gather the information we need to be helpful?

I made the issue.

1 Like

Hey everyone! We’re excited to announce the launch of SPOT V4, specifically configured for this year’s game. You can check out the latest version linked in our thread here. Please feel free to share any new questions or feedback there – we’d love to hear your thoughts!

3 Likes