Table of Contents
Analysis of Shoulder Angular Velocity between Elite Level and Average Collegiate Pitchers
Abstract
Shoulder angular velocity is a key metric in evaluating the effectiveness of a baseball pitch. While pitch performance is often linked to shoulder angular velocity, the complex nature of shoulder biomechanics presents challenges in standard analysis. In this study, we focus on the Z-axis (internal-external rotation) of shoulder angular velocity using a Y-X-Z Cardan sequence, particularly analyzing elite-level college pitchers and average collegiate pitchers.
We compare the top 10 pitchers, defined by their pitch speed, to the general college pitcher population. Contrary to our initial expectations, the findings reveal that there are no significant differences between the Elite Level Pitchers and the average collegiate pitching population in terms of shoulder angular velocity as found through an SPM analysis. This study provides insights into the complexity of shoulder motion in elite pitchers, highlighting that factors beyond shoulder angular velocity may contribute to superior pitch performance.
This investigation shows the utilization of Sift as a powerful tool that allows for efficient data processing and comparison to analyze motion capture data while evaluating the following research question:
How does the shoulder angular velocity, measured at the maximum height of the arm prior to ball release, differ between elite-level college pitchers (top 10 based on pitch speed) and average collegiate pitchers?
Data + Downloads and Relevant Links
This tutorial will be utilizing the public dataset available in Driveline Baseball’s R&D OpenBiomechanics Project which provides marker-based motion capture data of baseball players at varying levels of completion including independent, high school, college and the minor leagues.
This dataset is available here: OpenBiomechanics Project: Driveline Baseball Data
This dataset was made available because of an initiative started by Driveline Baseball to “provide raw (in the form of cleaned C3D files) and processed (full signal + point of interest) sports biomechanics data to the general public.” The aim is to accelerate progress in sports biomechanics by allowing researchers to study motion capture data and contribute to the understanding of athletic performance. It also provides a platform to foster collaboration between academic, industry and independent researchers.
Prior to beginning the process, you will need to process this large dataset, which can take a long time. Sift is designed to streamline the process by creating CMZ files which make it easier to inspect and group the data in the application. A detailed process of building CMZ files specified to this dataset is available on the wiki page at the tutorial for Build CMZ Files.
In order to complete this process, you will need to download HAS-Motion Specific Files which has relevant files such as scripts for the command pipeline, workspace and query files relevant to the dataset, and some of which need to be applied in order to make sense of the data.
Alternatively, you may opt to download a Pre-Built ZIP File to streamline the process, containing the following:
- Pre-built CMZ Files
- Query Definitions (Shoulder Angular Velocity (Z), Pitch Speed, Elite SAV (Z))
- Normal Database containing summary averages of the general pitching population
- Build Model MDH (File that defines the structure of the model and relationships between body segments)
- Command Scripts in order to adjust coordinate system and define events (end_event, updated_shoulderangle)
- Elite Pitchers folder (tag applied)
The focus of this investigation will be the baseball_pitching file which contains a data, code and imgs folder. A README fule is also present which provides some explanation on how the data was collected, which is strongly recommended to be read to boost your understanding of the concept being analyzed.
The data which is being used for analysis is contained within the c3d folder, with the motion capture parameters of 100 pitchers from different playing levels. However, to cut down the size of the dataset and explore the differences within the same level of competition, we decided to focus on only the majority group - college baseball pitchers. To remain uniform with directionality, only right handed players were used. A metadata file is also available in the baseball_pitching folder which provides information on the dataset. The metric parameter of highest_playing_level is used to be able to specify college players.
The static model of a participant is shown below from both front and back, also showing the setup of the trial environment. This contains 3 force plates, one for the player's back foot and two for the landing foot depending on the pitcher's handedness.
The pitching data was gathered through the use of 39 markers dispersed around the participant’s body. Specifically to this investigation, it is important to understand the coordinate system of the shoulder, as this is the area focused on for the tutorial.
As can be seen from the image, each joint has a specific coordinate system to understand the movement. Generally, for each coordinate system the following rules apply:
- X = Red, Y = Green, Z = Blue
- Use the right-hand rule for each direction of the coordinate system to find the rotation.
The shoulder overall is complex to analyze in biomechanics due to its complex range of motion and multiaxial movement. The Y-X-Z Cardan Sequence coordinate system is used because it captures this complexity by describing the shoulder's rotation in three planes, making it suitable [1]. In pitching, the X and Y aces have less direct meaning towards the pitch because the dominant motion occurs around the longitudinal axis (Z), where rotation is more critical for understanding the shoulder's contribution to pitch speed and mechanics.
The tag, signal and refinement options used during the analysis are shown in the table below:
Table 1: Relevant Definitions
Type | Specification | Definition |
TAG | R | Specifying RHP |
TAG | Elite | Top 10 Pitcher by Pitch Speed |
SIGNALS | Right_ShoulderAngularVelocity | Rate of change of angular position of the shoulder over time (deg/s) |
REFINEMENT | College | Filters c3d file, and retains data entries where “highest_playing_level” value equals “college” to receive only COLLEGE players. |
Building Normal Database
In order to make the comparisons between the top-level collegiate pitchers and the average college baseball pitcher population, we must make a normal database. This is used as a reference or baseline for comparing a group’s biomechanical data to a broader population. If you are interested, there is a Sift tutorial for building NDs found here: Normal Databases in Sift
Loading Data into Sift
Select Load Library on the left sidebar of the main load page in Sift
In the load library dialog, select Browse and navigate to the openbiomechanics-main folder, then to baseball_pitching, and finally to the c3d folder where the participant data is placed.
Then we can click Select Folder and Load to load in the dataset to the project. Once loaded, we are able to see the participant files in the main widget of the load page.
The + button can be selected beside each CMZ file in order to expand and reveal the contents. Here we can check the subject tags present, in this case the handedness of the pitcher.
Build Necessary Queries for Normal Database
If you are interested in going through the process of building your own queries, follow steps A-E. If you have downloaded the pre-built ZIP file, the required queries should already be available, simply selecting the Load Query Definitions button, and selecting the appropriate file should display the queries.
A. Navigate to the Explore Page and select the Query Builder button.
B. Click in the queries list to add a query. Give it the name R_ShoulderAngularVelocity_Z, click save. The condition name can also be the same.
C. The Signals Tab (allows the user to select specific signals according to their names in the Data tree):
Type: LINK_MODEL_BASED
Folder: ORIGINAL
Signal Name: Right_ShoulderAngularVelocity
Component: Z
D. The Events Tab (allows the user to specify the desired event sequence to extract data from):
Event Sequence: R_MAXShoulderAngle, END
E. The Refinement Tab (allows the user to refine their selected signal using two separate and distinct methods. The first being according to tags and the other being according to the signals contained within the workspace files.):
Select: Refine using Tag
Select: Refine using Signal
Select: 'R' Tag
Click Add Refinement, when the dialog box appears enter the following:
Name: College
Select: 'Global Value'
Type: TEXT_DATA
Value: college
After completing this process, select Calculate All Queries. Selecting the group and then checking the Select All Workspaces box will allow the plot to appear.
Clean Data
Looking at the plot created, you will be able to notice certain signals that may look like a faulty force assignment. For example, a marker may have fallen off the subject resulting in a large spike in an area where this behaviour is uncharacteristic. You may right-click on the signal and click on “Show Animation” to possibly find out what is causing the anomaly.
If you wish for the signal to be excluded:
Make sure to left-click on the specific signal to be excluded to focus on it
Right-click on the focused signal, select Exclude data, Exclude Trace (raw data)
Going through each of the workspaces and excluding certain trials can be helpful in improving the accuracy, consistency and overall model performance.
Build 'Elite' Group based on Top 10 Pitchers determined by Pitch Speed
For this comparison, we need to find the top 10 pitchers based on the metric of pitch speed, this will need to be found using another query. This query will represent the metric data and plot the pitch speed.
Query Name: PitchSpeed
Condition Name: PitchSpeed
Signals Tab:
Type: METRIC
Folder: meta
Signal Name: pitch_speed_mph
Component: X
Events Tab: No need to input the event sequence here as the metric data is unaffected.
Refinement Tab:
Select: Refine using Tag
Select: 'Elite' Tag
Select Calculate All Queries, the plot should show a bar graph of pitching speeds of each subject.
In the Plot Editor Box:
Select: Plot Workspace Mean
Unselect: Plot All Traces
This way it is easy to analyze the bar graph to select the top 10 pitchers. By left clicking to select the subject, and then right clicking to open the file it will open the Visual3D file of this individual.
Adding 'Elite' Tag
Each of the top 10 pitchers will need to have an 'Elite' tag, which can be done in the Visual3D workspace by:
1. Clicking on the button
2. Naming it 'Elite'
3. Selecting each trial for the Pitcher
4. Saving the workspace
This will allow us to refine the dataset to make a group of just the elite level pitchers to compare to the average college population of players not having an 'Elite' tag.
In our investigation, it was determined that the following subjects were 'Elite':
Table 2: List of Elite Pitchers_
Subject (File #) | Pitch Speed (mph) |
001596 | 93.8 |
001621 | 92.53 |
001667 | 91.1 |
001618 | 91.0 |
000874 | 90.9 |
001691 | 90.6 |
000750 | 90.4 |
001592 | 90.12 |
000952 | 89.3 |
000675 | 89.18 |
Build ND
1. Select the Build ND button on the explore page
2. On the left box for Query Groups, select R_ShoulderAngularVelocity_Z
3. On the right box for Meta Data and Summary Statistics, select Mean
4. Check: ALL Summary Levels (Library, Workspace and Trial) and Generate
5. Remember to save this normal database by clicking the “Browse” button and selecting a name and location.
Comparing Elite Players to Normal Database
With a new blank workspace in Sift, we are able to start the process of comparing the shoulder angular velocities of the 'Elite' group versus the average college pitcher population which is saved in the normal database.
Load 'Elite' Players
We want to load in our 'Elite' group in order to build queries for comparison
This can be done again use the Load Library button and including “Elite” in the Library Query textbox within the Load Library dialog. This will search through the c3d folder within the baseball_pitching data to load just the players we have tagged.
Alternatively, an 'Elite Pitchers' folder is included within the data folder downloaded in the provided ZIP file, in which case you may select Browse and navigate to this folder.
Load Normal Database
Next, we can load in the normal database created to begin the process in comparing the “Elite” group to the average pitcher group.
We can select Load ND from the Load page as well and select Browse to navigate to the location the normal database created earlier in this tutorial or sourced from the pre-built ZIP file is saved.
Once loaded in, information about the normal database should be shown on the lower half of the Load page.
Build Elite Queries
Now we can navigate to the “Explore” page on Sift. We need to construct a query to group the Right shoulder angular velocity signals of the elite pitchers. We can use the same process as before when we were building the average college pitcher shoulder angular velocity query with some minor adjustments. Alternatively, you may load in the pre-built Elite pitcher query definitions by selecting the LOAD QUERY DEFINITIONS button in the query builder and selecting the elite query definitions file.
Select the Query Builder button to open the dialog box and select the Add Query on the queries list and fill out the following information.
Query Name: Elite_ShoulderAngularVelocity_Z
Condition Name: Elite_ShoulderAngularVelocity_Z
Signals and Events tab remain uniform with the previously built queries.
- In the refinment tab, select refine using tag and select 'Elite'.
Remember to select Calculate All Queries after completing this step.
Build Normal Database Queries
Next, we can begin to construct our normal database queries to retrieve the queries for both the library and workspace summaries for the Z-direction. These are useful when creating the plots and deeper into the analysis when performing SPM.
When you query the library summary, you’re retrieving aggregate data which represents what the “average” college pitcher looks like in terms of shoulder angular velocity in the Z-direction. This data is used to compare the elite pitchers’ SAV to the baseline averages, giving insight into how the elite athletes differ from the norm.
Workspace summary queries allow you to make more granular comparisons. Instead of looking at overall population means, you can compare individual trials for average collegiate pitchers to those of elite pitchers. This can help in assessing consistency in performance and how much variation exists between trials for elite pitchers versus the average college pitcher population.
Select the ND Query Builder button in the explore page to open the dialog box.
Query #1: Library Summary
Query Name: R_SAV_Z_Lib
ND Signal: R_ShoulderAngularVelocity_Z
Summary Level: LIBRARY_SUMMARY
Summary Statistic: Mean
Query #2: Workspace Summary
Query Name: R_SAV_Z_Workspace
ND Signal: R_ShoulderAngularVelocity_Z
Summary Level: WORKSPACE_SUMMARY
Summary Statistic: Mean
These ND Query Definitions are also available on the pre-built ZIP file. Which can be loaded in by selecting the Load ND Query Definitions button in the dialog box. After creating these queries, we can select the Query ND Signals button.
All queries should show on the ‘group’ tab, you can see that for a regular query the type is stated as ‘Q’ and for a normal database query it is ‘N’. We are now able to compare the Elite Pitchers against the normal database of the average college pitchers.
Analysis and Results
Library Summary Comparisons
The library summary represents a mean signal derived from a large number of individuals, providing a baseline of what is considered a typical movement for the general college pitcher population. By using this as a reference, you can see how the elite pitchers deviate from or align with the general college pitcher population.
On the explore page, Hold Down CTRL and Left-Click both the Elite_ShoulderAngularVelocity_Z query as well as the R_SAV_Z_Lib. Make sure Select All Workspaces is checked off.
In the plot editor box, select Plot Group Mean and Plot Group Dispersion. Unselect Plot All Traces.
This will provide the first plot of comparison between the Elite and average population groups, which can be used for analysis.
Make sure that the colour palette and thickness of the data allows for easy viewing of the differentiation between the two groups. If you need to edit this, navigate to the Data Styles dialog box and edit any required settings.
In order to present the plot formally, you will need to add axes titles, a plot title and a legend in order to provide a reader with context of the plot. This can be done with the settings within the Plot Styles dialog box.
Comparison of Elite Pitcher SAV Internal-External Rotation Signal vs. Normal Database Mean (Z-Direction)
This plot shows the comparison of elite pitcher shoulder angular velocity for the internal-external rotation signal (Z-direction) versus the normal database mean for the same, which represents the general college pitcher population. Typically, the expectation going into this investigation was that elite pitchers tend to have a higher shoulder angular velocity in order to increase pitch speed. However, the data presented in the graph shows an unexpected result: the mean shoulder angular velocity in the Z-direction for elite pitchers (blue line) is lower than that of the normal database mean (red line). To get a better understanding of the differences between the elite level and average collegiate pitcher population, we can move on to performing further statistical analysis such as SPM.
SPM Analysis
Statistical Parametric Mapping (SPM) is used in biomechanics to assess whether there are statistically significant differences between time-dependent data series. In this case, the SPM analysis is comparing the internal-external rotation signals of elite pitchers (Group 1) and the normal population workspace summaries (Group 2).
First, we can navigate to the “Analyze” page to begin to perform our SPM.
Select the Elite_ShoulderAngular_Z and R_SAV_Z_Workspace by holding down CTRL and selecting all workspaces.
Switch to the SPM Tab and create a GLM. The following information can be inputted into the dialog box:
GLM Name: GLM_SAVZ
Group by: Group
Then move to the statistics page, and select Compute SPM, the dialog box should open.
The following can be entered:
SPM Name: SPM_SAVZ
Statistic: t Statistic
Group 1: Elite_ShoulderAngularVelocity_Z
Group 2: R_SAV_Z_Workspace
The SPM plot analysis, using an alpha level of 0.05, reveals a critical t-statistic threshold of 2.73, indicated by the dashed red line at the top of the graph. This threshold represents the point beyond which differences in shoulder angular velocity (SAV-Z) between elite pitchers and the general collegiate population would be considered statistically significant. However, throughout the entire range of normalized motion, the observed t-statistic consistently remains below this threshold, suggesting that there are no statistically significant differences in SAV-Z between the two groups.
Conclusion
Using Sift, we were able to streamline the analysis of shoulder angular velocity in the Z-direction between elite and average collegiate pitchers. The tool enabled precise comparison through query building and statistical parametric mapping (SPM). Although our results showed that the Elite Pitcher group had a lower mean SAV-Z than the average college population, the SPM showed no significant differences between the two groups. Due to the complexity of elite-level pitching mechanics, factors beyond shoulder angular velocity may be contributing to their superior performance such as lower body kinetics, trunk rotation, core stability and more.
References
Data Set: OpenBiomechanics Project is an initiative started by Driveline Baseball Research & Development to provide raw (in the form of cleaned C3D files) and processed (full signal + point of interest) sports biomechanics data to the general public [2]