Swing analysis method using a swing plane reference frame

Information

  • Patent Grant
  • 10617926
  • Patent Number
    10,617,926
  • Date Filed
    Monday, June 26, 2017
    7 years ago
  • Date Issued
    Tuesday, April 14, 2020
    4 years ago
Abstract
A method for analyzing sensor data from baseball swings (or swings in similar sports) that transforms data into a reference frame defined by the bat orientation and velocity at impact. The swing plane defined by these two axes provides a natural and robust reference frame for physically relevant measurements of swing characteristics. Illustrative swing metrics derived from swing plane reference frame data include: swing speed, defined as a rotational rate within the swing plane; total swing angle, defined as the angular change within the swing plane; and swing tempo, defined as the percentage of peak swing speed achieved halfway through the swing. Analyzing these metrics from multiple swings across multiple users identifies factors that contribute to peak performance. Metrics may be combined into multidimensional feature vectors that characterize a swing; these feature vectors may be used to group swings into swing styles or to match swings against similar players.
Description
BACKGROUND OF THE INVENTION
Field of the Invention

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.


Description of the Related Art

Methods for analyzing baseball swings include video capture systems that record high speed video of a swing and that analyze the motion of the bat 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 a bat, 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 baseball in particular, 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. 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.


For at least the limitations described above there is a need for a baseball swing analysis method using a swing plane reference frame.


BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention enable a method to analyze a baseball swing 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.


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 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.





BRIEF DESCRIPTION OF THE DRAWINGS

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:



FIG. 1 shows an overview flowchart of an embodiment that processes sensor data in a swing plane reference frame to generate several swing metrics for the swing of a baseball bat.



FIG. 2 shows a reference frame based on a swing plane defined by the bat orientation and by the velocity vector of the bat at the time of impact with the ball.



FIG. 3 illustrates transformation of a bat trajectory from a local sensor frame to the swing plane reference frame of FIG. 2.



FIG. 4 illustrates various metrics derived from the swing plane reference frame, including a total swing angle in the swing plane, an off-plane swing angle, and a swing plane speed.



FIG. 5 illustrates derivation of a time to contact swing metric that measures how quickly the batter responds.



FIG. 6 illustrates derivation of a swing tempo metric based on swing plane speed, which indicates how quickly the swing plane speed increases through the swing.



FIG. 7 illustrates an embodiment that collects swing data from multiple users into a swing database, and that analyzes this database to generate methods of rating and classifying swings.



FIG. 8 illustrates an embodiment that analyzes swing tempo from multiple users to determine a target zone for peak performance.



FIG. 9 shows an embodiment that provides feedback to a user on his or her swing by comparing the swing tempo to the target zone described in FIG. 8.



FIG. 10 illustrates an embodiment that classifies swings into swing styles based on a feature vector that combines multiple swing metrics; feedback to a user indicates the swing style as well as identifying other players with similar swings.



FIG. 11 shows a potential issue that may arise when a sensor has a limited range and the actual motion of the bat exceeds this measurement range during a time interval within the swing.



FIG. 12 illustrates an embodiment that addresses the limited range situation shown in FIG. 11 by extrapolating sensor data from before and after the time interval, in this example using a cubic Bézier curve.



FIG. 13 illustrates an embodiment that extrapolates sensor data using a Kalman filter to estimate values when the measurement range of the sensor is exceeded.





DETAILED DESCRIPTION OF THE INVENTION

A baseball swing analysis method using a swing plane reference frame 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.



FIG. 1 shows an overview of an embodiment of the invention. User 101 swings a baseball bat 102 to hit an incoming ball 103. Data is collected throughout the swing from sensor 104 attached to the bat. Sensor 104 may incorporate any type of sensor technology or technologies to measure any quantities, such as for example any aspects of the motion, position, or orientation of the bat. The sensor may be coupled with the proximal end of the bat, the distal end of the bat or anywhere in between. In one or more embodiments the sensor 104 may comprise two or more sensors at different locations on the bat. For example, without limitation, sensor 104 may contain any or all of a three axis accelerometer 105, a three axis gyroscope 106, and a three axis magnetometer 107. These sensor types are illustrative; one or more embodiments may use sensor data from any type or types of sensors to track the swing of bat 102. In one or more embodiments the sensor 104 may not be physically attached to the bat; for example, the sensor may be stationary and it may observe the moving bat using technologies such as video, radar, LIDAR, or ultrasound. In one or more embodiments, data from multiple types of sensors may be combined using sensor fusion. For example, sensor data from an inertial sensor on a bat may be fused with radar data or other information from external devices to calculate a bat trajectory. Sensors may measure motion or other parameters on any number of axes. Sensors may measure these parameters at any desired frequency; higher measurement frequency may for example support more detailed analysis of the swing. For example, without limitation, sensor 104 may collect data once per second, ten times per second, one hundred times per second, one thousand times per second, ten thousand times per second, or at frequencies above ten thousand times per second.


In the embodiment shown in FIG. 1, bat 102 is a baseball bat. One or more embodiments may obtain and analyze data for the swing of any type of bat or similar object, including for example, without limitation, a baseball bat, a softball bat, a cricket bat, and in one or more embodiments, a tennis racket, a table tennis racket, a badminton racket, a squash racket, a racquetball racket, a golf club, a polo mallet, a hockey stick, a field hockey stick, and a lacrosse stick.


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.



FIG. 2 illustrates definition and calculating of the swing plane reference frame. This reference frame is defined by the bat's orientation and motion at the time of impact between the bat 102 and the ball 103. A swing plane 212 is defined by two axes: a first axis 210 is the longitudinal axis of the bat (along the bat's long dimension); a second axis 211 is in the direction of the bat's velocity at the time of impact. The velocity vector at impact may also be calculated as a tangent vector to the bat's instantaneous rotation round the angular velocity axis. This impact velocity vector 211 may be calculated or obtained from the bat trajectory. In one or more embodiments a specific point on the bat, such as for example the sweet spot, may be used to define the impact velocity vector. The swing plane 212 is the plane spanned by the vectors 210 and 211. To complete the reference frame, a third orthogonal off-plane axis 213 is selected as the normal vector to the plane 212. The swing plane 212 defined by the axes 210 and 211 provides a reference frame that can be calculated from data generated by bat sensor 104. Other planes of rotation that may be relevant to the kinematics of the swing include for example the rotational plane 221 for the batter's shoulders, and the rotational plane 222 for the batter's hips. In one or more embodiments additional sensors, for example sensors attached to the batter's shoulders and hips, may be used to calculate these body rotational planes in addition to the swing plane 212.


