System and Method for Measuring Performance
The system provides objective performance metrics in water sports by analyzing limb data with quaternion rotations, addressing the limitations of subjective coaching methods and enhancing training effectiveness.
Patent Information
- Application Number
- JP2024570881
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-31
- Filing Date
- 2023-05-31
- Publication Date
- 2025-07-01
AI Technical Summary
Existing methods for measuring athlete performance in water sports like swimming and rowing rely on subjective observations by coaches, lacking objective data on limb movements and orientations, which can lead to ineffective training techniques.
A system and method that utilizes sensing devices to collect data from athlete limbs, applying quaternion rotations to determine limb orientations and generate performance metrics, including pressure, acceleration, and displacement in three dimensions, to provide objective analysis of stroke events, lap events, and swimming styles.
Enables precise, data-driven performance analysis, allowing for improved training techniques by generating graphical representations of stroke events, lap events, and swimming styles, enhancing athlete performance through targeted improvements.
Smart Images

Figure 2025520146000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and system for measuring performance. In one particular example, the present invention relates to measuring performance in water sports such as swimming and rowing boats.
Background Art
[0002] The following references and descriptions to prior art proposals or products are not intended as, and should not be construed as, a statement or admission of common knowledge in the art. In particular, the following discussion of prior art is not related to what is generally or well known to those skilled in the art, but serves to understand the inventive step of the present invention, which is only a partial identification of relevant prior art proposals.
[0003] Specific performance metrics of athletes have been measured and recorded over time to determine areas for improvement and training. As an example of swimming, specific performance metrics are often observed by coaches / trainers to see in which areas an athlete can improve to enhance their overall performance. This is typically done by a coach observing the athlete and commenting on their stroke. Thus, for example, in freestyle, a coach may notice that an athlete's body rolls significantly to one side when the athlete takes a breath. This can create unnecessary drag and potentially slow down the swimmer. Thus, in training, a coach may suggest techniques to reduce body roll.
[0004] However, these techniques are based on the coach instinctively knowing what an athlete can improve by observing the athlete. These techniques typically do not rely on receiving objective measurements of how an athlete's body moves in the water with respect to forward propulsion.
Summary of the Invention
Problems to be Solved by the Invention
[0005] The present invention aims to provide a system and method for measuring one or more performance metrics that can improve the aforementioned drawbacks and disadvantages or at least provide useful alternatives.
Means for Solving the Problems
[0006] According to one aspect of the present invention, a method for determining an athlete's performance metric is provided, the method comprising receiving data from at least one limb of the athlete, determining the orientation of the at least one limb and applying the orientation to the received data, and generating at least one limb performance metric based on the received data and the orientation of the at least one limb.
[0007] According to an example, the method may be performed by one or more processing systems that may be part of an individual or distributed / network system.
[0008] In a further example, the method includes receiving data including any one or a combination of pressure data from at least one limb, acceleration data of at least one limb, and time data.
[0009] In one form, the at least one limb is the athlete's hand, and receiving the pressure data includes receiving the palm pressure and the side pressure of the hand.
[0010] According to another example, the method includes determining a pressure difference that is the difference between the palm pressure and the side pressure.
[0011] In yet another example, receiving the pressure data includes receiving data from the athlete's left and right hands.
[0012] In one example, a method for determining an athlete's performance metric includes, in a processing system, receiving data from at least one limb of the athlete, determining the orientation of the at least one limb and applying the orientation to the received data, and generating at least one limb performance metric based on the received data and the orientation of the at least one limb.
[0013] In another example, determining the orientation of the athlete includes applying a quaternion rotation to at least a portion of the received data. That is, applying a rotation function can include applying a quaternion rotation.
[0014] According to another form, the method includes determining either the pressure in three dimensions and / or the acceleration in three dimensions or a combination thereof.
[0015] According to another example, determining the pressure in three dimensions includes determining the front pressure of the limb, the lateral pressure of the limb, and the vertical pressure of the limb.
[0016] In a further example, determining the acceleration in three dimensions includes determining the front acceleration of the limb, the lateral acceleration of the limb, and the vertical acceleration of the limb.
[0017] In another example, the method includes determining the velocity of the limb, including the front velocity, the lateral velocity, and the vertical velocity, in one or more dimensions.
[0018] In one example, a method for determining velocity includes determining the acceleration in one or more dimensions and integrating the acceleration in one or more dimensions to determine the velocity in one or more dimensions.
[0019] In a further example, the method includes determining the displacement of the limb, including any one or a combination of the front displacement, the lateral displacement, and the vertical displacement, in one or more dimensions.
[0020] In one example, determining displacement in one or more dimensions includes integrating velocity in one or more dimensions.
[0021] In one example, the athlete is a swimmer.
[0022] In yet another example, the method includes detecting a stroke event by identifying an entry point and an exit point of the hand.
[0023] According to a further example, identifying the entry point and the exit point includes determining a pressure difference and a period between a pressure measured on the side of the hand and a pressure measured on the palm of the hand.
[0024] According to another example, the method includes detecting a lap event by identifying a change in the forward direction.
[0025] In another example, identifying a change in the forward direction includes determining a forward pressure and a period.
[0026] In another example, the method includes detecting a pull event.
[0027] According to another example, detecting a pull includes identifying one or more positions within a stroke where the forward velocity is approximately zero and that indicate a transition from a catch to a pull.
[0028] In a further example, the method includes aggregating stroke events, lap events, and pull events.
[0029] In yet another example, the method includes generating a graphical representation of stroke events, lap events, and / or pull events over one or more periods for a swimmer.
[0030] In another form, the method includes determining a stroke type or a swimming style.
[0031] According to a further example, the stroke type or swimming style can include any one or combination of freestyle, backstroke, breaststroke, butterfly, and drills.
[0032] In yet another example, the method includes generating a graphical representation of one or more performance metrics.
[0033] According to a further example, the method includes generating one or more graphical representations including any one or combination of stroke rate and force over time, force over time indicating the force applied by one or more limbs of an athlete during a particular period, stroke path of one or more limbs over a period of time, speed of one or more limbs over a period of time, stroke paths of two or more limbs for comparison over a period of time, segmentation of stroke phases over a period of time, and attack angle.
[0034] In one form, the stroke rate includes the number of strokes per minute over time.
[0035] According to another example, the graphical representation of force over time includes any one or combination of force per stroke, force field on a limb, and force versus time.
[0036] According to a further form, the stroke path includes the depth and out sweep of one or more limbs.
[0037] In yet another example, the comparison includes determining consistency between limbs with respect to any one or combination of movement in water, depth, and out sweep.
[0038] According to a further example, the segmentation of stroke phases includes generating a graphical representation indicating the percentages of the glide, pull, and recovery phases of the stroke.
[0039] In another form, the angle of attack includes determining the angle of the limb at a particular point in time and the pressure being applied at that point in time.
[0040] According to another aspect, a system for determining an athlete's performance metric is provided herein, the system including a sensing device and a processing system, the processing system being configured to receive data from a sensing device attached to at least one limb of the athlete, determine the orientation of the at least one limb, apply the orientation to the received data, and generate a performance metric for the at least one limb based on the received data and the orientation of the at least one limb.
[0041] In yet another aspect, a processing system for determining an athlete's performance metric is provided herein, the processing system being configured to receive data from a sensing device attached to at least one limb of the athlete, determine the orientation of the at least one limb, apply the orientation to the received data, and generate a performance metric for the at least one limb based on the received data and the orientation of the at least one limb.
[0042] In another aspect, a system for determining a swimmer's performance metric is provided herein, the system being configured to receive data from at least one limb of the swimmer, determine the orientation of the at least one limb, apply the orientation to the received data, and generate a performance metric for the at least one limb based on the received data and the orientation of the at least one limb.
[0043] It will be understood that the aspects, forms, and examples described herein may be formed in any combination.
Brief Description of the Drawings
[0044] The present invention will be better understood from the following non-limiting description of preferred embodiments.
[0045]
Figure 1A
Figure 1B
Figure 2A
Figure 2B
Figure 3A
Figure 3B
Figure 3C
Figure 3D
Figure 3E
Figure 3F
Figure 4
Figure 5
Figure 6A
Figure 6B
Figure 7A
Figure 7B
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19A
Figure 19B
Figure 20A
Figure 20B
Figure 21
Figure 22A
Figure 22B
Figure 22C
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
DETAILED DESCRIPTION OF THE INVENTION
[0046] FIG. 1A shows an example of a process for generating a user's performance metrics. In one particular example, a system and method for generating a user's or athlete's performance metrics are provided herein. The following examples are provided for swimming, particularly freestyle swimming, but it should be understood that the system / method described herein is applicable to any form of exercise.
[0047] In the example of FIG. 1A, at step 100, data is received from at least one limb or body part of the user. In the example here, data received from the hand of a swimmer is described, but it should be understood that data can be received and analyzed from any suitable body part such as the leg or head of any user during a sports activity according to the system / method described herein.
[0048] As an example, the data received may include data from one or more sensing devices including one or more pressure sensors and one or more inertial measurement units (IMUs), and these devices typically form part of a device (typically referred to as a handset device) attached to at least one limb of the user, and that device is configured to detect / generate various signals from one or more limbs of the user such as pressure, acceleration, force, displacement, etc. at specific points on the limb. An example of a device is described in WO2019 / 204876 (''Systems and methods for formulating performance metrics of a swimmer's motion''), the entire content of which is incorporated herein by reference.
[0049] Performance metrics can include identification of the stroke / swim type and thus, for example, can include analysis over all strokes / drills such as stroke rate, force per stroke, distance per stroke, strokes per lap, swim time, lap time, average speed, peak speed, efficiency (forward propulsion %), and, as further described herein, the path / trajectory of the limb in motion or any form of motion data.
[0050] When data is received, at step 110, in order to determine the direction of the limb, a rotation orientation correction is applied to the data. According to a specific example, the applied rotation / orientation algorithm is applied. In a specific example, the algorithm is a quaternion rotation, but it should be understood by the user that any form of rotation, such as a 3D matrix, etc., can be applied to determine the user's orientation / location. From this, at step 115, the movement of the limb is visually mapped, and / or at step 120, various performance metrics are determined accordingly.
[0051] It should be understood that the process of Figure 1A can be applied to one or more systems including one or more processing systems, which may include networked systems or distributed systems. As an example, a sensing device including one or more pressure sensors / IMUs can detect data as needed and transmit the data to a processing system for further processing. The processing system can be any of a handheld device such as a tablet or smartphone, a desktop computer or laptop, or a cloud-based system for storing and / or analyzing data and sharing the data and / or performance metrics with other processing systems, or a combination thereof. Further, the generated data can be stored in any data store including a database, cloud, or any distributed system.
[0052] As a result, a method for determining an athlete's performance metric is provided herein, the method including receiving data from at least one limb of the athlete, determining the orientation of the at least one limb and applying the orientation to the received data, and generating at least one performance metric of the at least one limb based on the received data and the orientation of the at least one limb.
[0053] As described herein, the orientation of at least one limb or the athlete can be initially determined by calibrating a sensing device that senses certain baseline performance metrics such as the pressure applied to at least one limb or the acceleration of at least one limb (to which the sensing device is connected).
[0054] As an example, if the athlete is a swimmer and the sensing device is attached to one or more hands of the swimmer, the swimmer typically turns their palms upwards towards the pool and stands facing the pool they plan to swim in. Then, position information / data regarding their hands with respect to the pool is received, and the data from the sensing device is modified / interpreted according to the position and orientation of the pool. In one example, a rotation algorithm such as a quaternion algorithm is applied to calibrate the position of the hand with respect to the pool. And thereby, their orientation is adjusted according to the position of the athlete.
[0055] Thus, the system / method can receive data including any one or a combination of pressure data from at least one limb, acceleration data of at least one limb, and time data.
[0056] According to one example, at least one limb is the hand of the athlete, and the pressure data can include receiving the palm pressure of that hand and the side pressure of that hand. The method / system can then determine the pressure difference between the two sensed pressures of the palm and the side of that hand. In particular, the pressure data can be received from one or more limbs, and thus, the pressure data can include data from, for example, the left and right hands of the athlete.
[0057] The method / system can then determine the pressure and / or acceleration in one or more dimensions. Typically, they are determined in three dimensions: the forward, lateral, and vertical directions (or the x, y, and z axes) of the limb. Thus, a rotation algorithm can be applied in three dimensions to calibrate the pressure and acceleration data with respect to a position reference frame (such as the reference frame of the pool).
[0058] And, the methods / systems described herein can determine the speed of a limb in one or more dimensions, including any or a combination of forward speed, lateral speed, and vertical speed. Typically, to determine the speed in one or more directions, the accelerations determined in one or more dimensions are integrated respectively.
[0059] Furthermore, the system / method can include determining the displacement of a limb in one or more dimensions, including any or a combination of forward displacement, lateral displacement, and vertical displacement. Typically, determining the displacement in one or more dimensions includes integrating the respective speeds in one or more dimensions.
[0060] In particular, the method / system can also include applying a trimming function, resampling, and / or a noise filter as needed. Further examples of these are provided below.
[0061] As a result, the systems / methods described herein can provide a specific baseline performance metric, and using this metric, further performance analysis and graphical representation of the metric can be provided. The baseline performance metric includes, but is not limited to, time and pressure differences at specific points or positions across a limb or body part, and pressure, acceleration, speed, and displacement in one or more dimensions.
[0062] In the example of swimming, the methods / systems described herein can also identify the entry and exit points of a swimmer's hand by determining the pressure difference and period between the pressure measured on the side of the hand and the pressure measured on the palm of that hand. Furthermore, the method / system can detect a lap event by identifying a change in the forward direction, which typically includes determining the forward pressure and the time up to that point.
[0063] Furthermore, the system / method can detect pull events, which typically involves identifying one or more positions within a stroke where the forward speed is approximately zero and which indicate the transition from catch to pull. The method / system can then aggregate stroke events, lap events, and pull events over a period of time and further generate a graphical representation of the stroke events, lap events, and / or pull events for one or more periods for the swimmer.
[0064] In particular, for swimming, the method / system can include determining a stroke type or swimming style, which can include any one or combination of freestyle, backstroke, breaststroke, butterfly, and drills.
[0065] As further described herein, the method / system can include generating one or more graphical representations of one or more performance metrics. The graphical representations can include the stroke rate and force over time, the force over time indicating the force applied by one or more limbs of the athlete over a particular period, the stroke path of one or more limbs over a period of time, the speed of one or more limbs over a period of time, the stroke paths of two or more limbs for comparison over a period of time, the segmentation of the stroke phase over a period of time, and the attack angle, or any combination thereof.
[0066] In these examples, the stroke rate includes the number of strokes per minute over time, where the graphical representation of the force over time can include the force per stroke, the force field on the limb, and the force vs. time, or any combination thereof.
[0067] Additionally, the stroke path can include the depth and outsweep of one or more limbs, and the comparison between limbs can include determining the consistency between limbs with respect to the movement of the limbs in the water, the depth, and the outsweep of the limbs from the body of the swimmer, either individually or in combination.
[0068] Segmentation of the stroke phase can include generating a graphical representation showing the percentages of the glide, pull, and recovery phases of the stroke. Further, the attack angle can include determining the angle of the limb at a particular point in time and the pressure being applied at that point in time.
[0069] Further examples of graphical representations are provided below.
[0070] Figure 1B shows a further example of the process / system described herein, in which various performance metrics for swimming are calculated / displayed. In this example, in step 130 to detect a stroke, the time difference between the left hand and the right hand is determined in steps 125A and 125B. The start of a lap is detected in step 135 and the stroke is segmented into laps in step 140. In step 145, filtering or calibration of the received signals, such as compensating for gyroscope drift, is applied to the data received from the left hand and the right hand in steps 150A and 150B, respectively. Data typically received from each hand in swimming can include, but is not limited to, time differences in the forward, lateral, and vertical directions, velocities in the forward, lateral, and vertical directions, and displacements in the forward, lateral, and vertical directions.
[0071] In step 160, various data measurement values can be extracted and plotted according to the data determined / received from each hand. This includes the stroke phase, hand path, force per stroke, force field, and force vs. time. As an example, a graphical representation of the hand path of a swimmer can be generated, which can show the movement of the hand as it moves during the stroke. That is, how deep the hand enters the water and also includes the speed and displacement of the hand as it moves through the water. Thus, the data representing the movement of each stroke can be graphically mapped so that the user can view it. Further examples of stroke mapping are discussed below.
[0072] In step 165, an analysis or an overview of the swimming metrics can be provided to the user, and the data can be saved for the user on any digital storage means / device, such as locally on a processing system like a mobile device or a desktop device, or on a cloud system.
[0073] Figures 2A - 2B show an example of a process for generating user performance metrics for a swimmer, where one or more limbs are typically one or more hands of the swimmer.
[0074] In this example, the process typically includes, by the above-described device (referred to as a handset), generating / recording data from the user's left hand in step 210 and generating / recording data from the user's right hand in step 211. In step 212, the data is sent via a communication system (such as Bluetooth or any wireless communication system) to a processing system such as a mobile communication device or a personal computer. In steps 215 and 220, the received data is separately extracted from the left and right by the processing system, and then the data is decompressed in step 225 and presented as raw data in step 230. In step 235, the data is converted. For example, pressure data received from the handset is typically converted to kilopascals and time is typically converted to milliseconds.
[0075] In step 240, the received data is often trimmed. Trimming includes, for example, determining the first entry into the water and deleting all data until the start of the swim, which is typically not necessary for determining performance metrics.
[0076] In step 245, a quaternion rotation is applied to the received data to determine the hand orientation. This is typically done by quaternion multiplication of the data with respect to the pool orientation reference shown in step 242.
[0077] In step 250, the data can be resampled, which allows raw data samples at uneven intervals to be taken and data to be generated at even time intervals by resampling the data at even time intervals. The process then proceeds to step 255, which includes calculating the hand speed and / or displacement, which includes an integration step at step 265. In step 260, a filter such as a spectral filter, smoothing function, or fast Fourier transform is applied to the data to smooth the data and remove noise.
[0078] In step 270, the data is analyzed to determine one or more performance metrics, and then the process data is saved in step 275. Thus, in step 280, the data can be searched to provide an interactive chart / map of the limbs in operation in step 282.
[0079] In particular, in steps 288 and 285, the process settings and analysis settings can be set respectively according to one or more users of the system.
[0080] Figures 3A through 3C show more detailed examples of data that can typically be retrieved from one or more hand sets attached to one or more hands of a swimmer to determine one or more performance metrics.
[0081] In step 310, raw data can be received by the system for both the left and right hands. The raw data typically includes time data, at least two pressure sensors from different positions of the hands and feet (e.g., palm sensor and side-of-hand sensor), and accelerometer data in one or more directions (typically 3D x, y, z), and may further include gyroscope data in one or more directions, magnetometer data in one or more directions, and a quaternion baseline. In particular, in these examples, the directions generally become the x, y, z directions based on the direction of swimming (i.e., which direction the swimmer is facing in the pool).
[0082] In step 315, as described above, the data is converted to the metrics required in the process, such as converting time to seconds and the received pressure to kilopascals. In step 320, the data is trimmed to only the necessary data elements. In particular, in this step, the difference between the palm pressure and the side pressure is also determined. That is, by balancing the pressure caused by depth with the moving pressure, the force data can be inferred.
[0083] In step 325, a quaternion rotation is applied to the raw data. That is, typically, the raw data is in the reference of the handset device, and by rotation, the data can be recalibrated with respect to the reference of the (x, y, z) frame of the pool (front direction, lateral direction, vertical direction). It should be understood that by rotation, the performance metrics can be determined in the direction of the swimmer's swimming.
[0084] Thus, for example, at this stage, the direction in which the hand / palm is facing the pool can be determined, and thereby, for example, the magnitudes of forces in various directions can also be determined. When the quaternion rotation is applied, in step 330, the pressures in the front direction, lateral direction, and vertical direction and the accelerations in the front direction, lateral direction, and vertical direction can be generated.
[0085] In step 335, resampling algorithms such as linear regression between non-uniform data samples can be applied to interpolate values at desired time points and generate data at uniform time intervals. Thus, for example, the resampling algorithm can convert non-uniform time intervals into uniform time intervals and can include linear interpolation between samples. As a result, all arrays will be equal in size to the time series output, and thus, the analysis of the generated data can be assisted.
[0086] In step 340, a filtering algorithm is applied to remove unwanted noise such as high-frequency noise and / or low-frequency DC components from the data. This includes applying a fast Fourier transform and / or a smoothing function. Typically, the smoothing function is a low-pass notch filter having the following three functions. · As a low-pass filter, it zeros out the high-frequency "noise" in the sampled data. · As a notch filter, it can zero out the lowest frequency (DC) component. · As a smoothing function, it can smooth the zeroing edges of the filter, which helps reduce the re-addition of noise to the data after the inverse FFT.
[0087] Furthermore, an inverse Fourier transform can be applied to convert time-based data into frequency-domain data so that unwanted parasitic components of the smoothing function can be nullified by separating the high-frequency "noise" and the low-frequency DC component. The inverse FFT takes the filtered data and re-converts it to the time domain with the noise removed.
[0088] Thus, for example, step 340 may include applying a fast Fourier transform (FFT) to each of the generated data including pressure difference, forward pressure, lateral pressure, vertical pressure, three-dimensional (x, y, z) acceleration, forward acceleration, lateral acceleration, and vertical acceleration for all data arrays, creating two smoothing functions (referred to as Notch_1 and Notch_2 in FIG. 3B), multiplying each element of the FFT output by the corresponding smoothing element, and applying an inverse FFT (iFFT) to generate filtered data for each of pressure difference, forward pressure, lateral pressure, vertical pressure, three-dimensional (x, y, z) acceleration, forward acceleration, lateral acceleration, and vertical acceleration. And in step 345, performance metrics of the hand such as velocity (three-dimensional) including forward velocity, lateral velocity, and vertical velocity can be appropriately determined from the data received by the handset. In this particular example, each of the forward hand velocity, lateral hand velocity, and vertical hand velocity is determined by obtaining the respective forward acceleration, lateral acceleration, and vertical acceleration, applying an integration function in each acceleration direction, further applying an FFT, multiplying by a smoothing function (Notch_3), and applying an inverse FFT by applying a filtering function.
[0089] Step 350 shows an example of determining the displacement of the hand in three dimensions. That is, in this example, each of the determined forward acceleration, lateral acceleration, and vertical acceleration is obtained, integrated, and a filtering function is applied thereto, which includes applying an FFT, multiplying by a smoothing function (Notch_4), and applying an iFFT to determine the respective displacements in the forward, lateral, and vertical directions.
[0090] Step 355 shows examples of additional performance metrics that can be derived according to the swimming style / stroke. In these examples, the swimmer is swimming in the freestyle, which has certain characteristics that can be determined to derive the performance metrics. In step 356, the pull portion of the stroke is detected, for example, by identifying a plurality of positions within the stroke where the forward speed is approximately zero, which typically indicates the transition from the catch portion of the stroke to the pull.
[0091] The stroke itself can be determined in step 358 where it is determined when the swimmer's hand exits / enters the water. This is typically derived from the pressure difference and time. For example, when the device is out of the water, the pressure on both sensors of one hand goes to zero, which is typically because the pressure increases as the depth and / or the force applied to the palm of that hand increases. Thus, for example, at the start of swimming, when taking the "swimming direction" reference, the swimmer is assumed to be on the water surface. Additionally, the reference atmospheric pressure is measured at this point. When the hand enters the water, the pressure on either sensor significantly increases due to the surrounding hydrostatic pressure. When the pressure on either sensor increases by more than a set threshold above the nominal atmospheric pressure, it can be determined that the hand has entered. Further, when the pressure approaches the atmospheric pressure, it can be determined that the hand has exited.
[0092] In step 357, by determining the change in the forward direction of the swimmer, it can be determined whether the swimmer has completed one lap (or is in the transition between laps or roll), which typically includes checking the forward pressure and time. As an example, when the swimmer starts swimming forward, the pressure applied by the swimmer is directed towards their feet. When the swimmer reaches the end of the lap and turns to start swimming in the opposite direction, the main force detected is applied in the opposite direction. This can be further determined by measuring the average time the swimmer is swimming in a certain direction.
[0093] Next, at step 359, the trigger points for strokes, pulls, and laps are aggregated and can be displayed at step 360 for a particular point in time or period. In one example, the system / method receives a lap / stroke selection from the user at step 361, determines the period of interest at step 362, extracts the processed data from that period at step 363, and either passes the data to the device for plotting at step 364 or displays the determined / generated plot to the user. Further examples of the display are described later.
[0094] Figure 3D is a further example of the noise / notch filter described in FIGS. 3A - 3B. As shown in FIG. 3D, the noise filter calculates the FFT of the data set, generates a spectral filter, and multiplies the spectral filter by the FFT data to suppress unwanted frequency bands. The process then applies an inverse FFT to restore the data to a time - based form.
[0095] Figure 3E shows a further example of the resampling described in FIGS. 2B and 3B. In this particular example, resampling receives an input time array with non - uniform intervals and generates uniformly - spaced data points at a specified sampling rate. Thus, if a new time point lies between measured samples, linear interpolation between two adjacent data points can be performed to interpolate the new data point. Typically, the size of the time_resampled output array may be different from the input array, but all resampled output arrays are typically of the same size to enable further data processing.
[0096] Further details of the quaternion rotation / transformation used are shown in FIG. 3F. In one example, quaternion rotation is used to transform the handset's reference frame (x, y, z) to the pool's reference frame (length, width, vertical). Typically, calibration for the swimmer is initiated prior to swimming, and the swimmer holds out their handset device in the direction of swimming.
[0097] The quaternion function can convert the acceleration input of the handset's reference frame to the reference frame of the pool when the user is swimming. As an example, the unit vectors in each of the x, y, and z directions, such as those of an IMU chip, can be projected onto the vertical, horizontal, and perpendicular axes of the pool reference frame based on the quaternion output of the IMU.
[0098] Specifically, a vector in three-dimensional space can be represented as a pure quaternion, that is, a quaternion without a real part: q = 0 + xi + yj + zk. Rotations are typically represented by a quaternion qR, with the additional requirement that its norm |qR| is equal to 1. The rotation from one coordinate frame A to another coordinate frame B is given by a conjugation operation: qB = qEqAqR * . The quaternion qB is also a vector.
[0099] Thus, for example, before the user starts swimming, to calibrate the IMU, they typically hold their palm up and point it towards the far end of the pool. This starting position typically represents the quaternion baseline for the user. Thus, when the user moves their hand while swimming, all position data determined by the sensors on the user's hand will be aligned with respect to the swimming pool by applying a quaternion rotation.
[0100] Figure 4 shows an example of how one or more users interact with the system and method described herein.
[0101] In this example, the user is a swimmer who accesses the system / method described herein via a software application on a mobile communication device. At step 405, the user wears handsets on both their right and left hands, and at step 410, aligns the device's orientation so that the swimming direction is determined. Typically, when aligning the swimmer's orientation, a baseline measurement is first taken, and the system evaluates front-back, up-down, and left-right to generate a "zeroed" vector that can be used to track the direction the swimmer's palm is facing.
[0102] When the user swims at (or while swimming in) step 415, the device uploads the swimming data to the user's mobile communication device at step 420, and this device can communicate with a central processing system for processing and a central data store for storage (in this example, a cloud application / server system). At step 425, the data is posted to the user's account using the unique SwimID at step 432.
[0103] At step 430, the system extracts the data posted for the user's SwimID, and at step 435, the data can be processed by any of the methods described herein to provide performance metrics to the swimmer. As an example, at step 440, the user and the metadata / data related to their swimming can be retrieved from the processed data and displayed / saved on the swimmer's account on the system (typically, for the user ID). The metadata can include any one or a combination of SwimID, membership type, location ID, date of swimming, duration, distance, stroke (both left and right), lap, distance per stroke (DPS), force per stroke (FPS), stroke rate, number of strokes per lap, average speed, peak speed, and efficiency. In particular, the metadata is verified for the user at step 442 and saved for the user profile / ID at step 443. The same applies to the SwimID at steps 445, 446, and 448.
[0104] When the user requests data for swimming, the data for a specific SwimID can be requested and accessed at step 450. Typically, the data is saved / cached for the user's SwimID. At step 455, the user may request a specific chart view or graphical representation of the performance metrics. This is requested, verified for the user at step 456, generated at step 458, and received and viewable by the user at step 460.
[0105] Further example Figures 5 - 22 show examples of some display images of performance metrics generated in a graphical or visual format. By displaying the performance metrics, users such as instructors, coaches, etc. (and the athletes themselves) can visualize various performance metrics of swimming through the image of the stroke or the graphical representation image in order to enable the user to improve their technique. It should be understood that the generated display also enables coaches or teams to observe / compare the metrics and accordingly improve the technique.
[0106] Those skilled in the art should also understand that the display can be arranged on any processing system such as, for example, a desktop computing system, a mobile communication device, a tablet device, etc.
[0107] Furthermore, Figures 5 - 22 show examples of freestyle swimming. However, those skilled in the art should understand that the same / similar methods and systems can be applied to other swimming strokes, and furthermore, can also be applied to other water sports such as rowing or kayaking where the handset is attached to the oar or blade.
[0108] Referring particularly to Figures 5 - 10, the user of the system is shown a dashboard where the swimming metrics are displayed in graphical representation, and the metrics can be switched by means of a navigation bar or the like.
[0109] Figure 5 shows an example of the stroke rate and force for both the left and right hands. The stroke rate in this example is mapped to the force applied by the swimmer. Also, in this figure, the lap in which the swimmer is swimming is also selected. Therefore, the user of the system / method described here can easily compare the performance of the swimmer over various laps.
[0110] FIG. 6A shows an example of a force field mapped for a right - hand stroke from above. The force field is shown for a selected period and is divided according to the percentage or portion of the force applied in four different directions (i.e., forward, backward, left - right). FIG. 6B is an example of the power distribution between the left and right hands mapped as part of the force field.
[0111] FIGS. 7A, 11, and 12 show examples of stroke paths and hand velocities. In particular, the stroke path can show the hand depth and out - sweep. This example is for only one hand, i.e., the right hand, shown for a specific time interval and lap.
[0112] FIG. 7B is another example of a stroke path and hand velocity, showing three different views of depth, out - sweep, and front. The stroke in this mapping is divided into a glide, a pull, and a recovery, so it is possible to determine how much of the stroke is in each phase.
[0113] FIG. 8 shows depth and out - sweep, and the number of strokes of each hand is mapped to visually show the consistency between the two hands. In particular, FIGS. 13 and 14 show examples of the graphical representation of the consistency between the two hands in the depth and out - sweep views, respectively.
[0114] FIGS. 9 and 15 show examples of the graphical representation of the force versus time mapped to each hand. In particular, the force can be segmented into the total force or forces in various directions such as the forward direction, the lateral direction, and the vertical direction.
[0115] FIGS. 10, 16, and 17 are examples of another graphical representation, where the stroke phases for each hand are classified in terms of what percentage of the hand stroke is in the glide phase, the pull phase, and the recovery phase. The segments can also include the respective times. FIG. 17 specifically shows the segmentation of the stroke phases for only one hand.
[0116] Figures 18 to 22C show examples of functions that can be applied to the system / method described herein to generate graphical representations of various performance metrics.
[0117] Figure 18 shows an example where the stroke rate and force are plotted in a graphical representation. Here, the user has a unique identifier of a swimmer such as SwimID and can select the lap to be analyzed. In this case, the system / method described herein can generate a graphical representation with time on the x-axis and two y-axes, namely one for force rate data (y1-axis) and the other for stroke rate data (y2-axis). By entering the SwimID, graphical representations of the lap, forces in various directions, forces on each limb (left hand and right hand, etc.), and stroke rate are also shown to the user.
[0118] Figure 19A shows an example of a function that can be used to generate a graphical representation of the force field on one hand during a stroke. Typically, the user needs to provide / select the SwimID, lap, hand, and stroke. The generated graphical representation can show the force over time plotted on the x and y axes and the forces generated in various directions including forward, backward, left, right, up, down, and impulse. Figure 19B shows an example of force field generation for a lap. Here, when the SwimID and lap are selected by the user, a force field for each hand can be generated to show the left and right impulses and directions respectively.
[0119] Figure 20A shows an example of a graphical representation of the stroke path and hand speed depth that can be generated when the user selects the parameters SwimID, lap, hand, and stroke. The path generated is the following function. path={[time],[xAxis],[depth],[colour],[velocity]}
[0120] Figure 20B shows an example of a graphical representation of a stroke path and speed of an outsweep generated by the selection of parameters including SwimID, lap, hand, and stroke. The path generated in this example is typically as follows. path={[time],[xAxis],[outsweep],[colour]}
[0121] Figure 21A shows an example of a graphical representation of the depth consistency for a stroke, where typically time and speed data are not required. Similarly, Figure 21B shows an example of a graphical representation of the outsweep consistency for a stroke where time data is ignored.
[0122] Figure 22A shows an example of a graphical representation of time vs. force for one or more limbs, based on the SwimID and lap selected by the user, and whether the user wants to see the overall force or the force in a specific direction (e.g., forward direction, lateral direction, or vertical direction).
[0123] Figure 22B shows an example of a graphical representation of segmented stroke phases to determine what percentage or portion of the stroke is in a particular phase. Thus, for example, when the user provides / selects SwimID, lap, hand, and stroke, the system / method can determine what percentage of each of the left and right hand strokes was in the glide, pull, and recovery modes (average and exact values over time for a particular stroke).
[0124] Similarly, Figure 22C shows an example of a graphical representation of the segmentation of stroke phases within a lap. Thus, by selecting SwimID and lap, the system / method can provide a representation of the average glide time and percentage, average pull time and percentage, average recovery time and percentage, and stroke rate for the left and right limbs respectively.
[0125] Further examples of graphical representations showing how the generated data can be analyzed and compared are shown in FIGS. 23-33.
[0126] FIG. 23 shows an example of a graphical representation of a stroke comparison between a good stroke at 2301 and a worse stroke at 2302, where a freestyle swimmer is pushing down during the catch phase of the stroke.
[0127] FIG. 24 shows an example of a graphical representation of the analysis results of the total force measured by a sensor during a stroke. In this example, the total force is divided into six directions, with a better stroke shown at 2402 and a worse stroke shown at 2401. Note that in the analysis results of this stroke, the band at 2404 indicates the amount of downward force detected in each stroke, with the worse stroke having a greater downward force, while the magnitudes of all other force directions are the same between the two strokes. In particular, 2403 indicates the forward propulsion force, 2405 indicates the inward force, 2406 indicates the drag force (with the palm facing forward), and 2407 indicates the outward force. In particular, for this specific stroke, the upward force between 2406 and 2407 can be almost ignored.
[0128] FIG. 25 shows an example of a graphical representation of views of the left and right hand paths from above and from the side. As shown in the view from above, the wide sweep of the right hand is obvious, which can be confirmed in the videographic (or video) representation of swimming (discussed further below).
[0129] Figures 26 and 27 show graphical representations of traces indicating the lateral pressure of the stroke. In this example, when the trace is below zero, it indicates an outward pressure, and when it is above zero, it is an inward pressure. In Figure 26, the shaded area indicates the glide phase, which is the time the hand stays forward after entering the water, the pull phase, which is the time from when the swimmer starts pulling backward until the hand exits the water, and the recovery phase, which is the time the hand is out of the water. Note that in Figure 26, the pull phase starts when the hand begins a very wide out sweep.
[0130] Figure 28 is a graphical representation showing an example of the path of a swimmer's hand viewed from the side, indicating that the hand enters the water, dips down a bit, and then rises before the pull begins.
[0131] Figure 29 is another example of a comparison between a good stroke 2901 and a bad stroke 2902. In this example, in 2902, the swimmer's hand enters at a position that is too early (near the ear) and then follows a downward and forward path. In contrast, 2901 shows that the swimmer reaches further forward while the hand is out of the water. The time for the hand to push out the water is shorter, and then the pull phase begins.
[0132] Figures 30 and 31 show examples of the propulsive force on a swimmer's right hand at 3001 and left hand at 3002. Region 3003 is the dead band, which is the period when the swimmer is not generating forward propulsive force. The swimmer is effectively dead in the water at these points. Note that the dead band for the swimmer in Figure 31 is much larger than that for the swimmer in Figure 30. Therefore, with the present system and method, it is possible to compare swimmers with respect to any of the performance metrics described herein.
[0133] In the example of the graphical representation of FIG. 32, trace 3201 shows the detected amount of forward propulsion force for the swimmer, and the shaded area 3202 is the glide phase where the pull starts after the hand enters the water. In particular, when trace 3201 becomes a negative value, it indicates that the palm of the hand is facing forward and a large resistance force is generated. In particular, from this representation, it is clear that for this particular swimmer, the resistance force in the previous stroke is much smaller.
[0134] Referring now to FIG. 33, which is an example of a graphical representation of a swimmer, trace 3302 shows the forward propulsion of a bad stroke, while trace 3301 shows the same swimmer swimming normally. In this example, both strokes are "breathing" strokes where the swimmer takes a breath. In a good stroke, the start of forward propulsion is early, and the swimmer breathes quickly as shown at 3303. In contrast, in a bad stroke, the timing of the breath at 3304 is late, so the swimmer is delayed in generating forward propulsion force.
[0135] Further examples of how the metrics shown in FIGS. 5 - 36 can be used by a coach / trainer or the swimmer themselves to improve swimming technique are shown below.
[0136] Example: Excessive hand extension and associated body roll, as shown in the example of FIG. 23 The length in front of the stroke is essential, but if the reach is too long, there is not much actual addition to the length of the swimmer's stroke, the stroke rate decreases, the rhythm is lost, and the connection between the swimmer's hand and body may become loose. Excessive arm extension and excessive body roll with the hand reaching too far forward and slightly upward can cause the athlete to deviate from the stroke and the rhythm to be interrupted. Typically, the hips roll excessively and the swimmer rotates too much to achieve additional length. This causes the swimmer's balance to be disrupted. An unbalanced athlete has a reduced ability to generate force in any sport. This excessive roll reduces the power and depth at the back of the stroke and delays the propulsion phase at the front. The lack of balance manifests itself in several ways, namely, typically, the legs cross to try to regain body balance. Another result of the roll and a sign of lack of balance is that the hand turns upward at the front of the stroke. It is very important for the swimmer to have the right amount of body roll that allows the swimmer to anchor at an early stage of the catch phase.
[0137] Referring more specifically to FIGS. 7, 8, 11, 12, 13, 14, 20, and 21, the stroke path chart at the sample of hand depth shows the side profile of the hand as it moves through the water. At the start of the stroke, the hand enters the water and then rises toward the water surface before starting the catch.
[0138] Thus, in one graphical representation that can be generated, the force can be filtered into forces generated in six directions and the forward propulsion force can be graphed accordingly. As an example, FIG. 9 shows specifically the following four view types: the total force measured with the left and right hands; the forward (positive) propulsion force and the backward drag force that becomes negative; the force applied downward (negative) or upward (positive); and the force applied inward (positive) or outward (negative).
[0139] Furthermore, a graph can be generated that shows where the propulsive force becomes negative for a short period of time, in other words where the drag force occurs, reflecting the upward movement of the hand as the hand enters the glide phase.
[0140] Example: Stroke rate and timing The relationship between stroke rate and speed is important in freestyle. Athletes may be "efficient" from the perspective of length and movement, but typically an appropriate balance between stroke rate and stroke length is required. It is a common problem in a swimmer's stroke to get into a situation where one hand waits long at the start of the stroke while the other hand recovers, creating a "dead spot" in the stroke. Minimizing this "dead spot" is important for finding the best timing for each athlete. Typically, the right arm extends during the glide phase and waits for the left arm to enter before starting the propulsion phase.
[0141] Referring more specifically to FIGS. 9, 15, and 22A, to identify this problem, using the systems and methods described herein, a coach can measure the gap between the propulsion phases of each arm. Each athlete has an optimal timing for themselves. Typically, if the gap is too large, momentum, rhythm, and speed are impaired. Furthermore, since an increase in stroke rate can lead to an increase in speed, the time of the glide phase from entry to catch and how this relates to the stroke rate can also be measured.
[0142] The methods and systems described herein can provide an indication of power per stroke and monitor how a swimmer's power increases as timing improves.
[0143] Example: Breathing and hip timing - shown in the example of FIG. 33 Typically, a short time means fast swimming. To swim faster, a swimmer typically needs to balance, because propulsion is generated from balance and a more stable body generates greater force. When a swimmer breathes during the propulsion phase, the free-form body typically turns sideways, and their torso struggles to align and connect through its center. It is important that the swimmer does not disrupt their breathing. That is, by minimizing breathing, the body roll can be reduced, and a more balanced position can be achieved faster and for longer.
[0144] The systems and methods described herein can show or generate an image indicating weak force at the front of the stroke. As a result, the movement of the breathing stroke becomes smaller and the impact becomes shorter, that is, there is a length compromise point for each stroke. The loss in length is a loss in speed. Therefore, by correcting this, the swimming time can be shortened.
[0145] Example: Pushing down during the catch (bad catch) · In the examples of FIGS. 23 and 24, the swimmer is pushing down By correcting the catch, the swimmer can prepare the stroke during the underwater phase, so the catch is the key to the power of excellent freestyle swimming. Since it is important to acquire the feeling of water in a relaxed state, after entering the water and extending the hand forward, the swimmer's hand and forearm mainly push down backward when they move toward their waist and emerge from the water. A common failure is not being able to obtain a correct catch, where the swimmer mainly pushes down not backward but toward the bottom of the pool with their hand.
[0146] Visually, the data may thus show a sharp increase in the downward force on the right hand during the catch phase, which occupies an excessive portion of the total force for each stroke. This impairs the forward propulsion force and minimizes performance.
[0147] Example: Large outsweep - shown in the examples of FIGS. 25 - 27 Swimming effectively in a free form is achieved not only by maintaining the correct body position but also by ensuring that the swimmer's arm moves in the correct path. One common mistake among many swimmers is a large outward sweep (or outsweep) during the catch phase. When a swimmer sweeps too far outside the body, the effective propulsive force at the catch position is limited and can become a lateral force rather than a propulsive force. It is important to take the correct catch position to allow for a smooth and linear forward movement trajectory of the swimmer and to prevent the hand from spreading wider than the elbow and the arm from becoming weak. If the stroke width is too wide, the distance the swimmer can move with each stroke is compromised, ultimately affecting speed.
[0148] The outsweep is shown as an example in FIGS. 7A, 7B, 8, 12, 14, 20, and 21. Mapping the movement of the hand and arm in this way can assist in identifying a large outsweep, where the top of the figure is the location where the hand first starts the catch and the bottom is the location where the hand exits the water. The data may also show a sharp increase in the lateral force (outward) during the catch.
[0149] Example: Reachless phase - shown in the examples of FIGS. 29 - 30 Having an appropriate amount of reach in the stroke is important for propulsion. Typically, there is a significant difference between a person who enters the water with a deep downward motion and a person who extends the hand forward at shoulder depth to ensure that the hand and arm are ready to start the catch, the underwater part of the stroke. Performing a deep downward motion during the reach phase of the stroke creates more drag when it is usually the fastest and most efficient point of the stroke, missing the very important initial setup phase of the catch.
[0150] Visually, the data may indicate that the hand enters deeper in front of the stroke compared to a swimmer reaching correctly to shoulder depth. The data also shows a large gap between the power phases of the left and right hands, and the stroke rate may increase, but this comes at the expense of the effective power generated, meaning that the swimmer gets significantly less from each stroke. It should be understood that once reach and catch are mastered, freestyle swimming can be smoother, stronger, and, more importantly, much faster.
[0151] Example: Attack Angle The system / method described here can determine the angle at which a limb such as a swimmer's hand is oriented at a particular point in time, and the pressure exerted at that time or instant of the stroke. Thus, the system / method can determine how much of the hand was oriented towards the feet or side, and furthermore, how much force was generated at that particular angle.
[0152] Figure 34 shows an example where the attack angle is graphed, and further shows a video of the swimmer at that particular point in time linked to and overlaid on the generated graph. Thus, a coach or any user can check how much force was generated by the swimmer at a particular attack angle and may be able to determine improvements that can be made by the swimmer during swimming. For example, it would be possible to determine that the swimmer is starting to tire during the swim, and to confirm that the angle at which the hand is performing the stroke is not ideal for the amount of force being applied.
[0153] Visualization of the attack angle in a graphical interface means that although a coach or user does not need to view the entire video of the swimmer, they can very quickly determine where a technical problem occurred and can skip to that part or time interval of the video.
[0154] In particular, video images can be linked to any performance metric described herein. FIG. 35 shows an example of a video linked to a graph representing the relationship between the force of a swimmer's left hand and time. FIG. 36 shows an example of a video linked to the displacement of a swimmer's hand, and the graphical interface shows the displacement of the hand from the side, top, and front of the swimmer.
[0155] Thus, the system / method described herein enables an athlete to further improve techniques by considering various performance metrics, and the performance metrics are graphically displayed to the user and mapped to the user's swimming records for easy reference.
[0156] The term "comprise" and its variants "comprises" or "comprising" are used herein to indicate the inclusion of the stated integers or groups of integers, unless an exclusive interpretation of the term is required by the context or usage, and do not exclude other integers or groups of integers.
[0157] Those skilled in the art should understand that the invention described herein can be modified and changed other than as specifically described. All such modifications and changes should be considered to be within the scope and spirit of the present invention, and their nature is determined from the foregoing description.
Claims
1. A method for determining an athlete's performance metric, the method comprising, in a processing system, - receiving data from at least one limb of the athlete; - determining the orientation of the at least one limb and applying the orientation to the received data; - generating a performance metric for the at least one limb based on the received data and the orientation of the at least one limb. A method as described above.
2. a. pressure data from the at least one limb, b. acceleration data of the at least one limb, and c. time data The method according to claim 1, including receiving data including any one or a combination thereof.
3. The method according to claim 2, wherein the at least one limb is the hand of the athlete, and receiving the pressure data includes receiving the palm pressure and the side pressure of the hand.
4. The method according to claim 3, including determining a pressure difference that is the difference between the palm pressure and the side pressure of the hand.
5. The method according to claim 3 or 4, wherein receiving pressure data includes receiving data from the left and right hands of the athlete.
6. Determining the orientation of the athlete includes a. receiving position data, and b. applying a rotation function to at least a part of the received data to align the orientation of the athlete according to the position. The method according to any one of claims 1 to 4.
7. The method according to claim 6, wherein applying the rotation function includes applying a quaternion rotation.
8. a. pressure in three dimensions, and b. acceleration in three dimensions The method according to claim 2, including determining any one or a combination thereof.
9. Determining pressure in three dimensions includes a. the forward pressure of the limb, b. the lateral pressure of the limb, and c. the vertical pressure of the limb The method according to claim 8, including determining the above.
10. Determining acceleration in three dimensions includes a. the forward acceleration of the limb, b. the lateral acceleration of the limb, and c. the vertical acceleration of the limb The method according to claim 2, including determining the above.
11. The method according to claim 2, including determining the velocity of the limb in one or more dimensions, including any one or a combination of forward velocity, lateral velocity, and vertical velocity.
12. The method of determining speed comprises a. determining acceleration in one or more dimensions, and b. integrating the acceleration in one or more dimensions to determine speed in one or more dimensions, the method according to claim 11. **Claim 13** The method according to claim 11 or 12, comprising determining, in one or more dimensions, the displacement of the limb(s) including any one or combination of forward displacement, lateral displacement, and vertical displacement. **Claim 14** The method according to claim 13, wherein determining displacement in one or more dimensions includes integrating the speed in one or more dimensions. **Claim 15** The method according to any one of claims 1 to 14, wherein the athlete is a swimmer. **Claim 16** The method according to claim 15, comprising detecting a stroke event by identifying an entry point and an exit point of the hand. **Claim 17** The method according to claim 16, wherein identifying the entry point and the exit point includes determining a pressure difference and a period between the pressure measured on the side of the hand and the pressure measured on the palm of the hand. **Claim 18** The method according to claim 15, comprising detecting a lap event by identifying a change in the forward direction. **Claim 19** The method according to claim 18, wherein identifying a change in the forward direction includes determining forward pressure and a period. **Claim 20** The method according to claim 15, comprising detecting a pull event. **Claim 21** The method according to claim 20, wherein detecting a pull includes identifying one or more positions within a stroke where the forward speed is approximately zero and which indicate the transition from catch to pull. **Claim 22** The method according to any one of claims 16, 18, and 20, comprising aggregating the stroke event, the lap event, and the pull event over a certain period. **Claim 23** The method according to claim 22, comprising generating a graphical representation of the stroke event, lap event, and / or pull event for one or more periods of the swimmer. **Claim 24** The method according to any one of claims 15 to 23, comprising determining a stroke type or a swimming style. **Claim 25** The method according to claim 24, wherein the stroke type or the swimming style may include any one or combination of freestyle, backstroke, breaststroke, butterfly, and drill. **Claim 26** The method according to any one of claims 1 to 25, comprising generating a graphical representation of one or more performance metrics. **Claim 27** When dependent on claim 15, a. Stroke rate and force over time, b. Force over time indicating the force applied by one or more limbs of the athlete during a specific period, c. Stroke paths of the one or more limbs over a certain period, d. Velocity of the one or more limbs over a certain period, e. Stroke paths of two or more limbs for comparison over a certain period, f. Segmentation of the stroke phase over a certain period, and g. Attack angle The method according to claim 26, comprising generating one or more graphical representations including any one or a combination thereof. **Claim 28** The method according to claim 27, wherein the stroke rate includes the number of strokes per minute over time. **Claim 29** The method according to claim 27, wherein the graphical representation of the force over time includes any one or a combination of force per stroke, force field on the limb, and force vs. time. **Claim 30** The method according to claim 27, wherein the stroke path includes the depth and outsweep of the one or more limbs. **Claim 31** The method according to claim 27, wherein the comparison includes determining the consistency between limbs with respect to any one or a combination of movement in water, depth, and outsweep. **Claim 32** The method according to claim 27, wherein the segmentation of the stroke phase includes generating a graphical representation showing the percentage of the glide, pull, and recovery phases of the stroke. **Claim 33** The method according to claim 27, wherein the attack angle includes determining the angle of the limb at a specific point in time and the pressure applied at that point in time. **Claim 34** A system for determining an athlete's performance metric, the system including a sensing device and a processing system, the processing system a. Receiving data from the sensing device attached to at least one limb of the athlete, b. Determining the orientation of the at least one limb and applying the orientation to the received data, c. Generating a performance metric of the at least one limb based on the received data and the orientation of the at least one limb, A system configured to perform [
35. ] A processing system for determining an athlete's performance metric, a. receiving data from the detection device attached to at least one limb of the athlete; b. determining the orientation of the at least one limb and applying the orientation to the received data; c. generating a performance metric for the at least one limb based on the received data and the orientation of the at least one limb; A processing system configured to perform