BALL SPIN RATE MEASUREMENT SYSTEM AND METHOD

20210362027 · 2021-11-25

Assignee

Inventors

Cpc classification

International classification

Abstract

A system and method wherein ball spin rate and axis orientation are determined according to an electronic circuit that includes a magnetometer spin sensor module and, in the alternative, an electronic circuit that includes a spin sensor module with a plurality of accelerometers.

Claims

1. A system for determining a spin rate and spin axis orientation of a body in motion, said system comprising: an electronics circuit that is located in said body, wherein said electronics circuit collects and processes data defining a reference frame of said body and data defining a global reference frame, said electronics circuit including; an inertial measurement unit that generates IMU data in accordance with the motion of said body; a spin sensor module that generates spin sensor data in accordance with rotation of said body relative to a reference frame; one or more microcontrollers that manage and execute data acquisition, power management, and communication processes associated with the IMU data and the spin sensor module data; a data storage module for storing data from said spin sensor module or said at least one microcontroller or at least one IMU; a wireless communication module that is in communication with a processing device and that sends said spin sensor data or data from said at least one microcontroller, or data from said at least one IMU; a battery that supplies electrical power for said at least one microcontroller and said wireless communication module; and a processing device that communicates with said wireless communication module, said processing device processing data from said electronics circuit to display the spin rate of said body, wherein said electronics circuit alone or said processing device alone or said electronics circuit in combination with said processing device determine the spin rate of said body, and wherein the spin rate of said body is determined from said spin sensor data that is segmented according to said IMU data, and wherein said electronics circuit determines selected events of the motion of said body according to said IMU data and wherein said spin sensor data is segmented according to said IMU data.

2. The system of claim 1 wherein said electronics circuit determines the spin rate of said body.

3. The system of claim 1 wherein said processing device determines the spin rate of said body.

4. The system of claim 1 wherein the spin sensor module contains one or more magnetometers each with one or more axes of measurement.

5. The system of claim 1 wherein the spin sensor module contains two or more accelerometers, each with one or more axes of measurement.

6. The system of claim 1 wherein the spin sensor module contains a combination of one or more or magnetometers and one or more accelerometers.

7. The system of claim 1 wherein the spin sensor module, microcontroller, or remote processor, or a combination thereof determines spin rate of said body by analyzing frequency of data from one or more axes of magnetometers.

8. The system of claim 1 wherein spin sensor module, microcontroller, or remote processor determines spin rate of said body by analyzing the centripetal accelerations measured by multiple accelerometers.

9. The system of claim 1 wherein the spin sensor module, microcontroller, or remote processor determines spin direction of said body in the global reference frame or the field reference frame by transforming spin direction from the sensor frame using a rotation matrix calculated from gyroscope data.

10. The system of claim 1 wherein the spin sensor module, microcontroller, or remote processor determines spin direction of said body in the sensor reference frame using multiple measurements from a magnetometer.

11. The system of claim 1 wherein the spin sensor module, microcontroller, or remote processor determines spin direction of said body in the sensor reference frame using measurements from at least two accelerometers.

12. The system of claim 1 wherein said system reconstructs the motion of said body in 3-dimensional space in accordance with said IMU data.

13. The system of claim 1 wherein said selected events correspond to a free flight beginning and a free flight ending.

14. The system of claim 13 wherein said spin sensor module includes a magnetometer with three independent magnetometer sensors arranged along orthogonal axes.

15. The system of claim 13 wherein each of said independent magnetometer sensors generates respective magnetometer data and wherein said respective magnetometer data is weighted.

16. The system of claim 15 wherein the weighted magnetometer data from each independent magnetometer sensor is processed to develop the overall frequency components of spin motion of said body.

17. The system of claim 1 wherein said spin sensor module includes more than one 3-axial accelerometer.

18. The system of claim 17 wherein data from first and second 3-axial accelerometers represents centripetal acceleration for different locations within said body.

