[go: up one dir, main page]

WO2024092315A1 - A swim stroke analysis method and system - Google Patents

A swim stroke analysis method and system Download PDF

Info

Publication number
WO2024092315A1
WO2024092315A1 PCT/AU2023/051107 AU2023051107W WO2024092315A1 WO 2024092315 A1 WO2024092315 A1 WO 2024092315A1 AU 2023051107 W AU2023051107 W AU 2023051107W WO 2024092315 A1 WO2024092315 A1 WO 2024092315A1
Authority
WO
WIPO (PCT)
Prior art keywords
stroke
measurements
acceleration
computing
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/AU2023/051107
Other languages
French (fr)
Inventor
Niall Wells
Brody RAMPONO
Dmytro Bystranovskyy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Butler 88 Pty Ltd
Original Assignee
Butler 88 Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2022903288A external-priority patent/AU2022903288A0/en
Application filed by Butler 88 Pty Ltd filed Critical Butler 88 Pty Ltd
Priority to AU2023371462A priority Critical patent/AU2023371462A1/en
Publication of WO2024092315A1 publication Critical patent/WO2024092315A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • A61B5/681Wristwatch-type devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/003Kinematic accelerometers, i.e. measuring acceleration in relation to an external reference frame, e.g. Ferratis accelerometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/14Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of gyroscopes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/10Athletes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/04Constructional details of apparatus
    • A61B2560/0462Apparatus with built-in sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
    • A61B5/1118Determining activity level
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
    • A61B5/1123Discriminating type of movement, e.g. walking or running
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient; User input means
    • A61B5/742Details of notification to user or communication with user or patient; User input means using visual displays
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2208/00Characteristics or parameters related to the user or player
    • A63B2208/03Characteristics or parameters related to the user or player the user being in water
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/40Acceleration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/836Sensors arranged on the body of the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/12Arrangements in swimming pools for teaching swimming or for training

