Project Goal

 during training sessions, athletes will be able to wear a set of sensors that collect data about their movements;

 based on this data, a baseline performance is established via Machine Learning algorithms, then the data from subsequent performances is analysed and compared against the current baseline;

 following this analysis, recommendations for improvement are made and the athlete gets a visual representation of how the optimal movement should look like.

Solution

All movement data is collected and tracked using Microsoft Azure for machine learning and algorith compares it to the athlete's previous best.

The parameters for determining the optimal performance are set depending on the particular sport - this solution can be applied to a wide range of activities, from baseball and tennis to track and field athletics.

One of our experts is responsible for the hardware part of this solution, while the other manages the data analysis. The technology behind this project relies on an Arduino microcontroller and 3 MEMS sensors embedded on a FreeIMU board: an accelerometer, a compass and gyroscope. The data is saved on an SD card and transferred to the cloud via Bluetooth. The athlete can access the information on his smartphone or PC, through an intuitive user interface.

Arduino microcontroller

We opted for an Arduino microcontroller because, compared to other physical computing tools, it offers a number of significant advantages:

  it has a much lower cost

  it requires less power, which translates in an increase in mobility and the device's autonomy

  it's highly scalable, as both its software and hardware components are open source and extensible

However, this choice also presented a few performance challenges that our experts had to tackle: they replaced the Arduino libraries with custom Atmel studio 6 applications written in C++, thus optimizing the reading speed from 25 readings per second to 700 readings per second.

Additional improvements:

 making the libraries four times faster

 optimizing the writing process on the SD card

 simplifying the use of wearables cables (so the athlete doesn't end up looking like a cyborg :)

 enabling gesture recognition with optimal accuracy (eg.: forehand / backhand)

 improving the sensor's accuracy reaching sensibility levels of +-2g, +-4g, +-8g, +-16g for the accelerometer and 200-2000 rad/s for the gyroscope