Swing quality measurement system
1. A swing quality measurement system comprising:
- a memory;
a processor coupled with said memory;
a first communication interface;
a sensor configured to capture sensor data associated with a bat during a swing of said bat by a user;
a bat geometry stored in said memory, said bat geometry comprisinga hand position along a longitudinal axis of said bat; and
a sweet spot position along said longitudinal axis;
wherein said processor is coupled to said sensor via said first communication interface, and whereinsaid processor is configured toobtain said bat geometry;
receive said sensor data from said sensor;
obtain or calculate acceleration data from said sensor data;
obtain or calculate angular velocity data from said sensor data;
calculate a trajectory of said hand position from said acceleration data and said angular velocity data;
calculate a trajectory of said sweet spot position from said acceleration data and said angular velocity data;
calculate a trajectory of said longitudinal axis from said acceleration data and said angular velocity data;
determine a time of impact of said swing from said acceleration data and said angular velocity data;
calculate a body tilt axis of said user from said trajectory of said hand position, wherein said body tilt axis is perpendicular to a plane passing through three different points of said trajectory of said hand position;
calculate a swing plane, wherein said swing plane is spanned by a velocity vector of said sweet spot position at said time of impact and said longitudinal axis at said time of impact; and
,calculate one or more swing quality metrics based on one or more ofsaid sensor data;
said acceleration data;
said angular velocity data;
said time of impact;
said trajectory of said hand position;
said trajectory of said sweet spot position;
said trajectory of said longitudinal axis;
said body tilt axis; and
,said swing plane.
A system that measures a swing of a bat with one or more sensors and analyzes sensor data to create swing quality metrics. Metrics may include for example rotational acceleration, on-plane efficiency, and body-bat connection. Rotational acceleration measures the centripetal acceleration of the bat along the bat'"'"'s longitudinal axis at a point early in the rotational part of the swing; it is an indicator of the swing'"'"'s power. On-plane efficiency measures how much of the bat'"'"'s angular velocity occurs around the swing plane, the plane spanned by the bat and the bat'"'"'s sweet spot velocity at impact. Body-bat connection measures the angle between the bat and the body tilt axis, which is estimated from the trajectory of the hand position on the bat through the swing; an ideal bat-body connection is near 90 degrees. These three swing quality metrics provide a simple and useful characterization of the swing mechanics.
|System for determining the speed and/or timing of an object|
Patent #US 6,292,130 B1
Current AssigneeSportsmedia Technology Corporation
Sponsoring EntitySportvision Inc.
|Sports analysis and testing system|
Patent #US 6,042,492 A
Current AssigneeCharles S. Baum
Sponsoring EntityCharles S. Baum
|Sports implement swing analyzer|
Patent #US 5,056,783 A
Current AssigneeBATRONICS INC.
Sponsoring EntityBATRONICS INC.
|Device for measuring swing data of baseball bat|
Patent #US 4,515,365 A
Current AssigneeMitsubishi Electric Corporation
Sponsoring EntityMitsubishi Electric Corporation
|BASEBALL BATTING TRAINER|
Patent #US 20150258402A1
Current AssigneeAbout 52 Feet Llc
Sponsoring EntityAbout 52 Feet Llc
|PITCHING SIMULATOR SYSTEMS AND METHODS|
Patent #US 20170157484A1
Current AssigneeInMotion Systems LLC
Sponsoring EntityInMotion Systems LLC
|Swing analysis method using a swing plane reference frame|
Patent #US 9,694,267 B1
Current AssigneeBlast Motion Incorporated
Sponsoring EntityBlast Motion Incorporated
|Swing analysis method using a sweet spot trajectory|
Patent #US 10,124,230 B2
Current AssigneeBlast Motion Incorporated
Sponsoring EntityBlast Motion Incorporated
- 1. A swing quality measurement system comprising:
a memory; a processor coupled with said memory; a first communication interface; a sensor configured to capture sensor data associated with a bat during a swing of said bat by a user; a bat geometry stored in said memory, said bat geometry comprising a hand position along a longitudinal axis of said bat; and a sweet spot position along said longitudinal axis; wherein said processor is coupled to said sensor via said first communication interface, and wherein said processor is configured to obtain said bat geometry; receive said sensor data from said sensor; obtain or calculate acceleration data from said sensor data; obtain or calculate angular velocity data from said sensor data; calculate a trajectory of said hand position from said acceleration data and said angular velocity data; calculate a trajectory of said sweet spot position from said acceleration data and said angular velocity data; calculate a trajectory of said longitudinal axis from said acceleration data and said angular velocity data; determine a time of impact of said swing from said acceleration data and said angular velocity data; calculate a body tilt axis of said user from said trajectory of said hand position, wherein said body tilt axis is perpendicular to a plane passing through three different points of said trajectory of said hand position; calculate a swing plane, wherein said swing plane is spanned by a velocity vector of said sweet spot position at said time of impact and said longitudinal axis at said time of impact; and
calculate one or more swing quality metrics based on one or more of said sensor data; said acceleration data; said angular velocity data; said time of impact; said trajectory of said hand position; said trajectory of said sweet spot position; said trajectory of said longitudinal axis; said body tilt axis; and
said swing plane.
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
- 17. A swing quality measurement system comprising:
a memory; a processor coupled with said memory; a first communication interface; a bat geometry stored in said memory, said bat geometry comprising a hand position along a longitudinal axis of said bat; and a sweet spot position along said longitudinal axis comprising one or more of an optimum location on said bat for striking a ball; a position on said bat that maximizes energy transfer when striking said ball; a position on said bat that maximizes ball speed when striking said ball; and
a position on said bat that minimizes vibration when striking said ball; said processor coupled to said sensor via said first communication interface, and configured to obtain said bat geometry; receive said sensor data from said sensor; obtain or calculate acceleration data from said sensor data; obtain or calculate angular velocity data from said sensor data; determine a time of impact of said swing from said acceleration data and said angular velocity data; calculate a swing plane, wherein said swing plane is spanned by a velocity vector of said sweet spot position at said time of impact and said longitudinal axis at said time of impact; calculate a start time of centripetal acceleration comprising a time during said swing at or near a time when a longitudinal acceleration changes sign, wherein said longitudinal acceleration comprises said acceleration data projected onto said longitudinal axis; define a swing plane coordinate system comprising a z-axis along said longitudinal axis; a y-axis normal to said swing plane; and an x-axis orthogonal to said y-axis and to said z-axis; transform said angular velocity data to said swing plane coordinate system, to yield a time series of transformed angular velocities, wherein each transformed angular velocity of said time series of transformed angular velocities comprises a vector sum of a z-axis angular velocity; a y-axis angular velocity; and an x-axis angular velocity; calculate a time series of rotation-on-plane ratios, each rotation-on-plane ratio of said time series of rotation-on-plane ratios comprising a ratio of a magnitude of said y-axis angular velocity to a magnitude of a vector sum of said y-axis angular velocity and said x-axis angular velocity; calculate a time series of body-bat angles, wherein each body-bat angle of said time series of body-bat angles comprises an angle between said longitudinal axis and said body tilt axis; calculate one or more swing quality metrics comprising a rotational acceleration metric comprising a difference between
said longitudinal acceleration at an early rotation time, wherein said early rotation time comprises said start time of centripetal acceleration plus a fixed offset; and
said longitudinal acceleration at said start time of centripetal acceleration;
an on-plane efficiency metric comprising an average of said time series of rotation-on-plane ratios from said start time of centripetal acceleration to said time of impact; a connection-at-impact metric comprising said body-bat angle at said time of impact; and
a connection-early metric of said one or more swing quality metrics comprising said body-bat angle at said start time of centripetal acceleration.
This application is a continuation-in-part of U.S. Utility patent application Ser. No. 16/189,889, filed 13 Nov. 2018, which is a continuation of U.S. Utility patent application Ser. No. 15/628,613, filed 20 Jun. 2017, issued as U.S. Pat. No. 10,124,230, which is a continuation-in-part of U.S. Utility patent application Ser. No. 15/214,339, filed 19 Jul. 2016, issued as U.S. Pat. No. 9,694,267, the specifications of which are hereby incorporated herein by reference.
This application is also a continuation-in-part of U.S. Utility patent application Ser. No. 16/166,490, filed 22 Oct. 2018, which is a continuation of U.S. Utility patent application Ser. No. 15/590,398, filed 9 May 2017, issued as U.S. Pat. No. 10,109,061 which is a continuation of U.S. Utility patent application Ser. No. 15/087,776, filed 31 Mar. 2016, issued as U.S. Pat. No. 9,646,199, which is a continuation in part of U.S. Utility patent application Ser. No. 14/801,568, filed 16 Jul. 2015, issued as U.S. Pat. No. 9,396,385, the specifications of which are hereby incorporated herein by reference.
One or more embodiments setting forth the ideas described throughout this disclosure pertain to the field of motion capture sensors and analysis of motion capture data. More particularly, but not by way of limitation, one or more aspects of the invention enable a method for analysis of a baseball swing using data captured from a motion sensor on the bat.
Methods for analyzing swings of a piece of equipment, such as a golf club, tennis racquet or baseball swings for example include video capture systems that record high speed video of a swing and that analyze the motion of the piece of equipment, club, racquet or bat, etc., and the player from the video. These systems are typically expensive and complex, and they are not portable. Another method is to attach a motion sensor to the piece of equipment, e.g., a bat, etc., and to analyze motion data captured by the sensor during the swing. A significant challenge for these sensor based solutions is interpretation of the sensor data. In particular, sensors typically capture data in a local reference frame defined by the sensor geometry. This sensor reference frame moves and rotates constantly throughout a swing. For example, for a baseball bat, this challenge is more complex since the bat has rotational symmetry around its long axis; thus the batter can hold the bat in multiple orientations while swinging, which changes the sensor data. This applies to other sports that involve a swing of a piece of equipment and any discussion oriented towards a bat herein is not limiting, and can be applied to any other type of equipment that involves a swing as well. There are no known methods that transform swing sensor data from a sensor based reference frame to a meaningful reference frame that is insensitive to these changes in orientation. Existing methods emphasize vector magnitudes (such as total swing speed) in defining swing metrics because these magnitudes are invariant to rotations in the sensor reference frame. However, individual components of sensor measurements along carefully chosen transformed axes provide more detailed and more physically meaningful information.
In baseball and related sports, the trajectory of specific point on the bat or other piece of equipment, for example the sweet spot, is of particular importance since this is the optimum location on the bat for striking the ball. There are no known methods that combine analysis of the sweet spot trajectory with a swing plane reference frame.
Another limitation of existing methods for analyzing swings is that the quantities measured and reported cannot be easily correlated to swing mechanics or to the factors that make for efficient and effective swings.
For at least the limitations described above there is a need for a swing quality measurement system.
Embodiments of the invention enable a method to analyze a swing of a piece of equipment, for example a baseball bat, tennis racquet, or golf club, etc., by transforming sensor data captured during the swing to a reference frame that reflects the physics and geometry of the swing itself. This reference frame is called a swing plane reference frame. Metrics defined with respect to the swing plane reference frame provide a detailed characterization of a swing; these metrics can be compared across swings to analyze the factors that affect swing performance. For simplicity, examples directed at baseball bat swings are detailed herein, however, the exemplary embodiments described herein may also be applied to any other piece of equipment that involves a swing, including but not limited to a golf club, tennis racquet, etc.
One or more embodiments of the invention may obtain sensor data from a sensor coupled to a bat while the bat is swung to hit or otherwise contact a ball. The bat may be for example, without limitation, a baseball bat, a softball bat, or a cricket bat. The sensor may for example be an inertial motion sensor that includes any or all of a three axis accelerometer, a three axis gyroscope, and a three axis magnetometer. The sensor may be a compound sensor that incorporates multiple individual sensors of any types. A compound sensor may include multiple sensors at different locations on the bat; for example, without limitation, some sensors may be located on the knob of the bat, and other sensors may be located at the tip of the bat. Sensor data may be collected throughout the swing, for example at a rate of 10 Hz, 100 Hz, 1000 Hz, or more. The sensor data may be analyzed to determine the time of impact between the bat and a ball. For example, accelerometer data, i.e., or acceleration data, may detect the shock of the impact. A bat trajectory may be calculated from the sensor data. The trajectory may include motion data samples at multiple points in time throughout the swing; each motion data sample may describe one or more of the bat'"'"'s position, orientation, velocity, angular velocity, acceleration, or angular acceleration at a point in time.
Analysis of the bat trajectory may include calculating an impact velocity vector for the velocity of the bat at the time of impact with the ball. Using the impact velocity vector, a reference frame called the swing plane reference frame may be defined for the swing. The swing plane reference frame may be formed from three axes: a first axis may be the longitudinal axis of the bat; a second axis may be the impact velocity vector; and a third axis may be orthogonal to the swing plane spanned by the first (bat) axis and the second (impact velocity) axis. The angular velocity vector of the bat, which is the rotational axis that is perpendicular to the bat'"'"'s instantaneous plane of rotation, may also be used to define or calculate one or more of the axes of the swing plane reference frame. The bat trajectory may then be transformed to the swing plane reference frame for further analysis. This analysis may include creating one or more swing metrics from the transformed bat trajectory.
Illustrative metrics that may be defined using the transformed bat trajectory include the following: Swing plane speed at any point in time during the swing may be defined as an instantaneous rotational speed of the bat trajectory projected onto the swing plane. In one or more embodiments, this swing plane speed may be calculated by projecting angular velocity onto the normal vector of the swing plane. Swing duration may then be calculated by defining the start of downswing as the latest time prior to impact when the swing plane speed has magnitude zero. Subtracting the start of downswing from the time of impact generates a duration metric called the time to contact, which measures how quickly the batter responds. The amount of bat motion may be measured as the total angle traversed by the bat both in the swing plane (yielding a metric called total swing angle) and in a plane orthogonal to the swing plane (yielding a different metric called off plane angle). A measure of bat acceleration through the swing may be defined by measuring the swing plane speed at the halfway point of a swing; the ratio of this halfway point swing plane speed to the peak swing plane speed through the swing is defined as the swing tempo metric.
One or more embodiments may obtain a database of swings from multiple players. Analysis of the database may be used to generate one or more performance rating functions that rate swings on their relative performance. These performance rating functions may be applied to rate future swings, and to provide feedback to users on the performance and characteristics of their swings. Metrics and other data associated with swings in the database may be combined into feature vectors that may be used for classification and matching algorithms. For example, analysis of the database may be used to group swings into swing styles, where swings associated with the same swing style have similar feature vectors. Feature vector clustering and matching may be used to provide feedback to a user on the style of his or her swing, and to identify other users with similar swings. The feature vector may also include other data related to the swing event, such as for example incoming pitch trajectory or classification, outgoing ball trajectory, or game outcome (such as foul, fly-out, home run, etc.) in order to refine classification and analysis.
In situations where sensor data is unavailable or is saturated at the limit of the sensor'"'"'s range for a time interval during a swing, one or more embodiments may extrapolate sensor data prior to or after the interval to estimate actual values during this interval. Extrapolation may for example use a Bézier curve. The curve may be for example a cubic Bézier curve with four control points that are selected to match the values and the slopes of the sensor data curve at the endpoints of the interval. One or more embodiments may use a Kalman filter, or a similar state space estimator, to extrapolate sensor data into the time interval. A Kalman filter may for example incorporate a kinematic model of the bat in order to predict motion parameters when sensor readings are not able to fully track the motion, for example because the motion is outside the sensor'"'"'s measurement range.
One or more embodiments of the invention may calculate a trajectory of the sweet spot or of a similar or other point on a bat or piece of equipment, and may derive metrics describing a swing from this trajectory. The sweet spot trajectory may be calculated from sensor data, for example from a sensor coupled to the bat, which may for example include accelerometer or gyroscope data. Data may be transformed to a reference frame that may for example be centered at the sweet spot at the time of impact. A reference frame may be defined for example, without limitation, with a z-axis pointing vertically upward, and an x-axis oriented so that the longitudinal axis of the bat is in the xz-plane at impact. The time of impact may be calculated by searching the sensor data time series for event signatures that may for example have acceleration and angular velocity exceeding respective threshold values. A sweet spot as utilized herein may also indicate a range of location or shape of area on the piece of equipment where an impact occurs or is to occur, wherein the sweet spot meets a predefined threshold, or value, for maximum energy transfer, maximum ball speed or least vibration or any other metric related to efficiency or power for example, or using any other metric to define the location or range or area or area range on the piece of equipment.
One or more embodiments may detect a virtual impact for an air swing, when a bat may not physically strike a ball. For example, one or more embodiments may detect an air swing by determining whether the swing is a valid air swing, and then detecting a point in the swing when angular velocity in the xy-plane is maximum. A valid air swing may for example require that peak xy angular velocity and peak z-axis acceleration exceed respective threshold values.
One or more embodiments may calculate a start of downswing for a swing, and may calculate a time to contact metric as a difference between the time of impact and the start of downswing.
One or more embodiments may calculate the trajectory of the position of the hands on the bat through the swing. This trajectory may be used for example to calculate a center of rotation for the swing. For example, the center of rotation may be calculated as a point equidistant from the hand position at three different points on the hand trajectory. An axis of rotation may be calculated as an axis perpendicular to the plane through these three points. A body tilt angle may be calculated as the angle between the axis of rotation and the vertical direction.
One or more embodiments may calculate and use a two-lever model of the swing, which models the swing mechanics as a body lever extending from the center of rotation to the hand position, and a bat lever that extends from the hand position to the sweet spot. A body ratio metric may be calculated based on the ratio of the rotation of the body lever through the swing to the rotation of the bat lever. The angle between the bat lever and the body lever changes through the swing as the batter cocks and then releases the wrist. A hinge angle may be calculated through the swing based on the relative orientation between the bat lever and the body lever; for example, the hinge angle may be defined as the angle between the bat lever and the tangent to the body lever. The hinge angle at impact may be used as a swing metric.
A commit event may be calculated to reflect when the batter releases the wrist during the swing. For example, the time of commit may be calculated as the time when the angular velocity of the hinge angle exceeds a threshold value. The hinge angle at the time of commit may be used as a swing metric. The hinge release metric may be calculated as the difference between the hinge angle at impact and the hinge angle at commit.
One or more embodiments may determine a swing plane for the swing. The swing plane may be calculated based on the position, orientation, and velocity of the bat at the time of impact. For example, the swing plane may be a plane through the sweet spot at impact, which is spanned by the bat'"'"'s longitudinal axis at impact and by the velocity vector of the sweet spot at impact.
At any point in the swing, the distance between the sweet spot and the swing plane may be calculated as an off-plane distance. An on-plane event may be calculated as the point in the swing when the off-plane distance is within a specified threshold and remains within this threshold until impact. An on-plane metric may be calculated as the angular range of motion of the bat or of one or both of the body and bat levers between the on-plane event and the impact event.
The bat forward velocity at any point in time may be calculated as the velocity of the sweet spot projected onto a plane perpendicular to the longitudinal axis of the bat. Bat speed at impact may be calculated as the forward bat speed at the time of impact. A peak bat speed may be calculated as the maximum forward bat speed through the swing. Swing power may be calculated as a product of the bat speed at impact, the mass of the bat, and the average acceleration of the sweet spot during the swing.
A swing plane tilt angle metric may be calculated as the angle between the bat'"'"'s longitudinal axis at impact and the horizontal. An attack angle metric may be calculated as the angle between the sweet spot velocity vector at impact and the horizontal.
One or more embodiments of the invention may include utilizing sound or at least one Virtual Reality (VR), Augmented Reality (AR) or Mixed Reality (MR) display, glasses or goggles to provide bio-feedback to the user. For example, in one or more embodiments, a sound or visual display may be utilized to provide feedback to the user to indicate a correct position, or movement has been achieved. This enables a user to work on portions of a swing or an entire swing using different body positions, for example to simulate different feet positions in a sand trap for a golf swing for example and obtain feedback regarding the position and/or swing using sound or visual feedback. In addition, by providing metrics regarding the body position, body movement, piece of equipment position, piece of equipment movement or any combination thereof, embodiments of the invention enable a user to work on developing more power and improving skills in a bio-feedback environment and/or combine environment. Embodiments of the system also enable rehabilitation and general training of the body based on the data gathered by the system to suggest areas of the body to strength or stretch to improve the range of motion to avoid injury through use of correct biomechanics.
One or more embodiments of the invention may include an inertial sensor on or in a bat, and a processor that analyzes data from the inertial sensor to generate one or more swing quality metrics. The processor may be attached to a memory that contains a bat geometry definition, which may for example define a hand position and a sweet spot position along the longitudinal axis of the bat. The processor may receive a time series of inertial sensor data, including acceleration data from a three-axis accelerometer and angular velocity data from a three-axis gyroscope. It may then calculate the trajectory of the hand position, the trajectory of the sweet spot, and the trajectory of the bat'"'"'s longitudinal axis, and the time the bat impacts the ball. From the hand trajectory, the processor may calculate the body tilt axis as the normal to the plane that passes through three distinct points of the hand trajectory. It may calculate the swing plane that is spanned by the velocity vector of the sweet spot at impact and the bat longitudinal axis at impact. It may calculate one or more swing quality metrics based on any or all of the data described above, including for example based on one or more of the time series of inertial sensor data, the time of impact, the trajectories of the hand position, sweet spot, and bat longitudinal axis, the body tilt axis, and the swing plane.
In one or more embodiments, the sweet spot position on the bat may correspond to any or all of an optimum location on the bat for striking the ball, a position on the bat that maximizes energy transfer or ball speed, and a position on the bat that minimizes vibration when hitting the ball.
In one or more embodiments, the longitudinal acceleration—the acceleration of the bat along its longitudinal axis—may be used to calculate a rotational acceleration metric. The start of centripetal acceleration may be calculated as the time at or near a change in sign of the longitudinal acceleration, and an early rotation time may be calculated as a fixed offset after this start of centripetal acceleration. The fixed offset may be for example in the range of 10 to 50 milliseconds. A rotational acceleration metric may be calculated as the difference between the longitudinal acceleration between the early rotation time and the start of centripetal acceleration.
One or more embodiments may calculate a rotation-on-plane ratio at points in time during the swing, and use this ratio to calculate an on-plane efficiency metric. This ratio may be based on angular velocity values transformed to a swing plane coordinate system with the z-axis along the bat longitudinal axis, the y-axis normal to the swing plane, and the x-axis orthogonal to the y and z axes. The rotation-on-plane ratio may be calculated as the ratio of the magnitude of the y-axis angular velocity to the magnitude of the vector sum of the x and y axis angular velocities. The on-plane efficiency may be calculated as the average of the rotation-on-plane ratio between the start of centripetal acceleration and the time of impact.
One or more embodiments may calculate a body-bat angle at points in time during the swing, and use this angle to calculate one or more connection or disconnection metrics. The body-bat angle may be calculated as the angle between the bat longitudinal axis and the body tilt axis. A connection-at-impact metric may be calculated as the body-bat angle at the time of impact. A connection-early metric may be calculated as the body-bat angle at the start of centripetal acceleration. A disconnection-at-impact metric may be calculated as the absolute value of the difference between the connection-at-impact and 90 degrees. A disconnection-early metric may be calculated as the absolute value of the difference between the connection-early and 90 degrees. An average-disconnection metric may be calculated as the average of the disconnection-at-impact and the disconnection-early.
The above and other aspects, features and advantages of the ideas conveyed through this disclosure will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings wherein:
A swing quality measurement system will now be described. In the following exemplary description numerous specific details are set forth in order to provide a more thorough understanding of the ideas described throughout this specification. It will be apparent, however, to an artisan of ordinary skill that embodiments of ideas described herein may be practiced without incorporating all aspects of the specific details described herein. In other instances, specific aspects well known to those of ordinary skill in the art have not been described in detail so as not to obscure the disclosure. Readers should note that although examples of the innovative concepts are set forth throughout this disclosure, the claims, and the full scope of any equivalents, are what define the invention.
In the embodiment shown in
Data from sensor 104 is obtained in step 110. One or more embodiments may use any data transfer technology or technologies to obtain sensor data. For example, without limitation, data may be transferred over a wireless network, over a wired network, or using a data storage medium that is moved from one system to another. Data may be obtained in real time during a swing, obtained after a swing occurs, or obtained using a combination of real-time transfer and transfer after a swing event.
Steps 120 through 170 analyze data from sensor 104 to characterize the swing, resulting in swing metrics 180. These steps may be performed in any order, or in parallel. These steps may be performed on any system or combination of systems. For example, without limitation, any or all of these steps may be performed on a computer, a mobile computer, a laptop computer, a notebook computer a desktop computer, a tablet computer, a mobile phone, a smart phone, a smart watch, a microprocessor, a server, or a network of any of these devices. In one or more embodiments the sensor 104 may contain a processor or processors that perform some or all of the steps 110 through 170.
Step 120 determines the time of impact between bat 102 and ball 103. This step may for example detect a signature in the sensor data that indicates a collision. For example, if sensor 104 includes an accelerometer such as accelerometer 105, a rapid spike in acceleration may be a signature of an impact. Similarly, if sensor 104 includes a gyroscope such as gyroscope 106, a rapid reduction in angular velocity may be a signature of an impact. One or more embodiments may for example use sensors that directly measure impact, such as pressure sensors or contact switches. In one or more embodiments, a swing endpoint may be defined even if the bat does not hit the ball, for example during practice swings, air swings, or strikes. This swing endpoint may be based for example, without limitation, on parameters such as the location of the bat relative to the plate or to an incoming ball, the aim angle of the bat, or the point in time when the bat achieves maximum velocity or maximum angular velocity. A calculated swing endpoint may be used instead of an actual impact time for any of the subsequent metric calculations described below.
Step 130 calculates a trajectory of the bat 102 from a starting point of the swing through the impact time determined in step 120. In one or more embodiments the trajectory may also extend beyond the impact or prior to the start of the swing. The bat trajectory may be a time series of motion data samples, each of which represents the state of the bat at a point in time during the swing. For example, each sample may include data on any or all of the bat'"'"'s position, orientation, velocity, angular velocity, acceleration, or angular acceleration. In one or more embodiments a sample may include data for multiple locations on the bat. Methods to calculate an object'"'"'s trajectory from motion sensor data are known in the art. For example, one or more embodiments may use inertial navigation algorithms known in the art to calculate the position and orientation of the bat over time from acceleration data (for example from accelerometer 105) and from angular velocity data (for example from gyroscope 106). Data from other sensors, such as for example magnetometer 107, may for example provide redundant measurements to correct errors in inertial navigation algorithms.
Because the orientation and position of sensor 104 changes throughout the swing, the bat trajectory calculated in step 130 may not be in a convenient form for analysis. Therefore, in step 150 a standardized reference frame is defined based on the swing itself. We refer to this reference frame as the swing plane reference frame. In step 160 the bat trajectory is transformed to this reference frame. In step 170 the transformed trajectory is used to analyze the swing, and to generate one or more swing metrics describing and characterizing the swing. Illustrative swing metrics 180 describe for example the timing of the swing, the speed of the swing, and the angles traversed during the swing.
In the example shown in
One or more embodiments of the invention may analyze the bat trajectory in the swing plane reference frame to measure and characterize the swing.
The curve of swing plane speed over time through the swing provides additional useful information about the swing.
Using the start of downswing 503 and the time of impact 502, a total swing time, which we refer to as the time to contact metric, may be defined as the difference 504 between the impact time 502 and the start of downswing time 503. This time to contact metric is an important metric related to the batter'"'"'s ability to read the pitch.
The rate at which the swing plane speed increases through the swing also provides a useful metric.
This definition of the swing tempo metric is based on the insight from comparing statistical distributions, where the greatest variability in deviation from an ideal curve occurs at the half-way point between two fixed endpoints. The significance of this metric comes from an understanding of the kinematic chain (hips, shoulders, arms, wrists) for transferring energy from the body to a baseball bat. A rotationally efficient swing will derive a certain amount of energy from the hips and shoulders compared to the arms and wrists. We can infer how rotationally efficient a baseball swing is by the percentage of speed in the “body” half of the swing relative to the “arm” half. An ideal swing tempo range is learned from empirical data collected from elite-level batters. Deviation from the ideal tempo range, either high or low, is used to provide feedback and prescribe drills to the batter in order to improve performance. A low tempo typically indicates that the swing is dominated by arms (e.g., casting), while a high tempo indicates that a swing is dominated by body (at the expense of bat control).
In one or more embodiments, additional tempo metrics may be defined at other points in a swing, in addition to the halfway point tempo metric described above. For example, without limitation, an early tempo metric may be defined as the fraction of peak speed achieved at the 25% point of the swing, a mid-tempo metric may be defined as the fraction of peak speed achieved at the 50% point of the swing (as discussed above), and a late tempo metric may be defined as the fraction of peak speed achieved at the 75% point of the swing. The three tempo metrics may isolate the effect of different segments of the kinematic chain of the swing; for example, the early tempo metric may characterize the rotation of hips and torso, the mid-tempo metric may characterize the rotation of the torso and arms, and the late tempo metric may characterize the rotation of the arms and bat. These percentages are illustrative; one or more embodiments may measure swing tempo at any point or points in a swing.
In one or more embodiments, swing data and swing metrics may be collected from multiple users and organized in a swing database for further analysis.
Using the analysis illustrated in
One or more embodiments may provide feedback to a batter or to other users (such as a coach or trainer) using any desired method or system. For example, without limitation, feedback may be displayed on any computer, laptop, notebook, tablet, mobile phone, smart watch, or wearable device. Feedback may be provided using a specific app, or transmitted via general messaging systems such as email or text messages. Feedback may be audio, visual, haptic, or any combination thereof.
In some situations, one or more of the sensors that measure the motion the bat may have insufficient range to measure the complete motion throughout the entire swing.
To address this issue, one or more embodiments of the invention may extrapolate sensor data from prior to or after the time interval 1105 when the sensor is saturated. Extrapolation may also be used when sensor data is unavailable for a period of time for any other reason, for example because of a limited sampling rate, a recalibration period, or a defective sensor. Extrapolation may be used for any sensor or sensors, or any axis of any sensor or sensors. Embodiments may use any method to extrapolate sensor data into any time interval.
One or more embodiments may select control points for a Bézier curve in such a way as to satisfy the initial and/or final conditions (magnitude and slope) and also to satisfy additional constraints on the maximum absolute value and maximum extrapolation duration. For two-sided extrapolation (no impact events), four control points may be used as shown for example in
Another approach to extrapolation that may be used in one or more embodiments is to use a Kalman filter (or a variation of a Kalman filter like an Extended Kalman Filter or an Unscented Kalman Filter).
In general, one or more embodiments may use a recursive state space estimator (e.g., Kalman filter) with a kinematic model of the physical body or equipment being measured. The state-space propagation model may be used to impose appropriate physical constraints. The state space estimate and its uncertainty (covariance) may be updated using the non-saturated measurements from the various sensors. An estimate of the missing (saturated) parameter may then be derived from the state space estimate. Likewise, the uncertainty in the estimated parameter may be derived from the model uncertainty. Either the state space propagation model or the measurement model (or both) may be non-linear, in which case a linearized (EKF) or sigma-point (UKF) filter may be used. Finally, the uncertainty in the extrapolated time series (or the state space estimate itself) may be propagated to derived metrics. For example, in a baseball swing like the swing illustrated in
In one or more embodiments, a swing of a bat or similar equipment may be decomposed into key events and metrics that provide insight into overall swing quality. Some of these events and metrics may be related to or derived from the trajectory of a sweet spot of the bat.
In one or more embodiments, an illustrative definition of a sweet spot may be a location somewhere between four and eight inches from the tip of the bat, such as for example a single point on the centerline of the bat six inches from the tip.
In one or more embodiments, data from sensor 104 may be integrated or otherwise analyzed to estimate the sensor velocity and position in an inertial (world) coordinate frame. The known position of the sweet spot relative to the sensor may then be used to calculate the sweet spot trajectory 1402 in this reference frame. In one or more embodiments, the world reference frame may be defined as illustrated in
The velocity of the bat at impact may also in general not be horizontal; the attack angle 1602 is the angle of the bat'"'"'s forward velocity at impact 1601 with respect to the horizontal y-axis 1512. Attack angle is negative below horizontal and positive above horizontal. A positive value indicates swinging up, and a negative value indicates swinging down, where zero is perfectly level. Attack angle is important for two reasons: First, matching the bat path to the pitch path increases the likelihood of contact. Because the pitch is thrown from an elevated mound, it is typically on a downward angle as it crosses the plate. Therefore, a positive attack angle provides more opportunity to execute against a variety of pitches, which vary in height, speed, and angle. Second, a positive attack angle will usually maximize launch distance, increasing the scoring value of the at-bat. The average fastball crosses the plate at a 6° downward angle, while an average breaking ball crosses the plate at 10°. Other factors include swing speed and style, pitch velocity and location, and game situation. Given the variation in incoming pitch descent angles and desired launch angle, the optimal attack angle is usually between +2° to +14° degrees. In a real game scenario, adaptation may be required to put the ball in play. The ideal attack angle results in the maximum distance for a given bat speed. For slow bat speeds, the ideal attack angle is around 21°, and it gets smaller with increasing speed. Discussions of ideal launch angle, exit speed, and scoring value appear for example in Nathan, “Optimizing the Swing,” at www.hardballtimes.com/optimizing-the-swing, and in Arthur, “The New Science of Hitting,” at www.fivethirtyeight.com/features/the-new-science-of-hitting.
The bat forward velocity 1601 is the projection of the velocity vector of the sweet spot onto the plane perpendicular to the bat longitudinal axis 1501; it ignores any speed in the direction of the bat axis 1501.
A swing may be analyzed for example by decomposing the motion into swing plane versus off-plane components. Off-plane motion may for example be characterized by the distance of the sweet spot of the bat from the swing plane at any moment in time.
Based on the distance between the sweet spot and the swing plane, an on-plane metric may be defined as the total angular range of motion (for example in degrees) of the swing where the sweet spot of the bat is within the threshold value (such as three inches) from the swing plane. For example in
One or more embodiments may analyze the motion of a position on the bat where the hands grip the bat, in addition to or instead of analyzing the motion of the bat sweet spot.
Three points on hands trajectory 1901 also define a plane, and therefore define an axis of rotation through the center of rotation 1903 that is perpendicular to that plane. The orientation of this axis of rotation may also be used in one or more embodiments as a metric describing the swing. The three points that define the center of rotation lie in a plane that is typically tilted downward in front of the body. The axis of rotation may be calculated for example using the cross product of any two of the radius vectors from the center of rotation calculation.
In one or more embodiments, a two-lever model may be used to describe and analyze a swing. During the early part of the downswing, an experienced batter rotates the core, arms, and bat as a single, connected unit. Then the batter commits by snapping the wrist, which moves the tip of the bat away from the body. The elbow may also extend, depending on ball location. This optimal kinematic sequence results in maximum speed and control.
The kinematic chain includes core, shoulder, elbow, and wrist rotation. In some situations, it may not be feasible to measure all these movements directly using, for example, a single inertial sensor on the bat. Instead, one or more embodiments may use a simplified two-lever mechanical model to distinguish “body” rotation from “bat” rotation. The body contribution ends at the hands. It measures rotation around the body center of rotation, which is primarily core, shoulder, and some elbow extension. The bat component measures motion around the hand position, which is primarily due to elbow and wrist rotation. In a connected swing, the shoulder and elbow contributions are small, and the body component of our model closely approximates core body rotation.
Total bat speed is a combination of body rotation and bat rotation. The body ratio may be calculated the percentage of total rotation that is attributed to the body. An efficient swing uses both the body, arms, and wrists in the appropriate kinematic sequence. A swing that is mainly body rotation or mainly arm rotation is not as powerful as a swing that uses the entire kinematic chain. The body should contribute about 40% to 50% of the total rotational speed. There may be some variation due to individual style, but a value that is consistently outside this range usually indicates a poor kinematic sequence.
As the bat moves through the swing, the angle between the bat lever and the body lever changes. An angle that reflects the relative orientation of the bat lever and the body lever is called the hinge angle. In the illustrative embodiment shown in
One or more embodiments may incorporate a method of calculating a commit event. The commit event, also known as wrist release, occurs when the hinge angle is “released”. In other words, the moment when the hinge angle starts to move in a positive direction away from the body. Commit is the transition point in the kinematic chain between body-only motion and the wrist snap contribution. A batter begins the swing with the bat angled towards the body. At commit, this hinge angle is released and the wrist is snapped forward to add speed to the bat and to contact the ball.
One or more embodiments may define a sequence of events through a swing, and may derive one or more metrics from these events.
Commit event 2014, also known as wrist release, occurs when the hinge angle is released, as described with respect to
The on-plane event 1803 occurs when the sweet spot approaches to within a threshold (such as three inches, for example) of the swing plane, as described with respect to
For a swing that hits a ball, impact event 1804 occurs when the bat hits the ball and when this impact is detected by the sensor or sensors. One or more embodiments may also detect a virtual impact event even when the bat does not hit a ball (for example, for an “air swing”), as described below.
For embodiments with an accelerometer, a simple impact detection may be performed by searching for a large discontinuity in accelerometer readings, corresponding to the shock of the impact. However, certain batters generate accelerometer noise greater than 4 g prior to true impact. This has been observed in internal testing and in pro-level swings. Analysis shows that this noise is almost always associated with high bat roll (z-axis angular velocity). Presumably, the bat is slipping in the grip, and the noise is caused by friction of the bat against the hands or gloves. Therefore, in one or more embodiments, the impact detection algorithm may use both the gyro and accelerometer to detect impact. The gyro search detects impact energy that is spread out over one or more subsequent samples. Searching forward, keep a running sum of the maximum gyro x, y, or z discontinuity. Reset the sum to zero if the discontinuity drops below 540 dps and remember that sample. Stop searching if the total discontinuity exceeds 1040 dps. The gyro-only impact is the last sample that was remembered.
Starting from the gyro-only impact sample, search backward until the accelerometer x, y, or z discontinuity is less than a threshold (80% of the saturation value). Usually, this occurs zero or one samples prior to the gyro-only impact, but sometimes it can more. Impact is defined as the sample just before the accelerometer discontinuity.
In rare cases, there is insufficient energy in the gyro signal to detect impact. In this case, impact is the defined as the sample just before the first accelerometer discontinuity that exceeds the threshold.
In one or more embodiments, air swings are supported by enabling an air swing version of the impact detection algorithm. If the system does not detect an impact event, the baseball swing processor determines whether the swing is a valid air swing. The air swing detection algorithm may for example look for peaks in the gyro xy resultant and accelerometer z component. A swing may be classified as a valid air swing if for example: the gyro xy peak exceeds 500 dps; the accelerometer z component peak exceeds 4 g; and the two peaks occur within 100 ms. In the case of a valid air swing, the time of the gyro xy peak may be used as a proxy for the impact event in all subsequent calculations. Processing of air swings continues the same as for impact swings. All swings may be considered invalid if the air swing criteria are not met, even if there is a valid impact signature.
Peak bat speed event 2202 occurs at the moment of maximum forward bat speed, which happens at or before the moment of impact. Peak bat speed is calculated using the forward bat speed time series. Working backwards from impact, peak bat speed is located by finding the sample with the peak value.
Average power generated during the swing may be calculated as power=mass×speed×acceleration, where mass is the effective mass of the bat, speed is the bat speed at impact, and acceleration is the average acceleration during the downswing (bat speed/time to contact). Power may be measured in Watts. The more mass the batter accelerates to high speed, the higher the power.
Based on the start of downswing event 2201 and the impact event 1804, a time to contact metric may be calculated as the elapsed time between start of downswing and impact. The clock starts when there is sufficient downswing motion and ends when the bat contacts the ball (or at a corresponding virtual impact event for an air swing). Time to contact measures the total time it takes to complete a swing. A major league fastball takes about 400 milliseconds from pitcher to home plate. In that time, the batter must recognize the pitch, decide whether to commit, and execute the swing. The quicker the time to contact, the more time the batter has to recognize and commit to good pitches. The ideal time to contact depends on age, strength, bat length and weight, experience level, and swing style. Our testing shows the typical time to contact for different age groups and skill levels: Little League: 230-400 milliseconds; Senior League: 185-325 milliseconds; High School: 140-260 milliseconds; College/Pro: 100-200 milliseconds.
One or more embodiments of the invention may include components that enable calculation of various swing quality metrics for a swing of a baseball bat, softball bat, or other equipment. Based on extensive analysis of swing data and swing biomechanics, the inventors have identified three swing quality metrics that appear to be valuable high-level summaries of how effectively a user swings a bat. One or more embodiments may extend or modify these three swing quality metrics in any desired manner. The three swing quality metrics described below are rotational acceleration, on-plane efficiency, and body-bat connection. A system that calculates these metrics is illustrated in
Embodiments of the invention may not include all of the components shown in
Data 2401 may include a time series of acceleration data captured by an accelerometer, and a time series of angular velocity data captured by a gyroscope. The accelerometer and gyroscope may have three axes, and the time series may each have three sub-series for each of the three axes. Processor 2400 may also access a bat geometry definition 2402, which may for example describe physical characteristics of the bat 102. Based on the acceleration and angular velocity time series 2401, and the bat geometry 2402, the processor or processors 2400 may execute one or more steps 2403 to calculate one or more swing quality metrics 2404. These metrics may include any or all of rotational acceleration 2411, on-plane efficiency 2412, and body-bat connection 2413. The swing quality metrics 2404 may include other metrics in addition to these three metrics, or a subset of the metrics shown. Data and metrics from multiple batters may be captured in a database 2421, and analytics 2422 may be generated from this database. These analytics may for example be used to optimize batting orders, to improve individual players'"'"' swings, to assign exercise programs, to assist with recruiting, to match players to coaches, or to plan pitching strategies or adjustments.
One or more embodiments may have or use sensors instead of or in addition to inertial sensor 104 on bat 102. For example,
Step 2440 of calculating acceleration and angular velocity from the video frames 2435 may be performed by processor or processors 2400, or by any other system or systems. For example, in one or more embodiments the cameras 2431, 2432, and 2433 may perform all or part of this processing internally. Processor 2400 may either obtain acceleration and angular velocity data 2401 directly from a sensor, or it may calculate this data from one or more sources of sensor data from one or more sensors of any type or types. Sensor data in this context may represent any data that represents or reflects motion of any object, including but not limited to inertial sensor data, video camera frames, or combinations thereof. One or more embodiments may combine data from inertial sensor 104 and cameras 2431, 2432, and 2433 (or other arrangements of one or more cameras) and may perform sensor fusion to calculate data 2401.
In one or more embodiments of the invention, sensor measurements, metrics and calculations such as those illustrated in
An illustrative bat geometry definition 2402 is shown in
One or more embodiments may perform several preliminary calculations before or during the generation of swing quality metrics.
Turning first to rotational acceleration, one or more embodiments may separate a swing into a loading phase at the beginning of the swing, and a rotational phase when the batter completes the swing and accelerates to hit the ball. One method that may be used in one or more embodiments to define these two phases is to use the acceleration along the bat'"'"'s longitudinal axis. This approach is illustrated in
One or more embodiments may define a start of a centripetal acceleration phase in any desired manner, including but not limited to defining it as a zero crossing such as point 2803 in
Having identified a start of centripetal acceleration event, one or more embodiments may calculate a rotational acceleration swing quality metric by measuring the centripetal acceleration at a specific time offset after this event. This calculation is illustrated in
This rotational acceleration metric 3003 is a measure of how the hitter accelerates the bat into rotation. In one or more embodiments, it may be measured early in the rotational phase of the swing to capture information about the coordination and control patterns of the athlete; measuring early in the swing may make this metric less susceptible to swing differences based on pitch location. For example, the time interval 3001 may be selected, without limitation, in a range between 10 and 50 milliseconds, inclusive.
Rotational acceleration is a useful metric to separate hitters between levels. Hitters with high rotational acceleration exhibit high-level movement patterns and proper sequencing of segments through the swing. This is due in large part because it is simply not possible to achieve high values of rotational acceleration without utilizing proper sequencing to accelerate the bat into rotation. A high magnitude of rotational acceleration is the result of proper timing and sequencing of bat load as aggressive body rotation pulls the bat down into rotation. The higher the magnitude, the more functionally proficient the player is in accelerating the bat into a rotational path in a more dynamically adjustable swing. At elite levels, quickly and efficiently generating energy that can be transferred through the kinetic chain is essential to be a successful hitter, given the incredibly dynamic and variable nature of the task.
The major league baseball average for rotational acceleration is approximately 17 g'"'"'s. Elite hitters are consistently in the mid 20 g'"'"'s with some hitters reaching the 30 g'"'"'s. Hitters with average rotational acceleration values are often “block rotators”, that initiate rotation with the hips and shoulders simultaneously. Hitters with low rotational acceleration are commonly hand-dominant hitters who pull the knob of the bat with their upper body to initiate the swing.
Turning now to a second swing quality metric, on-plane efficiency,
Angular velocity data from the inertial sensor on the bat may be transformed into the coordinate system of
In one or more embodiments, a rotation-on-plane ratio may be calculated at any point in time during the swing as the ratio of the magnitude of the y-axis angular velocity 3212 to the magnitude of the vector sum of x-axis angular velocity 3213 and y-axis angular velocity 3212. This ratio is 100% for pure rotation around axis 3202; as more off-plane rotation occurs around axis 3203, the ratio decreases. (Angular velocity 3211 around the z-axis is ignored in this analysis because it is typically a minor factor.) An on-plane efficiency metric may be calculated as the value of this rotation-on-plane ratio at a point in time, or as an average over a period of time. In one or more embodiments, the on-plane efficiency metric may be calculated as an average of the rotation-on-plane ratio between the start of centripetal acceleration and impact. This method is illustrated in
On-plane efficiency measures how early a swing gets on plane and how well it stays on plane as it approaches impact. In an efficient swing, the hitter wants to build as much forward bat speed on plane as possible, to maximize functional bat speed at impact. Swinging the bat on plane is one of the most important skills necessary to becoming a high-level hitter. It is also one of the most variable swing components when comparing hitters. An efficient swing is one in which the hitter gets the barrel on plane very early and deep in the swing path, which allows them to better optimize acceleration of the barrel through the zone. Deviations from the swing plane are the direct result of changes in arm and wrist kinematics relative to the body rotations. The better the hitter is at minimizing these variable arm/wrist degrees of freedom, the longer the hitter'"'"'s bat will be on plane. In a connected swing, the hitter will read the pitch early and make adjustments through the core and the body instead of the arms and wrist in order to align the swing plane with the pitch location. A good functional swing will have an average on-plane efficiency starting at 70% or higher. A typical dynamic range for on-plane efficiency is 65%-85%. Moving the on-plane efficiency metric higher is desired and directly indicative of a more connected swing.
Turning now to the body-bat connection swing quality metric, this metric measures the relationship between the hitter'"'"'s body and the bat. Ideally this relationship is approximately perpendicular throughout the rotational portion of the swing.
In one or more embodiments it may also be useful to calculate a disconnection metric, which is the complement of connection (the absolute value of the difference between the body-bat connection angle and 90°). Disconnection is illustrated in
As illustrated in
Connection is important measure of the athlete'"'"'s ability to dynamically adjust for different pitch types and locations, as well as executing consistent mechanics swing to swing. Connection and the relationship between early connection and connection-at impact is also highly related to on-plane efficiency. In a good functional swing, the hitter adjusts to different pitch locations using their body tilt, keeping their connection values consistent. Hitters who adjust to different pitch locations by manipulating the barrel with their hands will have variable connection values across pitch locations. This introduces additional degrees of freedom at the wrist into the swing that are difficult to control and execute with consistency.
The typical range for major league baseball players for connection-at-impact is 80°-95°. Values for connection-early are typically in the range of 75°-130°. High connection-early values (110° and greater) typically indicate a very steep vertical bat angle as the hitter begins to rotate. Hitters with connection-early values 110° and greater will either need to correct their connection quickly as they begin to rotate, or they will have poor on-plane efficiency values. Connection values ideally will not change based on pitch location and will be consistently near 90° for all vertical bat angles. However, variable connection is common for hitters who manipulate the barrel with their hands. The bat axis orientation will change based on pitch location and the hitter should adjust their body tilt to match that change.
While the ideas herein disclosed has been described by means of specific embodiments and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims.