DEVICE FOR MEASURING INSTANTANEOUS SPRINT VELOCITY
20230194559 · 2023-06-22
Inventors
- Salil APTE (Lausanne, CH)
- Kamiar Aminian (La Tour-de-Peilz, CH)
- Farzin DADASHI (Pully, CH)
- Benoît MARIANI (Blonay, CH)
Cpc classification
G06F1/1694
PHYSICS
G06F3/017
PHYSICS
A61B5/11
HUMAN NECESSITIES
G01P3/00
PHYSICS
G06F3/0346
PHYSICS
G06V40/23
PHYSICS
International classification
Abstract
The invention concerns a device for measuring instantaneous sprint velocity, said device consisting of at least one position and/or one velocity sensor and one IMU sensor that respectively provide position and/or velocity and acceleration signals and wherein said signals are fused. The invention also concerns a method for measuring instantaneous sprint velocity comprising the use of at least one position and/or one velocity sensor and one IMU sensor that respectively provide position and/or velocity and acceleration signals and wherein said signals are fused.
Claims
1. Device for measuring instantaneous sprint velocity, said device consisting of at least one position and/or one velocity sensor and one IMU sensor that respectively provide position and/or velocity and acceleration signals and wherein said signals are fused.
2. Device according to claim 1 containing at least one wearable GNSS sensor and one wearable IMU sensor that provide velocity and acceleration signals respectively, and wherein the said signals are fused according to a Kalman filter.
3. Device according to claim 1 comprising a position sensor which is a photoelectric sensor and/or ultra-wideband receiver.
4. Device according to claim 1, wherein said device is wearable.
5. Method for measuring instantaneous sprint velocity comprising the use of at least one position and/or one velocity sensor and one IMU sensor that respectively provide position and/or velocity and acceleration signals and wherein said signals are fused.
6. Method according to claim 5 comprising the use of one wearable GNSS sensor that provides a velocity signal and one wearable IMU sensor that provides an acceleration signal, wherein said signals are fused according to a Kalman filter.
7. Method according to claim 6 using furthermore a gradient descent algorithm as an orientation filter, in combination with said Kalman filter.
8. Method according to claim 7, wherein said orientation filter utilizes the IMU sensor data to convert the acceleration signals from the sensor frame to the global frame, which is then given as input to said Kalman filter for estimating the precise sprint duration.
9. Method according to claim 6 using a second order exponential model.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0015]
[0016]
[0017]
[0018]
[0019]
[0020] As shown on
[0021]
[0022] Measurements were conducted with nine healthy elite-level sprinters, four (3 male, 1 female, 60 m sprint time 7.49±0.35 s) at the Aix-les-Bains Athletics club and five (4 male, 1 female, 60 m sprint time 7.65±0.67 s) from the Lausanne Athletics club respectively. The Aix-les-Bains cohort performed 2×40 m and 2×60 m sprints, while the Lausanne one performed 2×30 m and 2×60 m sprints. These distances are typically used in sprint tests and for training sprinters. For both measurements, participants were wearing a vest equipped with a GNSS-IMU sensor (Fieldwiz, ASI, CH,) on the back of the trunk 1. Apart from the vest, the sprinters dressed as they would for a regular training session.
[0023] This GNSS-IMU wearable sensor was chosen because it is already used in soccer training for performance and training monitoring. This sensor, with a sampling frequency of 200 Hz for the IMU and 10 Hz for the GNSS unit, was used in the ‘airborne<4 g’ configuration of the in-built u-blox GNSS module. A speed radar (ATS Pro II, Stalker Sport, USA) with a sampling frequency of 50 Hz was positioned directly behind the starting point of the sprinter. Data from the radar was used in the measurements as a reference value for velocity. Photocells (Witty, Microgate corp, Italy) from the respective athletics clubs were used at the start and the end as reference value for the duration of the sprints.
[0024]
[0025]
[0026] The data first recorded on the GNSS-IMU sensor (see
[0027] The algorithm includes three phases: i) sprint segmentation 22 ii) velocity estimation 24 and iii) sprint duration estimation 25. Sprint segmentation aims to detect the period for each specific sprint. First, the data recorded on the GNSS-IMU sensor is segmented by manually selecting an approximate starting sample for the relevant sprint. Following this, the algorithm is designed to choose a precise starting time (t.sub.s) by selecting an appropriate threshold (0.3 m/s) on the velocity obtained from the GNSS sensor. A sensitivity analysis was conducted to see the impact of this threshold on the velocity estimation error. Acceleration signals from the segmented data are converted from the sensor frame (SF) to the global frame (GF) X-Y-Z using Equation 2:
a.sub.GF=q.Math.[0 a.sub.SF].Math.q* (2)
[0028] Where q represents the quaternions transforming the sensor frame (SF) to the global frame (GF) and q* their transpose. These quaternions are estimated by fusing accelerometer and gyroscope data using a gradient descent algorithm (Madgwick 2011); a.sub.SF is the acceleration in the sensor frame, and a.sub.GF is the acceleration in the global frame X-Y-Z with positive X-axis representing the direction of sprinting.
[0029] The acceleration along the positive X-axis of the global frame (a.sub.GFX) is provided as an input to the Sprint detection filter (linear Kalman filter) in combination with the ground velocity (v.sub.GNSS) from the GNSS sensor. The main assumption here is that the sprinters run along a straight line (within sagittal plane), thus the acceleration a.sub.GFx can be assumed to represent acceleration along the direction of running and the dynamical model of the system can be assumed to be constant. This assumption is also used during the measurements with a speed radar; in our case, it simplified the system to a linear model and allowed the use of a simple Kalman filter, which is the optimal estimator for a linear system (Burl 1998). This filter has the following prediction and update steps:
[0030] Prediction:
v.sub.est(n|n−1)=[1]v.sub.est(n−1)+[Δt]a.sub.GFx(n−1)+μ (3.1)
[0031] Update:
v.sub.est(n|n)=v.sub.est(n|n−1)+K(n)(v.sub.GNSS(n)−v.sub.est(n|n−1)) (3.2)
[0032] Kalman gain:
K(n)=p(n|n−1)(p(n|n−1)+η).sup.−1 (4)
[0033] Where v.sub.est is the estimated horizontal velocity, a.sub.GFx(n) is the horizontal acceleration in global frame, Δt is the sampling time, μ is the process (accelerometer) noise, v.sub.GNSS(n) is the velocity measured by the GNSS sensor, K(n) is the Kalman gain, p(n) is the estimation uncertainty, and η is the measurement (GNSS) noise. Since a.sub.GFx has a sampling frequency of 200 Hz, v.sub.GNSS is upsampled from 50 Hz to 200 Hz by ‘zero padding’. If the velocity from v.sub.GNSS is non-zero, the update sequence is initiated, otherwise the prediction model continues to run without update.
[0034] The magnitudes of η and μ were set to 0.01 and 0.4 respectively, obtained via manual tuning of the filter. In order to refine the magnitude of η further, the rationale of the exponential behaviour of sprint velocity (Samozino 2016) is utilized. By subtracting both sides of equation 1 from v.sub.max, we get:
[0035] Based on this equation, v.sub.GNSS is subtracted from the maximum velocity and an exponential curve was fitted to it and if fit is good (R.sup.2>0.91), the value of η.sub.k is unchanged from 0.01. In case of a bad fit, this value is increased by an order of magnitude to 0.1. The velocity (v.sub.est) obtained from this Kalman filter is integrated from the starting time (t.sub.s) to obtain the distance profile, which is subsequently compared to the actual sprint distance and used to estimate the ending time (t.sub.e) and segment sprint period (t.sub.d=t.sub.e−t.sub.s) precisely.
[0036] In the second phase, a more accurate exponential fitting is made using a more refined sprint period (t.sub.d) obtained in the first phase. Precisely segmented v.sub.GNSS and a.sub.GFx are provided as inputs to the GNSS-IMU fusion filter, which is also a simple Kalman filter, with the same process and measurement models as the first filter. This filter is used to update the final sprint velocity (v.sub.est) precisely by considering the sprint period and the fine-tuning of GNSS noise. In the final step, v.sub.est is integrated to obtain the displacement-time profile and the timestamp at the relevant sprint distance is computed. The starting time (t.sub.s) of the sprint is then subtracted from the value of this timestamp to obtain the sprint duration (T.sub.est).
[0037] To estimate force-velocity and power-velocity profiles, the first step is to estimate the approximate velocity profile from v.sub.est using the exponential fit (Samozino 2016) presented in equation 1. While the maximum velocity during the sprint (v.sub.max) and the velocity at the end (v.sub.end) are the same in case of an ideal exponential velocity profile, this may not be the case with real-world velocity profiles. As a result, v.sub.max and v.sub.end tend to deviate from each other. To investigate which velocity profile leads to a better fit, the two first-order velocity profiles, based on v.sub.max (v.sub.mdl_max,1(t)) and v.sub.end (v.sub.mdl_end,1(t)) respectively, were compared to a second-order velocity profile, defined as:
v.sub.mdl,2(t)=a e.sup.τ.sup.
[0038] Where τ.sub.1, τ.sub.2 and a were computed with the ‘trust-region reflective’ algorithm, using the ‘lsqcurvefit’ function native to Matlab application. Approximate velocity profile obtained from the best performing fitting method is differentiated to obtain the approximate horizontal acceleration a.sub.mdl(t), which in combination with the sprinter's mass (M), led to the force profile:
F.sub.mdl(t)=M a.sub.mdl(t) (8)
[0039] Finally, the power profile was computed as a product this force profile and the velocity profile:
P.sub.mdl(t)=F.sub.mdl(t) a.sub.mdl(t) (9)
[0040] The velocity measured at 50 Hz by the radar (v.sub.R(t)) was used as reference for velocity validation. To match the sampling frequency of the reference signal, v.sub.est was downsampled from 200 Hz to 50 Hz by keeping the first sample and every fifth sample after the first, and V.sub.GNSS was upsampled from 10 Hz to 50 Hz using linear interpolation. An error vector (equation 10) between v.sub.est and v.sub.R was then computed for each trial. Following this, the RMS, mean, and standard deviation (SD) for each error vector were calculated. Finally, median and interquartile range (IQR) were computed for each sprint distance to investigate the bias and precision respectively. Similar procedure was applied to estimate error for V.sub.GNSS.
[0041] In order to investigate the different fitting methods explained earlier, we calculated the error vectors (equation 11) of the fitted curves v.sub.mdl(t) (i.e. v.sub.mdl_max,1(t), v.sub.mdl_end,1(t) and v.sub.mdl,2(t)) with respect to v.sub.R, followed by calculating RMS and median and IQR. Further, we also investigated the fitting performance qualitatively by observing the different fitted velocity profile curves. Similarly, the error for fitted curves with respect to v.sub.est was calculated.
ε.sub.fit(t)=v.sub.R(t)−v.sub.fit(t), (11)
[0042] The time recorded in the photocells (T.sub.Ref) was used as reference for validation of the estimated sprint duration (T.sub.est). Percentage error for the sprint duration was calculated by equation 12:
[0043] Similar process was carried out for the duration obtained from the radar (T.sub.rad), in order to compare the performance of the algorithm with that of the radar. Subsequently, the RMS, median, and IQR for these error values were calculated.
[0044] Lastly, the maximum velocity is an important metric according to earlier research on sprint mechanics (J.-B. Morin 2012) and thus, we opted to compare the value obtained from our method with that from the radar. The Bland-Altman plot (mean-difference) was used (Altman 1990) for this purpose, along with the calculation of the Lin's concordance correlation coefficient (ccc) at 95% confidence interval (Lawrence 1989) as a measure of agreement between our method and the radar. A correlation coefficient value greater than 0.7 was considered ‘strong’, according to the ranges suggested in (Hopkins 2009) for sports science research. Bland-Altman plots were also utilized to compare the theoretical maximum theoretical velocity v.sub.0 (m/s), maximum theoretical horizontal force per unit mass f.sub.0 (N/kg), and maximum theoretical horizontal power p.sub.max per unit mass (W/kg) values obtained from the v.sub.est(t) using the second-order exponential fit to those computed from the v.sub.R(t). The p.sub.max values were obtained from the apex values of the P-V profile.
[0045] Data for the nine athletes (7 male, 2 female, 60 m sprint time 7.39±0.37 s) was utilized in this test. Thus, a total seven sprints were considered for 30 m distance, eight for 40 m, and seventeen for 60 m. Out of these, data for two 40 m sprints was used for tuning the algorithm, while the data for all sprints was used for validation.
[0046] The median of RMS errors of the v.sub.est ranged from 6.2% to 8.1% (
TABLE-US-00001 TABLE 1 Median (IQR) values of the RMS error for v.sub.GNSS, v.sub.est, T.sub.rad and T.sub.est for all three sprint distances. RMS error was calculated on the basis of equations 10 and 12. Sprint distance, m % error for v.sub.GNSS % error for v.sub.est % error for T.sub.rad % error for T.sub.est 30 5.6 (4.9 to 12.0) 6.2 (5.2 to 7.2) 3.3 (1.8 to 4.5) 0.1 (−1.7 to 1.9) 40 10.2 (5.1 to 11.4) 8.1 (6.1 to 11.4) −0.8 (−2.0 to 0.2) −4.5 (−9.8 to 0.1) 60 6.1 (4.7 to 8.5) 6.5 (5.4 to 7.9) −2.1 (−3.4 to −0.2) −6.3 (−12.8 to −2.4)
[0047] The median error for T.sub.est ranged from 0.1% to −6.3%, while that for T.sub.est varied from 3.3% to −2.3%, thus both showed a similar range. The IQR (Table 1) for T.sub.rad were lower as compared to T.sub.est for 40 m and 60 m sprints. For 30 m sprint, T.sub.est had a lower median error, but a higher IQR than T.sub.rad. For the maximum velocity (v.sub.max), the Bland-Altman plot showed close agreement between the estimated and the reference magnitudes, with all the values lying between the two standard deviations and the Lin's concordance correlation coefficient being 0.76 (p<0.05). The estimated values, however, showed a slight negative bias of −0.16 m/s, although this was miniscule as compared to actual maximum velocities, which are around 10 m/s. For the v.sub.0, f.sub.0, and p.sub.max the Bland-Altman plot showed close agreement between the estimated and reference values, with almost all values lying between the two standard deviations. v.sub.0 presented a bias of −0.17 m/s which is similar to that of v.sub.max, f.sub.0 showed almost zero bias, and the bias for p.sub.max was −0.31 W/kg, which is substantially smaller than the actual p.sub.max values, which range from 16 to 28 W/kg.
[0048] A qualitative presentation of the different types of exponential fits can be generated, for the first order (v.sub.mdl_max,1, v.sub.mdl_end,1) and second order (v.sub.mdl,2) exponential fits.
[0049] For both v.sub.est and v.sub.R, the second order fit has the lowest RMS error and lower mean and standard deviation than both first order fits (Table 2). v.sub.mdl_end,1 fit has similar mean error values as v.sub.mdl_max,1 fit for 30 m and 40 m sprints, while it has considerably higher mean value and standard deviation for the 60 m sprint (Table 2).
TABLE-US-00002 TABLE 2 Median (IQR) values for the RMS error in the three types of exponential fits, for all three sprint distances. RMS error was calculated on the basis of equation 11. The second order fit (v.sub.mdl, 2) presents the lowest median (IQR) for both v.sub.est and v.sub.R. Sprint v.sub.mdl.sub.
[0050] The sensor-fusion algorithm according to the invention can compute an accurate velocity profile with respect to the radar; it can compensate for and improve upon the accuracy of the individual IMU and GNSS velocities, as indicated in
[0051] The mean error for sprint duration (T.sub.est) increased from 0.5% to −7.1% for 30 m to 60 m distances respectively, clearly showing an overestimation. This is a result of the minor underestimation of velocity caused by the residual drift in the IMU strapdown integration and the inaccuracies of the GNSS velocity.
[0052] Use of a first order exponential fit (Samozino 2016, Setuain 2018) is the dominant method of estimating the sprint velocity profile and subsequently the force (F)-power (P)-velocity (V) relationships. The accuracy of this first order exponential (equation 1) has been compared with respect to a second order exponential (equation 7) in approximating the velocity profile produced by our algorithms and by the reference radar system.
[0053] Use of a first order exponential leads to linear F-V and parabolic P-V profiles, which have been investigated previously (J.-B. a. Morin 2016) for their potential to predict risk of injury and to plan training goals. The second-order exponential leads to more accurate albeit non-linear F-V and non-parabolic P-V profiles. Whether the increased accuracy resulting from the second order exponential improves the analysis of athletes is a potentially important practical research question for sports scientists.
[0054] Glossary [0055] v.sub.mdl: Velocity of the exponential model [0056] a.sub.mdl: Acceleration from model [0057] v.sub.max: Maximum velocity [0058] v.sub.end: Velocity at the endpoint of sprint [0059] v.sub.mdl_max,1: First order model based on maximum velocity [0060] v.sub.mdl_end,1: First order model based on speed end [0061] v.sub.mdl,2: Second order model [0062] a.sub.GFx: Forward acceleration in global frame [0063] v.sub.GNSS: Velocity measured by GNSS [0064] v.sub.est: IMU-GNSS fusion estimated speed [0065] v.sub.R(t): radar speed