19. A method for determining a spin rate and spin axis orientation of a body in motion, said method comprising the steps of: transforming data defining a reference frame of said body to global frame data that defines a global reference frame, said transforming data step including the sub-steps of: collecting data from an inertial measurement unit that generates IMU data in accordance with the motion of said body; collecting data from a spin senor module in accordance with rotation of said body relative to said reference frame; computing spin rate and spin axis information in terms of the body reference frame and the global reference frame; managing and executing acquisition of said IMU data and spin sensor data, computations based on said IMU data and said spin sensor data, and power and communication processes that are associated with said IMU data and said spin sensor data; storing said spin sensor data, or spin rate and spin axis computations, or computed spin rate and spin axis information; communicating with a processing device such that spin sensor data, or computed spin sensor data based on said IMU data and said spin sensor data, or data from said at least one IMU is transmitted; communicating processing data to display the spin rate of said body, wherein the spin rate of said body is determined from said spin sensor data that is segmented according to said IMU data, and determining selected events of the motion of said body according to said IMU data such that said method determines body motion according to said IMU data.

20. The method of claim 19 wherein the spin sensor module contains a combination of one or more or magnetometers and one or more accelerometers.

21. The method of claim 19 wherein the spin rate of said body is determined by analyzing frequency of data from one or more axes of magnetometers.

22. The method of claim 19 the spin rate of said body is determined by analyzing the centripetal accelerations measured by multiple accelerometers.

23. The method of claim 19 wherein the spin direction of said body in the global reference frame or in the field reference frame is determined by transforming spin direction from the sensor frame using a rotation matrix calculated from gyroscope data.

24. The method of claim 19 wherein the spin direction of said body in the sensor reference frame is determined using multiple measurements of a magnetometer.

25. The method of claim 19 wherein the spin direction of said body in the sensor reference frame is determined using measurements from at least two accelerometers.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0024] A presently preferred embodiment of the disclosed invention is shown and described in connection with the accompanying drawings wherein:

[0025] FIG. 1 illustrates an overhead view of a baseball trajectory;

[0026] FIG. 2 illustrates forces on a ball in free flight;

[0027] FIG. 3A is a first diagram for sensor electronics;

[0028] FIG. 3B is a second diagram for sensor electronics;

[0029] FIG. 4 illustrates the collection and recording of pitch data;

[0030] FIG. 5 shows a logic diagram for the disclosed system and process;

[0031] FIG. 6 illustrates the magnetic data in 3 axes during a pitch motion;

[0032] FIG. 7 is illustrates an example of applying a window function to magnetic data.

[0033] FIG. 8 shows the Discrete Fourier Transform representation of magnetometer data;

[0034] FIG. 9 illustrates a topology of two triple-axis accelerometers in a ball;

[0035] FIG. 10 represents a projection of sensor distance vector onto a plane;

[0036] FIG. 11 illustrates the geometric relationship between distance vectors;

[0037] FIG. 12 represents magnetometer data sampled during free flight of the ball;

[0038] FIG. 13 illustrates data of an accelerometer pair during a pitch (top, accelerometer 1; bottom accelerometer 2); and

[0039] FIG. 14 shows spin rate results for an experimental sample pitch.

DESCRIPTION OF A PRESENTLY PREFERRED EMBODIMENT OF THE PRESENTLY DISCLOSED INVENTION