In the example shown in FIG. 2, sensor 104 has a local reference frame in which sensor data is measured. This local reference frame in general may have a completely different orientation from the swing plane reference frame defined by axes 210, 211, and 213. For example, the sensor local reference frame may have axes 201, 202, and 210; in this example one axis of the sensor local reference frame is aligned with the bat longitudinal axis, but the other axes are in arbitrary directions due to the rotational symmetry of the bat around this axis. To facilitate standardized analysis of swings and comparison of swings across players, bat trajectory information is transformed from the sensor local reference frame into the swing plane reference frame. FIG. 3 illustrates this transformation. Bat trajectory 301 includes motion data samples at various points in time, such as for example points 302, 303, and 304. These samples may include any information on the state of the bat, such as position, orientation, or derivatives of these values like velocity and angular velocity. For illustration, the bat trajectory 301 is shown as a single curve in three dimensional space (for example as a curve of bat position over time); however, in one or more embodiments the bat trajectory may include any data with any number of dimensions. In the sensor local reference frame defined, for illustration, by axes 201, 202, and 210, each sample point has coordinates such as coordinates 305 for point 304. Transformation 310 maps the sample points into the swing plane reference frame, for example using a rotation of the axes 201, 202, and 210 into axes 210, 211, and 213. For example, in the swing plane reference frame, point 304 on the bat trajectory 301 has coordinates 306.


One or more embodiments of the invention may analyze the bat trajectory in the swing plane reference frame to measure and characterize the swing. FIG. 4 shows illustrative metrics for angular change that are defined relative to the swing plane reference frame. Bat trajectory 401 is a three dimensional curve in the three dimensional swing plane reference frame 410 defined by axes 210, 211, and 213. Trajectory 401 has starting point 420, representing a start of the swing, and endpoint 421, representing for example the time of impact between the bat and the ball. This curve may be projected onto the two-dimensional swing plane 212 defined by axes 210 and 211, and various metrics may be calculated from this projection. For example, the 2D curve 402 is the projection of the bat trajectory 401 onto plane 212. As the curve 402 proceeds from the starting point to the endpoint of the trajectory, it subtends an angle 403 (Δθsp) in the swing plane (with vertex at the origin). This angle 403, which we refer to as the total swing angle, is a swing metric that indicates the total amount of bat movement during the swing in the swing plane. Similarly, the bat trajectory 401 may be projected onto a plane 412 orthogonal to the swing plane, and the angle 407 subtended by the projected trajectory is a different swing metric that we refer to as the off-plane angle. The total swing angle metric and the off-plane angle metric provide a useful characterization of how the batter is moving the bat through the swing. Projection of the trajectory 401 onto swing plane 212 also provides a measure of the instantaneous angular velocity 406 of the trajectory at any point in time, such as at illustrative point 404. This instantaneous angular velocity in the swing plane, which we refer to as the swing plane speed, is a more useful metric of the bat's motion than for example the total linear velocity of the bat, which includes an off-plane component of velocity that is not as relevant for the power of the swing. The swing plane speed 406 may be calculated for example as the derivative of the instantaneous angle 405 between the point 404 on the projected trajectory 402 and the axis 210. In one or more embodiments that include a gyroscope, which measures angular velocity directly, the swing plane speed may be calculated by projecting the measured angular velocity onto the axis orthogonal to the swing plane 212.


The curve of swing plane speed over time through the swing provides additional useful information about the swing. FIG. 5 shows an illustrative curve 501 of the swing plane speed 406 as a function of time. The curve typically increases through the swing as the batter accelerates the bat. The swing plane speed reaches a maximum value 505 during the swing. For some swings, the peak speed 505 may occur at the time of impact 502; however, this is not necessarily the case for all swings. The impact swing plane speed 506 is an important swing metric since it greatly affects the distance and power of the hit. The swing plane speed curve may be used to define an unambiguous point in time for the start of the downswing of a swing: this start of downswing 503 may be defined as the last point in time when the swing plane speed is zero prior to the impact. This definition is based on an unambiguous physical event rather than an arbitrarily defined threshold crossing. This provides a clear advantage in terms of metric consistency and physical significance. If there is no zero crossing, as is the case in certain swing styles, we define the start of downswing where the slope and magnitude of the swing plane component meet certain threshold criteria. This fallback definition does not provide the clear advantages of the zero crossing; however, because it is based on the swing plane component, it provides greater consistency than a definition based on vector magnitude, particularly across heterogeneous swing styles where much of the variability (e.g., bat waggle) occurs in the off-plane component.


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. FIG. 6 illustrates a method to standardize this metric by measuring the fraction of the peak speed achieved at the halfway point of the swing. To allow meaningful comparison across players with different swing styles, the swing plane speed curve is normalized so that swing plane speed is measured as a percentage 605 of the peak speed. Thus the normalized swing speed curve starts at zero at the start of downswing, and increases to 100% at the peak speed. A halfway point 602 is defined for the swing, and the fraction 603 of the peak speed at this point is defined as the swing tempo metric 604. In one or more embodiments the halfway point may be defined as halfway between the start of downswing and the time of impact. However, empirical analysis of swings shows that a more robust halfway point may be defined by selecting a swing onset time 601 as a time at which the swing plane speed reaches a specified small fraction of the peak speed, such as for example 10%, and by defining the halfway point as halfway between the swing onset time and the time of impact.


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. FIG. 7 illustrates an embodiment that collects data into swing database 701 from multiple types of users, including for example, without limitation, experts 702, professionals 703, amateurs 704, novices 705, and instructors 706. Data in the swing database may include for example, without limitation, sensor data 710, bat trajectories in the swing plane frame 711, and swing metrics 712 (such as for example the total swing angle, off-plane angle, time to contact, impact swing plane speed, and tempo metrics described above). Multiple metrics may be combined into feature vectors 713 that may be used to classify, categorize, compare, or analyze swings. Data from the database may be used for various analysis procedures 720, which may include for example any or all of modeling swings and batters, data mining the database for patterns or trends, and applying machine learning techniques to learn relationships, functions, or categories. Outputs of the analyses 720 may include for example identification of best performances 721 that flag certain swings or groups of swings as illustrative of ideal or maximum performance; factors affecting performance 722 that identify swing characteristics that contribute to or detract from high performance; performance rating functions 723 that rate swings on how close they are to ideal performance levels; classifications of swing styles 724 that map swings into categories reflecting similar characteristics or similar performance; and matching of swings to similar players 725 that indicate which other swings or other players are most similar to a given swing or player.



FIG. 8 illustrates an example of the data analysis methods described with respect to FIG. 7, using the swing tempo metric defined above. Using swing database 701 as input, data analysis and data mining process 720 compares swing plane speed curves across players to determine factors affecting performance 722. This analysis indicates that best performance occurs when swing tempo is in a target zone 802, for example in a range between 804 and 803. This analysis uses normalized swing plane speed curves for the swings in database 701, with the swing plane speed axis normalized to the percentage of peak speed 605, and the time axis 801 normalized to a percentage of swing time between swing onset (0%) and impact 502a (100%). The normalized swing plane speed at halfway point 602a (50%) is the swing tempo metric for each swing.