Definitions

  • a Swim Stroke Analysis Method and System [0001] The present invention relates to the analysis of swim strokes. Background [0002] The following discussion of the background art is intended to facilitate an understanding of the present invention only. It should be appreciated that the discussion is not an acknowledgement or admission that any of the material referred to was part of the common general knowledge as at the priority date of the application. [0003] Swimmers from athletes to casual like to, or indeed in some cases need to, monitor their swim stroke performance, particularly when they are seeking to improve their stroke technique. [0004] Current wrist worn smart devices provide some ability to monitor movement, such as steps, but currently have limited functionality for monitoring swimming. Such devices include AppleTM watches and GarminTM fitness watches.
  • the present functionality of such devices is to recognise the movement of the wrist is that of performing a swim stroke and then to count the number of strokes in a time period to be able to determine a rate of strokes. It is desirable to determine different phases of the stroke for technique analysis and training. Mere identification of a stroke is insufficient to analyse swim stroke technique. [0005]
  • the present invention seeks to provide improved or alternative swim stroke analysis to what is currently available. [0006] Throughout the specification unless the context requires otherwise, the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
  • a swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the beginning of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
  • the measurements further comprise gyroscope measurements with respect to time.
  • the method further comprises computing segments of each stroke.
  • the method further comprises computing stroke kinetics.
  • the method comprises computing hand roll angle at hand entry.
  • the method further comprises computing stroke crossover.
  • the method comprises computing peak acceleration at hand entry and the time thereof.
  • the method further comprises computing stroke kinematics. [0017] In an embodiment the method further comprises computing stroke count and period. [0018] In an embodiment the method further comprises computing a rest. [0019] In an embodiment the method further comprises defining a workout and computing a comparison of the strokes to the defined workout. [0020] In an embodiment computing the beginning of each stroke comprises determining a peak acceleration. Preferably the peak acceleration is the Euclidean norm of measured acceleration vectors. [0021] In an embodiment determining the peak acceleration comprises removing false positive peaks in acceleration. In an embodiment the removing false positive peaks in acceleration comprises determining the peak within a selected time period. In an embodiment determining the peak acceleration comprises focusing on peaks in a selected time period.
  • focusing on peaks in the selected time period comprises boosting acceleration signal within the selected time period.
  • computing the beginning of each stroke comprises determining a negative rotational velocity during a recovery phase of each stroke.
  • computing the beginning of each stroke comprises determining a peak in amplitude of a snap signal over time.
  • the snap signal is boosted to determine the peak in amplitude.
  • the snap signal is boosted by determining a rolling standard deviation of each orthogonal acceleration and scaling the snap signal by the determined rolling standard deviation.
  • the snap signal is boosted by a proximity signal.
  • the proximity signal is a triangular wave having a period.
  • the period is determined by identifying a prominent repeating low frequency signal in the acceleration signal.
  • the peak of the triangular wave coincides with the peak in the amplitude of the repeating low frequency signal.
  • the stroke start points are determined by determining prominent local maxima of the boosted snap signal.
  • stroke period of each stroke is determined by computing the time between stroke start times.
  • the method comprises computing temporal phases in each stroke.
  • an insweep phase is computed.
  • computing the insweep phase comprises computing the maximum value of acceleration in the y axis during each stroke period.
  • a catch phase is computed.
  • computing the catch phase comprises computing jerk. In an embodiment the jerk is applied with a low pass filter. In an embodiment the catch phase ends when the filtered jerk is negative.
  • an upsweep phase is computed. In an embodiment computing the upsweep phase comprises computing a peak in acceleration in the x axis.
  • a recovery phase is computed. In an embodiment computing the recovery phase comprises computing when the acceleration in the y axis is negative.
  • the roll angle entry is computed by determining constituent y and z axis accelerations at the time of the beginning of each stroke and then determining theta and omega angles from the magnitude of the accelerations.
  • the crossover angle of entry is computed by determining the amount of radial-ulnar rotation in the z axis from wrist entry to insweep. In an embodiment the radial-ulnar rotation in the z axis is computed by taking the integral of angular velocity in the z axis.
  • a splash score is computed. In an embodiment the splash score is computed from absolute acceleration at the time of entry.
  • a force score is computed. In an embodiment the force score is computed by determining the maximum magnitude of acceleration after the stroke begins.
  • the computed values are displayed to a user. In an embodiment the values are displayed in a graph against time.
  • the hand entry angle and/or the cross over angle are graphically displayed by count at each angle.
  • the measurements are recorded on a wrist device.
  • the wrist device transfers data comprising the measurement to a cloud based analysis engine.
  • the analysis engine performs at least some of the computations.
  • the computations are time-aligned with biometric readings (eg. heart rate).
  • the graphical displays are computed by the computation engine and provided as graphical display instructions to a viewing device.
  • a swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the time of hand entry during each stroke from the measurements.
  • a swim stroke analysing system comprising: a receiver of measurements with respect to time from an arm-worn device, wherein the measurements comprise accelerometer measurements and preferably gyroscope measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
  • a swim stroke analysing system comprising: an arm-worn device comprising an accelerometer coupled to an arm of a user for taking acceleration measurements over time and preferably a gyroscope for taking angular velocity measurements over time; a transmitter of the measurements; a receiver of the measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
  • a computer program embodied in a non-transient storage form comprising instructions for controlling a processor to perform the method defined above or to operate as or as part of the system as defined above.
  • Figure 1 is a schematic diagram of an example system according to the present invention
  • Figure 2 is an example screen shot of a bar graph of the time for each of a number of strokes showing each stroke segmented into phases
  • Figure 3 is an example screen shot showing a number of hand entry angles in a swim session
  • Figure 4 is an example screen shot showing a number of stroke crossover angles in a swim session
  • Figure 5 is an example screen shot showing a number of lap slip times in a swim session
  • Figure 6 is a graph of example raw accelerometer data from an embodiment of a wrist worn device during a swim session
  • Figure 7 is a graph of example magnitude accelerometer data based on the data shown in Figure 6 with local maxima identified (by a dot)
  • Figure 8 is a graph of example angular velocity data from the wrist worn device during the swim session shown in Figure 6
  • Figure 9 is a graph of example filtered angular velocity data based on the data shown in Figure 8;
  • the system 10 comprises one or more arm, preferably wrist mounted devices, such as an AppleTM watch 12, or a GarminTM watch 16. These devices are configured to record acceleration experienced at the wrist of a user 30, 32 using an accelerometer, and in particular in relation to the present invention when swimming, more particularly when swimming freestyle stroke (also known as forward crawl or front crawl).
  • the devices such as is the case with the watch 12 may also record gyroscope data, this data being angular velocity experienced at the wrist of the user 30. This data is also sometimes called inertial measurement unit (IMU) data.
  • the IMU data may be stored by the devices 12, 16 in Healthkit data (from the Apple Watch), or Garmin Cloud or similar.
  • the watch 12 is able to connect to a smartphone 14, such as an iphoneTM which in turn communicates with an online server, such as a cloud server 20.
  • the watch 16 may be able to communicate over the internet with a dedicated/proprietary server 18, in some embodiments via an intermediary device 17, 17’ (such as a smartphone 17 or personal computer 17’), from which the data may be obtained and sent to or retrieved by the cloud server 20.
  • the server 20 comprises a webserver to display information based on the collected data on a display device 22, such as a web browser running on a computer. The information may also be displayed on the phone 14 or another device (such as device 17, 17’).
  • any of devices 12, 14, 16, 17, 17’, 18, 20, 22 could perform all or some of the computations described herein, however it is preferred and is described herein as the server 20 performs the computations as programmed by computer program instructions in order to handle performing such computations from multiple devices 12, 16 or their respective users 30, 32, scaled accordingly so that the computational load of many user’s devices can be centralised and performed computationally efficiently.
  • the computer program instructions are typically stored in a non-volatile manner, such as on a hard disk drive or solid state drive but may be stored on other media.
  • the computer program instructions control the or each processor of the server 20 to perform some or all of the computations described herein and in an embodiment to prepare instructions (such as a website) for display on the phone 14, device 17, 17’, or display device 22.
  • the computations allow for analysis of the swimming technique at macro and micro levels. This enables the user to better understand their technique and improve it.
  • the invention enables self analysis, but also can be used for computational analysis, such as identification of a deficiency in technique (for example hand entry angle is too great), and can thus enable a market place 34 for either computational diagnostic tools, or self improvement instructions (such as instructional videos) and can provide the analysis to a coach 36 for instruction during training.
  • the starting point of the analysis is to identify the beginning of each stroke (not merely that a stroke is being performed or of the type of stroke being performed). As shown in Figure 2, each stroke is represented as a bar in the bar graph. The height of each bar is in seconds.
  • each stroke is regarded as beginning at hand entry (into the water), which in freestyle transitions into the glide phase of the stroke once the hand has entered the water. The impact of the hand with the water creates acceleration changes that are measurable. Once water entry is completed the glide occurs when the outstretched hand moves through the water and turbulence from the hand entry subsides.
  • each stroke repeats, it is possible to recognise a stroke by the pattern of repetition of the acceleration experienced by the device 12, 16. However, using that technique will only identify the duration and start/finish of each stroke.
  • each bar being divided into stroke phases, comprising glide, recovery and pull, which is further segmented into insweep, downsweep and upsweep.
  • Figure 2 is presented on a per stroke basis (“Strokes” is selected). Alternatively, averages of each segment can be provided on per lap basis (“Laps” is selected). Further only the relevant stroke phase time can be displayed (selection of “Glide”, “Downsweep”, “Insweep”, “Upsweep” or “Recover”).
  • This feedback is valuable to coaches and swimmers to understand how long they are spending in each phase of the stroke and for the stroke overall.
  • Integrated with data labelling the user can see the affect of swim equipment like fins and paddles and provide more detailed analysis about or removing these laps and strokes from analysis.
  • the accelerometer measurements and preferably gyroscope measurements require complex analysis, as described by example below.
  • an application is installed to create a motion file from the watch’s accelerometer and gyroscope (if available) sensors. This file is distinct from the device operating system’s activity data, so that raw data can be processed using the present invention, instead of or in addition to using the device’s interpretation of the raw data.
  • the motion file is compressed and transferred to the phone 14.
  • the watch application can also be used to provide instruction information to the user 30 during a training session.
  • an iOS device such as phone 14
  • an application is installed to receive the file from the watch 12 to interface with the cloud server 20 and to provide the user interface on the phone 14.
  • an iOS device such as phone 14
  • an application is installed to receive the file from the watch 12 to interface with the cloud server 20 and to provide the user interface on the phone 14.
  • On a Garmin device 16 raw data may not be able to be accessed. Instead, the raw data is obtained from the Garmin cloud server 18. Instruction information can be provided to the user 32 by interfacing with Garmin’s training API to push workouts to the Garmin device 16.
  • Other brand devices having at least a 3 axis accelerometer could be used if the raw accelerometer data (or acceptably usable data) is able to be accessed.
  • Lap beginning/end can be calculated by the detection of the turnaround of the swimmer between laps. Alternatively, a button push can be used to identify a lap transition.
  • a rest can be identified by using a combination of device activity, motion and swimmer’s historical pace to estimate and automatically apply a rest. The rest sensitivity can be tuned based on the pace of the swimmer’s functional threshold pace (FTP), set in the application or defaulted to 2:00 / 100m. At default, rests need to be greater than ⁇ 7 seconds for rest identification for those with faster FTPs, rest segmentation can be as small as ⁇ 4 seconds. This significantly improves the application experience for faster swimmers who will often use sub 5 second rest as part of training programs.
  • FTP functional threshold pace
  • hand entry angle (which is the roll of the wrist at the point of entry of the hand into the water and is the beginning of the catch phase of the stroke) is shown with a count (height of each bar) at each angle of hand entry, as well as an average angle of hand entry (in this case 15° with 88% in the target range).
  • Having a ‘thumb first entry’ is a common technique error in freestyle swimming that can lead to shoulder injury as well as reducing the efficiency of a swimmer’s stroke as they cannot catch as much water with their hand and forearm as when they enter fingertip first and can move more water with the beginning of their stroke.
  • crossover angle is a common technique error in freestyle swimming that can lead to shoulder injury as well as trouble swimming in a straight line for open water and triathlon swimmers. Displaying the crossover angle allows errors or bad technique to the corrected.
  • the kinematic information such as pull force and entry splash can also be displayed to the user 30, 32 / coach 36.
  • the stroke count per lap/displace and person of each stroke can also be displayed, as exemplified in Figure 5 which shows lap split times segmented by rests. Further this can be correlated with heart rate.
  • the following references are used in relation to the sensor data.
  • acceleration a from negative to positive in each axis is defined as: a x : proximal to distal.
  • a y medial (ulnar) to lateral (radial).
  • a z palmar to dorsal.
  • rotational velocity g from negative to positive in each axis is defined as: gx : wrist pronation to supination.
  • T ⁇ R is the set of all discrete time points in accelerometer and gyroscope signals.
  • Stroke Start Point [0071] In the example described, the point of entry into the water of the user’s hand is defined as the start point of each stroke.
  • Figure 6 shows example raw acceleration data for each of the x, y and z axes.
  • acceleration peaks For example, swimmers with gentle hand entry may not produce acceleration peaks large enough to be detected, or sharp, forceful propulsions through the water may be incorrectly identified as a stroke start point. Thus false positive acceleration peaks might be detected.
  • additional methods can be used to limit the range in which acceleration peaks are searched for. In embodiments, the method used depends on whether gyroscope signal is available on the device (as is the case for device 12, but may not be the case for device 14).
  • Angular velocity g y (t) follows an oscillating signal with a period ⁇ of one stroke length, with positive rotational velocity during the propulsive phase of the stroke, and negative rotational velocity during the recovery phase of the stroke.
  • Example gy (t) data is demonstrated in Figure 8.
  • a Butterworth low-pass filter is applied to th ye gy (t) to produce g ⁇ (t). An example of which is shown in Figure 9.
  • the set of prominent local minima M of g ⁇ (t) are then found using a peak- detection algorithm as shown by the plot in Figure 10.
  • the signal s(t) is shown alongside a ⁇ (t) in Figure 12.
  • the snap signal has high amplitude during periods of rapidly changing acceleration, such as the hand entry into the water. It is preferred to boost this signal to aid in estimation of stroke start points.
  • Signal boosting with S(t) [0083] Fluctuation in the a ⁇ (t) is lowest in the period immediately after hand entry, where the hand glides into the water.
  • the signal s double ⁇ boost (t) is shown alongside a ⁇ (t) in Figure 17.
  • Stroke start points are determined as the prominent local maxima of s bouble ⁇ boost (t) using a peak-detection algorithm. These peaks are shown in Figure18.
  • Stroke Period [0097] Stroke period is calculated as the time between adjacent stroke start times. This is in contrast to simply dividing stroke count by distance.
  • Tp ⁇ R be the set of all discrete time points in accelerometer and gyroscope signals between the start of one stroke and start of a subsequent stroke. Individual stroke phases are found through signal analysis within each stroke. Insweep [0099] The insweep phase is characterised by elbow flexion and acceleration in the y-axis towards the midline.
  • An example of the maximum value of acceleration in the y axis during each stroke period is shown in Figure 19.
  • Catch [00101] The catch phase is characterised by a period of reduced acceleration after hand entry, followed by an increase in acceleration during the propulsive phase of the stroke.
  • a low-pass filter is applied to j(t) to produce j ⁇ (t).
  • the last point between the stroke start and insweep start in which j ⁇ (t) is negative is labelled as t catch ; the point of the catch phase ending.
  • tcatch max ⁇ i ⁇ Tp : j ⁇ (i) ⁇ 0 ⁇ [00103]
  • the points at which j ⁇ (t) are negative are shown in Figure 20.
  • the upsweep phase is characterised by proximal movement of the wrist towards the shoulder as the hand pushes out behind the swimmer.
  • the local minimum in ax(t) after insweep is labelled as the beginning of the upsweep phase tupsweep, which is found using a peak-detection algorithm. The detected peaks, and thus the beginning of the upsweep phase, are shown in Figure 21.
  • Recovery [00105] Following upsweep, the recovery phase is characterised by the shift from elbow flexion to elbow extension as it emerges from the water.
  • t recovery min ⁇ i ⁇ T p : i > t upsweep , a y (i) ⁇ 0 ⁇
  • t recovery min ⁇ i ⁇ T p : i > t upsweep , a y (i) ⁇ 0 ⁇
  • the detected points of negative ay (t) are shown in Figure 22.
  • Kinetics Roll angle of entry of hand [00107] The peak in a ⁇ (t) at the start of each stroke is a result of the water exerting a normal force on the accelerometer in the device 12, 16 orthogonal to the water’s surface. Assuming the water surface is stable, this force is parallel to the direction of gravity.
  • F splash a ⁇ (t0) Force Score
  • the maximum value of a ⁇ (t) during the stroke (after hand entry) reflects a peak in acceleration during the propulsive phase of the stroke.
  • the force score Fpropulsion is a measure of this maximum, and reflects the force exerted during propulsion.
  • Fpropulsion argmax a ⁇ (i) i ⁇ Tp Use of Phase Segmentation, Kinetics and Kinematics [00111]
  • the method further comprises defining a workout and computing a comparison of the strokes to the defined workout. Stroke phases that take longer or shorter than the defined stroke workout can be highlighted for stroke improvement.
  • kinematics and kinetics can be used for stroke technique coaching.
  • the computed values are displayed to a user. In an embodiment the values are displayed in a graph against time.
  • the hand entry and cross over angle are graphically displayed by count at each angle and may be compared graphically to the defined angles desired for the specified technique.
  • the computations are time-aligned with biometric readings (eg heart rate). This allows assessment of and thus coaching of the work rate, swim pace and stamina of the swimmer, amongst other things.
  • Beginning of the swim can be recorded by a button press on the device 12, 16 or by the hand slapping a hard surface (such as the edge of a pool) or by palm slapping the surface of the water, which will produce a significantly greater acceleration change due to the slap in comparison to the hand entry acceleration change.
  • the graphical displays are computed by the computation engine and provided as graphical display instructions to a viewing device.
  • the display may provide aggregated report where the longitudinal view of the swim is displayed and can show changes over time. For example, a swim from 3 months ago had a cross over angle of 15 degrees, which has been progressively worked on and shows progression to a current cross over angle of 10 degrees.

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pathology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

