IP Library Granted Patent US 10,617,926
Granted Patent B2
US 10,617,926 · App. 15/633,094 · Granted Apr 14, 2020

Swing analysis method using a swing plane reference frame

Inventors: James Thornbrue (San Diego, CA); Patrick Cherveny (San Marcos, CA)
Assignee: Blast Motion Inc.
A63B69/0002G06K9/00342G06K9/00536A63B2069/0008A63B2071/0694A63B2220/803G06Q10/0639G16H20/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,617,926
App. No.
15/633,094
Granted
Apr 14, 2020
Kind
B2
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.

Claims (58)

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, and

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

Assignments (10)
ASSET PURCHASE AGREEMENT Recorded Apr 28, 2026
From: BM LIQUIDATION, LLC
To: WIN REALITY, LLC
Reel/Frame 075492/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2026
From: BLAST MOTION, INC.
To: BM LIQUIDATION, LLC
Reel/Frame 075494/0137 →
RELEASE OF SECURITY INTEREST Recorded Mar 7, 2025
From: GALLAGHER IP SOLUTIONS LLC
To: BLAST MOTION INC.
Reel/Frame 070441/0945 →
CHANGE OF NAME Recorded Jan 23, 2025
From: BLAST MOTION INC.
To: MFBM INVESTMENT HOLDINGS INC.
Reel/Frame 069997/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2024
From: BLAST MOTION INC.
To: BLAST MOTION INC.
Reel/Frame 069217/0303 →
SECURITY INTEREST Recorded Aug 5, 2024
From: NEWLIGHT CAPITAL, LLC
To: GALLAGHER IP SOLUTIONS LLC
Reel/Frame 068328/0534 →
CHANGE OF ADDRESS Recorded Mar 15, 2022
From: BLAST MOTION INC.
To: BLAST MOTION INC.
Reel/Frame 059366/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: BLAST MOTION INC.,
To: NEWLIGHT CAPITAL LLC
Reel/Frame 059208/0958 →
SECURITY INTEREST Recorded Feb 2, 2021
From: BLAST MOTION INC.
To: NEWLIGHT CAPITAL LLC, INDIVIDUALLY AND FOR THE BENEFIT OF AND AS COLLATERAL AGENT FOR THE BENEFIT OF UMB BANK, NATIONAL ASSOCIATION, AS TRUSTEE
Reel/Frame 055207/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2017
From: THORNBRUE, JAMES; CHERVENY, PATRICK
To: BLAST MOTION INC.
Reel/Frame 042817/0526 →
Continuity (2)
Continuation 15214339 · Jul 19, 2016
Related Publication 20180021648A1 · Jan 25, 2018