Using the analysis illustrated in FIG. 8, an individual swing may be evaluated by comparing it to the empirically derived criteria for best performance. FIG. 9 illustrates an example with batter 101 generating a swing plane speed curve 901 for a swing. The measured swing tempo 902 for this swing is compared to the target zone 802 in order to rate the swing's performance. Feedback is then provided to batter 101, for example on computer screen 903. This feedback provides the swing tempo metric 902, as well as a performance rating 904 that is based on comparing the swing to performance criteria derived from empirical analysis. The feedback may also include specific critiques such as 905 that diagnose the swing or suggest corrections or improvements.


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.



FIG. 10 continues the example of FIG. 9 to illustrate additional analysis and feedback for a swing based on comparisons with swings in a swing database. In this example, a feature vector 1001 is generated for a particular swing by batter 101. For illustration, this feature vector is a combination of the swing tempo and the impact swing plane speed. One or more embodiments may generate feature vectors using any combinations of metrics or of any data derived from sensor data or bat trajectories. Swings from swing database 701 are compared on grid 1002 using this feature vector, and are analyzed (for example using cluster analysis techniques known in the art) to categorize swings into a set of swing styles. For example, the analysis may partition swings into three swing styles 1004, 1005, and 1006. The feature vector 1001 corresponding to the swing by batter 101 places the swing into swing style cluster 1006. Feedback to the batter indicates this swing style 1020. In addition, the batter's swing may be matched against typical swings from other users to provide feedback 1021 that identifies other users with swings that resemble the batter's swing.


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. FIG. 11 shows an example of this situation where the sensor 104 on bat 102 includes accelerometer 105 with range 1101, and gyroscope 106 with range 106. Taking the angular velocity around the x-axis of the sensor as an illustrative example, the actual x-axis angular velocity 1103 exceeds the upper limit 1104 of measurement range 1102 during time interval 1105. Therefore, the measured sensor values 1106 cannot track the true values 1103 of the motion during this interval 1105. Instead the measured value 1107 during this interval is saturated at the upper limit 1104. This saturation may affect the accuracy of swing metrics. This example using the x-axis of the gyroscope is illustrative; a similar issue may occur with any sensor (including for example the accelerometer 105 as well as the gyroscope 106) and with data from any axis of any sensor.


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. FIG. 12 illustrates an embodiment that extrapolates sensor data from both endpoints of the time interval by constructing a Bézier curve 1200 for the values in the interval. In this example, the curve 1200 is a cubic Bézier curve defined by the four control points 1201, 1202, 1203, and 1204. This is illustrative; one or more embodiments may use Bézier curves or any other splines or curves of any order. Control points 1201 and 1204 match the values of the sensor measurements 1104 at the endpoints of interval 1105. The internal control points 1202 and 1203 are chosen to match the slopes of curve 1104 at these endpoints. Specifically, the tangent value 1205 of the curve 1104 at point 1201 is the slope of the line between control points 1201 and 1202, and the tangent value 1206 of the curve 1104 at point 1204 is the slope of the line between control points 1203 and 1204. Points 1202 and 1203 may also be chosen to limit for example the maximum value of the curve 1200 in the 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 FIG. 12: the initial and final points are placed where the curve crosses the saturation threshold, and two interior control points are along a line matching the slope of the curve at some distance, which is constrained by some maximum time duration and by a maximum absolute value. This approach provides control of the shape of the extrapolation curve better than a cubic polynomial fit, which will match the same slope and value constraints but may exceed the other physical constraints. If the initial or final edge of the saturation interval is an impact event, then the unconstrained edge may be represented by a single control point, resulting in a three-point Bézier curve. Again, the time and value for this single control point may be selected to achieve the desired shape of the extrapolated curve into the impact event. Because a Bézier curve is not parametric in time, it may be necessary to resample the extrapolated curve at the original sample times. This type of Bézier extrapolation may be applied to an individual saturated sensor axis (independent of the other components) or a composite value (e.g., the x-y resultant or total vector magnitude). The shape of the composite curve may be easier to model or constrain than the underlying individual components for particular kinematic events, resulting in increased accuracy of the extrapolated result. If the underlying component values are needed, they can be obtained by solving for the unknown saturated component(s) from the extrapolated composite result and unsaturated component values (the result will be under-determined if more than one component is saturated).


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). FIG. 13 illustrates an example that uses this approach. Kalman filter 1301 incorporates a kinematic model 1302 of the bat 102. The system state 1303 is estimated for each sample point, and this estimate is corrected based on measurements 1304. The state 1303 for example may include the position r(t) and the orientation Q(t) of the bat, and the measurements 1304 may include for example accelerometer values ax, ay, az and gyroscope values ωx, ωy, ωz. During time intervals when one or more measurements are not available or are saturated, such as x-axis angular velocity 1306 during time interval 1105, the filter 1301 continues to predict state values 1303. Therefore, the curve 1104 can be extrapolated to curve 1308 through interval 1105; for example, the orientation 1307 may be differentiated to estimate the x-axis angular velocity 1308 in this interval.


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 FIG. 13, the gyroscope may be saturated into impact, which affects the accuracy of the swing speed measurement. Using this approach, it is possible to estimate the actual swing speed and provide an uncertainty interval (error bars).


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.