Swim stroke is analysed by taking measurements from an arm-worn device. The measurements comprise accelerometer measurements with respect to time. The beginning of each stroke is computed with respect to time from the measurements, where the beginning of each stroke is the time of hand entry.

Description

A Swim Stroke Analysis Method and System [0001] The present invention relates to the analysis of swim strokes. Background [0002] The following discussion of the background art is intended to facilitate an understanding of the present invention only. It should be appreciated that the discussion is not an acknowledgement or admission that any of the material referred to was part of the common general knowledge as at the priority date of the application. [0003] Swimmers from athletes to casual like to, or indeed in some cases need to, monitor their swim stroke performance, particularly when they are seeking to improve their stroke technique. [0004] Current wrist worn smart devices provide some ability to monitor movement, such as steps, but currently have limited functionality for monitoring swimming. Such devices include Apple™ watches and Garmin™ fitness watches. The present functionality of such devices is to recognise the movement of the wrist is that of performing a swim stroke and then to count the number of strokes in a time period to be able to determine a rate of strokes. It is desirable to determine different phases of the stroke for technique analysis and training. Mere identification of a stroke is insufficient to analyse swim stroke technique. [0005] The present invention seeks to provide improved or alternative swim stroke analysis to what is currently available. [0006] Throughout the specification unless the context requires otherwise, the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers. [0007] Throughout the specification unless the context requires otherwise, the word “include” or variations such as “includes” or “including”, will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers. [0008] Discussion of any known information or prior patent documents herein is not intended to be regarded as an admission that that information or document forms part of the common general knowledge of a person skilled in the art. Summary of the Invention [0009] According to an aspect of the present invention there is provided a swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the beginning of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry. [0010] In an embodiment the measurements further comprise gyroscope measurements with respect to time. [0011] In an embodiment the method further comprises computing segments of each stroke. [0012] In an embodiment the method further comprises computing stroke kinetics. [0013] In an embodiment the method comprises computing hand roll angle at hand entry. [0014] In an embodiment the method further comprises computing stroke crossover. [0015] In an embodiment the method comprises computing peak acceleration at hand entry and the time thereof. [0016] In an embodiment the method further comprises computing stroke kinematics. [0017] In an embodiment the method further comprises computing stroke count and period. [0018] In an embodiment the method further comprises computing a rest. [0019] In an embodiment the method further comprises defining a workout and computing a comparison of the strokes to the defined workout. [0020] In an embodiment computing the beginning of each stroke comprises determining a peak acceleration. Preferably the peak acceleration is the Euclidean norm of measured acceleration vectors. [0021] In an embodiment determining the peak acceleration comprises removing false positive peaks in acceleration. In an embodiment the removing false positive peaks in acceleration comprises determining the peak within a selected time period. In an embodiment determining the peak acceleration comprises focusing on peaks in a selected time period. In an embodiment focusing on peaks in the selected time period comprises boosting acceleration signal within the selected time period. [0022] In an embodiment computing the beginning of each stroke comprises determining a negative rotational velocity during a recovery phase of each stroke. [0023] In an embodiment computing the beginning of each stroke comprises determining a peak in amplitude of a snap signal over time. [0024] In an embodiment the snap signal is boosted to determine the peak in amplitude. [0025] In an embodiment the snap signal is boosted by determining a rolling standard deviation of each orthogonal acceleration and scaling the snap signal by the determined rolling standard deviation. [0026] In an embodiment the snap signal is boosted by a proximity signal. In an embodiment the proximity signal is a triangular wave having a period. In an embodiment the period is determined by identifying a prominent repeating low frequency signal in the acceleration signal. In an embodiment the peak of the triangular wave coincides with the peak in the amplitude of the repeating low frequency signal. [0027] In an embodiment the stroke start points are determined by determining prominent local maxima of the boosted snap signal. [0028] In an embodiment stroke period of each stroke is determined by computing the time between stroke start times. [0029] In an embodiment the method comprises computing temporal phases in each stroke. [0030] In an embodiment an insweep phase is computed. In an embodiment computing the insweep phase comprises computing the maximum value of acceleration in the y axis during each stroke period. [0031] In an embodiment a catch phase is computed. In an embodiment computing the catch phase comprises computing jerk. In an embodiment the jerk is applied with a low pass filter. In an embodiment the catch phase ends when the filtered jerk is negative. [0032] In an embodiment an upsweep phase is computed. In an embodiment computing the upsweep phase comprises computing a peak in acceleration in the x axis. [0033] In an embodiment a recovery phase is computed. In an embodiment computing the recovery phase comprises computing when the acceleration in the y axis is negative. [0034] In an embodiment the roll angle entry is computed by determining constituent y and z axis accelerations at the time of the beginning of each stroke and then determining theta and omega angles from the magnitude of the accelerations. [0035] In an embodiment the crossover angle of entry is computed by determining the amount of radial-ulnar rotation in the z axis from wrist entry to insweep. In an embodiment the radial-ulnar rotation in the z axis is computed by taking the integral of angular velocity in the z axis. [0036] In an embodiment a splash score is computed. In an embodiment the splash score is computed from absolute acceleration at the time of entry. [0037] In an embodiment a force score is computed. In an embodiment the force score is computed by determining the maximum magnitude of acceleration after the stroke begins. [0038] In an embodiment the computed values are displayed to a user. In an embodiment the values are displayed in a graph against time. [0039] In an embodiment the hand entry angle and/or the cross over angle are graphically displayed by count at each angle. [0040] In an embodiment the measurements are recorded on a wrist device. In an embodiment the wrist device transfers data comprising the measurement to a cloud based analysis engine. In an embodiment the analysis engine performs at least some of the computations. [0041] In an embodiment the computations are time-aligned with biometric readings (eg. heart rate). [0042] In an embodiment the graphical displays are computed by the computation engine and provided as graphical display instructions to a viewing device. [0043] According to an aspect of the present invention there is provided a swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the time of hand entry during each stroke from the measurements. [0044] According to an embodiment of the invention there is provided a swim stroke analysing system comprising: a receiver of measurements with respect to time from an arm-worn device, wherein the measurements comprise accelerometer measurements and preferably gyroscope measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry. [0045] According to an embodiment of the invention there is provided a swim stroke analysing system comprising: an arm-worn device comprising an accelerometer coupled to an arm of a user for taking acceleration measurements over time and preferably a gyroscope for taking angular velocity measurements over time; a transmitter of the measurements; a receiver of the measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry. [0046] According to an embodiment of the present invention there is provided a computer program embodied in a non-transient storage form comprising instructions for controlling a processor to perform the method defined above or to operate as or as part of the system as defined above. Description of Figures [0047] In order to provide a better understanding of the present invention example embodiments will now be described in which: Figure 1 is a schematic diagram of an example system according to the present invention; Figure 2 is an example screen shot of a bar graph of the time for each of a number of strokes showing each stroke segmented into phases; Figure 3 is an example screen shot showing a number of hand entry angles in a swim session; Figure 4 is an example screen shot showing a number of stroke crossover angles in a swim session; Figure 5 is an example screen shot showing a number of lap slip times in a swim session; Figure 6 is a graph of example raw accelerometer data from an embodiment of a wrist worn device during a swim session; Figure 7 is a graph of example magnitude accelerometer data based on the data shown in Figure 6 with local maxima identified (by a dot); Figure 8 is a graph of example angular velocity data from the wrist worn device during the swim session shown in Figure 6; Figure 9 is a graph of example filtered angular velocity data based on the data shown in Figure 8; Figure 10 is a graph of the filtered angular velocity data shown in Figure 9 with local minima identified (by a dot); Figure 11 is a graph of the filtered angular velocity data shown in Figure 9 with maxima identified (by a dot) after each local minima shown in Figure 10; Figure 12 is a graph of a snap signal determined from magnitude of acceleration along with the acceleration data shown in Figure 7; Figure 13 is a graph of the absolute magnitude of rolling standard deviations of each axis of acceleration of the data shown in Figure 6; Figure 14 is a graph of scaled data of Figure 13; Figure 15 is a graph of boosted snap signal data shown in Figure 12 scaled by the data shown in Figure 14 along with the magnitude accelerometer data of Figure 7; Figure 16 is an example of a proximity signal along with the boosted snap signal of Figure 15; Figure 17 is an example double boosted snap signal using the proximity signal of Figure 16 along with the magnitude acceleration data of Figure 7; Figure 18 is an example of peaks detected in the double boosted data shown in Figure 17 (identified by dots) along with the magnitude acceleration data of Figure 7; Figure 19 is an example of detection of insweep segments of the strokes identified (by dots) in the magnitude acceleration data of Figure 7 from maxima of the data of y axis acceleration Figure 6; Figure 20 is an example of detection of catch segments of the strokes (indicated by dots) from filtered jolt based on the magnitude acceleration data of Figure 7 along with the magnitude acceleration data of Figure 7; Figure 21 is an example of detection of upsweep segments of the strokes (indicated by dots) from maxima of the data of x axis acceleration of Figure 6 along with the magnitude acceleration data of Figure 7; and Figure 22 is an example of detection of recovery segments of the strokes (indicated by dots) from negative y axis acceleration the data of Figure 6 along with the magnitude acceleration data of Figure 7. Description of Examples [0048] Referring to Figure 1, there is shown a system 10 for swim stroke analysis. The system 10 comprises one or more arm, preferably wrist mounted devices, such as an Apple™ watch 12, or a Garmin™ watch 16. These devices are configured to record acceleration experienced at the wrist of a user 30, 32 using an accelerometer, and in particular in relation to the present invention when swimming, more particularly when swimming freestyle stroke (also known as forward crawl or front crawl). The devices, such as is the case with the watch 12 may also record gyroscope data, this data being angular velocity experienced at the wrist of the user 30. This data is also sometimes called inertial measurement unit (IMU) data. The IMU data may be stored by the devices 12, 16 in Healthkit data (from the Apple Watch), or Garmin Cloud or similar. [0049] The watch 12 is able to connect to a smartphone 14, such as an iphone™ which in turn communicates with an online server, such as a cloud server 20. The watch 16 may be able to communicate over the internet with a dedicated/proprietary server 18, in some embodiments via an intermediary device 17, 17’ (such as a smartphone 17 or personal computer 17’), from which the data may be obtained and sent to or retrieved by the cloud server 20. The server 20 comprises a webserver to display information based on the collected data on a display device 22, such as a web browser running on a computer. The information may also be displayed on the phone 14 or another device (such as device 17, 17’). [0050] Any of devices 12, 14, 16, 17, 17’, 18, 20, 22 could perform all or some of the computations described herein, however it is preferred and is described herein as the server 20 performs the computations as programmed by computer program instructions in order to handle performing such computations from multiple devices 12, 16 or their respective users 30, 32, scaled accordingly so that the computational load of many user’s devices can be centralised and performed computationally efficiently. The computer program instructions are typically stored in a non-volatile manner, such as on a hard disk drive or solid state drive but may be stored on other media. The computer program instructions control the or each processor of the server 20 to perform some or all of the computations described herein and in an embodiment to prepare instructions (such as a website) for display on the phone 14, device 17, 17’, or display device 22. [0051] As described below, the computations allow for analysis of the swimming technique at macro and micro levels. This enables the user to better understand their technique and improve it. The invention enables self analysis, but also can be used for computational analysis, such as identification of a deficiency in technique (for example hand entry angle is too great), and can thus enable a market place 34 for either computational diagnostic tools, or self improvement instructions (such as instructional videos) and can provide the analysis to a coach 36 for instruction during training. [0052] The starting point of the analysis is to identify the beginning of each stroke (not merely that a stroke is being performed or of the type of stroke being performed). As shown in Figure 2, each stroke is represented as a bar in the bar graph. The height of each bar is in seconds. It can be seen that the height of each bar is gradually decreasing in height, meaning that (generally speaking) each stroke shortened in time. [0053] In the present invention, each stroke is regarded as beginning at hand entry (into the water), which in freestyle transitions into the glide phase of the stroke once the hand has entered the water. The impact of the hand with the water creates acceleration changes that are measurable. Once water entry is completed the glide occurs when the outstretched hand moves through the water and turbulence from the hand entry subsides. [0054] As each stroke repeats, it is possible to recognise a stroke by the pattern of repetition of the acceleration experienced by the device 12, 16. However, using that technique will only identify the duration and start/finish of each stroke. [0055] Also shown in Figure 2 is each bar being divided into stroke phases, comprising glide, recovery and pull, which is further segmented into insweep, downsweep and upsweep. Figure 2 is presented on a per stroke basis (“Strokes” is selected). Alternatively, averages of each segment can be provided on per lap basis (“Laps” is selected). Further only the relevant stroke phase time can be displayed (selection of “Glide”, “Downsweep”, “Insweep”, “Upsweep” or “Recover”). [0056] This feedback is valuable to coaches and swimmers to understand how long they are spending in each phase of the stroke and for the stroke overall. Integrated with data labelling the user can see the affect of swim equipment like fins and paddles and provide more detailed analysis about or removing these laps and strokes from analysis. [0057] In order to segment each stroke into these phases the accelerometer measurements and preferably gyroscope measurements require complex analysis, as described by example below. [0058] On a WatchOS™ device 12, an application is installed to create a motion file from the watch’s accelerometer and gyroscope (if available) sensors. This file is distinct from the device operating system’s activity data, so that raw data can be processed using the present invention, instead of or in addition to using the device’s interpretation of the raw data. The motion file is compressed and transferred to the phone 14. The watch application can also be used to provide instruction information to the user 30 during a training session. [0059] On an iOS device (such as phone 14), an application is installed to receive the file from the watch 12 to interface with the cloud server 20 and to provide the user interface on the phone 14. [0060] On a Garmin device 16, raw data may not be able to be accessed. Instead, the raw data is obtained from the Garmin cloud server 18. Instruction information can be provided to the user 32 by interfacing with Garmin’s training API to push workouts to the Garmin device 16. [0061] Other brand devices having at least a 3 axis accelerometer could be used if the raw accelerometer data (or acceptably usable data) is able to be accessed. [0062] Lap beginning/end (in time) can be calculated by the detection of the turnaround of the swimmer between laps. Alternatively, a button push can be used to identify a lap transition. [0063] A rest can be identified by using a combination of device activity, motion and swimmer’s historical pace to estimate and automatically apply a rest. The rest sensitivity can be tuned based on the pace of the swimmer’s functional threshold pace (FTP), set in the application or defaulted to 2:00 / 100m. At default, rests need to be greater than ~7 seconds for rest identification for those with faster FTPs, rest segmentation can be as small as ~4 seconds. This significantly improves the application experience for faster swimmers who will often use sub 5 second rest as part of training programs. [0064] The application on the phone 14 or the display device 22 can show kinetic and kinematic information. [0065] In Figure 3 hand entry angle (which is the roll of the wrist at the point of entry of the hand into the water and is the beginning of the catch phase of the stroke) is shown with a count (height of each bar) at each angle of hand entry, as well as an average angle of hand entry (in this case 15° with 88% in the target range). Having a ‘thumb first entry’ is a common technique error in freestyle swimming that can lead to shoulder injury as well as reducing the efficiency of a swimmer’s stroke as they cannot catch as much water with their hand and forearm as when they enter fingertip first and can move more water with the beginning of their stroke. Displaying the hand entry angle allows errors or bad technique to the corrected. In this example, there is a target range from -5 to +15 degrees visualised by percentage of the user’s strokes for a swim in this range by highlighting a percentage (or count) in 5 degree increments in the broader range displayed from -120 through +120 degrees. [0066] In Figure 4 crossover angle (which is a measure of how far from being inline with the user’s shoulder the user’s wrist is at the point of entry into the water measured in degrees from the shoulder) is shown with a count (height of each bar) at each hand entry, as well as an average crossover angle (in this case 15° with 19% being in the target range). Having a ‘crossover' is a common technique error in freestyle swimming that can lead to shoulder injury as well as trouble swimming in a straight line for open water and triathlon swimmers. Displaying the crossover angle allows errors or bad technique to the corrected. In this example, there is a target range for crossover between -10 and +10 degrees visualised by percentage of the user’s strokes for a swim in this range by highlighting a percentage (or count) in 5 degree increments in the broader range displayed from -90 through +90 degrees. [0067] The kinematic information such as pull force and entry splash can also be displayed to the user 30, 32 / coach 36. The stroke count per lap/displace and person of each stroke (or average stroke period) can also be displayed, as exemplified in Figure 5 which shows lap split times segmented by rests. Further this can be correlated with heart rate. [0068] The following references are used in relation to the sensor data. With reference to the human anatomical position, acceleration a from negative to positive in each axis is defined as: ax : proximal to distal. ay : medial (ulnar) to lateral (radial). az : palmar to dorsal. [0069] With reference to the human anatomical position, rotational velocity g from negative to positive in each axis is defined as: gx : wrist pronation to supination. gy : shoulder extension to flexion. gz : shoulder adduction to abduction. [0070] T ∈ ℝ is the set of all discrete time points in accelerometer and gyroscope signals. Stroke Start Point [0071] In the example described, the point of entry into the water of the user’s hand is defined as the start point of each stroke. Figure 6 shows example raw acceleration data for each of the x, y and z axes. [0072] Define the magnitude of acceleration a(t) as the Euclidean norm of the component acceleration vectors by: ^^( ^^) =^^ ^^ ( ^^)2 + ^^ ^^ ( ^^)2 + ^^ ^^ ( ^^)2
Figure imgf000014_0001
[0073] Figure 7 shows a plot of a(t) based on the raw data in Figure 6. [0074] A peak detection algorithm is used to find the prominent local maxima of a(t), which are plotted in Figure 7. These maxima are regarded as corresponding to the point of impact of the wrist with the water surface causing rapid change in acceleration - which are defined as the start point of each stroke. [0075] This technique alone can be insufficient for finding all strokes. For example, swimmers with gentle hand entry may not produce acceleration peaks large enough to be detected, or sharp, forceful propulsions through the water may be incorrectly identified as a stroke start point. Thus false positive acceleration peaks might be detected. To address this, additional methods can be used to limit the range in which acceleration peaks are searched for. In embodiments, the method used depends on whether gyroscope signal is available on the device (as is the case for device 12, but may not be the case for device 14). Where angular velocity is available from a gyroscope [0076] Angular velocity gy (t) follows an oscillating signal with a period π of one stroke length, with positive rotational velocity during the propulsive phase of the stroke, and negative rotational velocity during the recovery phase of the stroke. Example gy (t) data is demonstrated in Figure 8. [0077] A Butterworth low-pass filter is applied to th ye gy (t) to produce g (t). An example of which is shown in Figure 9. The set of prominent local minima M of g (t) are then found using a peak- detection algorithm as shown by the plot in Figure 10. [0078] Stroke start points S are found by finding the maximum of a (t) in a window of length ε following these local minima, as follows: ^^ = { ^^ ^^ ^^ ^^ ^^ ^^ ^^( ^^) ∶ ^^ ∈ ^^} ^^ ≤ ^^ ≤ ^^ + ^^ [0079] An example of the computed beginning of each stroke determined by the maximum acceleration following a peak in negative rotational velocity (during a recovery phase of each stroke) is shown in Figure 11. Where angular velocity is not available [0080] In the absence of a gyroscope signal, the snap signal (second derivative of the acceleration signal) can be used to find stroke start points. Define the snap signal s(t) as the second derivative of the acceleration signal a (t) with respect to time, as follows: 2 ^^ ^ ^^ ^^( ^^) (^ ) = ^^ ^^2
Figure imgf000015_0001
[0081] The signal s(t) is shown alongside a (t) in Figure 12. [0082] The snap signal has high amplitude during periods of rapidly changing acceleration, such as the hand entry into the water. It is preferred to boost this signal to aid in estimation of stroke start points. Signal boosting with S(t) [0083] Fluctuation in the a (t) is lowest in the period immediately after hand entry, where the hand glides into the water. For each time t and window size ε, define the set Tt,ε as the set of all discrete time points in the signal a (t) within a window of size centred on t: ^^ ^^ ^^ ^^ = ^^: ^^ − ≤ ^^ ≤ ^^ + , ^^ ∈
Figure imgf000015_0002
[0084] For each axis, the rolling standard deviation σ(t) centred on time t with window size of ε is given by:
Figure imgf000016_0001
[0085] Define S (t) as the sum of the σ(t) in each axis: S (t) = σx(t) + σy (t) + σz (t) [0086] An example of the signal S (t) is shown in Figure 13. [0087] The signal S (t) is then scaled to a range of [0, 1] using: ^^ ^^ ^^( ^^) − ^^ ^^ ^^ ( ^^( ^^) )
Figure imgf000016_0002
[0088] Sscaled (t) is shown in Figure 14. [0089] The boosted snap signal, sboost (t), is then found by multiplying (elementwise) the snap signal by Sscaled (t): sboost (t) = s(t) x Sscaled (t) [0090] The signal sboost (t) is shown alongside a (t) in Figure 15. Signal Boosting with P(t) [0091] Strokes are expected to occur with a consistent frequency within a lap. This is used to further boost the snap signal in times where the next stroke would be expected. This is particularly effective at removing outliers due to irregular timing. [0092] A fourier transformation is applied to the a (t) signal, and the prominent repeating low frequency signal is used to estimate the stroke period πstroke . [0093] Define the proximity signal P (t) as the triangle wave spanning the range [0, 1], with period πstroke , and peaks fit to the prominent peaks of the sboost (t). The signal P (t) is shown alongside sboost (t) in Figure 16. [0094] The double-boosted snap signal is then found by multiplying (elementwise) the boosted snap signal by P (t): sdouble−boost (t) = sboost (t) x P (t) [0095] The signal sdouble−boost (t) is shown alongside a (t) in Figure 17. [0096] Stroke start points are determined as the prominent local maxima of sbouble−boost (t) using a peak-detection algorithm. These peaks are shown in Figure18. Stroke Period [0097] Stroke period is calculated as the time between adjacent stroke start times. This is in contrast to simply dividing stroke count by distance. Stroke Temporal Phases [0098] Let Tp ∈ ℝ be the set of all discrete time points in accelerometer and gyroscope signals between the start of one stroke and start of a subsequent stroke. Individual stroke phases are found through signal analysis within each stroke. Insweep [0099] The insweep phase is characterised by elbow flexion and acceleration in the y-axis towards the midline. The start of insweep tinsweep is found by taking the maximum value of ay (t) during each stroke period as follows: ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ = ^^ ^^ ^^ ^^ ^^ ^^ ^^( ^^) i ∈ ^^ ^^ [00100] An example of the maximum value of acceleration in the y axis during each stroke period is shown in Figure 19. Catch [00101] The catch phase is characterised by a period of reduced acceleration after hand entry, followed by an increase in acceleration during the propulsive phase of the stroke. Jerk, the derivative of acceleration magnitude with respect to time j(t), is found as follows: ∗ ^^ ^^ ^^ ( ^^) ( ^^ ) = ^^ ^^
Figure imgf000018_0001
[00102] A low-pass filter is applied to j(t) to produce j (t). The last point between the stroke start and insweep start in which j (t) is negative is labelled as tcatch ; the point of the catch phase ending. tcatch = max {i ∈ Tp : j (i) < 0} [00103] The points at which j (t) are negative are shown in Figure 20. Upsweep [00104] Following insweep, the upsweep phase is characterised by proximal movement of the wrist towards the shoulder as the hand pushes out behind the swimmer. The local minimum in ax(t) after insweep is labelled as the beginning of the upsweep phase tupsweep, which is found using a peak-detection algorithm. The detected peaks, and thus the beginning of the upsweep phase, are shown in Figure 21. Recovery [00105] Following upsweep, the recovery phase is characterised by the shift from elbow flexion to elbow extension as it emerges from the water. The first point in which ay (t) is negative after tupsweep is labelled as the beginning of the recovery phase trecovery . trecovery = min {i ∈ Tp : i > tupsweep , ay (i) < 0}
Figure imgf000019_0001
[00106] The detected points of negative ay (t) are shown in Figure 22. Kinetics Roll angle of entry of hand [00107] The peak in a (t) at the start of each stroke is a result of the water exerting a normal force on the accelerometer in the device 12, 16 orthogonal to the water’s surface. Assuming the water surface is stable, this force is parallel to the direction of gravity. The roll angle φ(t) of the wrist at hand entry can be determined by considering the constituent vectors ay (t) and az (t), as follows: ^^ ( ^) ^ ^^ ^^ ^^ ^ ^^ = ^ 1 )
Figure imgf000019_0002
Crossover angle of entry [00108] Assuming that the wrist is pointing downwards during the insweep phase, we can estimate the crossover angle ψ(t) (wrist yaw) at hand entry by calculating the amount of radial- ulnar rotation in the z axis from wrist entry tstart to insweep tinsweep. This is found through the integral of gz, as follows: ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^( ^^) = ∫ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Figure imgf000020_0001
Kinematics Splash Score [00109] The peak in a (t) at the point of hand entry t0 is caused by the deceleration of the accelerometer caused by impact with the water. The splash-score Fsplash is given by the value of a (t0), and measures how smooth hand entry is. Fsplash = a (t0) Force Score [00110] The maximum value of a (t) during the stroke (after hand entry) reflects a peak in acceleration during the propulsive phase of the stroke. The force score Fpropulsion is a measure of this maximum, and reflects the force exerted during propulsion. Fpropulsion = argmax a (i) i ∈ Tp Use of Phase Segmentation, Kinetics and Kinematics [00111] In an embodiment the method further comprises defining a workout and computing a comparison of the strokes to the defined workout. Stroke phases that take longer or shorter than the defined stroke workout can be highlighted for stroke improvement. Likewise measured kinematics and kinetics can be compared to workout defines kinematics and kinetics can be used for stroke technique coaching. [00112] In an embodiment the computed values are displayed to a user. In an embodiment the values are displayed in a graph against time. [00113] In and embodiment the hand entry and cross over angle are graphically displayed by count at each angle and may be compared graphically to the defined angles desired for the specified technique. [00114] In an embodiment the computations are time-aligned with biometric readings (eg heart rate). This allows assessment of and thus coaching of the work rate, swim pace and stamina of the swimmer, amongst other things. Beginning of the swim can be recorded by a button press on the device 12, 16 or by the hand slapping a hard surface (such as the edge of a pool) or by palm slapping the surface of the water, which will produce a significantly greater acceleration change due to the slap in comparison to the hand entry acceleration change. [00115] In an embodiment the graphical displays are computed by the computation engine and provided as graphical display instructions to a viewing device. The display may provide aggregated report where the longitudinal view of the swim is displayed and can show changes over time. For example, a swim from 3 months ago had a cross over angle of 15 degrees, which has been progressively worked on and shows progression to a current cross over angle of 10 degrees. This view will be of benefit to show improvement in stroke technique as well as being able to see benefits in different coaching techniques. [00116] Coaching services, such as videos can be provided and coach matching/finding can be provided in the phone or web application. [00117] In some freestyle swimming guides hand entry is part of the recovery phase at the end of a stroke before the glide commences. However, since the phases must be computed from measurements, the present invention does not regard the hand entry as a part of the recovery phase. Instead, hand entry is regarded as the beginning of the stroke which starts the glide phase. In practical terms this distinction is irrelevant as the end of one stroke is followed by the beginning of the next, with an insignificant timing difference between the transition between the strokes. However, computationally this provides an unexpected advantage because hand entry is detectable with good accuracy as described herein. For example, in WO2018045211 glide is determined by pitch being near zero and acceleration is 10% of maximum, which is believed to be less accurate. [00118] Aspects of the invention may be applicable to swim stroke types where the hand is out of the water and then enters the water, in addition to freestyle stroke, such as butterfly and back stroke, where the computation of hand entry is used to determine the beginning of a stroke with respect to time. Other freestyle applicable aspect [00119] Modifications may be made to the present invention within the context of that described and shown in the drawings. Such modifications are intended to form part of the invention described in this specification.

