Online Scouting System (VMAC)

The Vex Mid-Atlantic Championship (VMAC) planning committee created an online scouting system so all teams in the high school division will be able to make informed alliance selections despite the size of the event. We’re currently calling it the Event Monitor since it is also possible for anyone with internet access to follow everything live.

It was alpha tested at the BCPS VRC and successfully beta tested at the BEYA HS/MS VRC this Saturday. Please check it out and post feedback so we can continue our attempts to improve it.

The Event Monitor works with the web publishing feature of the Tournament Manager software to display information from the event database. Please note that the system can only display information made available by Tournament Manager and cannot display information that was never collected and/or exported.

Currently Available Pages:

  1. Team Report
  2. Team List
  3. Match List
  4. Rankings

Other Features:

  1. Each team has an automatically generated team report listing all their past and future matches in addition to records and rankings. It even includes a robot picture so its easy to remember which team goes with which robot. Most teams leave a laptop connected to their team page in the pits so they can easily see their latest results, upcoming match, and click to see the robots they’re going up against.
  2. Since the pages automatically refresh every 90s it is often the quickest way to find the final score on the latest match or the latest rankings.
  3. The Event Monitor also automatically detects if a mobile browser is viewing the page and reconfigures the pages for optimal (we think) mobile browsing. So if you have a smartphone or even an iPod touch you might want to bring it along to the Vex Mid-Atlantic Championship. Here’s the URL if its easier to manually enter it (

The VMAC Planning committee is excited to offer you this opportunity. Just keep in mind that thought the scouting system was created for the Vex Mid-Atlantic Championship it has never been used at an event of this size and we can’t promise that it will work perfectly for everyone.

I would really like to see some kind of system like this at worlds. I am a one man team and running around trying to scout in between matches is next to impossible. I do have a few questions about this. Would it be possible to allow teams to make a “profile” for their robot with a few given categories
such as…

Robot type (with a few options like mega dumper, catapult, claw-bot and other) autonomous description
ball storage capacity

It would be awesome to be able to look at an iTunes-esque list of teams with all of their details right there for you to see. Obviously it would be up to teams to provide honest information about their robots but it seems like most teams have similar scouting sheets and it would be really cool if instead of being asked by every team “what is your ball storage capacity?” if teams could just look on this type of scouting program.


Yeah, I’d love to see a system like this at worlds. It would make it so much easier to find out accurate (well, as accurate as their descriptions are) information about the other teams without spending too much time running around the convention center looking for teams instead of working on your robot.

Right now i see this as a glorified version of what is shown on the TVs and projectors at competitions accept this is much more accessible for teams as they could look at it from the pits on on mobile devices.I think if you were to add in the “profile” feature this would be something that teams would be begging for at competitions especially at larger competitions. if you could arrange teams by the categories just like in iTunes or similar programs that would rock, for instance i could click on the ball storage capabilities button and have the robots arranged in order of their storage capabilities for least to greatest or the other way around.

I have one more question. when you look at the match list will it show all matches or could i run a search and only show matches that i need to play in? At my last competition i almost missed a match because i did not see it when i skimmed through the match list for the first time.

I think there is a lot of potential here.

Keep in mind that storage capability, speed, and other [seemingly factual] data are not all facts - it would be pretty easy to list a bucket as holding five balls when the team really never holds more than two (say, the bucket is too heavy to lift with five); the same would hold for drive train gear ratios. I think it should be up to other competitors to determine the finer points of a robot, and have only indisputable facts available to the community: team number, pictures, match data, (and something that would really be nice) previous tournament history (including how the team qualified for Dallas).

While this is something that i have though about i think it would still be a cool feature. It would be up to teams to provide accurate data about there robot and for your example you could possibly reword the description title to something like “how many balls do you hold at one time?” which would make it less of a “well we CAN hold…” and more of a “well we DO hold…” i think this would still be a great tool for teams to use especially those of us who don’t have extra people to scout or to answer scouting questions. I am planning on having a bunch of sheets available with my main specs on it available at worlds or maybe just a poster or something so that i will not have to answer the same questions over and over although i would definitely answer a question that was not already answered on the poster. If teams still want to scout above the system or use the system as a start and then only scout the few teams that they seriously consider that would be cool too. I could see myself using the system to find my top 5-10 teams then actually going to those 5-10 teams and seeing them in person to ensure they are a good choice but this is WAY easier than running around and talking to 300 teams.

I guess what i am saying is that the system may have flaws but it is still a great baseline for scouting if a team chooses not to use it as their only scouting resource.


I don’t know what kind of system Vex will have at the world championship. That’s not up to me.

There already is a team ‘profile’ called a team report. It already sorts out all of a teams matches and upcoming matches.

The system can only be as good as the available data. Ball-capacity and other robot data are not available to Tournament Manager and hence the scouting system. I had hoped that skills scores would be made available so teams could have an indicator of individual teams’ proficiency during autonomous and operator controlled periods. Sorting algorithms are easy to incorporate as long as the data is made available.

I believe that any type of universal scouting system should only include objective data. Different teams approach scouting in different ways and have different ways of collecting and analyzing data. Teams should be able to count on the veracity of the data in a universal scouting system and supplement it with their own opinions and observations in whatever way they see fit. If I were to incorporate such data into a system designed for everybody, there would be no way to make everyone happy.

If you want cool new algorithms like match predictions we need more accurate data. Event organizers have a hard time compiling an accurate team list. Manually entering data is too time consuming. Persuading robot teams to fill out online surveys is difficult, and the data isn’t trustworthy.

Robot Events already collects a lot of data, and could probably be modified to incorporate a scouting system for all Vex teams and events. I can imagine a system where Tournament Manager and Robot Events automatically interact to provide a complete team “profile” for every team, and lists for every event. However, I don’t think its on Vex’s radar right now.

Please keep the ideas and suggestions coming! I’m interested in both grand schemes for the future and ideas and tweaks that I could implement immediately.


Can you let me have the specifications for the online publishing feature of the Tournament manager. We want to do the same thing here in New Zealand for our Nationals at the end of March.

You know I wrote a huge post about how such a system could be setup at the worlds but then I decided the idea was really too complex to explain.

Gabrielse, great work on the script but I feel that it looks more basic than it actually is. I think some simple CSS would make a world of difference. I’d be willing to make a CSS script and make some graphics for you guys if you credited Polynomic 3D during the event.

Let me know, [email protected]


The info you need is publically available on the web, just not linked as far as I know:

I meant to write up some supplemental documentation, but I haven’t gotten to it yet so I probably won’t. It might just be easier to use my system. You just wouldn’t be able to use the robot picture feature, you’d have to make sure all the team names and sponsor names were under 45 characters, and you couldn’t have multiple divisions.

Great. Thank you.

I have written a very basic PHP page that saves the csv and data to a location on a webserver. It is attached below.


  $uploads_dir = "TMUpload";

  if ($_GET'type'] == "all"){
     echo "Received Match Data</br>";

     if (move_uploaded_file($_FILES'teamdata']'tmp_name'], "$uploads_dir/teamdata.csv")) {
         echo "Received {$_FILES'teamdata']'name']} - its size is {$_FILES'teamdata']'size']}</br>";

     if (move_uploaded_file($_FILES'matchdata']'tmp_name'], "$uploads_dir/matchdata.csv")) {
        echo "Received {$_FILES'matchdata']'name']} - its size is {$_FILES'matchdata']'size']}</br>";

     if (move_uploaded_file($_FILES'rankdata']'tmp_name'], "$uploads_dir/rankdata.csv")) {
        echo "Received {$_FILES'rankdata']'name']} - its size is {$_FILES'rankdata']'size']}</br>";

     $stxtfile = "";
     $stxtfile .= "Match, ";
     $stxtfile .= "Red Score, ";
     $stxtfile .= "Blue Score\n";

     $FileName = "$uploads_dir/Latest_Scores.csv";
     $FileHandle = fopen($FileName, 'w');
     fwrite($FileHandle, $stxtfile);

   if ($_GET'type'] == "matchupdate"){
     echo "Received Match Update";
     $matchcode = $_POST'matchcode'];
     $redscore = $_POST'redscore'];
     $bluescore = $_POST'bluescore'];

     $stxtfile = "";
     $stxtfile .= "$matchcode, ";
     $stxtfile .= "$redscore, ";
     $stxtfile .= "$bluescore\n";

     $FileName = "$uploads_dir/Latest_Scores.csv";
     $FileHandle = fopen($FileName, 'a+');
     fwrite($FileHandle, $stxtfile);



