pic: Zebra's DART at HHH Invitational (Data Release)



I would like to give a big thanks to the hosts of this event: Team 3624 ThunderColts. I would also like to thank all the support staff, volunteers, and attending teams for allowing Zebra Technologies to run their DART system again this year.

As some may remember, this system was used at last year to track robots around the playing field. This year Zebra extended the tracking to cubes, referees, and the FTA.

I also want to give a shout-out to Team 2869 Regal Eagles who had both the events highest speed in a qualification match and the longest distance traveled in a qualification match!

For those interested in seeing Heat maps of the qualification matches as well as the .csv files for all matches they are at the following dropbox link: HHH18


Any chance you can rename the files to show the alliance color? TheBlueAlliance doesn’t have match data for HHH.

EDIT: Never mind, turns out he blue alliance always starts on the right side of the field and red alliance starts on the left. Easy enough!


I’ve been working a bit on processing the data. The first thing I have to share is this “true” heatmap, which shows the average distribution of where all the robots drove across all matches.

(Click for enlarged version)

The blue robots’ paths were flipped so that all robots were effectively on the red alliance. Hopefully I’ll be adding some more stuff based on this data in the coming days.


HHH match data is on the FIRST website here: https://frc-events.firstinspires.org/2018/NYDIX/qualifications


That’s funny, I though TBA automatically pulled data from the FRC-events API for off-season events too. I guess I’ll have to check there too from now on. Any way, the starting position method was easy enough to figure out which alliance each robot was on.


WOW! That heat map is really nice looking. Normalizing all play to a single side really adds some clarity to the data. Yes, sorry for the delay in responding but you are right. You can tell alliance color by starting location. That is how we are identifying the cubes used in autonomous Data coming soon. Did you flip the data on x=27 or did you rotate 180 around point (27,13.5)? I look forward to seeing what you come up with in the coming days and if I may, can I request 3 of your heatmaps? One of a vault bot, one of a scale bot and perhaps if possible to identify through heatmap alone, an offensive switch bot? Thanks Mark for clarifying the Match Data location as it isn’t on TBA. We will be releasing YOUR tracking data as well as the Referees after the Cube data is released.


Sorry it took a while to get back to you, I was on vacation and didn’t have my laptop with me.

In this image the blue alliance robots are flipped on x=27. Before I posted I realized that probably wasn’t the best way so I recalculated it rotating around the center point and found that it gave basically the same heatmap. I didn’t re-overlay the updated heatmap on the field image and post the new image because it was basically the same.

Here are the heatmaps you requested, using 7-10 robots of each type.



Offensive Switch:

It seems to me that the scaling is a bit off, since I’m doing the scaling and overlaying manually. If anyone has any ideas for doing the heatmap and contour plots in a single program (instead of generating the contour plots in MATLAB and overlaying in Photoshop), I’d be interested to hear.


Interesting that the offensive switch robots seem biased towards the right side. Ari, is this something that is present in the underlying data or something that has emerged as a result of your method of making the heatmaps? It’s just the I would expect a pretty even split between left and right sides due to the plate randomization.


The offensive switch heatmap is made from the 7 robot-matches* that I considered to be offensive switch strategies (solely based on their path, no video of the match or anything). AFAIK there is no underlying cause that would make the red side more likely to be used for this strategy or anything in my model that would make the right side brighter that the left cet. par. My best guess for the reason to this perceived discrepancy is the small sample size of matches causing statistically insignificant differences to look significant.

*2875 in qf1, 2869 in qf3, 527 in qf4, 3171 in qf5, 2872 in qf6, 527 in qf6, and 2869 in qf7


Sorry I was pretty unclear in my post. I meant the right side of the red switch vs the left side of the red switch. I.e. bottom right corner vs top right corner. Is that what you meant in your post, or were you comparing the blue vs red sides of the field here?


Ah, I don’t have a good explanation for that. I imagine it has something to do with the teams’ strategy though, which I have no insight into. I think the same thing still holds about the small sample size. With more teams, I would expect the sides to even out.


Fair enough.


Wow those heatmaps just look really neat. Thanks for taking the time to make them. As for the top right vs bottom right discrepancy for offensive switch bots I think you are right. With only 15 qualification matches it probably suffers from small sample size issues. It could also have to do with driver station locations and opponents. Have you had a chance to look at some of the 2017 data? It isn’t much (only 5 matches I believe)


Here’s what I got using the 2017 data and field:

I went back to flipping the field on x=27 rather than rotating around the center point because the field last year was not rotationally symmetric. This almost exactly matches what I would have intuitively expected. I think this data looks even better than the data from 2018.

Edit: In case anyone wants it, the python and matlab scripts I used to generate the heatmaps are here on GitHub