Claims

Claims 1. A swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the beginning of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
2. A swim stroke analysing system comprising: a receiver of measurements with respect to time from an arm-worn device, wherein the measurements comprise accelerometer measurements and preferably gyroscope measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
3. A swim stroke analysing system comprising: an arm-worn device comprising an accelerometer coupled to an arm of a user for taking acceleration measurements over time and preferably a gyroscope for taking angular velocity measurements over time; a transmitter of the measurements; a receiver of the measurements; a processor for computing the beginning and end of each stroke with respect to time from the measurements, wherein the beginning of each stroke is the time of hand entry.
4. A computer program embodied is a non-transient storage form comprising instruction for controlling a processor to perform the method defined in claim 1 or to operate as or as part of the system as defined in claim 2 or 3.
5. The method or system according to the respective one of claims 1 to 3, wherein the measurements further comprise gyroscope measurements with respect to time.
6. The method according to claim 1, wherein the method further comprises computing segments of each stroke.
7. The method according to claim 1, wherein the method further comprises computing hand roll angle at hand entry.
8. The method according to claim 1 or 7, wherein the method further comprises computing stroke crossover.
9. The method according to any one of claims 1, 7 or 8, wherein the method comprises computing peak acceleration at hand entry and the time thereof.
10. The method according to any one of claims 1, or 7 to 9, wherein the method further comprises computing a rest.
11. The method according to any one of claims 1, or 7 to 10, wherein the method further comprises defining a workout and computing a comparison of the strokes to the defined workout.
12. The method according to claim 9, wherein computing the peak acceleration comprises removing false positive peaks in acceleration.
13. The method according to claim 12, wherein the removing false positive peaks in acceleration comprises determining the peak within a selected time period.
14. The method according to any one of claims 9, or 12 to 13, wherein determining the peak acceleration comprises focusing on peaks in a selected time period.
15. The method according to claim 14, wherein focusing on peaks in the selected time period comprises boosting acceleration signal within the selected time period. 16. The method according to any one of claims 1, or 7 to 15, wherein computing the beginning of each stroke comprises determining a negative rotational velocity during a recovery phase of each stroke.
16. The method according to any one of claims 1, or 7 to 16, wherein computing the beginning of each stroke comprises determining a peak in amplitude of a snap signal over time.
17. The method according to claim 16, wherein the snap signal is boosted to determine the peak in amplitude.
18. The method according to claim 17, wherein the snap signal is boosted by determining a rolling standard deviation of each orthogonal acceleration and scaling the snap signal by the determined rolling standard deviation.
19. The method according to claim 17 or 18, wherein the snap signal is boosted by a proximity signal.
20. The method according to claim 19, wherein the proximity signal is a triangular wave having a period.
21. The method according to claim 20, wherein the period is determined by identifying a prominent repeating low frequency signal in the acceleration signal.
22. The method according to any one of claims 19 to 21, wherein the stroke start points are determined by determining prominent local maxima of the boosted snap signal.
23. The method according to any one of claims 1, or 7 to 22, wherein an insweep phase is computed by computing the maximum value of acceleration in the y axis during each stroke period.
24. The method according to any one of claims 1, or 7 to 23, wherein a catch phase is computed by computing jerk and filtering the jerk, wherein the catch phase ends when the filtered jerk is negative.
25. The method according to any one of claims 1, or 7 to 24, wherein an upsweep phase is computed by computing a peak in acceleration in the x axis.
26. The method according to any one of claims 1, or 7 to 25, wherein a recovery phase is computed by computing when the acceleration in the y axis is negative.
27. The method according to claim 7, wherein the roll angle entry is computed by determining constituent y and z axis accelerations at the time of the beginning of each stroke and then determining theta and omega angles from the magnitude of the accelerations.
28. The method according to claim 8, wherein the crossover angle of entry is computed by determining the amount of radial-ulnar rotation in the z axis from wrist entry to insweep.
29. The method according to claim 28, wherein the radial-ulnar rotation in the z axis is computed by taking the integral of angular velocity in the z axis.
30. The method according to any one of claims 1, or 7 to 29, wherein a splash score is computed from absolute acceleration at the time of entry.
31. The method according to any one of claims 1, or 7 to 30, wherein a force score is computed by determining the maximum magnitude of acceleration after the stroke begins. 32 A swim stroke analysis method comprising: taking measurements from an arm-worn device, wherein the measurements comprise accelerometer measurements with respect to time; and computing the time of hand entry during each stroke from the measurements.
PCT/AU2023/051107 2022-11-03 2023-11-02 A swim stroke analysis method and system Ceased WO2024092315A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2023371462A AU2023371462A1 (en) 2022-11-03 2023-11-02 A swim stroke analysis method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2022903288A AU2022903288A0 (en) 2022-11-03 A Swim Stroke Analysis Method and System
AU2022903288 2022-11-03