Claims
  • 1. A swing analysis method using a swing plane reference frame, comprising obtaining sensor data from a sensor coupled to a piece of equipment or bat during a swing of said piece of equipment or bat by a user to hit or contact a ball, wherein said piece of equipment or bat comprising a longitudinal axis and where said piece of equipment or said bat has rotational symmetry around said longitudinal axis,wherein said piece of equipment or bat is configured to be held by a user in any orientation rotated around said longitudinal axis during said swing, andwherein said sensor comprises a processor;determining a time of impact between said piece of equipment or bat and said ball from said sensor data via said processor;calculating a trajectory during said swing from said sensor data via said processor, said trajectory comprising a time series of motion data samples, wherein each motion data sample of said motion data samples comprising one or more of a position;an orientation;a velocity;an angular velocity;an acceleration; and,an angular acceleration;calculating an impact velocity vector from said trajectory as said velocity of said piece of equipment or bat at said time of impact via said processor;defining a swing plane reference frame via said processor, wherein said swing plane reference plane comprising a first axis defined by a longitudinal axis of said piece of equipment or bat at said time of impact;a second axis defined by said impact velocity vector; and,a third axis orthogonal to a swing plane spanned by said first axis and said second axis;transforming said trajectory to said swing plane reference frame to form a swing plane frame trajectory via said processor; and,analyzing said swing plane frame trajectory to create one or more swing metrics that describe said swing of said piece of equipment or bat by said user via said processor.
  • 2. The method of claim 1, wherein said sensor comprises a three axis accelerometer that generates acceleration data; and,a three axis gyroscope that generates angular velocity data.
  • 3. The method of claim 2, wherein said sensor further comprises a three axis magnetometer that generates magnetic field data.
  • 4. The method of claim 1, wherein said sensor comprises a plurality of sensors located at different locations on said piece of equipment or bat.
  • 5. The method of claim 1, wherein said sensor generates said sensor data at least ten times per second during said swing of said piece of equipment or bat.
  • 6. The method of claim 1, wherein said sensor generates said sensor data at least one hundred times per second or more during said swing of said piece of equipment or bat.
  • 7. The method of claim 1, wherein said bat comprises one or more of a baseball bat and a softball bat.
  • 8. The method of claim 1, further comprising calculating a time series of swing plane speed from said swing plane frame trajectory as a rotational speed component in said swing plane via said processor.
  • 9. The method of claim 8, wherein said swing plane speed is a projection of said angular velocity onto said third axis orthogonal to said swing plane.
  • 10. The method of claim 8, further comprising calculating a start of downswing time as a latest time prior to said time of impact when said swing plane speed has magnitude zero via said processor; and,calculating a time to contact metric as a difference between said time of impact and said start of downswing time via said processor.
  • 11. The method of claim 10, further comprising calculating a total swing angle metric as a total angle traversed by said piece of equipment or bat in said swing plane between said start of downswing time and said time of impact via said processor; and,calculating an off plane angle metric as a total angle traversed by said piece of equipment or bat orthogonal to said swing plane between said start of downswing time and said time of impact via said processor.
  • 12. The method of claim 8, further comprising calculating a peak speed metric as a maximum magnitude of said swing plane speed during said swing via said processor;calculating a halfway point in said swing via said processor; and,calculating a swing tempo metric as a ratio of said swing plane speed at said halfway point to said peak speed metric via said processor.
  • 13. The method of claim 1, further comprising comparing said swing of said piece of equipment or bat by said user to a database of swings to identify one or more players from said plurality of players that have swings that are similar to said swing of said piece of equipment or bat by said user via said processor.
  • 14. The method of claim 1, further comprising combining said one or more swing metrics into a swing feature vector via said processor; and,applying machine learning to a database of swings using said swing feature vector to classify each swing in said database of swings into a swing style that is based on said swing feature vector via said processor.
  • 15. The method of claim 14, further comprising determining the swing style for said swing of said piece of equipment or bat by said user based on said swing feature vector for said swing of said piece of equipment or bat by said user via said processor.
  • 16. The method of claim 1, further comprising when one or more sensor values of said sensor data are unavailable or are at a limit of a measurement range of said sensor during a time interval, extrapolating previous measurements or future measurements of said sensor to form an estimate of said one or more sensor values during said time interval via said processor.
  • 17. The method of claim 16, wherein said extrapolating comprises generating a Bezier curve having control points based on said previous measurements or future measurements.
  • 18. The method of claim 17, wherein said Bézier curve is a cubic Bézier curve having four control points; a first control point of said four control points is a point matching said previous measurements at a starting point of said time interval;a second control point of said four control points lies on a tangent to said previous measurements at said first control point;a fourth control point of said four control points is a point matching said future measurements at an ending point of said time interval; and,a third control point of said four control points lies on a tangent to said future measurements at said fourth control point.
  • 19. The method of claim 16, wherein said extrapolating comprises using a Kalman filter to form said estimate of said one or more sensor values during said time interval, wherein said Kalman filter comprises a kinematic model of said piece of equipment or bat.
Parent Case Info

This application is a continuation of U.S. patent application Ser. No. 15/214,339, filed on 19 Jul. 2016, the specification of which is hereby incorporated herein by reference.

