Type: | Package |
Title: | Short Sprints |
Version: | 3.2.0 |
Description: | Create short sprint acceleration-velocity (AVP) and force-velocity (FVP) profiles and predict kinematic and kinetic variables using the timing-gate split times, laser or radar gun data, tether devices data, as well as the data provided by the GPS and LPS monitoring systems. The modeling method utilized in this package is based on the works of Furusawa K, Hill AV, Parkinson JL (1927) <doi:10.1098/rspb.1927.0035>, Greene PR. (1986) <doi:10.1016/0025-5564(86)90063-5>, Chelly SM, Denis C. (2001) <doi:10.1097/00005768-200102000-00024>, Clark KP, Rieger RH, Bruno RF, Stearne DJ. (2017) <doi:10.1519/JSC.0000000000002081>, Samozino P. (2018) <doi:10.1007/978-3-319-05633-3_11>, Samozino P. and Peyrot N., et al (2022) <doi:10.1111/sms.14097>, Clavel, P., et al (2023) <doi:10.1016/j.jbiomech.2023.111602>, Jovanovic M. (2023) <doi:10.1080/10255842.2023.2170713>, and Jovanovic M., et al (2024) <doi:10.3390/s24092894>. |
URL: | https://mladenjovanovic.github.io/shorts/ |
BugReports: | https://github.com/mladenjovanovic/shorts/issues |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.2.3 |
Depends: | R (≥ 2.10) |
Imports: | stats, LambertW, tidyr, ggplot2, minpack.lm, purrr |
Config/testthat/edition: | 3 |
NeedsCompilation: | no |
Packaged: | 2024-05-22 10:55:30 UTC; mladenjovanovic |
Author: | Mladen Jovanović |
Maintainer: | Mladen Jovanović <coach.mladen.jovanovic@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2024-05-22 11:40:02 UTC |
LPS Basketball Session Dataset
Description
LPS Basketball Session Dataset
Usage
data(LPS_session)
Format
Data frame with 5 variables and 91,099 observations:
- time
Time in seconds from the start of the session
- x
x-coordinate in meters provided by the LPS
- y
y-coordinate in meters provided by the LPS
- velocity
Velocity provided by LPS in m/s
- acceleration
Acceleration provided by LPS in m/s
Details
This dataset represents a sample data provided by Local Positioning System (LPS) on a single individual performing a single basketball practice session (aprox. 90min). Sampling frequency is 20Hz.
S3 method for extracting model parameters from shorts_model
object
Description
S3 method for extracting model parameters from shorts_model
object
Usage
## S3 method for class 'shorts_model'
coef(object, ...)
Arguments
object |
|
... |
Extra arguments. Not used |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
coef(simple_model)
S3 method for providing confidence intervals for the shorts_model
Description
S3 method for providing confidence intervals for the shorts_model
Usage
## S3 method for class 'shorts_model'
confint(object, ...)
Arguments
object |
|
... |
Forwarded to generic |
Examples
## Not run:
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0,
TC = 0,
noise = 0.01
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
confint(simple_model)
## End(Not run)
Convert Force-Velocity profile back to Acceleration-Velocity profile
Description
This function converts back the Force-Velocity profile (FVP; F0 and V0 parameters) to Acceleration-Velocity profile (AVP; MSS and MAC parameters)
Usage
convert_FVP(
F0,
V0,
bodymass = 75,
inertia = 0,
resistance = 0,
wind_velocity = 0,
...
)
Arguments
F0 , V0 |
Numeric vectors. FV profile parameters |
bodymass |
Body mass in kg. Used to calculate relative power and forwarded to |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
wind_velocity |
In meters per second (m/s). Use negative number as head wind, and positive number as back wind. Default is 0m/s (no wind) |
... |
Forwarded to |
Value
A list with calculated MSS
and MAC
parameters
Examples
FVP <- create_FVP(7, 8.3, inertia = 10, resistance = 50)
convert_FVP(FVP$F0, FVP$V0, inertia = 10, resistance = 50)
Create Force-Velocity Profile
Description
Creates Force-Velocity Profile (FVP) modified using ideas by Pierre Samozino and JB-Morin, et al. (2016) and Pierre Samozino and Nicolas Peyror, et al (2021).
Usage
create_FVP(
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
wind_velocity = 0,
...
)
Arguments
MSS , MAC |
Numeric vectors. Model parameters |
bodymass |
Body mass in kg. Used to calculate relative power and forwarded to |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
wind_velocity |
In meters per second (m/s). Use negative number as head wind, and positive number as back wind. Default is 0m/s (no wind) |
... |
Forwarded to |
Value
List containing the following elements:
- bodymass
Returned
bodymass
used in FV profiling- F0
Horizontal force when velocity=0
- F0_rel
F0
divided bybodymass
- V0
Velocity when horizontal force=0
- Pmax
Maximal horizontal power
- Pmax_rel
Pmax
divided bybodymass
- FV_slope
Slope of the FV profile. See References for more info
References
Samozino P, Rabita G, Dorel S, Slawinski J, Peyrot N, Saez de Villarreal E, Morin J-B. 2016. A simple method for measuring power, force, velocity properties, and mechanical effectiveness in sprint running: Simple method to compute sprint mechanics. Scandinavian Journal of Medicine & Science in Sports 26:648–658. DOI: 10.1111/sms.12490.
Samozino P, Peyrot N, Edouard P, Nagahara R, Jimenez‐Reyes P, Vanwanseele B, Morin J. 2022. Optimal mechanical force‐velocity profile for sprint acceleration performance. Scandinavian Journal of Medicine & Science in Sports 32:559–575. DOI: 10.1111/sms.14097.
Examples
data("jb_morin")
m1 <- model_radar_gun(time = jb_morin$time, velocity = jb_morin$velocity)
fv_profile <- create_FVP(
MSS = m1$parameters$MSS,
MAC = m1$parameters$MAC,
bodyheight = 1.72,
bodymass = 120,
)
fv_profile
Create Sprint Trace
Description
This function creates sprint trace either using time
or distance
vectors
Usage
create_sprint_trace(
MSS,
MAC,
time = NULL,
distance = NULL,
TC = 0,
DC = 0,
FD = 0,
remove_leading = FALSE
)
Arguments
MSS , MAC |
Numeric vector. Model parameters |
time |
Numeric vector. |
distance |
Numeric vector. |
TC |
Numeric vector. Time-shift added to sprint times. Default is 0 |
DC |
Numeric vector. Distance-shift added to sprint distance. Default is 0 |
FD |
Numeric vector. Flying start distance. Default is 0 |
remove_leading |
Should trace leading to sprint be removed? Default is |
Value
Data-frame with following 6 columns
- time
Measurement-scale time vector in seconds. Equal to parameter
time
- distance
Measurement-scale distance vector in meters. Equal to parameter
distance
- velocity
Velocity vector in m/s
- acceleration
Acceleration vector in m/s/s
- sprint_time
Sprint scale time vector in seconds. Sprint always start at t=0s
- sprint_distance
Sprint scale distance vector in meters. Sprint always start at d=0m
See Also
Examples
df <- create_sprint_trace(8, 7, time = seq(0, 6, by = 0.01))
df <- create_sprint_trace(8, 7, distance = seq(0, 40, by = 1))
Create Timing Gates Splits
Description
This function is used to generate timing gates splits with predetermined parameters
Usage
create_timing_gates_splits(
MSS,
MAC,
gates = c(5, 10, 20, 30, 40),
FD = 0,
TC = 0,
noise = 0
)
Arguments
MSS , MAC |
Numeric vectors. Model parameters |
gates |
Numeric vectors. Distances of the timing gates |
FD |
Numeric vector. Flying start distance. Default is 0 |
TC |
Numeric vector. Time-correction added to split times (e.g., reaction time). Default is 0 |
noise |
Numeric vector. SD of Gaussian noise added to the split times. Default is 0 |
See Also
Examples
create_timing_gates_splits(
gates = c(10, 20, 30, 40, 50),
MSS = 10,
MAC = 9,
FD = 0.5,
TC = 0
)
DynaSpeed Single Sprint Data
Description
DynaSpeed(TM) data collected for a single athlete (female, 177cm, 64kg) and a single sprint over 40m. Sampling frequency is 1,000Hz. Additional time and distance shift is added to the dataset to provide a sandbox for potential issues during the analysis
Usage
data(dynaspeed)
Format
Data frame with 4 variables and 7,251 observations:
- time
time in seconds
- distance
Distance in meters
- velocity
Smoothed velocity in meters per second
- raw_velocity
Velocity in meters per second
Author(s)
Håkan Andersson
The High-Performance Center
Växjö, Sweden
hakan.andersson@hpcsweden.com
Find functions
Description
Family of functions that serve a purpose of finding maximal value and critical distances and times at which power, acceleration or velocity drops below certain threshold.
find_peak_power_distance
finds peak power and distance
at
which peak power occurs
find_peak_power_time
finds peak power and time
at which
peak power occurs
find_velocity_critical_distance
finds critical distance at which percent
of MSS
is achieved
find_velocity_critical_time
finds critical time at which percent
of MSS
is achieved
find_acceleration_critical_distance
finds critical distance at which percent
of MAC
is reached
find_acceleration_critical_time
finds critical time at which percent
of
MAC
is reached
find_power_critical_distance
finds critical distances at which peak power over
percent
is achieved
find_power_critical_time
finds critical times at which peak power over
percent
is achieved
Usage
find_peak_power_distance(MSS, MAC, inertia = 0, resistance = 0, ...)
find_peak_power_time(MSS, MAC, inertia = 0, resistance = 0, ...)
find_velocity_critical_distance(MSS, MAC, percent = 0.9)
find_velocity_critical_time(MSS, MAC, percent = 0.9)
find_acceleration_critical_distance(MSS, MAC, percent = 0.9)
find_acceleration_critical_time(MSS, MAC, percent = 0.9)
find_power_critical_distance(
MSS,
MAC,
inertia = 0,
resistance = 0,
percent = 0.9,
...
)
find_power_critical_time(
MSS,
MAC,
inertia = 0,
resistance = 0,
percent = 0.9,
...
)
Arguments
MSS , MAC |
Numeric vectors. Model parameters |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
... |
Arguments passed on to
|
percent |
Numeric vector. Used to calculate critical distance. Default is 0.9 |
Value
find_peak_power_distance
returns list with two elements: peak_power
and distance
at which peak power occurs
find_peak_power_time
returns list with two elements: peak_power
and
time
at which peak power occurs
References
Haugen TA, Tønnessen E, Seiler SK. 2012. The Difference Is in the Start: Impact of Timing and Start Procedure on Sprint Running Performance: Journal of Strength and Conditioning Research 26:473–479. DOI: 10.1519/JSC.0b013e318226030b.
Samozino P. 2018. A Simple Method for Measuring Force, Velocity and Power Capabilities and Mechanical Effectiveness During Sprint Running. In: Morin J-B, Samozino P eds. Biomechanics of Training and Testing. Cham: Springer International Publishing, 237–267. DOI: 10.1007/978-3-319-05633-3_11.
Examples
dist <- seq(0, 40, length.out = 1000)
velocity <- predict_velocity_at_distance(
distance = dist,
MSS = 10,
MAC = 9
)
acceleration <- predict_acceleration_at_distance(
distance = dist,
MSS = 10,
MAC = 9
)
# Use ... to forward parameters to the shorts::get_air_resistance
pwr <- predict_power_at_distance(
distance = dist,
MSS = 10,
MAC = 9
# bodyweight = 100,
# bodyheight = 1.9,
# barometric_pressure = 760,
# air_temperature = 25,
# wind_velocity = 0
)
# Find critical distance when 90% of MSS is reached
plot(x = dist, y = velocity, type = "l")
abline(h = 10 * 0.9, col = "gray")
abline(v = find_velocity_critical_distance(MSS = 10, MAC = 9), col = "red")
# Find critical distance when 20% of MAC is reached
plot(x = dist, y = acceleration, type = "l")
abline(h = 9 * 0.2, col = "gray")
abline(v = find_acceleration_critical_distance(MSS = 10, MAC = 9, percent = 0.2), col = "red")
# Find peak power and location of peak power
plot(x = dist, y = pwr, type = "l")
peak_pwr <- find_peak_power_distance(
MSS = 10,
MAC = 9
# Use ... to forward parameters to the shorts::get_air_resistance
)
abline(h = peak_pwr$peak_power, col = "gray")
abline(v = peak_pwr$distance, col = "red")
# Find distance in which relative power stays over 75% of PMAX'
plot(x = dist, y = pwr, type = "l")
abline(h = peak_pwr$peak_power * 0.75, col = "gray")
pwr_zone <- find_power_critical_distance(MSS = 10, MAC = 9, percent = 0.75)
abline(v = pwr_zone$lower, col = "blue")
abline(v = pwr_zone$upper, col = "blue")
Function that finds the distance at which the sprint, probe, or FV profile is optimal (i.e., equal to 100 perc)
Description
Function that finds the distance at which the sprint, probe, or FV profile is optimal (i.e., equal to 100 perc)
Usage
find_optimal_distance(..., optimal_func = optimal_FV, min = 1, max = 60)
Arguments
... |
Forwarded to selected |
optimal_func |
Selected profile optimization function. Default is |
min , max |
Distance over which to find optimal profile distance |
Value
Distance
Examples
MSS <- 10
MAC <- 8
bodymass <- 75
fv <- create_FVP(MSS, MAC, bodymass)
find_optimal_distance(
F0 = fv$F0,
V0 = fv$V0,
bodymass = fv$bodymass,
optimal_func = optimal_FV,
method = "max"
)
find_optimal_distance(
MSS = MSS,
MAC = MAC,
optimal_func = optimal_MSS_MAC
)
find_optimal_distance(
MSS = MSS,
MAC = MAC,
optimal_func = probe_MSS_MAC
)
S3 method for returning predictions of shorts_model
Description
S3 method for returning predictions of shorts_model
Usage
## S3 method for class 'shorts_model'
fitted(object, ...)
Arguments
object |
|
... |
Extra arguments. Not used |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
fitted(simple_model)
Format Split Data
Description
Function formats split data and calculates split distances, split times and average split velocity
Usage
format_splits(distance, time)
Arguments
distance |
Numeric vector |
time |
Numeric vector |
Value
Data frame with the following columns:
- split
Split number
- split_distance_start
Distance at which split starts
- split_distance_stop
Distance at which split ends
- split_distance
Split distance
- split_time_start
Time at which distance starts
- split_time_stop
Time at which distance ends
- split_time
Split time
- split_mean_velocity
Mean velocity over split distance
- split_mean_acceleration
Mean acceleration over split distance
Examples
data("split_times")
john_data <- split_times[split_times$athlete == "John", ]
format_splits(john_data$distance, john_data$time)
Get Air Resistance
Description
get_air_resistance
estimates air resistance in Newtons
Usage
get_air_resistance(
velocity,
bodymass = 75,
bodyheight = 1.75,
barometric_pressure = 760,
air_temperature = 25,
wind_velocity = 0
)
Arguments
velocity |
Instantaneous running velocity in meters per second (m/s) |
bodymass |
In kilograms (kg). Default is 75kg |
bodyheight |
In meters (m). Default is 1.75m |
barometric_pressure |
In Torrs. Default is 760Torrs |
air_temperature |
In Celzius (C). Default is 25C |
wind_velocity |
In meters per second (m/s). Use negative number as head wind, and positive number as back wind. Default is 0m/s (no wind) |
Value
Air resistance in Newtons (N)
References
Arsac LM, Locatelli E. 2002. Modeling the energetics of 100-m running by using speed curves of world champions. Journal of Applied Physiology 92:1781–1788. DOI: 10.1152/japplphysiol.00754.2001.
Samozino P, Rabita G, Dorel S, Slawinski J, Peyrot N, Saez de Villarreal E, Morin J-B. 2016. A simple method for measuring power, force, velocity properties, and mechanical effectiveness in sprint running: Simple method to compute sprint mechanics. Scandinavian Journal of Medicine & Science in Sports 26:648–658. DOI: 10.1111/sms.12490.
van Ingen Schenau GJ, Jacobs R, de Koning JJ. 1991. Can cycle power predict sprint running performance? European Journal of Applied Physiology and Occupational Physiology 63:255–260. DOI: 10.1007/BF00233857.
Examples
get_air_resistance(
velocity = 5,
bodymass = 80,
bodyheight = 1.90,
barometric_pressure = 760,
air_temperature = 16,
wind_velocity = -0.5
)
JB Morin Sample Dataset
Description
Sample radar gun data provided by Jean-Benoît Morin on his website. See https://jbmorin.net/2017/12/13/a-spreadsheet-for-sprint-acceleration-force-velocity-power-profiling/ for more details.
Usage
data(jb_morin)
Format
Data frame with 2 variables and 232 observations:
- time
Time in seconds
- velocity
Velocity in m/s
Details
This dataset represents a sample data provided by Jean-Benoît Morin on a single individual running approximately 35m from a stand still position that is measured with the radar gun. Individual's body mass is 75kg, height is 1.72m. Conditions of the run are the following: air temperature 25C, barometric pressure 760mmHg, wind velocity 0m/s.
The purpose of including this dataset in the package is to check the agreement of the model estimates with Jean-Benoît Morin Microsoft Excel spreadsheet.
Author(s)
Jean-Benoît Morin
Inter-university Laboratory of Human Movement Biology
Saint-Étienne, France
https://jbmorin.net/
References
Morin JB. 2017.A spreadsheet for Sprint acceleration Force-Velocity-Power profiling. Available at https://jbmorin.net/2017/12/13/a-spreadsheet-for-sprint-acceleration-force-velocity-power-profiling/ (accessed October 27, 2020).
Laser Gun Data
Description
Performance of 35m sprint by a youth basketball player done using standing start. Sample was collected by laser gun (CMP3 Distance Sensor, Noptel Oy, Oulu, Finland) and was sampled at a rate of 2.56 KHz. A polynomial function modeling the relationship between distance and time was employed and subsequently resampled at a frequency of 1,000 Hz using Musclelab™ v10.232.107.5298, a software developed by Ergotest Technology AS located in Langesund, Norway. Data was further modified by calculating raw acceleration using dv/dt (using smoothed velocity provided by the system), and then smoothed out using 4th-order Butterworth filter with a cutoff frequency of 1 Hz.
Usage
data(laser_gun_data)
Format
Data frame with 6 variables and 4805 observations:
- time
Time vector in seconds
- distance
Distance vector in meters
- velocity
Smoothed velocity vector in m/s; this represent step-averaged velocity
- raw_velocity
Raw velocity vector in m/s
- raw_acceleration
Raw acceleration vector in m/s/s; calculated using difference in smoothed velocity divided by time difference (i.e., dv/dt method of derivation)
- butter_acceleration
Smoothed acceleration vector in m/s/s; smoothed out using 4th-order Butterworth filter with a cutoff frequency of 1 Hz
Model functions
Description
Family of functions that serve a purpose of estimating short sprint parameters
model_in_situ
estimates short sprint parameters using velocity-acceleration trace,
provided by the monitoring systems like GPS or LPS. See references for the information
model_radar_gun
estimates short sprint parameters using time-velocity trace,
with additional parameter TC
serving as intercept
model_laser_gun
alias for model_radar_gun
model_tether
estimates short sprint parameters using distance-velocity trace
(e.g., tether devices).
model_tether_DC
estimates short sprint parameters using distance-velocity trace
(e.g., tether devices) with additional distance correction DC
parameter
model_time_distance
estimates short sprint parameters using time distance trace
model_time_distance_FD
estimates short sprint parameters using time-distance trace
with additional estimated flying distance correction parameter FD
model_time_distance_FD_fixed
estimates short sprint parameters using time-distance trace
with additional flying distance correction parameter FD
which
is fixed by the user
model_time_distance
estimates short sprint parameters using time distance trace
with additional time correction parameter TC
model_time_distance
estimates short sprint parameters using time distance trace
with additional distance correction parameter DC
model_time_distance
estimates short sprint parameters using time distance trace
with additional time correction TC
and distance correction TC
parameters
model_timing_gates
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells)
model_timing_gates_TC
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells), with additional time correction parameter TC
model_timing_gates_FD
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells), with additional estimated flying distance correction
parameter FD
model_timing_gates_FD_fixed
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells), with additional flying distance correction parameter FD
which
is fixed by the user
model_timing_gates_DC
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells), with additional distance correction parameter DC
model_timing_gates_TC_DC
estimates short sprint parameters using distance-time trace
(e.g., timing gates/photo cells), with additional time correction TC
and
distance correction DC
parameters
Usage
model_in_situ(
velocity,
acceleration,
weights = 1,
velocity_threshold = NULL,
velocity_step = 0.2,
n_observations = 2,
CV = NULL,
na.rm = FALSE,
...
)
model_radar_gun(
time,
velocity,
weights = 1,
CV = NULL,
use_observed_MSS = FALSE,
na.rm = FALSE,
...
)
model_laser_gun(
time,
velocity,
weights = 1,
CV = NULL,
use_observed_MSS = FALSE,
na.rm = FALSE,
...
)
model_tether(
distance,
velocity,
weights = 1,
CV = NULL,
use_observed_MSS = FALSE,
na.rm = FALSE,
...
)
model_tether_DC(
distance,
velocity,
weights = 1,
CV = NULL,
use_observed_MSS = FALSE,
na.rm = FALSE,
...
)
model_time_distance(time, distance, weights = 1, CV = NULL, na.rm = FALSE, ...)
model_time_distance_FD(
time,
distance,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_time_distance_FD_fixed(
time,
distance,
weights = 1,
FD = 0,
CV = NULL,
na.rm = FALSE,
...
)
model_time_distance_TC(
time,
distance,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_time_distance_DC(
time,
distance,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_time_distance_TC_DC(
time,
distance,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_timing_gates(distance, time, weights = 1, CV = NULL, na.rm = FALSE, ...)
model_timing_gates_TC(
distance,
time,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_timing_gates_FD(
distance,
time,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_timing_gates_FD_fixed(
distance,
time,
weights = 1,
FD = 0,
CV = NULL,
na.rm = FALSE,
...
)
model_timing_gates_DC(
distance,
time,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
model_timing_gates_TC_DC(
distance,
time,
weights = 1,
CV = NULL,
na.rm = FALSE,
...
)
Arguments
weights |
Numeric vector. Default is 1 |
velocity_threshold |
Velocity cutoff. If |
velocity_step |
Velocity increment size for finding max acceleration. Default is 0.2 m/s |
n_observations |
Number of top acceleration observations to keep in velocity bracket. Default is 2 |
CV |
Should cross-validation be used to estimate model fit? Default is |
na.rm |
Logical. Default is FALSE |
... |
Forwarded to |
time , velocity , distance , acceleration |
Numeric vector |
use_observed_MSS |
Should observed peak |
FD |
Flying distance parameter. Default is 0 |
Value
List object with the following elements:
- data
Data frame used to estimate the sprint parameters
- model_info
Extra information regarding model used
- model
Model returned by the
nlsLM
function- parameters
List with the following estimated parameters:
MSS
,MAC
,TAU
, andPMAX
- correction
List with additional model correcitons
- predictions
Data frame with
.predictor
,.observed
,.predicted
, and.residual
columns- model_fit
List with multiple model fit estimators
- CV
If cross-validation is performed, this will included the data as above, but for each fold
References
Samozino P. 2018. A Simple Method for Measuring Force, Velocity and Power Capabilities and Mechanical Effectiveness During Sprint Running. In: Morin J-B, Samozino P eds. Biomechanics of Training and Testing. Cham: Springer International Publishing, 237–267. DOI: 10.1007/978-3-319-05633-3_11.
Clavel, P., Leduc, C., Morin, J.-B., Buchheit, M., & Lacome, M. (2023). Reliability of individual acceleration-speed profile in-situ in elite youth soccer players. Journal of Biomechanics, 153, 111602. https://doi.org/10.1016/j.jbiomech.2023.111602
Morin, J.-B. (2021). The “in-situ” acceleration-speed profile for team sports: testing players without testing them. JB Morin, PhD – Sport Science website. Accessed 31. Dec. 2023. https://jbmorin.net/2021/07/29/the-in-situ-sprint-profile-for-team-sports-testing-players-without-testing-them/
Examples
# Model In-Situ (Embedded profiling)
data("LPS_session")
m1 <- model_in_situ(
velocity = LPS_session$velocity,
acceleration = LPS_session$acceleration,
# Use specific cutoff value
velocity_threshold = 4)
m1
plot(m1)
# Model Radar Gun (includes Time Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 6, 0.1))
# Add some noise
df$velocity <- df$velocity + rnorm(n = nrow(df), 0, 10^-2)
m1 <- model_radar_gun(time = df$time, velocity = df$velocity)
m1
plot(m1)
# Model Laser Gun (includes Time Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 6, 0.1))
# Add some noise
df$velocity <- df$velocity + rnorm(n = nrow(df), 0, 10^-2)
m1 <- model_laser_gun(time = df$time, velocity = df$velocity)
m1
plot(m1)
# Model Tether
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 6, 0.5))
m1 <- model_tether(distance = df$distance, velocity = df$velocity)
m1
plot(m1)
# Model Tether with Distance Correction (DC)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0.001, 6, 0.5), DC = 5)
m1 <- model_tether_DC(distance = df$distance, velocity = df$velocity)
m1
plot(m1)
# Model Time-Distance trace (simple, without corrections)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5))
m1 <- model_time_distance(time = df$time, distance = df$distance)
m1
plot(m1)
# Model Time-Distance trace (with Flying Distance Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5), FD = 0.5)
m1 <- model_time_distance_FD(time = df$time, distance = df$distance)
m1
plot(m1)
# Model Time-Distance trace (with Flying Distance Correction fixed)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5), FD = 0.5)
m1 <- model_time_distance_FD_fixed(time = df$time, distance = df$distance, FD = 0.5)
m1
plot(m1)
# Model Time-Distance trace (with Time Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5), TC = 1.5)
m1 <- model_time_distance_TC(time = df$time, distance = df$distance)
m1
plot(m1)
# Model Time-Distance trace (with Distance Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5), DC = -5)
m1 <- model_time_distance_DC(time = df$time, distance = df$distance)
m1
plot(m1)
# Model Time-Distance trace (with Time and Distance Corrections)
df <- create_sprint_trace(MSS = 8, MAC = 6, time = seq(0, 5, by = 0.5), TC = -1.3, DC = 5)
m1 <- model_time_distance_TC_DC(time = df$time, distance = df$distance)
m1
plot(m1)
# Model Timing Gates (simple, without corrections)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40))
m1 <- model_timing_gates(distance = df$distance, time = df$time)
m1
plot(m1)
# Model Timing Gates (with Time Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40), TC = 0.2)
m1 <- model_timing_gates_TC(distance = df$distance, time = df$time)
m1
plot(m1)
# Model Timing Gates (with Flying Distance Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40), FD = 0.5)
m1 <- model_timing_gates_FD(distance = df$distance, time = df$time)
m1
plot(m1)
# Model Timing Gates (with Flying Distance Correction fixed)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40), FD = 0.5)
m1 <- model_timing_gates_FD_fixed(distance = df$distance, time = df$time)
m1
plot(m1)
# Model Timing Gates (with Distance Correction)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40), DC = 1.5)
m1 <- model_timing_gates_DC(distance = df$distance, time = df$time)
m1
plot(m1)
# Model Timing Gates (with Time and Distance Corrections)
df <- create_sprint_trace(MSS = 8, MAC = 6, distance = c(5, 10, 20, 30, 40), TC = 0.25, DC = 1.5)
m1 <- model_timing_gates_TC_DC(distance = df$distance, time = df$time)
m1
plot(m1)
Optimal profile functions
Description
Family of functions that serve a purpose of finding optimal sprint or force-velocity profile
optimal_FV
finds "optimal" F0
and V0
where time at distance is
minimized, while keeping the power the same
optimal_MSS_MAC
finds "optimal" MSS
and MAS
where time at distance is
minimized, while keeping the Pmax
the same
Usage
optimal_FV(
distance,
F0,
V0,
bodymass = 75,
inertia = 0,
resistance = 0,
method = "max",
...
)
optimal_MSS_MAC(distance, MSS, MAC)
Arguments
distance |
Numeric vector |
F0 , V0 |
Numeric vectors. FV profile parameters |
bodymass |
Body mass in kg |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
method |
Method to be utilized. Options are "peak" and "max" (default) |
... |
Arguments passed on to
|
MSS , MAC |
Numeric vectors. Model parameters |
Value
optimal_FV
returns s data frame with the following columns
- F0
Original F0
- V0
Original F0
- bodymass
Bodymass
- inertia
Inertia
- resistance
Resistance
- Pmax
Maximal power estimated using F0 * V0 / 4
- Pmax_rel
Relative maximal power
- slope
FV profile slope
- distance
Distance
- time
Time to cover distance
- Ppeak
Peak power estimated quantitatively
- Ppeak_rel
Relative peak power
- Ppeak_dist
Distance at which peak power is manifested
- Ppeak_time
Time at which peak power is manifested
- F0_optim
Optimal F0
- F0_coef
Ratio between F0_optim an F0
- V0_optim
Optimal V0
- V0_coef
Ratio between V0_optim an V0
- Pmax_optim
Optimal maximal power estimated F0_optim * V0_optim / 4
- Pmax_rel_optim
Optimal relative maximal power
- slope_optim
Optimal FV profile slope
- profile_imb
Percent ratio between slope and optimal slope
- time_optim
Time to cover distance when profile is optimal
- time_gain
Difference in time to cover distance between time_optimal and time
- Ppeak_optim
Optimal peak power estimated quantitatively
- Ppeak_rel_optim
Optimal relative peak power
- Ppeak_dist_optim
Distance at which optimal peak power is manifested
- Ppeak_time_optim
Time at which optimal peak power is manifested
optimal_MSS_MAC
returns a data frame with the following columns
- MSS
Original MSS
- MAC
Original MAC
- Pmax_rel
Relative maximal power estimated using MSS * MAC / 4
- slope
Sprint profile slope
- distance
Distance
- time
Time to cover distance
- MSS_optim
Optimal MSS
- MSS_coef
Ratio between MSS_optim an MSS
- MAC_optim
Optimal MAC
- MAC_coef
Ratio between MAC_optim an MAC
- Pmax_rel_optim
Optimal relative maximal power estimated using MSS_optim * MAC_optim / 4
- slope_optim
Optimal sprint profile slope
- profile_imb
Percent ratio between slope and optimal slope
- time_optim
Time to cover distance when profile is optimal
- time_gain
Difference in time to cover distance between time_optimal and time
References
Samozino P, Peyrot N, Edouard P, Nagahara R, Jimenez‐Reyes P, Vanwanseele B, Morin J. 2022. Optimal mechanical force-velocity profile for sprint acceleration performance. Scandinavian Journal of Medicine & Science in Sports 32:559–575. DOI: 10.1111/sms.14097.
Examples
MSS <- 10
MAC <- 8
bodymass <- 75
fv <- create_FVP(MSS, MAC, bodymass)
dist <- seq(5, 40, by = 5)
opt_MSS_MAC_profile <- optimal_MSS_MAC(
distance = dist,
MSS,
MAC
)[["profile_imb"]]
opt_FV_profile <- optimal_FV(
distance = dist,
fv$F0,
fv$V0,
fv$bodymass
)[["profile_imb"]]
opt_FV_profile_peak <- optimal_FV(
distance = dist,
fv$F0,
fv$V0,
fv$bodymass,
method = "peak"
)[["profile_imb"]]
plot(x = dist, y = opt_MSS_MAC_profile, type = "l", ylab = "Profile imbalance")
lines(x = dist, y = opt_FV_profile, type = "l", col = "blue")
lines(x = dist, y = opt_FV_profile_peak, type = "l", col = "red")
abline(h = 100, col = "gray", lty = 2)
S3 method for plotting shorts_model
object
Description
S3 method for plotting shorts_model
object
Usage
## S3 method for class 'shorts_model'
plot(x, type = "model", ...)
Arguments
x |
|
type |
Type of plot. Can be "model" (default), "kinematics-time", "kinematics-distance", or "residuals" |
... |
Not used |
Value
ggplot
object
Examples
# Simple model with radar gun data
instant_velocity <- data.frame(
time = c(0, 1, 2, 3, 4, 5, 6),
velocity = c(0.00, 4.99, 6.43, 6.84, 6.95, 6.99, 7.00)
)
radar_model <- with(
instant_velocity,
model_radar_gun(time, velocity)
)
plot(radar_model)
plot(radar_model, "kinematics-time")
plot(radar_model, "kinematics-distance")
plot(radar_model, "residuals")
S3 method for making predictions using shorts_model
Description
S3 method for making predictions using shorts_model
Usage
## S3 method for class 'shorts_model'
predict(object, ...)
Arguments
object |
|
... |
Forwarded to generic |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
predict(simple_model)
Kinematics prediction functions
Description
Predicts kinematic from known MSS
and MAC
parameters
Usage
predict_velocity_at_time(time, MSS, MAC)
predict_distance_at_time(time, MSS, MAC)
predict_acceleration_at_time(time, MSS, MAC)
predict_time_at_distance(distance, MSS, MAC)
predict_time_at_distance_FV(
distance,
F0,
V0,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_velocity_at_distance(distance, MSS, MAC)
predict_acceleration_at_distance(distance, MSS, MAC)
predict_acceleration_at_velocity(velocity, MSS, MAC)
predict_air_resistance_at_time(time, MSS, MAC, ...)
predict_air_resistance_at_distance(distance, MSS, MAC, ...)
predict_force_at_velocity(
velocity,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_force_at_time(
time,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_force_at_distance(
distance,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_power_at_distance(
distance,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_power_at_time(
time,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_relative_power_at_distance(
distance,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_relative_power_at_time(
time,
MSS,
MAC,
bodymass = 75,
inertia = 0,
resistance = 0,
...
)
predict_work_till_time(time, ...)
predict_work_till_distance(distance, ...)
predict_kinematics(
object = NULL,
MSS,
MAC,
max_time = 6,
frequency = 100,
bodymass = 75,
inertia = 0,
resistance = 0,
add_inertia_to_vertical = TRUE,
...
)
Arguments
time , distance , velocity |
Numeric vectors |
MSS , MAC |
Numeric vectors. Model parameters |
F0 , V0 |
Numeric vectors. FV profile parameters |
bodymass |
Body mass in kg. Used to calculate relative power and forwarded to |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
... |
Arguments passed on to
|
object |
If |
max_time |
Predict from 0 to |
frequency |
Number of samples within one second. Default is 100Hz |
add_inertia_to_vertical |
Should inertia be added to |
Value
Numeric vector
Data frame with kinetic and kinematic variables
References
Haugen TA, Tønnessen E, Seiler SK. 2012. The Difference Is in the Start: Impact of Timing and Start Procedure on Sprint Running Performance: Journal of Strength and Conditioning Research 26:473–479. DOI: 10.1519/JSC.0b013e318226030b.
Jovanović, M., Vescovi, J.D. (2020). shorts: An R Package for Modeling Short Sprints. Preprint available at SportRxiv. https://doi.org/10.31236/osf.io/4jw62
Samozino P. 2018. A Simple Method for Measuring Force, Velocity and Power Capabilities and Mechanical Effectiveness During Sprint Running. In: Morin J-B, Samozino P eds. Biomechanics of Training and Testing. Cham: Springer International Publishing, 237–267. DOI: 10.1007/978-3-319-05633-3_11.
Examples
MSS <- 8
MAC <- 9
time_seq <- seq(0, 6, length.out = 10)
df <- data.frame(
time = time_seq,
distance_at_time = predict_distance_at_time(time_seq, MSS, MAC),
velocity_at_time = predict_velocity_at_time(time_seq, MSS, MAC),
acceleration_at_time = predict_acceleration_at_time(time_seq, MSS, MAC)
)
df$time_at_distance <- predict_time_at_distance(df$distance_at_time, MSS, MAC)
df$velocity_at_distance <- predict_velocity_at_distance(df$distance_at_time, MSS, MAC)
df$acceleration_at_distance <- predict_acceleration_at_distance(df$distance_at_time, MSS, MAC)
df$acceleration_at_velocity <- predict_acceleration_at_velocity(df$velocity_at_time, MSS, MAC)
# Power calculation uses shorts::get_air_resistance function and its defaults
# values to calculate power. Use the ... to setup your own parameters for power
# calculations
df$power_at_time <- predict_power_at_time(
time = df$time, MSS = MSS, MAC = MAC,
# Check shorts::get_air_resistance for available params
bodymass = 100, bodyheight = 1.85
)
df
# Example for predict_kinematics
split_times <- data.frame(
distance = c(5, 10, 20, 30, 35),
time = c(1.20, 1.96, 3.36, 4.71, 5.35)
)
# Simple model
simple_model <- with(
split_times,
model_timing_gates(distance, time)
)
predict_kinematics(simple_model)
S3 method for printing shorts_model
object
Description
S3 method for printing shorts_model
object
Usage
## S3 method for class 'shorts_model'
print(x, ...)
Arguments
x |
|
... |
Not used |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
simple_model
Probe profile functions
Description
Family of functions that serve a purpose of probing sprint or force-velocity profile. This is done by increasing individual sprint parameter for a percentage and calculating which parameter improvement yield biggest deduction in sprint tim
probe_FV
"probes" F0
and V0
and calculates which one
improves sprint time for a defined distance
probe_MSS_MAC
"probes" MSS
and MAC
and calculates which one
improves sprint time for a defined distance
Usage
probe_FV(
distance,
F0,
V0,
bodymass = 75,
inertia = 0,
resistance = 0,
perc = 2.5,
...
)
probe_MSS_MAC(distance, MSS, MAC, perc = 2.5)
Arguments
distance |
Numeric vector |
F0 , V0 |
Numeric vectors. FV profile parameters |
bodymass |
Body mass in kg |
inertia |
External inertia in kg (for example a weight vest, or a sled). Not included in the air resistance calculation |
resistance |
External horizontal resistance in Newtons (for example tether device or a sled friction resistance) |
perc |
Numeric vector. Probing percentage. Default is 2.5 percent |
... |
Arguments passed on to
|
MSS , MAC |
Numeric vectors. Model parameters |
Value
probe_FV
returns a data frame with the following columns
- F0
Original F0
- V0
Original F0
- bodymass
Bodymass
- inertia
Inertia
- resistance
Resistance
- Pmax
Maximal power estimated using F0 * V0 / 4
- Pmax_rel
Relative maximal power
- slope
FV profile slope
- distance
Distance
- time
Time to cover distance
- probe_perc
Probe percentage
- F0_probe
Probing F0
- F0_probe_time
Predicted time for distance when F0 is probed
- F0_probe_time_gain
Difference in time to cover distance between time_optimal and time
- V0_probe
Probing V0
- V0_probe_time
Predicted time for distance when V0 is probed
- V0_probe_time_gain
Difference in time to cover distance between time_optimal and time
- profile_imb
Percent ratio between V0_probe_time_gain and F0_probe_time_gain
probe_MSS_MAC
returns a data frame with the following columns
- MSS
Original MSS
- MAC
Original MAC
- Pmax_rel
Relative maximal power estimated using MSS * MAC / 4
- slope
Sprint profile slope
- distance
Distance
- time
Time to cover distance
- probe_perc
Probe percentage
- MSS_probe
Probing MSS
- MSS_probe_time
Predicted time for distance when MSS is probed
- MSS_probe_time_gain
Difference in time to cover distance between probe time and time
- MAC_probe
Probing MAC
- MAC_probe_time
Predicted time for distance when MAC is probed
- MAC_probe_time_gain
Difference in time to cover distance between probing time and time
- profile_imb
Percent ratio between MSS_probe_time_gain and MAC_probe_time_gain
Examples
MSS <- 10
MAC <- 8
bodymass <- 75
fv <- create_FVP(MSS, MAC, bodymass)
dist <- seq(5, 40, by = 5)
probe_MSS_MAC_profile <- probe_MSS_MAC(
distance = dist,
MSS,
MAC
)[["profile_imb"]]
probe_FV_profile <- probe_FV(
distance = dist,
fv$F0,
fv$V0,
fv$bodymass
)[["profile_imb"]]
plot(x = dist, y = probe_MSS_MAC_profile, type = "l", ylab = "Profile imbalance")
lines(x = dist, y = probe_FV_profile, type = "l", col = "blue")
abline(h = 100, col = "gray", lty = 2)
Radar Gun Data
Description
Data generated from known MSS and TAU and measurement error for N=5 athletes using radar gun with sampling frequency of 100Hz over 6 seconds.
Usage
data(radar_gun_data)
Format
Data frame with 4 variables and 3000 observations:
- athlete
Character string
- bodyweight
Bodyweight in kilograms
- time
Time reported by the radar gun in seconds
- velocity
Velocity reported by the radar gun in m/s
S3 method for returning residuals of shorts_model
Description
S3 method for returning residuals of shorts_model
Usage
## S3 method for class 'shorts_model'
residuals(object, ...)
Arguments
object |
|
... |
Extra arguments. Not used |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
residuals(simple_model)
Split Testing Data
Description
Data generated from known MSS and TAU and measurement error for N=5 athletes using 6 timing gates: 5m, 10m, 15m, 20m, 30m, 40m
Usage
data(split_times)
Format
Data frame with 4 variables and 30 observations:
- athlete
Character string
- bodyweight
Bodyweight in kilograms
- distance
Distance of the timing gates from the sprint start in meters
- time
Time reported by the timing gate
S3 method for providing summary for the shorts_model
object
Description
S3 method for providing summary for the shorts_model
object
Usage
## S3 method for class 'shorts_model'
summary(object, ...)
Arguments
object |
|
... |
Not used |
Examples
split_distances <- c(10, 20, 30, 40, 50)
split_times <- create_timing_gates_splits(
gates = split_distances,
MSS = 10,
MAC = 9,
FD = 0.25,
TC = 0
)
# Simple model
simple_model <- model_timing_gates(split_distances, split_times)
summary(simple_model)
Vescovi Timing Gates Sprint Times
Description
Timing gates sprint times involving 52 female athletes. Timing gates were located at 5m, 10m, 20m, 30m, and 35m. See Details for more information.
Usage
data(vescovi)
Format
Data frame with 17 variables and 52 observations:
- Team
Team or sport. Contains the following levels: 'W Soccer' (Women Soccer), 'FH Sr' (Field Hockey Seniors), 'FH U21' (Field Hockey Under 21), and 'FH U17' (Field Hockey Under 17)
- Surface
Type of testing surface. Contains the following levels: 'Hard Cours' and 'Natural Grass'
- Athlete
Athlete ID
- Age
Athlete age in years
- Height
Body height in cm
- Bodyweight
Body weight in kg
- BMI
Body Mass Index
- BSA
Body Surface Area. Calculated using Mosteller equation
sqrt((height/weight)/3600)
- 5m
Time in seconds at 5m gate
- 10m
Time in seconds at 10m gate
- 20m
Time in seconds at 20m gate
- 30m
Time in seconds at 30m gate
- 35m
Time in seconds at 35m gate
- 10m-5m split
Split time in seconds between 10m and 5m gate
- 20m-10m split
Split time in seconds between 20m and 10m gate
- 30m-20m split
Split time in seconds between 30m and 20m gate
- 35m-30m split
Split time in seconds between 35m and 30m gate
Details
This data-set represents sub-set of data from a total of 220 high-level female athletes (151 soccer players and 69 field hockey players). Using a random number generator, a total of 52 players (35 soccer and 17 field hockey) were selected for this data-set. Soccer players were older (24.6±3.6 vs. 18.9±2.7 yr, p < 0.001), however there were no differences for height (167.3±5.9 vs. 167.0±5.7 cm, p = 0.886), body mass (62.5±5.9 vs. 64.0±9.4 kg, p = 0.500) or any sprint interval time (p > 0.650).
The protocol for assessing linear sprint speed has been described previously (Vescovi 2014, 2016, 2012) and was identical for each cohort. Briefly, all athletes performed a standardized warm-up that included general exercises such as jogging, shuffling, multi-directional movements, and dynamic stretching exercises. Infrared timing gates (Brower Timing, Utah) were positioned at the start line and at 5, 10, 20, and 35 meters at a height of approximately 1.0 meter. Participants stood with their lead foot positioned approximately 5 cm behind the initial infrared beam (i.e., start line). Only forward movement was permitted (no leaning or rocking backwards) and timing started when the laser of the starting gate was triggered. The best 35 m time, and all associated split times were kept for analysis. The assessment of linear sprints using infrared timing gates does not require familiarization (Moir, Button, Glaister, and Stone 2004).
Author(s)
Jason D. Vescovi
University of Toronto
Faculty of Kinesiology and Physical Education
Graduate School of Exercise Science
Toronto, ON Canada
vescovij@gmail.com
References
Moir G, Button C, Glaister M, Stone MH (2004). "Influence of Familiarization on the Reliability of Vertical Jump and Acceleration Sprinting Performance in Physically Active Men." The Journal of Strength and Conditioning Research, 18(2), 276. ISSN 1064-8011, 1533-4287. doi:10.1519/R-13093.1.
Vescovi JD (2012). "Sprint Speed Characteristics of High-Level American Female Soccer Players: Female Athletes in Motion (FAiM) Study." Journal of Science and Medicine in Sport, 15(5), 474-478. ISSN 14402440. doi:10.1016/j.jsams.2012.03.006.
Vescovi JD (2014). "Impact of Maximum Speed on Sprint Performance During High-Level Youth Female Field Hockey Matches: Female Athletes in Motion (FAiM) Study." International Journal of Sports Physiology and Performance, 9(4), 621-626. ISSN 1555-0265, 1555-0273. doi:10.1123/ijspp.2013-0263.
Vescovi JD (2016). "Locomotor, Heart-Rate, and Metabolic Power Characteristics of Youth Women's Field Hockey: Female Athletes in Motion (FAiM) Study." Research Quarterly for Exercise and Sport, 87(1), 68-77. ISSN 0270-1367, 2168-3824. doi:10.1080/02701367.2015.1124972.