Publications (1)

Publication Number Publication Date
WO2024092315A1 true WO2024092315A1 (en) 2024-05-10

Family

ID=90929153

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2023/051107 Ceased WO2024092315A1 (en) 2022-11-03 2023-11-02 A swim stroke analysis method and system

Country Status (2)

Country Link
AU (1) AU2023371462A1 (en)
WO (1) WO2024092315A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170043212A1 (en) * 2015-08-11 2017-02-16 Platysens Limited System and method for analyzing stroking motions in water sports
WO2018045211A1 (en) * 2016-08-31 2018-03-08 Apple Inc. Systems and methods of swimming analysis
WO2019204876A1 (en) * 2018-04-26 2019-10-31 Sensarii Pty Ltd Systems and methods for formulating a performance metric of a motion of a swimmer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170043212A1 (en) * 2015-08-11 2017-02-16 Platysens Limited System and method for analyzing stroking motions in water sports
WO2018045211A1 (en) * 2016-08-31 2018-03-08 Apple Inc. Systems and methods of swimming analysis
WO2019204876A1 (en) * 2018-04-26 2019-10-31 Sensarii Pty Ltd Systems and methods for formulating a performance metric of a motion of a swimmer

Also Published As

Publication number Publication date
AU2023371462A1 (en) 2025-05-29

