Soccer Player's Tracker (Part 1)

About 1 year ago I was offered to do an internship in a professional football club from my country. At the first time I was reluctant since I am not "the sport guy" but I decided to have a meeting with my employer and decide if I take the job knowing what it was about. The meeting was long and confusing at the beginning because I didn´t know where a "techy guy" like me was fitting in the plot but then my employer (and president of the soccer club) told me what he was expecting from my work. He wanted me to build a device in order to track every step of the football players inside the soccer field (Pretty neat, right?), the motivation behind this was the need for statistics inside the field, this is, How much does the player run inside the field? How fast can he run? What about the acceleration? Is the player playing in the area the coach told him to play? All this questions are supposed to get an answer with the device I was supposed to build.


Now you know the context. Let´s face this, this is not a tough task. Nevertheless, the gadget is not a classical device, for an instance, it is supposed to be able to resist hard impacts and also humid conditions (rain likely), it must have a very smart and efficient energy use (The player cannot recharge the battery during the game), it also must have a fair memory in order to store all the data given by the GPS (Yes, we are using a GPS to know the exact location of the player) and YES! It must be portable... So, Yes again! We must use as many SMD components as possible.



There are many trackers (or dataloggers) in the market, DIY kind and also professionals but none of them are small enough for the use of this project, for this reason we are using the smallest (and also cheapest) trackers we could get so we can have some data to work with in the first place. I decided to use the first version of the GPS datalogger that Adafruit used to sell (see the picture). Fortunately I had one of those in my bench so spending any extra dollar in my first mock-up was not needed.


I must confess I had a very good experience with this GPS chip (Sirfi IV). It has a very good error margin (bellow 10 meters) and also it doesn´t use too much energy. On the other side, the chip is too big and the word "portable" is not something I'd use to define it. I also was very lucky because I found a really good Guinea pig, the dog I had at the time, Emma (The belt my dog is using originally was my armband which I used for keeping my Ipod while I was running). Emma had a great time running in circles, chasing cats and some other dogs so if this prototype works in Emma It has to work in a soccer player too.


The Datalogger sold by Adafruit had the advantage of storing all of your data in a .txt file inside your SD memory card. This was so cool since my computer has a SD port where I could insert the SD card and check the coordinates stored by my dog. Anyway, after a brief walking the .txt file was like this:

$GPRMC,004326.490,A,3320.2090,S,07032.2829,W,1.79,119.46,211213,,*0A
$GPRMC,004327.490,A,3320.2097,S,07032.2825,W,1.63,118.70,211213,,*0F
$GPRMC,004328.490,A,3320.2102,S,07032.2820,W,1.61,115.81,211213,,*09
$GPRMC,004329.490,A,3320.2103,S,07032.2816,W,1.58,103.03,211213,,*0B
$GPRMC,004330.490,A,3320.2103,S,07032.2812,W,1.30,100.31,211213,,*0B
$GPRMC,004331.490,A,3320.2104,S,07032.2807,W,1.80,100.42,211213,,*06

Evidently unless your are a sailor or a pilot this numbers are nothing to us so Let's see this by part (Divide and conquer)...

GPRMC is a GPS data Protocol

  • the first 9 numbers are just the local time, so 004326 means 12 hours 43 minutes and 26 seconds, 
  • then an "A" which is a warning character, A is used when your GPS is receiving coordinates correctly, "V" when it's NOT.  
  • The latitude (3320 S)
  • The longitude (7032 W)
  • Speed (Knots) (1.80)
  • Course made good (Honestly, I don´t know what this is useful for so probably I'm not using this)
  • Date (dd/mm/yy)
  • Checksum (To verify if you received the amount of bits you are saying you received)

Now we know what the data means but we are not ready yet! We have the coordinates and speed (in knots) but wouldn´t it be very cool if we could visualize this coordinates. Well, not worries! there is a website called gpsvisualizer.com where we can insert our coordinates and it draws for us the trajectory. Even better, we don´t have to manipulate the .txt file, we only have to import the .txt file itself and the website decodes the GPRMC by itself (The Reason? GPRMC is an official protocol).



In the upper picture we can see Emma's trajectory in the park. According to what she did it's pretty accurate but there are some inconsistencies, for example, some times Emma looks like if she were running through the houses. Later I´m going to show you how to detect this inconsistiencies and eliminate them in order to make the measuring the cleaner we can.

So, to know the rest of the story read the second part here!









No hay comentarios:

Publicar un comentario

Comenta aquí...