The VMAC is over now so you can check out what the scouting system looks like with data from a whole tournament.

If you were trying to follow live, we actually took it down after Friday night because the DSL connection at the arena couldn’t handle the bandwith demands of all the teams. Instead we set up a local area network that could handle all the demand. I just manually updated the online version so anyone can check out the final results.

Teams also requested that the field be displayed with the match list. I didn’t have time to do that during the competition, but its up now.

I have actually been working on a spreadsheet like the one you describe for our team… I’m not sure if I would like to share it with everyone else, it took a long time to make… But I will think about it.

Compete on the field - Cooperate off the field - You will get more than you give.

The CSM Vex Robotics Competition in Southern Maryland will be using the vex event monitor this weekend. Data from the VMAC has been removed. If you’d like to follow the CSM VRC live, online go to

Multiple divisions are now supported.

This is wonderful info to have. Thank you!

The data currently being displayed is from the DC Knights Round Up Qualifier. It will be up until it is taken down a couple of days before the Western Maryland Vex Robotics Competition on October 30.

I don’t know how the scores are tabulated from the referees to the event manager, but its too bad more detailed data from each match is not available.

A score of 100 to 50 doesn’t tell you much about how those robots played the game, since there are many combinations that add up to those point scores.
Low scores tell more, since a score of 7 points almost certainly means 1g2t.

A score format of 5g10tHLA to 4g4t tells a lot more.

5g is 5 goals owned,
10t is 10 tubes scored,
HLA means one robot hanging High, one hanging Low, plus won Autonomous.

I assume this level of detailed data is taken by the refs, and the actual score is calculated automatically. Is there anyway to collect the details for analysis?

That’s a good idea, and yes, when I was a referee for a Middle School tournament months ago the score cards had the ref’s enter in the number of owned goals, the number of tubes scored in all, and the number of high and low hanging robots, as well as weather they got the autonomous bonus or not, all of course separated by alliance. After that the ref’s multiply the number’s by the point value, and find the total score, all of these numbers are written on the card, and are available to be used by the people in charge of entering that data.