Electronic scouting using 7 laptops and a little mysql

Our team is currently exploring some ways of doing scouting electronically. I have an idea I would like to get your opinions/tips on.

Here is how it would work:

7 total laptops all wired to a switch or router (1 server laptop and 6 data entry laptops).

The server laptop runs xxamp and the data entry laptops would send data to server laptop(via php post method) to be stored in a mysql table that we could later export as a spreadsheet for analysis.

Many teams have used this method in the past with sucess. Running a local server allows for some pretty cool ways for multiple people to view and interpret data. You might find that JS/PHP data interpretation is more useful than exporting to a spreadsheet.

Additionally, at events, it’s sometimes hard to find a reliable source of electricity to power the electronics. You might want a few batteries and a power inverter.

Keep in mind that a computerized system adds a layer of complexity. Keep the input system simple, back up databases, and allow for error management (like ways to edit previous data) and you should be good to go!

Couldn’t you run the server on one of the laptops being used for scouting? You could get by with 6 laptops and a little MySQL, I’m sure!

Also, as of what I’ve seen is that computers can be extremely reliable. My latest applications are threaded to the point where they crash every once in a while when under load (sending 900 requests at a time). I’ve never had any database corruption or even binary corruption.
Of course, sending 900 requests at a time to the server will be very unlikely as it is neither internet connected (spammers) and you only have 7 users.

The magic of electronic scouting systems is when you put together a ton of HTML and CSS to make a spectacular interface and add some JS/AJAX to make the entire page work without page loads or latency!
Doing something like this will make it possible to sync realtime data between all of the computers!

Not if you want immediate output, which many teams do. You run the server on Laptop #7, and use that one if someone needs to get to the data during a match.

You could very well use on of the 6 laptops as the server machine. With only 6 users, it is extremely unlikely that you will need a dedicated server machine. Also, this should reduce the amount of power your setup will draw (especially important if you are using batteries).

My team has been using an Apache/MySQL/PHP setup for the past 3 years now. We have found it to be fairly reliable and much easier than our old paper system. Of course, our electronic system requires much more work on our part prior to our competition (programming, setup, thorough testing and training), but its well worth it for the added speed and functionality. If you are going to implement a computer based system, I can’t stress enough how important it is to test your system and train your users. You want to be able to iron out any bugs in your code, and make sure everyone knows what they are doing well before you get to the competition.

As mentioned before, you might want to experiment with data manipulation with PHP. All of our team’s reports have been customized to our teams needs, and are generated with PHP directly from MySQL database. This saves you from having to export data to excel and update it every time the database changes. I’ve attached examples of 2 of the many different reports we have created over the years.

Individual Team Report.pdf (202 KB)

Individual Team Report.pdf (202 KB)

That is very true. However, for just a server, that’s kind of wasteful.

Think about it this way: Your drive coach texts the scouting lead right as a match starts, saying he needs some data on one team or another, can he get it right away. Do you: wait until the match ends (delay in getting data) or kick a scout off of data entry so you can pull the data? Add in another computer to act as a server, and that one is available as a place to get data from that just can’t wait. Plus it’s a spare unit available for transitioning fresh scouts in or swapping out a broken one on short notice.

Or maybe you could plug in another computer temporarily. It’s web-based. I have written web-applications that can disconnect from the server when it is unavailable and reconnect immediately after it is back up!

That is especially important. More often than not, some other scouting management needs to be done, like reporting data or editing previous false data. A 7th computer is vital to keep electronic scouting seamless.

Our team used to run our scouting system on laptops. We would borrow 7 laptops from people on the team and give them back at the end of each day. Our problem with that setup, other than that laptops take a lot of power and our inverter went thru batteries very quickly, was that laptops are big and expensive. At each competition some scout would get tired or distracted and either drop the laptop or yank the cable out of the Ethernet port resulting in broken laptops. In 2014 we switched to nexus 7s, that we borrowed from the computer science teacher at school, on a USB network. Tablets are cheeper and less cumbersome and none of them broke.

As the drive coach I was given a tablet with updated data after every match.

I’m currently working on a server system like that for our scouting. Run web.py on a machine’s port 80 (It’s simple. It’s python. It works on pretty much any system out of the box. And for an application like this, who needs MySQL when you have Sqlite3? Just use python’s builtin support for it. :wink: ). A bunch of machines connect to it over a web interface, make POST/GET requests to only POST/GET the data they need, and voila: No data corruption since you’ve neatly wrapped everything. No multiple copies of things (hopefully). No messy excel sheets. It would be cross-platform (since you’re just using HTML/CSS/JS), and you could even set the server up remotely and use 4G connection to access it if you prefer that to lugging your system around on laptops which need LAN (since WiFi isn’t allowed at competition).