US Referenced Citations (379)
Number Name Date Kind
1712537 White May 1929 A
3182508 Varju May 1965 A
3226704 Petrash Dec 1965 A
3270564 Evans Sep 1966 A
3776556 McLaughlin Dec 1973 A
3788647 Evans Jan 1974 A
3792863 Evans Feb 1974 A
3806131 Evans Apr 1974 A
3945646 Hammond Mar 1976 A
4515365 Horikoshi et al. May 1985 A
4759219 Cobb et al. Jul 1988 A
4898389 Plutt Feb 1990 A
4902014 Bontomase et al. Feb 1990 A
4910677 Remedio et al. Mar 1990 A
4940236 Allen Jul 1990 A
4991850 Wilhlem Feb 1991 A
5056783 Matcovich et al. Oct 1991 A
5086390 Matthews Feb 1992 A
5111410 Nakayama et al. May 1992 A
5127044 Bonito et al. Jun 1992 A
5184295 Mann Feb 1993 A
5230512 Tattershall Jul 1993 A
5233544 Kobayashi Aug 1993 A
5249967 O'Leary et al. Oct 1993 A
5259620 Marocco Nov 1993 A
5283733 Colley Feb 1994 A
5298904 Olich Mar 1994 A
5332225 Ura Jul 1994 A
5333061 Nakashima et al. Jul 1994 A
5364093 Huston et al. Nov 1994 A
5372365 McTeigue et al. Dec 1994 A
5441256 Hackman Aug 1995 A
5441269 Henwood Aug 1995 A
5443260 Stewart et al. Aug 1995 A
5486001 Baker Jan 1996 A
5524081 Paul Jun 1996 A
5542676 Howe et al. Aug 1996 A
5592401 Kramer Jan 1997 A
5610590 Johnson et al. Mar 1997 A
5638300 Johnson Jun 1997 A
5665006 Pellegrini Sep 1997 A
5688183 Sabatino et al. Nov 1997 A
5694340 Kim Dec 1997 A
5707299 McKenna Jan 1998 A
5772522 Nesbit Jun 1998 A
5779555 Nomura et al. Jul 1998 A
5792001 Henwood Aug 1998 A
5819206 Horton Oct 1998 A
5826578 Curchod Oct 1998 A
5868578 Baum Feb 1999 A
5904484 Burns May 1999 A
5941779 Zeiner-Gundersen Aug 1999 A
5973596 French et al. Oct 1999 A
5993333 Heckaman Nov 1999 A
5998968 Pittman et al. Dec 1999 A
6012995 Martin Jan 2000 A
6030109 Lobsenz Feb 2000 A
6044704 Sacher Apr 2000 A
6073086 Marinelli Jun 2000 A
6224493 Lee et al. May 2001 B1
6248021 Ognjanovic Jun 2001 B1
6253159 Bett et al. Jun 2001 B1
6254492 Taggett Jul 2001 B1
6266623 Vock et al. Jul 2001 B1
6292130 Cavallaro et al. Sep 2001 B1
6293802 Ahlgren Sep 2001 B1
6366205 Sutphen Apr 2002 B1
6441745 Gates Aug 2002 B1
6456938 Barnard Sep 2002 B1
6537076 McNitt Mar 2003 B2
6540620 Consiglio Apr 2003 B1
6567536 McNitt May 2003 B2
6582328 Kuta et al. Jun 2003 B2
6611141 Schulz Aug 2003 B1
6697820 Tarlie Feb 2004 B1
6705942 Crook et al. Mar 2004 B1
6746336 Brant et al. Jun 2004 B1
6757572 Forest Jun 2004 B1
6774932 Ewing et al. Aug 2004 B1
6802772 Kunzle et al. Oct 2004 B1
6868338 Elliott Mar 2005 B1
6900759 Katayama May 2005 B1
6908404 Gard Jun 2005 B1
6923729 McGinty et al. Aug 2005 B2
7004848 Konow Feb 2006 B2
7021140 Perkins Apr 2006 B2
7034694 Yamaguchi et al. Apr 2006 B2
7037198 Hameen-Antilla May 2006 B2
7092846 Vock et al. Aug 2006 B2
7118498 Meadows et al. Oct 2006 B2
7121962 Reeves Oct 2006 B2
7143639 Gobush Dec 2006 B2
7160200 Grober Jan 2007 B2
7175177 Meifu et al. Feb 2007 B2
7205894 Savage Apr 2007 B1
7212943 Aoshima Et May 2007 B2
7219033 Kolen May 2007 B2
7234351 Perkins Jun 2007 B2
7264554 Bentley Sep 2007 B2
7283647 Mcnitt Oct 2007 B2
7421369 Clarkson Sep 2008 B2
7433805 Vock et al. Oct 2008 B2
7457439 Madsen Nov 2008 B1
7457724 Vock et al. Nov 2008 B2
7492367 Mahajan et al. Feb 2009 B2
7494236 Lim Feb 2009 B2
7499828 Barton Mar 2009 B2
7561989 Banks Jul 2009 B2
7623987 Vock et al. Nov 2009 B2
7627451 Vock et al. Dec 2009 B2
7689378 Kolen Mar 2010 B2
7713148 Sweeney May 2010 B2
7731598 Kim et al. Jun 2010 B1
7736242 Stites et al. Jun 2010 B2
7771263 Telford Aug 2010 B2
7780450 Tarry Aug 2010 B2
7800480 Joseph et al. Sep 2010 B1
7813887 Vock et al. Oct 2010 B2
7831212 Balardeta et al. Nov 2010 B1
7871333 Davenport Jan 2011 B1
7966154 Vock et al. Jun 2011 B2
7983876 Vock et al. Jul 2011 B2
8036826 MacIntosh et al. Oct 2011 B2
8117888 Chan et al. Feb 2012 B2
8172722 Molyneux et al. May 2012 B2
8231506 Molyneux et al. Jul 2012 B2
8249831 Vock et al. Aug 2012 B2
8257191 Stites et al. Sep 2012 B2
8282487 Wilson et al. Oct 2012 B2
8314840 Funk Nov 2012 B1
8352211 Vock et al. Jan 2013 B2
8400548 Bilbrey et al. Mar 2013 B2
8425292 Lui et al. Apr 2013 B2
8477027 Givens Jul 2013 B2
8527228 Panagas Sep 2013 B2
8565483 Nakaoka Oct 2013 B2
8589114 Papadourakis Nov 2013 B2
8696482 Pedenko et al. Apr 2014 B1
8723986 Merrill May 2014 B1
8725452 Han May 2014 B2
8764576 Takasugi Jul 2014 B2
8781610 Han Jul 2014 B2
8831905 Papadourakis Sep 2014 B2
8876621 Shibuya Nov 2014 B2
8888603 Sato et al. Nov 2014 B2
8905856 Parke et al. Dec 2014 B2
8929709 Lokshin Jan 2015 B2
8944932 Sato et al. Feb 2015 B2
8944939 Clark et al. Feb 2015 B2
8956238 Boyd et al. Feb 2015 B2
8988341 Lin et al. Mar 2015 B2
8989441 Han et al. Mar 2015 B2
9032794 Perkins et al. May 2015 B2
9060682 Lokshin Jun 2015 B2
9146134 Lokshin et al. Sep 2015 B2
9646199 Bose et al. May 2017 B2
9656122 Papadourakis May 2017 B2
9694267 Thornbrue Jul 2017 B1
10124230 Thornbrue et al. Nov 2018 B2
10460157 Matsunaga et al. Oct 2019 B2
20010029207 Cameron et al. Oct 2001 A1
20010035880 Musatov et al. Nov 2001 A1
20010045904 Silzer, Jr. Nov 2001 A1
20010049636 Hudda et al. Dec 2001 A1
20020004723 Meifu et al. Jan 2002 A1
20020019677 Lee Feb 2002 A1
20020049507 Hameen-Anttila Apr 2002 A1
20020052750 Hirooka May 2002 A1
20020064764 Fishman May 2002 A1
20020072815 McDonough et al. Jun 2002 A1
20020077189 Tuer et al. Jun 2002 A1
20020082775 Meadows et al. Jun 2002 A1
20020115046 McNitt et al. Aug 2002 A1
20020126157 Farago et al. Sep 2002 A1
20020151994 Sisco Oct 2002 A1
20020173364 Boscha Nov 2002 A1
20020177490 Yong et al. Nov 2002 A1
20020188359 Morse Dec 2002 A1
20030008722 Konow Jan 2003 A1
20030073518 Marty Apr 2003 A1
20030074659 Louzoun Apr 2003 A1
20030109322 Funk et al. Jun 2003 A1
20030163287 Vock et al. Aug 2003 A1
20030191547 Morse Oct 2003 A1
20030208830 Marmaropoulos Nov 2003 A1
20040028258 Naimark et al. Feb 2004 A1
20040033843 Miller Feb 2004 A1
20040044493 Coulthard Mar 2004 A1
20040147329 Meadows et al. Jul 2004 A1
20040227676 Kim et al. Nov 2004 A1
20040248676 Taylor Dec 2004 A1
20050021292 Vock et al. Jan 2005 A1
20050023763 Richardson Feb 2005 A1
20050032582 Mahajan et al. Feb 2005 A1
20050054457 Eyestone et al. Mar 2005 A1
20050156068 Ivans Jul 2005 A1
20050203430 Williams et al. Sep 2005 A1
20050213076 Saegusa Sep 2005 A1
20050215340 Stites et al. Sep 2005 A1
20050227775 Cassady et al. Oct 2005 A1
20050261073 Farrington, Jr. et al. Nov 2005 A1
20050268704 Bissonnette et al. Dec 2005 A1
20050272516 Gobush Dec 2005 A1
20050282650 Miettinen et al. Dec 2005 A1
20050288119 Wang et al. Dec 2005 A1
20060020177 Seo et al. Jan 2006 A1
20060025229 Mahajan et al. Feb 2006 A1
20060038657 Denison et al. Feb 2006 A1
20060063600 Grober Mar 2006 A1
20060068928 Nagy Mar 2006 A1
20060084516 Eyestone et al. Apr 2006 A1
20060109116 Keays May 2006 A1
20060122002 Konow Jun 2006 A1
20060166738 Eyestone et al. Jul 2006 A1
20060189389 Hunter et al. Aug 2006 A1
20060199659 Caldwell Sep 2006 A1
20060247070 Funk et al. Nov 2006 A1
20060250745 Butler et al. Nov 2006 A1
20060270450 Garratt et al. Nov 2006 A1
20060276256 Storek Dec 2006 A1
20060284979 Clarkson Dec 2006 A1
20060293112 Yi Dec 2006 A1
20070052807 Zhou et al. Mar 2007 A1
20070062284 Machida Mar 2007 A1
20070081695 Foxlin et al. Apr 2007 A1
20070087866 Meadows et al. Apr 2007 A1
20070099715 Jones et al. May 2007 A1
20070111811 Grober May 2007 A1
20070129178 Reeves Jun 2007 A1
20070135225 Nieminen Jun 2007 A1
20070135237 Reeves Jun 2007 A1
20070219744 Kolen Sep 2007 A1
20070265105 Barton Nov 2007 A1
20070270214 Bentley Nov 2007 A1
20070298896 Nusbaum Dec 2007 A1
20080027502 Ransom Jan 2008 A1
20080085778 Dugan Apr 2008 A1
20080090703 Rosenberg Apr 2008 A1
20080108456 Bonito May 2008 A1
20080164999 Otto Jul 2008 A1
20080182685 Marty et al. Jul 2008 A1
20080190202 Kulach et al. Aug 2008 A1
20080211768 Breen et al. Sep 2008 A1
20080234935 Wolf et al. Sep 2008 A1
20080280642 Coxhill et al. Nov 2008 A1
20080284979 Yee et al. Nov 2008 A1
20080285805 Luinge et al. Nov 2008 A1
20090002316 Rofougaran Jan 2009 A1
20090017944 Savarese et al. Jan 2009 A1
20090029754 Slocum et al. Jan 2009 A1
20090033741 Oh et al. Feb 2009 A1
20090036237 Nipper et al. Feb 2009 A1
20090048044 Oleson et al. Feb 2009 A1
20090055820 Huang Feb 2009 A1
20090088276 Solheim et al. Apr 2009 A1
20090111602 Savarese et al. Apr 2009 A1
20090131190 Kimber May 2009 A1
20090137333 Lin et al. May 2009 A1
20090144785 Walker et al. Jun 2009 A1
20090174676 Westerman Jul 2009 A1
20090177097 Ma et al. Jul 2009 A1
20090191846 Shi Jul 2009 A1
20090209343 Foxlin et al. Aug 2009 A1
20090209358 Niegowski Aug 2009 A1
20090213134 Stephanick et al. Aug 2009 A1
20090222163 Plante Sep 2009 A1
20090233735 Savarese et al. Sep 2009 A1
20090254276 Faulkner et al. Oct 2009 A1
20090254971 Herz et al. Oct 2009 A1
20090299232 Lanfermann et al. Dec 2009 A1
20100049468 Papadourakis Feb 2010 A1
20100062869 Chung et al. Mar 2010 A1
20100063778 Schrock et al. Mar 2010 A1
20100063779 Schrock et al. Mar 2010 A1
20100091112 Veeser et al. Apr 2010 A1
20100093458 Davenport et al. Apr 2010 A1
20100099509 Ahem et al. Apr 2010 A1
20100103269 Wilson et al. Apr 2010 A1
20100113174 Ahern May 2010 A1
20100121227 Stirling et al. May 2010 A1
20100121228 Stirling et al. May 2010 A1
20100130298 Dugan et al. May 2010 A1
20100144414 Edis et al. Jun 2010 A1
20100144456 Ahern Jun 2010 A1
20100144457 Kim et al. Jul 2010 A1
20100178994 Do et al. Jul 2010 A1
20100201512 Stirling et al. Aug 2010 A1
20100204616 Shears et al. Aug 2010 A1
20100216564 Stites et al. Aug 2010 A1
20100222152 Jaekel et al. Sep 2010 A1
20100308105 Savarese et al. Dec 2010 A1
20100309097 Raviv et al. Dec 2010 A1
20100323794 Su Dec 2010 A1
20110004871 Liu Jan 2011 A1
20110029235 Berry Feb 2011 A1
20110037778 Deng et al. Feb 2011 A1
20110050864 Bond Mar 2011 A1
20110052005 Selner Mar 2011 A1
20110053688 Crawford et al. Mar 2011 A1
20110075341 Lau et al. Mar 2011 A1
20110081981 Okamoto Apr 2011 A1
20110126184 Lisboa May 2011 A1
20110165998 Lau et al. Jul 2011 A1
20110195780 Lu Aug 2011 A1
20110230273 Niegowski et al. Sep 2011 A1
20110230274 Lafortune et al. Sep 2011 A1
20110230985 Niegowski et al. Sep 2011 A1
20110230986 Lafortune Sep 2011 A1
20110238308 Miller et al. Sep 2011 A1
20110305369 Bentley Dec 2011 A1
20120004034 Pope et al. Jan 2012 A1
20120023354 Chino Jan 2012 A1
20120052972 Bentley Mar 2012 A1
20120088544 Bentley et al. Apr 2012 A1
20120115626 Davenport May 2012 A1
20120115682 Homsi May 2012 A1
20120116548 Goree et al. May 2012 A1
20120120572 Bentley May 2012 A1
20120142415 Lindsay Jun 2012 A1
20120157241 Nomura Jun 2012 A1
20120179418 Takasugi et al. Jul 2012 A1
20120179742 Acharya et al. Jul 2012 A1
20120191405 Molyneux et al. Jul 2012 A1
20120295726 Cherbini Nov 2012 A1
20120316004 Shibuya Dec 2012 A1
20130029791 Rose et al. Jan 2013 A1
20130095924 Geisner et al. Apr 2013 A1
20130095941 Bentley et al. Apr 2013 A1
20130110415 Davis et al. May 2013 A1
20130128022 Bose et al. May 2013 A1
20130173212 Saiki et al. Jul 2013 A1
20130178304 Chan Jul 2013 A1
20130191063 Nomura Jul 2013 A1
20130225309 Bentley et al. Aug 2013 A1
20130245966 Burroughs et al. Sep 2013 A1
20130267335 Boyd et al. Oct 2013 A1
20130271602 Bentley et al. Oct 2013 A1
20130298668 Sato Nov 2013 A1
20130319113 Mizuta Dec 2013 A1
20130330054 Lokshin Dec 2013 A1
20130332004 Gompert et al. Dec 2013 A1
20130343729 Rav-Acha et al. Dec 2013 A1
20130346013 Lokshin Dec 2013 A1
20140019083 Nakaoka Jan 2014 A1
20140100048 Ota et al. Apr 2014 A1
20140100049 Ota et al. Apr 2014 A1
20140100050 Ota et al. Apr 2014 A1
20140135139 Shibuya et al. May 2014 A1
20140156214 Nomura Jun 2014 A1
20140172873 Varoglu et al. Jun 2014 A1
20140200092 Parke et al. Jul 2014 A1
20140200094 Parke et al. Jul 2014 A1
20140213382 Kang et al. Jul 2014 A1
20140229135 Nomura Aug 2014 A1
20140229138 Goree et al. Aug 2014 A1
20140257743 Lokshin et al. Sep 2014 A1
20140257744 Lokshin et al. Sep 2014 A1
20140295982 Shibuya Oct 2014 A1
20140334796 Galant et al. Nov 2014 A1
20140376876 Bentley et al. Dec 2014 A1
20140378239 Sato et al. Dec 2014 A1
20140379293 Sato Dec 2014 A1
20140379294 Shibuya et al. Dec 2014 A1
20140379295 Sato et al. Dec 2014 A1
20150007658 Ishikawa et al. Jan 2015 A1
20150012240 Sato Jan 2015 A1
20150042481 Nomura Feb 2015 A1
20150098688 Lokshin Apr 2015 A1
20150124048 King May 2015 A1
20150131845 Forouhar et al. May 2015 A1
20150154452 Bentley Jun 2015 A1
20150256689 Erkkila et al. Sep 2015 A1
20150258402 Bynum Sep 2015 A1
20150348591 Kaps et al. Dec 2015 A1
20170061817 Mettler May Mar 2017 A1
20170157484 Altshuler et al. Jun 2017 A1
20180021648 Thornbrue Jan 2018 A1
20180021653 Thornbrue Jan 2018 A1
20180070056 DeAngelis et al. Mar 2018 A1
Foreign Referenced Citations (21)
Number Date Country
2025369 Feb 2009 EP
2479993 Jul 2012 EP
2652738 Oct 2013 EP
2781240 Sep 2014 EP
2002210055 Jul 2002 JP
2004207985 Jul 2004 JP
2005176030 Jun 2005 JP
2011000367 Jan 2011 JP
2012196241 Oct 2012 JP
2013188426 Sep 2013 JP
10-20030085275 Nov 2003 KR
10-20060041060 May 2006 KR
10-20070119018 Dec 2007 KR
10-2010074068 Jul 2010 KR
101079319 Jun 2011 KR
10-20100020131 Sep 2011 KR
1994027683 Dec 1994 WO
2007130057 Nov 2007 WO
2009056688 May 2009 WO
2011057194 May 2011 WO
2014085744 Jun 2014 WO
Non-Patent Literature Citations (83)
Entry
Supplementary Extended European Search Report received in 15782595.1 dated Nov. 27, 2017, 5 pages.
International Search Report received in PCT/US2016/042668, dated Oct. 4, 2016, 21 pages.
International Search Report received in PCT/US2016/042671, dated Oct. 13, 2016, 17 pages.
International Search Report and Written Opinion received in PCT/US2016/042676, dated Oct. 24, 2016 (12 pages).
International Preliminary Report on Patentability received in PCT/US2015/026917, dated Nov. 3, 2016 (5 pages).
International Search Report received for PCT Application No. PCT/US2012/065716, dated Jan. 3, 2013, 10 pages.
MyCaddie, 2009, retrieved on Sep. 26, 2012 from http://www.iMakePars.com, 4 pages.
Swing it See it Fix it, Improve Gold Swing, SwingSmart Golf Analyzer, retrieved on Sep. 26, 2012 from http://www.SwingSmart.com, 2 pages.
Learn how Swingbyte can improve your game, retrieved on Sep. 26, 2012 from http://www.swingbyte.com, 2 pages.
International Search Report received for PCT Application No. PCT/US2011/055173, dated Mar. 6, 2012, 8 pages.
International Search Report received for PCT Application No. PCT/US2011/049461, dated Feb. 23, 2012, 14 pages, 2012.
PCT Search Report, PCT/US2012/029310, dated Sep. 28, 2012, 3 pages.
IPRP, PCT/US2011/049461, dated Mar. 7, 2013, 6 pages.
IPRP, PCT/US2011/058182, dated Apr. 30, 2013, 5 pages.
IPER, PCT/US2011/055173, dated Apr. 25, 2013, 5 pages, (2013).
IPRP, PCT/US2012/065716, dated May 20, 2014, 6 pages.
International Search Report for PCT Application No. PCT/US2013/021999, dated Apr. 30, 2013, 8 pages.
International Search Report for PCT Application No. PCT/US2012/066915, dated Mar. 29, 2013, 10 pages.
International Search Report for PCT Application No. PCT/US2015/26896, dated Jul. 28, 2015, 15 pages.
International Search Report for PCT Application No. PCTUS2015/26917, dated Jul. 30, 2015, 16 pages.
The Nike+FuelBand User's Guide, rev 14, 26 pages, 2012.
UP by Jawbone Extended User Guide, 10 pages, 2012.
Armour39, Under Armour Guarantee, Getting Started, retrieved from the Internet on Jul. 12, 2013, 7 pages.
Armour39 Module & Chest Strap, retrieved from the Internet on Jul. 12, 2013, 6 pages.
MiCoach Pacer User Manual, 31 pages, (2009).
Foreman et al. “A Comparative Analysis for the Measurement of Head Accelerations in Ice Hockey Helmets using Non-Accelerometer Based Systems,” Nov. 19, 2012, 13 pages.
Reebok-CCM and MC10 to Launch Revolutionary Sports Impact Indicator, MC10 News (http://www.mc10inc.com/news/), Oct. 24, 2012, 3 pages.
CheckLight MC10 Overview, Reebok International Limited, Nov. 20, 2012, 7 pages.
Reebok and MC10 Team Up to Build CheckLight, a Head Impact Indicator (Hands-on), MC10 News (http://www.mc10inc.com/news/), Jan. 11, 2013, 1 pg.
Trace—The Most Advanced Activity Monitor for Action Sports, webpage, retrieved on Aug. 6, 2013, 22 pages.
CheckLight, Sports/Activity Impact Indicator, User Manual, 13 pages, 2013, Reebok International Limited.
King, The Design and Application of Wireless Mems Inertial Measurement Units for the Measurement and Analysis of Golf Swings, 2008.
Grober, An Accelerometer Based Instrumentation of the Golf Club: Comparative Analysis of Golf Swings, 2009.
Gehrig et al, Visual Golf Club Tracking for Enhanced Swing Analysis, Computer Vision Lab, Lausanne, Switzerland, 2003.
PocketPro Golf Designs, PocketPro Full Swing Analysis in Your Pocket, www.PocketPro.org, (2011).
Clemson University, Golf Shot Tutorial, http://www.webnucleo.org/home/online_tools/newton/0.4/html/about_this_tool/tutorials/golf_1.shp.cgi, retrieved on Nov. 10, 2011.
MiCoach Speed_Cell TM, User Manual, 23 pages, (2011).
Nike+iPod, User Guide, 32 pages (2010).
SureShotGPS SS9000X, Intelligent Touch, Instruction Manual, 25 page, 2011.
ActiveReplay, “Trace—The Most Advanced Activity Monitor for Action Sports”, http://www.kickstarter.com/projects/activereplay/trace-the-most-advanced-activity-monitor-for-actio, 13 pages, Oct. 1, 2013.
Zepp Golfsense@Launch2011, https://www.youtube.com/watch?v=VnOcu8szjIk (video), Mar. 14, 2011.
Epson US Newsroom, “Epson America Enters Sports Wearables Market with Introduction of M-Tracer MT500GII Golf Swing Analyzer”, www.news.epson.com, Jan. 5, 2015, 4 pages.
International Search Report and Written Opinion dated Dec. 22, 2015 received in PCTUS1561695, 7 pages.
Search Report Received in PCT2013021999 dated Jan. 21, 2016.
Patent Examination Report received in Australia Application No. 2011313952, dated Mar. 15, 2016, 5 pages.
“About Banjo” webpages retrieved from interne, dated 2015.
International Search Report and Written Opinion mailed in PCTUS1642674 dated Aug. 12, 2016, 9 pages.
International Preliminary Report on Patentability in PCTUS2015061695, dated Jun. 1, 2017, 5 pages.
European Search Report received in PCTUS2015026896 dated May 11, 2017, 13 pages.
Zepp Labs, Inc. v. Blast Motion, Inc. Petition for Inter Partes Review of U.S. Pat. No. 8,903,521 filed on Feb. 24, 2016, as IPR2016-00672, and accompanying Declaration of Dr. Steven M. Nesbit.
Zepp Labs, Inc. v. Blast Motion, Inc. Petition for Inter Partes Review of U.S. Pat. No. 9,039,527 filed on Feb. 24, 2016, as IPR2016-00674, and accompanying Declaration of Dr. Steven M. Nesbit.
Zepp Labs, Inc. v. Blast Motion, Inc. Petition for Inter Partes Review of U.S. Pat. No. 8,941,723 filed on Feb. 24, 2016, as IPR2016-00675, and accompanying Declaration of Dr. Steven M. Nesbit.
Zepp Labs, Inc. v. Blast Motion, Inc. Petition for Inter Partes Review of U.S. Pat. No. 8,905,855 filed on Feb. 24, 2016, as IPR2016-00676, and accompanying Declaration of Dr. Steven M. Nesbit.
Zepp Labs, Inc. v. Blast Motion, Inc. Petition for Inter Partes Review of U.S. Pat. No. 8,944,928 filed on Feb. 24, 2016, as IPR2016-00677, and accompanying Declaration of Dr. Steven M. Nesbit.
Chris Otto, et al, “System Architecture of a Wireless Body Area Sensor Network for Ubiquitous Health Monitoring”, Journal of Mobile Multimedia, vol. 1, No. 4, Jan. 10, 2006, University of Alabama in Huntsville, 20 Pages.
Linx Technologies “High Performance RF Module: Hp3 Series Transmitter Module Data Guide Description”, Jul. 27, 2011, 13 pages.
Roger Allan, “Wireless Sensor Architectures Uses Bluetooth Standard”, www.electronicdesign.com/communications/wireless-sensor-architecture-uses-bluetooth-standard, Aug. 7, 2000, 5 pages.
Don Tuite, “Motion-Sensing MEMS Gyros and Accelerometers are Everywhere”, www.electronicdesign.com/print/analog/motion-sensing-mems-gyros-and-accelerometers-are-everywhere, Jul. 9, 2009, 6 pages.
InvenSense News Release, “InvenSense Unveils World's 1st IMU Solution for Consumer Applications”, ir.invensense.com, 2016, 2 Pages.
Dean Takahashi, “Facebook, Twitter, Last.fm coming to Xbox Live this Fall”, Jun. 1, 2009, Webpage printout, 5 pages.
The iClub System, Products pp., www.iclub.net, 2001-2005, 5 pages.
Websters New College Dictionary, Definition of “Virtual Reality”, Third Edition, 2005, 3 Pages.
SmartSwing, “SmartSwing Introduces Affordable Intelligent Golf Club”, www.smartswinggolf.com, Jan. 2006, 2 pages.
Henrick Arfwedson, et al., “Ericsson's Bluetooth modules”, Ericsson Review No. 4, 1999, 8 pages.
ZigBees, “Zigbee information”, www.zigbees.com , 2015, 4 pages.
SolidState Technology, “MEMS enable smart golf clubs”, www.electroiq.com , 2005, 3 pages.
IGN, “Japanese WII Price Release Date Revealed”, 2006, www.ign.com , 2006, 1 page.
First Annual Better Golf Through Technology Conference 2006 webpage, www.bettergolfthroughtechnology.com , Massachusetts Institute of Technology, Cambridge Massachusetts, Feb. 2006, 1 page.
Concept2Rowing, “Training” web page. content, www.concept2.com , 2009, 1 page.
Expresso, Products pp., www.expresso.com/products , 2009, 2 pages.
Manish Kalia, et al., “Efficient Policies for Increasing Capacity in Bluetooth: An Indoor Pico-Cellular Wireless System”, IBM India Research Laboratory, Indian Institute of Technology, 2000, 5 pages.
R. Rao, et al., “Demand-Based Bluetooth Scheduling”, Pennsylvania State University, 2001, 13 pages.
Supplementary European Search Report received in 15860384.5 dated Jun. 21, 2018, 9 pages.
International Search Report and Written Opinion received in PCT/US18033757, dated Aug. 31, 2018, 8 pages.
Supplementary Partial European Search Report received from EP Application Serial No. 11820763.8, dated Aug. 8, 2017, 15 pages.
Supplementary Partial European Search Report received from EP Application Serial No. 11833159.4, dated Aug. 8, 2017, 15 pages.
David E. Culler, Et al., “Smart Sensors to Network the World”, published in Scientific American Magazine, No. Jun. 2004, dated Jun. 1, 2004, pp. 85-91.
International Search Report and Written Opinion received in PCT/US2017/039209, dated Aug. 24, 2017, 7 pages.
International Search Report and Written Opinion received in PCT/US2017/52114, dated Oct. 3, 9 pages.
International Search Report and Written Opinion Received in PCT/US2017/37987, dated Nov. 9, 2017, 12 pages.
Supplementary Extended European Search Report received in 11820763.8 dated Nov. 13, 2017, 16 pages.
Supplementary Extended European Search Report received in 11833159.4 dated Nov. 6, 2017, 14 pages.
Supplementary European Search Report received in 1682529.5, dated Jun. 6, 2019, 7 pages.
Related Publications (1)
Number Date Country
20180021648 A1 Jan 2018 US
Continuations (1)
Number Date Country
Parent 15214339 Jul 2016 US
Child 15633094 US