[0040] The presently disclosed invention includes a design of a small size electronics circuit that can be embedded in a baseball, softball, tennis ball etc. One embodiment of the electronics circuit includes a microcontroller, a communication module, a data storage module, an inertial measurement unit, a battery, and a spin sensor module. The microcontroller may be a single microcontroller or a combination of microcontroller(s) and digital signal processor(s) that together manage and execute all data acquisition, computational, power management, and communication processes associated with data collected concerning motion of the ball. The term “processor” refers to any and all such functional elements. The communication module can be Bluetooth or other wireless communication module that receives and sends data to and from a personal device such as computer or mobile phone. The data storage module can be a flash memory and/or a volatile memory. The inertial measurement unit may include any combination of accelerometers and/or gyroscopes and/or magnetometers (with one or more axes of measurement) that collect motion data during a pitch and may be in a common integrated circuit package or in separate packages. Additional accelerometer(s), angular rate gyro(s), and/or magnetometer(s) can be included as described below. In the disclosed invention, two different electronic circuit embodiments for measuring ball spin rate with different sensor modules are disclosed. One embodiment using a magnetometer, that can include one or more measurement axes, is shown in FIG. 3(a). Another embodiment using two accelerometers, each with one or more measurement axes, is shown in FIG. 3(b).

[0041] When a ball, equipped with at least one of the sensor configurations shown in FIG. 3A or FIG. 3B is pitched to home plate, both inertial measurement unit and spin sensor module record motion data during the pitch motion and free flight, as illustrated by the heavy dashed line in FIG. 4. When the pitch is completed, data from all sensor modules may be transferred to a personal device such as a mobile phone or tablet or a computer. The transferred data is then analyzed to determine spin rate.

[0042] Determination of spin rate in accordance with the presently disclosed invention may be accomplished with the use of a personal device or computer. At times when the personal device is not available or for purposes of limiting the quantity to data that is transferred to the personal device, determination of spin rate may be accomplished through use of the sensor electronics.

[0043] When using the sensor electronics to limit the quantity of data that is transferred to the personal device, some or all of the spin analysis may be executed on the embedded processor and the transferred information may include a processed result alone or both sensor data and the processed result, or portions of the processed result and portions of the sensor data. At times when a communications channel is available, the processed result and/or data and/or portions thereof can be transferred immediately. At times when no communications channel is available or when it is otherwise desirable to make such transfer at a later time, the processed result and/or the data and/or both may be stored in memory.

[0044] A process diagram for the overall workflow for the disclosed spin analysis system and method is shown in FIG. 5. FIG. 5 shows that data from inertial measurement unit 30 is pre-processed at step 32 and data from spin sensor 34 is pre-processed at step 36. Such preprocessing may be used to filter signal noise or to perform signal calibration prior to further processing.

[0045] At step 36, pre-processed data is analyzed according to a rule-based system that identifies key time instances of pitch motion in inertial measurement unit data. For example, the rule-based system may determine when the ball is held still in the player's hands by noting when that the gyroscope magnitude data is close to zero and acceleration magnitude data is close to gravity (each within certain tolerance).

[0046] At step 38, key time instances of beginning of free flight (release) and end of free flight (catch or impact) as determined in the pitch events detection calculations are used to segment spin sensor data, meaning that the ball is spinning freely in space during the intervening time period.

[0047] At step 40 the system reconstructs ball motion in 3-dimensional space according known methods for processing the inertial measurement unit data. A rotation matrix that relates the ball frame to the global frame is used for spin axis determination as is hereinafter more fully explained. Other pitch metrics, such as release speed and time to plate also are obtained in this step.

[0048] At step 42 spin rate is reconstructed. The method for spin rate reconstruction depends of the type of sensor module. Different methods correspond to different types of sensor modules as is hereinafter more fully explained.

