Swimming Stroke Analysis
1.
2.
Constructing the wearable device
Interest and background knowledge
The battery's standard 3 pin connector was removed and a 2 pin connector soldered in its place.
Requirements: Components:
Defining the project
Overview
Freestyle stroke phases
The font and sides of the external case were half covered in hook fastening sheets and half covered in loop fastening sheets.
This dissertation project formed from the desire to blend my competitive swimming with my medical engineering studies.
- WildByte Technologies Daily Diary chip
- SparkFun BueSMiRF Gold Buetooth modem
- LP-402933-IS-3 3.7v Lithium Polymer 300mAh battery
- GoPro Hero 4 camera case
- A standard boxing wrap
- Waterproof hook and loop fastening sheets
- Small clear polystyrene box
- Double-sided adhesive tape
- To be large enough to fit all electronic components inside but not so large that it affects a swimmer's stroke
- To be waterproof but for the electronics to be easily accessible
- To be secure and tight-fitting on a users wrist
- To fit all wrist sizes
- To house the microsensors in their optimum position
- This presentation will follow the process of innovating a wearable system capable of quantitatively assessing freestyle swimming stroke
- The process of developing the system will be described step by step
- Ultimately, a complete reliable system has been created
A strap was made from cutting and hand sewing opposite ends of a boxing wrap together.
- Freestyle swimming stroke is a cyclic motion that is broken into catch, pull push and recovery phases
- The position of the arms during the catch phase are of particular importance, as the position and orientation dictates the efficiency of force application on the water.
A small polystyrene case was glued to the base plate of the external case. The perimeter was lined with cotton wool.
A subtle example of the difference
Efficient vs inefficient stroke
Neuromuscular effects of inefficient stroke
An access hole was cut through the top haf of the small internal case.
2 major factors that determine the efficiency of a swimmer's arm movement were the focus:
1) The extent to which a swimmers arm crosses the mid line of their torso
2) The extent of internal rotation in a swimmers arm
- Upper and lower crossed syndromes are common amongst the general population, but swimming with the described inefficiencies can further facilitate upper crossed syndrome in particular
- The tightening and strengthening of several anterior muscles with the atrophy of several posterior muscles causes sub-acromial impingement of the shoulder joint
Foam inserts were fixed to the inside of the external and internal case.
Reduced ability to apply force and effective hand cross sectional area
Improved ability to apply force and effective hand cross sectional area
4.
3.
Preliminary tests
Data collection
The sample
The procedure
Defining the datasets capable of distinguishing efficient stroke from inefficient
Identifying the the stroke phases of freestyle from the data
Quantifying the differences in the waveforms of efficient and inefficient stroke
- A video was recorded of the live data stream as freestyle stroke motion was being simulated
- The time between every point (1) or every point (2) represented the period of a single stroke
- The response of the wearable to repeated internal wrist rotation and repeated lateral wrist acceleration were recorded.
- X-axis magnetometer data was determined to be the main indicator of internal rotation (brown line)
- X-axis accelerometer data was determined to be the main indicator of lateral acceleration (red line)
- Efficient and inefficient strokes were simulated to study the differences in x-axis acceleration and x-axis magnetometer data
In total 50 swimmers with a wide range of abilities were tested including:
- 6 commonwealth/internationally competitive swimmers
- 5 nationally competitive swimmers
- 4 regionally competitive swimmers
- 2 para athlete swimmers
- 12 semi-skilled swimmers
- 17 casual swimmers
- A repeatable procedure was used for data recording
- Each swimmer was told to swim "their fastest and most efficient lap of freestyle swimming"
5.
6.
Data processing (MATLAB coding)
Conclusion and future developments
Patenting
Conclusion of results
Partnering with a wearable technology company
- The algorithms developed could be rewritten in app form and downloaded into a next generation Apple watch, Fitbit Versa or Moov Now
Two separate MATLAB scripts were produced to analyse the swimmer's data:
- Firstly, a script for the "user" was written for an individual swimmer to have their stroke assessed
- Secondly a script was written for statistical analysis of the entire data cohort
- Patenting of the techniques discussed would be needed before partnering with a wearable technology company
- No equivalent device appears on the WIPO database. Hence it seems possible that the hardware and/or the algorithms in this project could be patented
- The major goal of this project has been achieved
- An accurate reliable system for the quantitative assessment of freestyle swimming stoke has been innovated
Improvements/developments:
- Using a more streamlined case
setup
- Developing a new wearable setup
incorporating the microsensors
and algorithms into one system
Script for the user
Script for statistical analysis
- This script was designed to process the text file from a single swimming test lap by applying constraints to the data.
- The code can determine the magnitude of latteral acceleration in a swimmers stroke and magnitude of internal rotation in a swimmers stroke, producing a grade out of 10.
- Distance per stroke and lap time are also considered
- Hence the code below tells the swimmer how and to what degree they could improve their stroke.
- The statistical analysis script was designed to perform the same process as the user code but in a for loop, so the data of the entire cohort can be compared
- Viewing all 50 data samples on one graph of Wearable score and Lap times allowed correlations in the data to be determined.
- The script below confirms the validity of the wearable system can be confirmed or refuted.
References
Loading the raw data
and selecting the useful data sets.
A for loop is used to run the user code for all 50 swimmer's at once
Smoothing the raw data
to make processing easier.
Finding the significant peaks and troughs of the graph allows us to deveop a grade for the variance.
Also, plotting the smoothed data with these max and min points.
Questions?
Calculating the mean of the highlighted maximum points, and separately the mean of the highlighted minimum points.
Then summing the absolute values of the mean max points and mean min points.
This produces a grade representing the variance.
All of the statistical analysis code within the for loop is the same as the user code
Calculating lap time for the user.
If statements are used to group the lap time data into skilled and unskilled groups to feedback to the user
Adjusting the acceleration grade with time to be more accurate. as accelerometer data unlike magnetometer data is affected by speed.
Grouping the adjusted acceleration grade using if statements producing a whole number grade between 1 and 10.
Displayed to the user.
A total grade is produced from the sum of the scaled lateral acceleration grade and scaled internal rotation grade.
Then a scatter plot of Lap time on the x-axis and Wearable total grade on the y-axis is produced.
Similar to the steps above the magnetometer data is also adjusted and grouped.
Although, magnetometer data is purely positional data and hence is not adjusted for time
Grouping the adjusted magnetometer grade using if statements producing a whole number grade between 1 and 10.
Displayed to the user.
Finally the Pearson coefficient is calculated for the scatter plot.
The Pearson coefficient is 0.8323.
A quantitative assessment of freestyle swimming stroke using wearable accelerometer and magnetometer microsensors