This week our guest blogger Jose Avendano is back to talk to us about the MATLAB STEM Challenge which concluded recently. In this challenge students from Franklin and Needham high schools created fitness trackers using MATLAB.
MATLAB STEM Challenge
As part of the student competitions team at MathWorks, we are involved with many different programming challenges. The MATLAB STEM Challenge is particularly special because of the final problem presented to high school students. This competition was held in partnership with I2 Learning as part of the MASS STEM Week program. Contestants of the challenge were tasked to use MATLAB Online and MATLAB Mobile to create a fitness tracker algorithm and implement it on data acquired by themselves. The algorithm was meant to process raw activity data coming from motion sensors and give the user useful information such as that presented in commercial devices like steps taken, distance traveled, calories burnt, etc.
To get started with the MATLAB language, they completed the first stage of the competition by finishing our Learn to Code series of online tutorials. This interactive online tutorial got the participants familiar with MATLAB syntax, which equipped them to process motion data from different sensors to extract meaningful health metrics. On the second stage of the challenge the students’ creativity became crucial. Given a set of motion readings, which health metrics were important? Which sensors should be used? Are there any readily available algorithms that can be explored? The basic architecture would look something like the image below.
Given minimal guidance we left all the important decisions to the students. This way participants could be as creative as possible developing their algorithms. All that remained for the students to start coding their fitness tracking models was easily acquiring the movement data from a person.
How to Record Movement Data?
This question is important since the participants of this challenge may not have access to data collection hardware. There was however an experimental platform we could count on that most participants could have access to. Without realizing it, most people already carry a complete suite of motion sensors like GPS, accelerometers and gyroscopes in their pockets; their phones! MATLAB Mobile supports logging the sensors from both Android and Apple devices.
With some simple instructions the participants could access data from accelerometers, gyroscopes, GPS, and some other sensors that were already present in their phones using the MATLAB Mobile App. Most importantly all this information could be logged at various sampling rates and directly imported into MATLAB.
The Winners – Franklin High School “Team 1”
The participants had several months research and implement algorithms to calculate a variety of health metrics. The winner of the challenge was a team from Franklin High School in Massachusetts. They implemented the full suite of sensor readings available to calculate steps, distance traveled, calories burned, and flights of stairs climbed. These metrics are on par with commercial fitness trackers! We were absolutely impressed. In the image below, you can see the layout of their implementation which explains how the information from the user and sensors is merged to come up with the actionable and personalized health statistics.
The students then worked their way through coding the different components of their complete project. The team experimented with several filtering algorithms to smooth their data before processing and had to program different techniques like correlating walking speed to energy to derive useful insights like the calories burned and distance traveled. As you can see below, they documented all this procedure and analyzed the data using several MATLAB plots for things like filtered acceleration and their walking speed vs metabolic equivalent regression. These plots helped them differentiate the approaches that worked well from those that did not.
This team also went above and beyond by comparing the amount of calories burned to the caloric equivalent of common types of food. This meant you could immediately know whether or not your exercise session was enough to account for your last meal. Whether it was according to the winners “one apricot”, “a Burger King Tripple Whopper”, or “ more than a giant bowl of pasta!”
The finalists for the MATLAB STEM Challenge were invited to visit the MathWorks headquarters in Natick Massachusetts. The teams spent the day presenting their projects, receiving awards, learning about careers in technology and interacting with MathWorks engineers. If you are interested in developing similar applications, make sure to check out our support for IOS and Android devices. We are looking forward to seeing what you can develop using these tools!