[0049] With reference to the magnetometer sensor module that is shown in FIG. 3A, a magnetometer is used to detect the environmental magnetic field (that is, the earth's magnetic field) projected onto the sensor coordinate frame. Assuming that there are no abnormal magnetic disturbances, the environmental magnetic field maintains the same direction in three-dimensional space throughout the ball's flight. Because the ball with the embedded magnetometer is spinning during free flight, the magnetometer reading changes correspondingly throughout the flight due to the changing relative attitude between ball and magnetic field. For a system with a tri-axis magnetometer (three independent magnetometer sensors arranged along orthogonal axes) an illustration of the tri-axis data that is recorded by the magnetometer during the entire pitch motion is demonstrated in FIG. 6.

[0050] FIG. 6 shows that magnetic data is a periodic signal during free flight and that free flight occurs between the two key time points: (a) the release point; and (b) the catch or impact point (whether the ball is caught or impacts a net or ground or other object, the effect is essentially the same for the purposes of this invention, and the time of impact is denoted as the end of flight).

[0051] To determine spin rate, the system may first process the data such as, for example, in a Hamming window onto the magnetometer data that is truncated by the release point and the catch point. FIG. 7(a) shows an example of raw magnetometer data of one axis during the free flight period. FIG. 7(b) is a visualization of a Hamming window. FIG. 7(c) shows the results of this step. Before applying the Hamming window, the mean value is subtracted from the signal in FIG. 7(a) to remove the DC component in the frequency domain analysis of the next step.

[0052] The next step in determining spin rate applies the Discrete Fourier Transform (DFT) on each axis of the processed magnetometer data (e.g. the data in FIG. 7(c)) as follows:


X.sub.k=Σ.sub.n=0.sup.N−1x.sub.ne.sup.−i2πkn/N k=0, . . . , N−1  (Eq. 3)

[0053] where x.sub.n is the value of signal at index of n, N is the total number of data points in the truncated (free flight) window, and X.sub.k is the magnitude at the kth frequency bin. According to the linearity property of the DFT operation, the magnitude of the frequency domain value of each axis can be summed to get the overall frequency components of the spin motion.

[0054] FIG. 8 shows an example frequency domain result after applying the analysis described above. In the example of FIG. 8, the peak value occurs at 24.4 Hz, which equates to a ball rotation of 24.4 revolution per second.

[0055] Signal processing in accordance with the accelerometer sensor module shown in FIG. 3B is further described in connection with FIGS. 9 and 10. As shown in FIG. 3B, two 3-axial accelerometers are located on a sensor board at some distance apart. The relative positions of the 3-axial accelerometers within the ball is not important. The relative position of accelerometer 1 to accelerometer 2 can be represented by vector custom-character. custom-character is a known vector in the ball frame at the time that the ball with embedded sensors is manufactured. In a baseball or softball application, for example, the magnitude of custom-character is limited as illustrated in FIG. 9.

[0056] While the ball is spinning in the air, the two accelerometers read instantaneous centripetal acceleration from different locations within the ball. The acceleration, custom-character.sub.1 and custom-character.sub.2, read from each sensor is dependent on the angular velocity of ball spin custom-character (where custom-character in FIG. 9 is a unit vector in the direction of the spin axis) and the relative distance vectors, custom-character.sub.1 and custom-character.sub.2, from sensor to spin axis, as shown in FIG. 9, according to Eq. 4.


custom-character.sub.i=custom-character.sub.i×custom-character.sub.i×custom-character.sub.i)  (Eq. 4)

[0057] The maximum allowed distance between the two accelerometers is determined by the size of the ball and the maximum range of accelerometers. For example, while using 200 g accelerometers to measure up to, for example, 3,333 RPM spin, the distance cannot be more than 44.0 mm (1.73 inch). Otherwise, the accelerometers may be saturated when the ball is rotating about certain axes. Aside from this limitation, the maximum distance cannot exceed the ball diameter or else at least one of the sensors would be outside of the ball. The minimum distance is determined by the required resolution for the accelerometer reading. For instance, according to Equation 4 to get at least 0.1 g difference between the two accelerometers while measuring spin of a ball rotating at 500 RPM, the minimum distance between the two accelerometer is 5.1 mm (0.2 inch).

[0058] The direction of centripetal acceleration is perpendicular to the rotation axis so the direction vector of spin axis n is determined by the acceleration vector custom-character.sub.1 and custom-character.sub.2 as in Equation 5:

[00001] n .Math. = a .Math. 1 × a .Math. 2 .Math. a .Math. 1 × a .Math. 2 .Math. ( Eq . 5 )

