Fitness tracking has become a huge market, but most trackers only do steps and are not a good overall measure of activity. We wanted to extend the functionality of these trackers by being able to count reps of exercises like pushups, and pull-ups.
What it does
Counts pushups. First the user runs an application that collects the raw data from the myo, and that is dumped into a csv file in a folder. A script watching that folder executes a java program with the file as an argument every time a file appears. The java program smooths and analyzes the data for number of pushups and uploads that information to a parse database. A user can then go online and track their progress at the website.
How I built it
We started by collecting raw data from pushups, and loading it into Excel. Using Excel to graph the data, we could change it and see the results in real time. We used Excel to model the smoothing algorithms (a combination of 4 exponential smooths and 1 moving average). We rewrote the algorithm in Java and added a function to convert the data points into vector strings. Using excel again, we matched portions of the vector strings to the pushup motions. The Java program then scans the entire string for our model we defined using a fuzzy string matching algorithm.
Challenges I ran into
We tried using azure to host the database but unfortunately we couldn't get it to work so we pivoted to parse, but used azure to host the website.
What's next for Swole
Right now, our demo only counts pushups, but we could add other exercises. Also Improving the algorithm recognition, as well as transitioning from the myo to Apple Watch, Pebble Time, or Android Wear. Could also crowdsource user data for some fun projects.