On the topic of networking, could you use a Bluetooth PAN to do this?

Use a raspberry pi as your server. Linux based. Easy to setup MySQL, php, and apache on. Very low power.

I am looking towards a PPTP bridge over serial :D. You only have one ethernet port, but maybe 3-6 USB ports! Bluetooth would be a great technology to use, however, I haven’t found a way to create a PAN network from a computer so that tablets can connect. However, a touch screen might be a powerful weapon against the ghost of scouting! :wink:

A RasPi is a perfect choice. If you write your server in a fast language such as C++, there’s no need for anything more powerful!

This is the ideal set up. Tablets take scouting to the next level because it simplifies UI(It’s easier to tap than click in a fast paced match). The only problem is that 7 computers are more accessible than 7 tablets to most teams.

Another way to get data down to the drive coach is by having some sort of data syncing system using mobile Internet. You can either run the scouting server off a website and keep a constant connection (Ideal, so drive coach has up to date information on phone at all times) or have an export SQL script that syncs every few matches to an external source.

Agreed. Having a touch screen really allows you to get creative with the user interface. For example, our 2012 screen had 3 baskets corresponding to a high, medium, and low basket on the field. Scouts simply tapped the corresponding basket when the robot they were scouting made a basket. There was also a counter next to each basket with a decrement button to allow a scout to correct any mistakes. This was very easy for the scouts to learn, and resulted in better scouting data.

For our first year with an electronic scouting method, we actually borrowed 20 tablets from our schools library for competition. Over that previous summer, the district purchased hundreds of tablets for use in classrooms. Since the tablets weren’t very popular with the teachers at the time, we were able to borrow quite a few of them that were pretty much unused. It might be worth checking with your school district to see if they have any tablets that you can borrow.

Here’s out latest white paper on the electronic scouting system we have. http://www.chiefdelphi.com/media/papers/3037

We use tablets instead of laptops because they are considerably cheaper, smaller, and lighter. Be sure to get a high quality switch and cables if you’re going to have everything wired together, we used a hardwired system in our first iteration two years ago and had constant problems with disconnecting. Using the tablet’s bluetooth has been much easier and much more reliable and now people don’t trip over our spider web while trying to get to the bathroom. Also, unless you tether with someone’s cell phone having an offline server doesn’t allow for any real time data analysis. We purchased a cheap data plan for two of our tablets which upload the data from the 6 other tablets to a virtual server. Then we can do live calculations on that server which makes the data available to be pulled down by a smart phone app made for our drive coach so that he can check team stats in real time before matches.

Most of this stuff came after a year of working on our system though so don’t bite off more than you can chew, get a simple system that works well going first then start adding features.

Another way to get data down to the drive coach is by having some sort of data syncing system using mobile Internet.

You might want to be careful with this, this technically could be against the rules.

Please read the following common site restrictions and adhere to them in order to promote an orderly, safe, pleasant and exciting competition. Please refer to Administrative Manual - Section 4.2 FIRST Safety for additional site restrictions at your event.

Do not bring food to the site. If you bring food, do not bring it onto the property.
Do not use noisy devices, such as floor stompers, whistles and/or air horns.
Do not arrange for Internet access or phone lines on the site or attempt to connect to the Internet.
Do not sell any products. This includes food, hats, shirts or any promotional products.
Do not distribute any food products, such as candy, water, soft drinks or fruit.
Do not sell raffle tickets.
Do not bring bottled gas tanks (e.g. helium). This is a safety concern.
Do not use walkie-talkies.
Do not invite or bring live bands to play in the audience. This dilutes the presentation on the playing field and is too loud and confusing for the audience.
Do not play loud music in the Pit because it interferes with important announcements. If a team receives more than a warning or two, the power to the team Pit will be shut off and/or the music confiscated.
Do not form “tunnels” during the Awards Ceremony. This can cause discomfort to those traveling through them and creates safety issues.

So what are you going to start collecting cell phones at the door?

No, but I can see where people might have an issue with teams using online databases to access data wherever they need it. Our team has not moved to online scouting storage for this reason.

However, I also see where the rule is a bit general and might not be intended to limit this type of scouting system.

Why would having an online database for scouting cause an issue? The blue alliance, FRC Spyder, and the FIRST FMS event pages are essentially online databases.

I’m not entirely sure, but I believe that this rule came about after teams actually leased phone lines for internet access at a competition many years ago. This rule has been in the manual since at least 2009 (when I started FRC), and probably didn’t account for internet enabled smartphones.