[0059] where all variables are represented in the sensor coordinate frame.

[0060] To determine the values of custom-character.sub.1 and custom-character.sub.2, vector custom-character is projected onto the plane t, which is perpendicular to the spin direction vector as shown in FIG. 10. The projection component is represented by custom-character.sub.// which is solved as in Eq. 6

[00002] D .Math. / / = D .Math. - ( D .Math. .Math. n .Math. ) n .Math. ( Eq . 6 )

[0061] custom-character.sub.// is on plane t, while custom-character.sub.1 and custom-character.sub.2 are parallel to plane t, all of the three vectors can be placed on the same plane as shown in FIG. 11, where custom-character collapses to be a point since it is perpendicular to plane t. From the law of cosines, the relationship between variables in FIG. 11 can be derived as in Eq. 7:


|custom-character.sub.//|.sup.2=|custom-character.sub.1|.sup.2|custom-character.sub.2|.sup.2−2|custom-character.sub.1∥custom-character.sub.2|cos γ  (Eq. 7)

[0062] where γ is the angle between vector custom-character.sub.1 and custom-character.sub.2.

[0063] A new variable α is introduced, which is the ratio between the magnitude of accelerometer reading vectors as in Eq. 8:

[00003] α = .Math. a .Math. 1 .Math. .Math. a .Math. 2 .Math. ( Eq . 8 )

[0064] where, from Eq. 4 α can be shown to also be the ratio between magnitude of distance vector custom-character.sub.1 and custom-character.sub.2, i.e.


|custom-character.sub.1|=α|custom-character.sub.2|  (Eq. 9)

[0065] Substituting Eq. 8 into Eq. 7, and re-organizing, results in the expression of Equation 10

[00004] .Math. r .Math. 2 .Math. 2 = .Math. D .Math. // .Math. 2 α 2 + 1 - 2 αcosγ ( Eq . 10 )

[0066] Replacing α by Equation 9 allows |custom-character.sub.2| to be expressed as shown in Equation 11:

[00005] .Math. r .Math. 2 .Math. = .Math. D .Math. // .Math. .Math. .Math. a .Math. 2 .Math. ( .Math. a .Math. 1 .Math. 2 + .Math. a .Math. 2 .Math. 2 - 2 a .Math. 1 a .Math. 2 ) 1 / 2 ( Eq . 11 )

[0067] The magnitude of spin velocity can be expressed as in Equation 12:

[00006] .Math. ω .Math. .Math. = ( .Math. a .Math. 2 .Math. .Math. r .Math. 2 .Math. ) 1 / 2 = ( .Math. a .Math. 1 .Math. 2 + .Math. a .Math. 2 .Math. 2 - 2 a .Math. 1 a .Math. 2 ) 1 / 4 .Math. D .Math. // .Math. 1 / 2 ( Eq . 12 )

[0068] where custom-character.sub.1 and custom-character.sub.2 are directly read from the two 3-axis accelerometers while custom-character.sub.// is obtained by Equation 5 and Equation 6.

[0069] For both of the spin rate methods described above, the spin direction (the direction of custom-character in Eq. 4) is known in the ball frame (sensor coordinate frame). As described above, it is also of interest to know the spin axis relative to the global frame or, more specifically, relative to the field frame. The global frame and field frames are both fixed axes on earth, but they may not be aligned with each other. The global frame may have some physical reference orientation (for example Z-axis is aligned opposite to gravity and X-axis is in the direction of magnetic north) whereas the field frame is aligned with the field or court of play (for example the Z-axis is aligned opposite to gravity and X-axis is in the direction from the pitcher to catcher on a baseball or softball field). In the case of a baseball or softball throw, one may wish to know the ball spin axis with respect to the field frame (as this relates to the break of the pitch). More specifically, one may choose to describe the spin axis with respect to the direction of ball flight (which nominally is along one of the field frame axes) or which may be determined by analysis of inertial measurement data according to established methods. The system and methods disclosed above allow determination of the ball spin rate, and the spin axis orientation is in the sensor coordinate frame (ball frame). A coordinate transformation is required to express the spin axis orientation in the field frame. The following subsections address determining this transformation.