Similar Documents

Publication Publication Date Title
AU2020273327B2 (en) Systems and methods of swimming analysis
US10687707B2 (en) Detecting activity by a wheelchair user
Hsu et al. Wearable sport activity classification based on deep convolutional neural network
US20180249908A1 (en) Multi-state performance monitoring system
Ghasemzadeh et al. Sport training using body sensor networks: a statistical approach to measure wrist rotation for golf swing.
Jensen et al. Classification of kinematic swimming data with emphasis on resource consumption
Ghasemzadeh et al. Wearable coach for sport training: A quantitative model to evaluate wrist-rotation in golf
CN112470009A (en) System and method for formulating a performance metric of a swimmer&#39;s action
Siirtola et al. Efficient accelerometer-based swimming exercise tracking
US20140229138A1 (en) Initializing an inertial sensor using soft constraints and penalty functions
US9510789B2 (en) Motion analysis method
CN109260673A (en) A kind of movement method of counting, device, equipment and storage medium
US20150133823A1 (en) Motion analysis method
Malawski Depth versus inertial sensors in real-time sports analysis: A case study on fencing
CN109758154B (en) Motion state determination method, device, equipment and storage medium
US20230285802A1 (en) Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing
Ghobadi et al. A robust automatic gait monitoring approach using a single IMU for home-based applications
CN110694252A (en) Running posture detection method based on six-axis sensor
Lim et al. ULift: adaptive workout tracker using a single wrist-worn accelerometer
WO2024092315A1 (en) A swim stroke analysis method and system
US12496493B2 (en) Systems and method for segmentation of movement repetitions and extraction of performance metrics
EP3134705B1 (en) Initializing an inertial sensor using soft constraints and penalty functions
Viana et al. GymApp: A real time physical activity trainner on wearable devices
EP4177867A1 (en) Methods and systems for swim analysis
US11794088B2 (en) Methods and systems for swim analysis

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23883908

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: AU2023371462

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2023371462

Country of ref document: AU

Date of ref document: 20231102

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23883908

Country of ref document: EP

Kind code of ref document: A1