[0070] From the spin sensor module data, the spin axis in the sensor coordinate frame, custom-character.sup.s, can be obtained depending on type of sensor is in use. If the gyroscope is not saturated, the axis can be directly determined by gyroscope data.

[0071] For the embodiment of the ball with embedded magnetometer sensor module, averaging the magnetometer vector data for a number of complete cycles provides the spin axis vector represented in the ball frame. For example, FIG. 12 shows a typical plot of magnetometer data that is sampled during free flight of the ball. Each point represents the 3-dimensional vector of measured magnetic field. The set of points lie approximately in a plane that is perpendicular to the spin axis of the ball. FIG. 12 shows a perpendicular vector to the plane, which represents the spin axis.

[0072] For the embodiment of the ball with embedded accelerometer sensor module, the ball frame spin axis vector can be calculated by Eq. 5. Each of these methods describes obtaining spin axis orientation in the ball frame, however, the information of interest is the spin axis in the field frame custom-character.sup.f, which may be obtained by the following method.

[0073] Pitch motion reconstruction according to inertial measurement unit data, as shown in FIG. 5, also computes the rotation matrix that relates the ball frame and global frame at every sample instant. This rotation matrix can transform any vector quantity represented in the ball frame to the global frame. Because the ball spin axis is particularly of interest at the moment of release, the rotation matrix, R.sub.s.sup.g, at release point is computed for further analysis.

[0074] In order to describe the spin axis in the field frame, the directional correlation between the global frame and field frame needs to be resolved. Assume the release velocity vector has value as shown in Equation 12:


custom-character.sup.g=[v.sub.x.sup.gv.sub.y.sup.gv.sub.z.sup.g]  [Eq. 12]

[0075] and the horizontal direction from pitcher to home plate is the X-direction of the field frame, the heading angle between the global frame and field frame can be obtained by Equation 13:

[00007] φ = tan - 1 v y g v x g [ Eq . 13 ]

[0076] The spin axis represented in the field frame is:


custom-character.sup.f=R.sub.g.sup.f.Math.R.sub.s.sup.g.Math.custom-character.sup.s  [Eq. 14]

[0077] where the rotation matrix R.sub.g.sup.f is obtained by the heading angle φ as shown in Equation 15:

[00008] R g f = [ cos φ - sin φ 0 sin φ cos φ 0 0 0 1 ] [ Eq . 15 ]

Experimental Results

[0078] A high speed camera was used to validate the methods developed above. As an example, the accelerometer sensor module method is demonstrated. The camera was set up behind the pitcher facing towards the catcher. The camera height was set to roughly the same height of ball release height. The video was shot at 1200 fps. Using the video of a pitch, the number of frames of full revolution of the ball during free flight was counted to estimate the average ball spin rate during the first revolution.

[0079] In FIG. 13, the data output from the accelerometer pair during a complete pitch-catch motion is demonstrated. Three key time points found by motion detection procedure are also labelled: set, release and catch. Data between set and release records the ball motion in the pitcher's hand. Data between release and catch are free flight motion. It is clear that centripetal acceleration applied on the two accelerometers are different due to different location of the sensors in the ball.

[0080] Applying the method explained above onto the raw data produces the results shown in FIG. 14). FIG. 14(a) demonstrates the calculated ball rotational speed during the entire pitch by the method developed in this work. The dashed lines indicates the moment of ball release (left) and ball catch (right). FIG. 14(b) is a detailed view of the free flight period. The spin rate estimated from the video is 1756-1800 rpm, the average of the first 50 samples from sensor data is 1720 rpm. Considering the resolution of spin rate measurement from video camera is about 40 rpm, the difference between the presently disclosed system and method and video camera was shown to be accurate to within the camera resolution.