OBJECT SENSING AND FEEDBACK SYSTEM

In one general aspect, an apparatus to monitor movement of an object may include an input device configured to trigger pre-selection of a type of performance of the object, at least one sensor used to measure a motion parameter of the object, a controller configured to receive the motion parameter of the object and compare the measured motion parameter with a motion reference, and an output device configured to display, in real-time, a feedback information based on the comparison.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS REFERENCE TO RELATED APPLICATION

This application is a Non-provisional of, and claims to priority to, U.S. Provisional Application No. 62/315,427, entitled: “Ball Performance Processing,” filed on Mar. 30, 2016, which is hereby incorporated in its entirety.

TECHNICAL FIELD

Example embodiments relate to apparatus and methods to monitor movement of an object, and provide feedback information regarding the movement.

BACKGROUND

In many sports, an object (e.g., a baseball, a softball, a soccer ball, a golf ball, a basketball, a football, etc.) can be launched along a trajectory during play. In order to achieve consistency and dependability for a game, one should be able to control the trajectory of the object in a regular manner. For instance, a baseball player's success is contingent upon the ability to throw a ball with sufficient spin to cause movement of the ball. Learning how to cause the ball to spin in a desirable way, however, is difficult.

SUMMARY

In a general aspect, an apparatus to monitor movement of an object may include an input device configured to trigger pre-selection of a type of performance of the object, at least one sensor used to measure a motion parameter of the object, a controller configured to receive the motion parameter of the object, and compare the measured motion parameter with a motion reference, and an output device configured to display, in real-time, a feedback information based on the comparison.

Implementations can include one or more of the following features. For example, the object may include a ball, and a core within the ball. The core may be configured to house the at least one sensor and the controller. The type of performance of the object may be a particular type of pitch, including at least one of a fastball, a curveball, a riseball, a dropball, a slider, a sinker, a screwball, and a changeup. The motion parameter may be least one of velocity, acceleration, spin direction, and spin rate.

In still another general aspect, the output device may be a light-emitting device configured to be arranged on a surface of the object such that the feedback information is indicative of a desired performance of the object. The feedback information may include a specific color of light. For example, the output device may be configured to change to a first color when the comparison is within a threshold range, and the output device may be configured to change to a second color when the comparison is outside of a threshold range.

In another general aspect a method includes receiving pre-selection of a type of performance of an object, receiving a motion parameter of the object via at least one sensor, comparing the measured motion parameter with a motion reference, and triggering a display, in real-time, a feedback information based on the comparison. The feedback information indicating a desired performance of the object. In some implementations, the method can be performed on, for example, a non-transitory computer readable medium having code segments stored thereon where the code segments when executed by a processor cause the processor to perform the method.

Implementations can include one or more of the following features. For example, the method can further include pre-selecting the type of performance by activating an input device on the object via a user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing of an object according to at least one example embodiment.

FIG. 2 is a graph illustrating coordinates of accelerometers according to at least one example embodiment

FIG. 3 is a block diagram illustrating a controller according to at least one example embodiment.

FIGS. 4 and 5 are flowcharts of methods according to example embodiments.

FIG. 6 is a schematic drawing of an object according to another example embodiment.

FIGS. 7A and 7B are schematic drawings of an object according to another example embodiment.

FIGS. 8 through 10 are schematic drawings associated with an output device according to at least one example embodiment.

FIG. 11A is a schematic drawing of a circuit board according to at least one example embodiment.

FIG. 11B is a schematic drawing of a circuit diagram according to at least one example embodiment.

FIGS. 12A-12D, 13A-13D, 14A-14D, and 15A-15D are schematic drawings of various motion parameters for performance types of an object according to example embodiments.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While example embodiments may include various modifications and alternative forms, embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit example embodiments to the particular forms disclosed, but on the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of the claims. Furthermore, the figures are intended to illustrate the general characteristics of methods and/or structure utilized in certain example embodiments and to supplement the written description provided below. These figures are not, however, to scale and may not precisely reflect the precise structural or performance characteristics of any given embodiment, and should not be interpreted as defining or limiting the range of values or properties encompassed by example embodiments. For example, the structural elements may be reduced or exaggerated for clarity. The use of similar or identical reference numbers in the various drawings is intended to indicate the presence of a similar or identical element or feature.

One type of tracking technology to monitor an object is inertial sensing. In inertial sensing, a sensor (e.g., accelerometers, gyroscopic sensors, and/or magnetometers) may be used and configured to detect (e.g., measure) accelerations and angular speeds in an object-wise coordinates, which may depict an implicit six-degree (6D) motion. One area where inertial sensing tracking technology may be applicable is in the area of sports, particularly sports that recognize an object (e.g., a baseball, a softball, a soccer ball, a golf ball, a basketball, a football, etc.) for spatial accelerated motion. When motion parameter such as information of acceleration, velocity and position of a moving object are obtained, it generally extracts information regarding motion and performs path display based on the motion parameter of the extracted information.

Example embodiments provide apparatus and methods for monitoring movement of an object. In some implementations, a controller in the object may measure direction and speed of spin, and provide feedback regarding the direction and speed of spin of the object.

In some implementations, an output device on the object may provide feedback to the user, in situ, i.e., during a flight of the ball. In some implementations, the flight of an object can include a time period between initially being propelled on a trajectory (e.g., thrown by a user, hit by another object) and an end of that trajectory (e.g., hitting the ground or another object, being caught, etc.). Accordingly, the feedback may be provided to a user while along the trajectory (e.g., while in-flight).

In some implementations, the object may have similar shape, mass, inertia, feel, and flight dynamics as an object used in real play.

Example embodiments provide apparatus and methods for comparing a performance of the object to a desired performance (e.g., a target performance, an expected performance), and providing feedback to a user. In some implementations, the desired performance can be referred to as a target movement or movement characteristics. In some apparatus and methods the feedback may be provided to the user based on the comparison. In at least one implementation, during flight of the object, the user receives, in real-time, feedback as to the performance of the object. For example, an output device may display different colors, sounds, etc. that each correspond to or represent different performance characteristics. In some implementations, a color can function as a visual aid tool. As a result, the user is immediately notified if his or her performance is proper while the object is in-flight.

Example embodiments provide detecting and analyzing a trajectory of the object thrown (e.g., pitched by a human), and providing feedback information (e.g., in-flight feedback, instant feedback) regarding the trajectory during travel along the trajectory. The object can be, but is not limited to, a baseball, a softball, a soccer ball, a golf ball, a basketball, a volleyball, a tennis ball, a racquetball, a squash ball, a table tennis ball, a bowling ball, a billiard ball, a shot-put, a discus, a javelin, etc.

FIG. 1 is a schematic drawing of an object 10 according to at least one example embodiment. As shown in FIG. 1 the object 10 may include an input device 30, at least one sensor 40, a controller 50, and an output device 90. The input device 30 can be configured to trigger pre-selection of a type of performance of the object 10. The at least one sensor 40 can be configured to detect (e.g., measure) a motion parameter of the object 10. The controller 50 can be configured to receive the motion parameter of the object and compare the measured parameter of performance (which can be an actual performance, an in-flight performance, and/or a current performance) with a motion reference (e.g., motion reference associated with a target type of performance). The output device 90 can be configured to display, in real-time, feedback information based on the comparison.

In some implementations, the input device 30 may be disposed inside (e.g., located inside) of the object 10 and can be used to trigger a pre-selection of a type of performance (e.g., fastball, curveball, slider, sinker, screwball, changeup, etc.). As disclosed herein, pre-selection may be described as a period prior to the object 10 being propelled along a trajectory (e.g., thrown or pitched). Alternatively, the pre-selection may be described as a period prior to any measurement of the motion parameter of the object (i.e., movement of the object 10).

In some implementations, the input device 30 may be located as close as possible to an inside surface of the object 10. This permits the user to facilitate operation of the input device (i.e., activate a selection of the type of performance).

In some implementations, the input device 30 can be disposed on a surface of the object 10. In some implementations, the input device 30 can be integrated into a surface of the object 10. In some implementations, the input device 30 can define at least a portion of a surface of the object 10.

In some implementations, the input device 30 can be, or can include, a variety of input devices including, but not limited to, a pressure sensor, a button, an infrared sensor, an optical sensor, an electronic sensor, a switch, a wireless input device (e.g., a Bluetooth device), a radio-frequency identification (RFID) sensor, a touch sensor, and/or so forth.

In at least one implementation, the input device 30 may be a pressure sensor that is configured to detect physical pressure by a finger(s) of the user. The pressure sensor may operate as a resistor to changes its resistive valve. In one example implementation, the user may press the pressure sensor located underneath or on the surface of the object 10, and activate the target (e.g., expected, desired) type of performance. The input (or triggering) can be configured so that the user may quickly switch the target type of performance while practicing, but resilient enough to not be activated unwillingly. In some implementations, on a surface of the object 10, there may be a marking(s) to indicate the location of the input device inside of or on the object 10.

In some implementations, there may be one input device 30 to trigger pre-selection of the target type of performance. For example, by pressing the input device 30 once, the user activates one target type of performance (e.g., a fastball pitch). By pressing the input device 30 two times, the user activates a second target type of performance (e.g., a curveball pitch). By pressing the input device 30 three times, the user activates a third target type of performance (e.g., a changeup pitch), and so on.

In some implementations, there may be two input devices (similar to input device 30 as described above) to activate the target type of performance. That is, when both or one of the input devices 30 are pressed, the target type of performance can be activated. For example, by pressing one sensor of the two input devices 30, the user activates one target type of performance (e.g., a fastball pitch). By pressing both input devices 30, the user activates a second target type of performance (e.g., a curveball pitch), and so on.

In some implementations, the target type of performance may be selected by pressing the input device 30 for a predetermined amount of time to activate the selection. For example, by pressing input device 30 for 2 seconds, the user activates one target type of performance (e.g., a fastball pitch). By pressing input device 30 for 5 seconds, the user activates a second target type of performance (e.g., a curveball pitch).

In some implementations, the input device 30 can be used to turn ON/OFF on or more of the electronic components in the object 10. In some implementations, the input device 30 can be utilized to put one or more of the electronic components of the object 10 in a standby or sleep state.

In some implementations, any input device (e.g., pressure sensor) can be excluded. Instead sensors (e.g., accelerometers and/or other inertia measurement sensors) can be used to activate or perform the pre-selection. For example, shaking the object 10 could wake it up from a low-power sleep mode. Other example may include specific motion sequences of the object 10 to active the type of performance (e.g., shake the object horizontally and/or vertically, or move the object in a circle).

In some implementations, an application (e.g., with a user interface including a virtual input device) can be used in conjunction with, or instead of an input device to perform pre-selection. Any of the functions associated with pre-selection described herein can be performed using the application. The application can be configured to operate on, for example, any type of a computing device.

In some implementations, when awakened from a sleep state (or off state), the object 10 can default to a particular type of user using the object in a particular fashion. For example, when awakened from a sleep state (or off state), the object 10 can be defaulted to a right-handed pitcher throwing a particular type of target performance (e.g., a rise ball). In some implementations, selections of infielder, outfielder, left-handed pitcher, along with types of throw can be selectable through the input device 30 (e.g., the Bluetooth device).

In some implementations, the activation of the pre-selection of type of performance could occur entirely or in part through an external computing device, such as a computer, a laptop, or any handheld device.

In yet other implementations, the different type of performances may be selected using sensor(s) on the object and/or the external computing device. For example, the user could select frequently used options (e.g., spin type) directly on the object but select less frequently used options (e.g., allowable ranges or player levels) through an external computing device.

In some implementations, the input device 30 (or another input device (not shown)) can be used to select a particular type of user. For example, in some implementations, the input device 30 can be used to select a pitcher (e.g., a right-handed pitcher or a left-handed pitcher), an infielder, or an outfielder. In some implementations, the type of user can include a skill level of the user (e.g., amateur, professional, expert, beginner or novice). In some implementations, the target types of performance can be different based on the user type (or user types). For example, a first set of target performance types can be associated with a first type of user, and a second set of target performance types can be associated with a second type of user. In some implementations, the same set of target performance types can be associated with both the first type of user and the second type user.

In some implementations, rather than using the input device 30, the object 10 may be preset (default setting) for a particular type of performance. In other words, different objects (i.e., balls) may be functioned to perform different type of performances (i.e., pitch).

The at least one sensor 40 may be configured to detect (e.g., respond to, measure, detect, identify) motion of the object 10 The at least one sensor 40 can be configured to facilitate a determination of a motion parameter, including but not limited to, velocity (e.g., forward velocity), acceleration, spin direction (e.g., spin direction relative to general trajectory), spin axis (e.g., earth relative angle of axis of rotation), spin rate (e.g., angular velocity, revolutions per second), beginning and/or ending of trajectory or flight of the object 10, distance of movement of the object 10, and other motion data. In some implementations, spin orientation, which is orthogonal to spin axis, can be used instead of spin axis. In one example implementation, the at least one sensor 40 is an accelerometer for detecting (e.g., measuring) the motion parameter. The accelerometer can be configured to detect acceleration an object experiences relative to freefall and is the acceleration obtained by the object. Further, at any point in freefall, there is an existence of a local motion reference and the accelerometer detects (e.g., measures) the acceleration relative to that local motion reference. In some implementations, the accelerometer may be a micro-electromechanical systems (MEMS) accelerometer.

In some implementations, the at least one sensor 40 may additionally or alternatively include a gyrometer, a magnetometer and/or an inertial measurement units (IMUs). In some implementations, the at least one sensor 40 may additionally or alternatively include a global positioning system (GPS) antenna and/or temperature sensor.

In at least one implementation, the at least one sensor 40 may detect (e.g., measure) the motion parameter regarding speed, travel velocity, or linear velocity of the object 10. Further, the at least one sensor 40 may provide motion data in the form of acceleration along different axes. By sensing the parameter from which the travel speed of object 10 is identified or determined, the object 10 may provide feedback for evaluation of a thrown object 10. In some implementations, the at least one sensor 40 may detect a distance the object 10 traveled. This may facilitate in the calculation of linear velocity of the object 10.

In at least one implementation, the at least one sensor 40 can include one or more accelerometers which may provide acceleration signals or data from which the speed of the object 10 is determined. By allowing the speed and/or spin of the object 10 to be determined, the at least one sensor 40 may facilitate evaluation of the type of performance. For example, a changeup pitch should desirably be about 8 to 15 mph slower as compared to a fastball pitch.

In some implementations, the at least one sensor 40 may measure (e.g., can be used to measure) or detect a spin axis about which the object 10 is spinning or rotating, the relative angle of the axis of spin (e.g., angle of spin axis relative to some reference point (e.g., a vertical spin axis, a horizontal spin axis)), and/or a rate at which the object 10 is spinning or rotating about the spin axis. As a result, in addition to being able to detect the parameter from which linear velocity of the object 10 is determined, the at least one sensor 40 may also detect parameters or values indicating angular velocity and acceleration which are indicative of action or movement of the object 10. For another example, a curve ball pitch should desirably have a different spin (e.g., axis of spin) than a fastball pitch.

By detecting a spin axis, a spin rate, and/or parameters corresponding to the spin axis and spin rate (e.g., angle of spin axis relative to some reference point (e.g., a vertical spin axis, a horizontal spin axis)), the at least one sensor 40 can be used to provide feedback for evaluation of different types of performance (e.g., target performance). Because the at least one sensor 40 produces signals that can be used by the controller 50 to determine a spin axis of a particular type of performance, the at least one sensor 40 enables the controller 50 to compare the motion of the object 10 (e.g., measured performance) to a target type of performance. Accordingly, in some implementations, the controller 50 can be configured to identify or determine a type of performance.

As mentioned above, the at least one sensor 40 can also be configured to identify the angle of the spin axis with respect to a reference, such as the ground or polar axes. Accordingly, different types of pitches, such as, curveball, slider, sinker, screwball, changeup pitches, may have different signature characteristic spin axes or ranges of spin axes. For example, a curveball pitch may have an ideal range of angles for its spin axis and an ideal range of spin rates that is different than the ideal range of angles and spin rates for other types of pitches.

In such a manner, the controller 50 may track and provide feedback for individual pitches based upon the determined type of pitch. Specifically, the at least one sensor 40 may provide signals to the controller 50 such that feedback may trigger feedback to be displayed via the output device 90 on the object 10.

In another implementation, the data may be output to allow the user to better evaluate whether a particular targeted (e.g., intended) type of performance has an appropriate spin axis or spin rate and/or whether adjustment should be made to achieve the ideal spin axis or spin rate. For example, the user may be intending to throw a first type of pitch, where the measured parameter from the least one sensor 40 may indicate that the throw does not have an appropriate spin axis and/or spin rate for the intended first type of pitch. The controller 50 may then send information to the output device 90, in real-time, indicating a result for that particular intended pitch.

Referring to FIG. 2, the at least one sensor 40 may include six (6) accelerometers to determine the motion parameter of the object 10. In some implementations, each accelerometer may be configured as a 3-axis positioning unit. As a result, two accelerometers may be placed on the respective three orthogonal axes (x-, y- z-axes) of the object 10. In some implementations, the object 10 can include more or less sensors (e.g., less than 6, or more than 6). In some implementations, the sensors can be positioned along or between different axes (e.g., an axis other than one or more of the x axis, the y axis, or z axis) than shown in FIG. 2.

For example, as shown in FIG. 2, two accelerometers are placed along an x-axis that are equidistant from a center of the axes, two accelerometers are placed along a y-axis that are equidistant from the center of the axes, and two accelerometers are placed along a z-axis that are equidistant from the center of the axes. In some implementations, pairs of accelerometers may have different distances from the center of the axes. The two accelerometers at each orthogonal axis solves for values of linear and angular accelerations of the object 10 as well as an angular velocity of the object 10. Furthermore, by placing two accelerometers at each orthogonal axis, a distance the accelerometers are placed from an origin can be varied, and different values of acceleration and angular velocity can be varied.

In some implementations, the following equations describe an approach that uses six accelerometers.

A 0 x = A 1 x + A 2 x + A 3 x + A 4 x + A 5 x + A 6 x 6 ( 1 ) A 0 y = A 1 y + A 2 y + A 3 y + A 4 y + A 5 y + A 6 y 6 ( 2 ) A 0 z = A 1 z + A 2 z + A 3 z + A 4 z + A 5 z + A 6 z 6 ( 3 )

where Aij (i=0; j=x, y, or z) is the translational acceleration of the center of the object in direction j; Aij (i=1−6; j=x, y, or z) is the translational acceleration of accelerometer i in the direction j.

The angular velocity of the object in the x, y, and z directions is:

ω x = 1 2 2 ( r x r y ( A 0 z - A 3 z ) + r x r y ( A 0 y - A 2 y ) + r y r z ( A 1 x - A 0 x ) ) r x r y r z ( 4 ) ω y = 1 2 2 ( r x r y ( A 0 z - A 3 z ) + r x r y ( A 2 y - A 0 y ) + r y r z ( A 0 x - A 1 x ) ) r x r y r z ( 5 ) ω z = 1 2 - 2 ( r x r y ( A 0 z - A 3 z ) + r x r y ( A 2 y - A 0 y ) + r y r z ( A 1 x - A 0 x ) ) r x r y r z ( 6 )

The direction and speed of spin are the direction and magnitude of {right arrow over (ω)}=[ωx, ωy, ωz].

In some implementations, the acceleration data may be integrated prior to the propelling (e.g., release of) the object 10 along a trajectory to determine the direction of flight of the object 10. In some implementations, using this direction of flight and the direction of gravity, the direction of spin can be transformed into a motion reference.

The controller 50 may be configured to retrieve and compare the measured motion parameter in accordance with a motion reference. The motion reference may be, or can include, a threshold (e.g., a threshold value or set of threshold values or ranges) stored in, for example, a memory 57 (shown in FIG. 3) for comparing the measured motion parameter. For each type of performance, there can be an ideal target performance (for each target type of performance) that can be used to define the threshold (or multiple threshold values).

By comparing the measured motion parameter with the motion reference, the controller 50 may determine whether the performance (e.g., measured performance) is within the threshold. The threshold may be, or can include, a range in which the object 10 may perform (e.g., spin rate for curveball).

In some implementations, the measured motion parameter can be compared with a motion reference that includes several thresholds or ranges. In some implementations, the measured motion parameter can be compared with a motion reference that includes a threshold with several ranges associated with the threshold. For example, if the measured motion parameter in comparison to the threshold is within in a first range of the threshold, the controller 50 can trigger an output that represents a good performance (e.g., a green light in-flight feedback using the output device 90); if the measured motion parameter in comparison to the threshold is within a second range of the threshold, the controller 50 can trigger an output that represents a fair performance (e.g., a yellow light in-flight feedback using the output device 90); and if the measured motion parameter in comparison to the threshold is outside the second range (e.g., is within a third range), the controller 50 can trigger an output that represents a poor performance (e.g., a red light in-flight feedback using the output device 90).

As a specific example for a particular pre-selected target type of performance, a measured spin axis of the object 10 (e.g., in a measured performance) in comparison to a threshold spin axis can be considered a good performance if within ±10° range of the threshold spin axis. A measured spin axis of the object 10 in comparison to the threshold spin axis can be considered a fair performance if outside of the ±10° range, but within ±20° range of the threshold spin axis. A measured spin axis of the object 10 in comparison to the threshold spin axis can be considered a poor or failing performance if outside of the ±20° range of the threshold spin axis.

As another specific example for a particular pre-selected target type of performance, a measured spin rate (e.g., rotations per second (rps)) of the object 10 in comparison to a threshold spin rate can be considered a good performance if less than 10 rps of the threshold spin rate. A measured spin rate of the object 10 in comparison to the threshold spin rate can be considered a fair performance if within a range of 10-20 rps lower than the threshold spin rate. A measured spin axis of the object 10 in comparison to the threshold spin rate can be considered a poor or failing performance if less than 20 rps of the threshold spin rate.

In some implementations, the target type of performance (e.g., motion reference associated with the target type of performance) can include a combination of thresholds. As a specific example, a particular preselected target type of performance can include a threshold spin axis and a threshold spin rate.

In some implementations, the controller 50 may include one or more processing units or application-specific integrated circuits (ASICs) configured to operate the output device 90. In some implementations, the controller 50 may receive the motion parameter sensed by the at least one sensor 40 and control (display) the output device 90 following a determination by the controller 50 that the object 10 has been correctly performed (e.g., pitched or thrown) based on the motion parameter received by the at least one sensor 40.

Referring to FIG. 3, the controller 50 may include a processor 55, a memory 57, a performance type module 61 (also can be referred to as a settings module), a motion parameter module 62, a motion reference module 63 (also can be referred to as a threshold module), a comparison module 64, a results module 65, and an output module 66.

In some implementations, the processor 55 may be configured to retrieve the motion data (e.g., signals) from the at least one sensor 40, and transmit the motion data to the performance type module 61 to determine the type of performance (e.g., type of pitch). For example, once the user triggers the selection of the type of performance (e.g., target type of performance), the performance type module 61 retrieves data for the selected performance. The performance type module 61 obtains the retrieved motion data from the processor 55 in response to a user's indication via the input device 30 that the selected performance is to be evaluated.

The motion parameter module 62 may be configured to calculate (e.g., derive) motion parameters (e.g., characteristics) of the performance (e.g., measured performance) from the sensed motion data. For example, based upon the signals from the at least one sensor 40, the motion parameter module 62 may calculate a motion parameters (e.g., performance characteristics, velocity, acceleration, spin axis, spin direction, spin rate, and other motion data). The motion parameter module 62 may direct the processor 55 to determine the measured type of performance that was thrown from the sensed motion data. Further, the motion parameter module 62 may derive the motion parameters (e.g., performance characteristics) for a particular performance. For example, a particular pitch type may have a signature characteristic (e.g., spin axis or spin axis range). In some implementations, the motion parameter module 62 may obtain the various ranges for the different pitch types from the motion reference module 63 of memory 57.

In some implementations, the at least one sensor 40 may transmit the sensed motion data directly to the motion parameter module 62.

The comparison module 64 may be configured to compare the sensed motion data for the measured performance against one or more thresholds, ranges or evaluation criteria stored in memory 57 and associated with a target type of performance. For example, the comparison module 64 may compare detected parameters or characteristics (e.g., velocity, spin rate, spin direction, and/or spin axis) to a performance (i.e., pitch) that is pre-defined or ideal (e.g., for a particular type of performance).

In some implementations, the comparison module 64 may compare the user's performance (e.g., measured performance) with statistical characteristics of the same performance attribute for an aggregate of players, such as, players belonging to a particular league, team, or level of play. For example, the comparison module 64 may compare a user's spin rate for a pitch with an average spin rate for the same pitch by Little League pitchers, high school pitchers, travel league pitchers of a particular age range, minor-league pitchers, major-league pitchers, etc.

In some implementations, the at least one sensor 40 may be configured to transmit the sensed motion data directly to the comparison module 64.

The results module 61 may be configured to store the sensed motion data independent of the type of pitch or may be grouped based upon other criteria such as the evaluation of the particular pitch (top 10 percentile, bottom 10 percentile, good, fair, poor etc.).

The output module 66 may be configured to notify the user of the performance result and configured to display the result via the output device 90 in real-time, informing the user whether or not the performance (e.g., measured performance (e.g., actual, current, and/or in-flight performance) resulted in proper form. In some implementations, the output module 66 may notify the user, in real-time, via the output device 90, by using, for example, different color of lights emitted by the output device 90 to indicate the quality of the performance, a sound, and/or so forth.

As disclosed herein, when the performance result is displayed by the output device 90 in real-time, the output device 90 can provide feedback information while the object 10 is in flight (e.g., along a trajectory). Alternatively, real-time may be at a time when the at least one sensor 40 is measuring actual movement of the object during flight.

In some implementations, although each of the modules 61, 62, 63, 64, 65, 66, are illustrated as being provided on the controller 50, which is part of object 10. In some implementations, one or more of such modules may be remotely located relative to the object 10. For example, each of the one or more modules may direct a remotely located processing unit to carry out instructions of the particular module and wherein the results of instruction are transmitted to an external portable electronic device in a wired or wireless fashion.

In some implementations, the output device 90 may be disposed within (e.g., located inside of) the object 10, more specifically, at or below a surface of the object 10 but not extending above the surface so as to not affect the flight of the object 10. In some implementations, the output device 90 may be flush against an inside surface of the object 10 creating a smooth surface. In some implementation, a transparent material may be applied on the surface of the object 10 where the output device 90 is located.

In some implementations, and in accordance with the description above, the output device 90 may be used as an indicator, following a determination by the controller 50, that the object 10 has been moved (e.g., pitched or thrown (e.g., quality)) in a desirable fashion based on one or more motion parameters detected by the at least one sensor 40. In other words, the output device 90 can be used to represent or indicate performance (e.g., a level or quality of a measured performance) of the object 10 with respect to a target type of performance (which can be pre-selected).

In some implementation, the output device 90 may be used as an indicator for the type of performance (e.g., fastball, curveball, slider, sinker, screwball, changeup, etc.) of the object 10. For example, the output device 90 can be used to indicate that a measured performance of the object 10 is a particular type of performance.

In some implementations, the output device 90 may be used as an indicator for a quality of performance of the object 10 (e.g., accuracy of spin).

In some implementations, the output device 90 may be a light-emitting device, such as, a light-emitting diode (LED). In some implementations, the controller 50 may generate control signals controlling a color of light being emitted by the output device 90 based upon the detected motion parameter of the object 10. For example, the controller 50 may cause the output device 90 to emit a first color of light upon a predefined threshold for the performance being satisfied (or unsatisfied) and may cause the output device 90 to emit different color(s) of light as different performance threshold(s) are satisfied (or unsatisfied).

For example, if the quality of the performance (e.g., direction/spin rate) of the object 10 is within a high threshold range, the output device 90 will emit one color (e.g., green). If the quality of the performance of the object 10 is within a threshold range, but not outside the threshold range, the output device 90 will emit second color (e.g., orange). If the quality of the performance of the object 10 is not within a threshold, the output device 90 will emit a third color (e.g., red).

In some implementations, the output device 90 can be controlled (e.g., adjusted) to indicate that a predefined motion threshold is being satisfied. For example, in some implementations, light intensity (e.g., brightness), pulse duration, pulse frequency (e.g., timing), and/or light color may be controlled (e.g., adjusted) to indicate that a predefined motion threshold is being satisfied. As another example, in some implementations, light intensity (e.g., brightness), pulse duration, pulse frequency, and/or light color may be controlled (e.g., adjusted) to indicate when each of different predefined motion thresholds are being satisfied.

In some implementations, the controller 50 may generate control signals causing the output device 90 to turn ON and emit light in response to signals from the at least one sensor 40 indicating motion of the object 10 satisfying a predefined criteria or threshold. Alternatively, if the predefined criteria or threshold is not met, the controller 50 will not generate any control signals causing the output device 90 to be in the OFF mode. For example, In some implementations, the controller 50 may generate control signals causing the output device 90 to begin to emit light during movement (e.g., a throw or pitch) of the object 10 when the object 10 satisfies, for example, a predefined minimum velocity, spin direction, spin rate or spin axis or has a velocity, spin rate, spin direction, or spin axis that falls within a predefined threshold range.

In some implementations, the controller 50 may adjust the non-zero emission of light via the output device 90 dependent upon signals from the at least one sensor 40. For example, the controller 50 may generate control signals causing the output device 90 to increase an intensity of light being emitted as the rate of spin increases or decreases. This light intensity adjustment may be made in a continuous ramped fashion or may be made in a stepwise fashion as predefined thresholds are satisfied.

In some implementations, the controller 50 may adjust the frequency or duration of pulses of light emitted by the plurality of output devices 90 dependent upon the sensed motion of the object 10. For example, the controller 50 may generate control signals causing the output device 90 to emit light pulses having a frequency or duration upon a predefined minimum spin rate, a predefined velocity or a predefined spin axis being detected.

In some implementations, the controller 50 may generate control signals adjusting the pulse frequency and/or duration and the light brightness or intensity to indicate different detected characteristics. For example, the controller 50 may adjust or control the frequency and/or duration of the pulses based upon spin rate and the brightness or intensity of such pulses based upon a detected velocity or spin axis of the object 10. In some implementations, the controller 50 may adjust or control the frequency and/or duration of pulses based upon the detected path or velocity of the object 10 and the brightness or intensity of such pulses based upon a spin rate of the object 10.

In some implementations, the object 10 (e.g., the output device 90) could use sound and/or audio to indicate the quality of the performance. For example, different pitches, melodies, or even words could be produced by the output device 90 of the object 10 and indicate the quality of the performance during and/or shortly after flight.

In some implementations, both lights and sound may be used to provide indication as to the quality of the performance.

FIGS. 4 and 5 are flowcharts of methods according to example embodiments. The blocks described with regard to FIGS. 4 and 5 may be performed due to the execution of software code stored in the memory 57 associated with the object 10 and executed by the processor 55 associated with the object 10. However, alternative embodiments are contemplated such as a system embodied as a special purpose processor.

As shown in FIG. 4, in block S405 the user triggers a selection of a type of performance (e.g., fastball, curveball, slider, sinker, screwball, changeup, etc.), prior to the object 10 being thrown or pitched. In some implementations, the user presses an input device 30 on the object 10. For example, the user presses the input device 30 on the object 10 once to select one type of performance (e.g., a curve pitch). In an alternative implementation, the user presses the input device 30 twice to select a second type of performance (e.g., a changeup pitch). There may be further implementation of selection depending on the type of performance desired.

In block S410 at least one sensor 40 may detect motion of the object 10 to determine a motion parameter (e.g., speed, velocity, acceleration, spin direction, spin axis, and/or spin rate). In some implementations, the at least one sensor 40 may measure or detect a spin axis about which the object 10 is spinning or rotating and a rate at which the object 10 is spinning or rotating about the spin axis. In an example implementation, the at least one sensor 40 is an accelerometer for measuring the motion parameter.

In block S415 the controller 50 may perform one or more functions based upon the measured motion or travel of the object 10. In some implementations (and in reference to block S410), by detecting the spin axis as well as a spin rate, or parameters corresponding to the spin axis and spin rate, the controller 50 may evaluate the different types of performance. In some implementations, the controller 50 may compare the spin axis and spin rate against one or more thresholds, ranges or evaluation criteria. Because the at least one sensor 40 provide signals indicating a spin axis of a particular type of performance, the at least one sensor 40 enables the controller 50 to identify or determine whether the performance is correct.

In block S420 the controller 50 may operate the output device 90 following a determination by the controller 50 that the object 10 has been correctly pitched or thrown based on the motion parameter received by the at least one sensor 40. In some implementations, the controller 50 may generate control signals controlling a color of light being emitted to the output device 90 based upon the comparison in block S415. This provides immediate (in real-time) feedback as to the proper pitch or throw.

As shown in FIG. 5, in block S505 the controller 50 may receive a motion parameter (e.g., velocity, acceleration, spin, spin rate, and/or other motion data) collected by the at least one sensor 40 during the movement of the object 10. Further, the controller 50 may determine whether the movement represented by the measured motion parameter constitutes a desired performance (e.g., correct pitch), as defined by the motion reference.

In block S510 the controller 50 may determine which two output devices 90 to light up based on the received information. In some implementations, depending upon a particular type of performance (e.g., curveball, slider, sinker, screwball, changeup), each performance (i.e., pitch) has a different signature characteristic spin axes (e.g., spins on a particular plane perpendicular to its spin axis). Therefore, the controller 50 determines which two output devices 90 should be triggered (e.g., lit up) depending upon the type of pitch.

In some implementations, for a particular performance, the controller 50 may choose two output devices 90 that are farthest from a spin axis for that performance. In some implementations, the two output devices 90 may be opposite to each other relative to a center of the object 10. As the object 10 spins, the light from the two output devices 90 will form a streak that indicates the plane in which the object 10 is spinning, i.e., the plane perpendicular to the axis of spin.

In block S515 the received motion parameter may be compared to a threshold stored in a memory 57. In some implementations, the controller 50 may compare the received motion parameter for a particular type of performance against one or more thresholds or ranges stored in the memory 57. Due to different types of performances having different signature characteristic (e.g., spin axes or ranges of spin axes), each performance is different and has an ideal range of angles for its spin axis and an ideal range of spin rates. The controller 50 may compare the received motion parameter to the threshold of the selected type of performance, and may determine whether the performance is correct.

In block S520 the controller 50 may calculate the compared motion parameter and may determine three settings for comparison: good if within e.g., ±10° threshold range; fair if within e.g., ±10-20° threshold range; and poor if outside of (e.g., greater than) the ±20° threshold range.

In blocks S525, S530, S535 the controller 50 may cause the designated two output devices 90 to emit different color of light in accordance with block S520. In some implementations, the two designated output devices 90 may emit different colors of light as different thresholds are determined. For example, in block S525, if the quality of the performance is within a high threshold, the two designated output devices 90 will emit one color (e.g., green). In block S530 if the quality of the performance is within a threshold, but not outside the threshold, the two designated output devices 90 will emit second color (e.g., orange). In block S535 if the quality of the performance is not within a threshold, the two designated output devices 90 will emit a third color (e.g., red).

In some implementations, the controller 50 may cause all the output devices 90 to emit different color of light based on the threshold.

In some implementations, the object sensing system of above provides the user immediate (i.e., real-time) feedback as to the performance (i.e., speed, spin and/or location). In other words, the color of the output device 90 gives the user a visual aid tool. As a result, the user is immediately notified if his or her performance is correct.

As disclosed herein, when the feedback information is displayed by the output device 90 in real-time, it describes while the object 10 is in flight. In some implementations, real-time may be at a time when the at least one sensor 40 is measuring actual movement of the object during flight.

In some implementations, the collected data may be communicated to an external computing device, such as a portable electronic device. Examples of a portable electronic device include, but are not limited to, a smart phone, a flash memory reader (i.e., IPOD), a cell phone, a personal data assistant (PDA), a laptop, a tablet or netbook, and the like. Such communication may be made in a wired fashion or a wireless fashion. Examples of wireless communication include, but are not limited to, Wi-Fi, Bluetooth, and Radio Frequency (RF). In some implementations, the portable electronic device may provide feedback to another user monitoring the performance in an accurate and reliable manner.

In some implementations, the collected data may be stored in a memory in the controller 50 for analysis. In some implementations, the stored collected data may provide feedback and recommendations for future performance. As a result, one may track and compare the instant performance against a previous performance.

FIG. 6 is a schematic drawing of an object 10 according to another example embodiment. As shown in FIG. 6 the object 10 may include an input device 30, at least one sensor 40, a controller 50, an output device 90, and a power supply 110. FIG. 6 is similar to FIG. 1 except for an additional feature of the power supply 110. Similarly features as described in FIG. 1 will not be discussed in this section.

The power supply 110 may be configured to provide power to at least the input device 30, the at least one sensor 40, the controller 50, and the plurality of output devices 90. The power supply 110 may deliver the required voltage to each subsystem component, and replenish the supply voltage.

In some implementations, the power supply 110 will meet the size, power, voltage, and weight requirements, to deliver power to each subsystem (e.g., the input device 30, the at least one sensor 40, the controller 50, and the output device 90). For example, the power supply 110 may carry a charge of at least 3.3 V and power the object 10 during six hours of use and weigh at least 0.5 ounces.

In some implementations, the power supply 110 may be a lithium-ion battery due to its high storage density to low weight characteristics.

There may be two charging methods to charge the object 10. The methods may be inductive charging (using a cradle system) or a simple plug charging cable. In some implementations, the object 10 may use batteries that are rechargeable through inductive charging.

In some implementations, alternatively, the object 10 could use batteries that are rechargeable through other means. For example, utilizing a socket on or below the surface of the object 10 or placing solar panels on the object 10.

In some implementations, the object 10 could be powered using non-rechargeable batteries that could be replaced when power is empty.

In some implementations, the object 10 may be powered without using batteries altogether. For example, the object 10 may be powered by the movement of the object 10, wherein the power may be stored in electronic components, such as capacitors within the object 10.

FIGS. 7A and 7B are schematic drawings of an object according to another example embodiment.

FIG. 7A illustrates a softball as the object 10. The object can be, but is not limited to, a baseball, a soccer ball, a golf ball, a basketball, a volleyball, a tennis ball, a racquetball, a squash ball, a table tennis ball, a bowling ball, a billiard ball, a shot-put, a discus, a javelin, etc.

FIG. 7B is a cross-sectional view of the object 10 shown in FIG. 7A. The object 10 (e.g., a softball) may include a core 20, a layer of yarn 22, a cover assembly 24, a controller 50, an input device 30, and a plurality of output device 90.

The core 20, also referred to as a pill, may be a sphere forming a center portion of the object 10. In some implementations, the core 20 may include a cork material. In another implementation, the core 20 may include an elastomeric or rubber material. In some implementations, the core 20 may include a cork center portion surrounded by one or more layers of rubber materials.

The layer of yarn 22 may surround the core 20. The layer of yarn 22 may be a single layer or multiple yarn windings. Such yarn windings may be single ply, five ply, three ply or other numbers of ply values or combinations. The yarn windings may be formed of wool, synthetic yarn, synthetic recycled fibers, and fibers or combinations thereof. In some implementations, there may be four distinct yarn windings that surround the cork in concentric circles of varying thickness. In one example implementation, the first winding may be made of four-ply woolen yarn, the second of three-ply woolen yarn, the third of three-ply woolen yarn, and the fourth of synthetic yarn. In some implementations, the first winding having the largest thickness in diameter.

The cover assembly 24 may include one or more panels surrounding the layer 20 and providing an outer cover to object 10. In some implementations, the cover assembly 24 may be a cowhide cover, consisting of two cover panels 43 (shown in FIG. 9) that may be stapled to the object 10 and then stitched together. In the example illustrated, the cover assembly 24 may include two cover panels 43 connected to one another by a stitching 35 along at least one seam 33. The at least one seam 33 may be generally flush with the outer diameter of the object 10. The stitching 35 joining the two panels along seam 33 may be formed from a high tensile strength thread, such as, Kevlar thread material, for example. In some implementations, other high tensile strength thread materials may be utilized. The cover assembly 24 provides durability and protection for the electronic components inside of the object 10.

In one example implementation, the controller 50 may be located within core 20. In the specific example illustrated, the controller 50 may be located at a central portion of the object 10 within core 20. Because the controller 50 is centered within the object 10, the controller 50 is less likely to impact weight distribution characteristics and the feel of the object 10.

In another implementation, the controller 50 may be located inwardly of the cover assembly 24. In yet another implementation, the controller 50 may be located inwardly of the layer of yarn 22.

The controller 50 may communicate with at least the input device 30, at least one sensor 40 (shown in FIG. 1), and an output device 90.

The motion parameter (e.g., velocity, acceleration, spin direction, spin axis, spin rate, and/or other motion data) collected by the at least one sensor 40 during the movement of the object 10 is processed by the controller 50. Further, the controller 50 may determine whether the movement represented by the measured motion parameter constitutes a desired performance (e.g., correct pitch).

The input device 30 may be located on opposite sides of the object 10 beneath the cover assembly 24 for triggering a selection of a type of performance (e.g., fastball, curveball, slider, sinker, screwball, changeup, etc.), prior to the object 10 being thrown or pitched. The input device 30 may detect physical pressure by a finger(s) of the user. The user may press the input device 30 located on, within, and/or below the cover assembly 24 to operate the input device 30. In some implementations, on a surface of the cover assembly 24, there is a marking(s) to indicate the location of the input device 30 underneath the cover assembly 24.

In some implementations, there may be one input device 30 to activate the selection of the type of performance. For example, by pressing the input device 30 once, the user activates one type of performance (e.g., a fastball pitch). In some implementations, by activating (e.g., pressing) the input device 30 two times, the user activates a second type of performance (e.g., a curveball pitch). By activating (e.g., pressing) the input device 30 three times, the user activates a third type of performance (e.g., a changeup pitch), and so on.

In another implementation, there may be two input devices 30 (similar to the input device 30 discussed above) to trigger the selection of the type of performance. That is, when one or both input devices 30 are activated (e.g., pressed), the type of performance can be activated. For example, by activating (e.g., pressing) one of the two input devices 30, the user activates one type of performance (e.g., a fastball pitch). By activating (e.g., pressing) both input devices 30, the user activates a second type of performance (e.g., a curveball pitch), and so on.

The controller 50 may further operate the output device 90 following a determination by the controller 50 that the object 10 has been correctly pitched or thrown based on the measured motion parameter received by the at least one sensor 40.

FIGS. 8 through 10 are schematic drawings associated with an output device according to at least one example embodiment

Referring to FIG. 8, the output device 90 may be located inside of the object 10 (e.g., softball), but not extending above the cover assembly 24 of the object 10. The output device 90 may be flush against the cover assembly 24 of the creating a smooth surface. In some implementations, a transparent material may be applied on a surface of the cover assembly 24 where the output device 90 is located.

When the object 10 (e.g., softball) is assembled via the two cover panels 43 (as shown in FIG. 9), the output device 90 may correspond to a respective hole 48 in one of the cover panel 43 of the cover assembly 24. In some implementations, there may be plurality of holes 48 in the cover panel 43 corresponding to the same number of output devices 90.

in some implementations, The assembly 1000 shown in FIG. 10 can include an example of an output device 90. In this implementation, only the output device 90 is labeled, but the assembly 1000 includes twelve (12) output devices, which are light-emitting devices. The output devices can be disposed around the object 10 circumferentially. In other words, the output devices may include lights arranged in a circle forming a ferris-wheel like configuration (e.g., circumferential direction in one plane). In some implementations, the output devices, in this case twelve lights, may be separated every 30° forming a circle. Hence, the output devices will surround the object 10 in a circumferential direction (i.e., on its equator in one plane).

As noted above, the output devices can be disposed within a plane. In some implementations, one or more of the output devices can be disposed outside of a plane. In some implementations, assembly 1000 can include can include more or less than twelve output devices.

In some implementations, the output device 90 may be light-emitting diodes (LEDs). For example, the LED may be an 8 mm, 3-wire-type with capability of color output (e.g., red/green/blue). The LED can be a different size than 8 mm and/or can have different numbers of wires.

As shown in FIG. 10, each of the output devices will be wired to a circuit board 42 and the controller 50 will trigger activation of the output devices in accordance to the type of performance selected by the user.

Referring to FIG. 11A, the circuit board 42 may include surface mounts 59 for each of several output devices (not shown) (e.g., output device 90). In some implementations, there are twelve surface mounts 59. In some implementations, the twelve surface mounts 59 may be arranged in a circular manner to attach the corresponding output devices. This can define the configuration of the output devices as shown in FIG. 10. In some implementations, the circuit board 59 may include the controller 50 near a central portion of the circuit board 59.

In some implementations, the controller 50 will trigger activation (e.g., light up) two or more output devices (e.g., output device 90) that are farthest from the spin axis in accordance to the type of pitch. In some implementations, dependent upon the pitch, two or more of the output devices, opposite to each other relative to a center of the object 10, may be lit. In some implementations, as the object 10 spins, the light from the two or more selected output devices will form a streak that indicates the plane in which the ball is spinning, i.e., a plane perpendicular to the axis of spin.

In some implementations, the output device 90 lights up indicating that the object 10 is at its desired performance. The controller 50 may generate control signals to the two or more selected output devices. The controller 50 may cause the two or more selected output devices to emit a first color of light upon a predefined threshold for direction/spin rate being satisfied and may cause the two or more selected output devices to emit different colors of light as different direction/spin rate thresholds are satisfied. For example, if the quality of the direction/spin rate of the object 10 is within a high threshold (e.g., within ±10° threshold range), the two or more selected output devices will emit one color (e.g., green). If the quality of the direction/spin rate of the object 10 is within a threshold, but not outside the threshold (e.g., within ±20° threshold range), the two or more selected output devices will emit second color (e.g., orange). If the quality of the direction/spin rate of the object 10 is not within a threshold range, the two or more selected output devices will emit a third color (e.g., red).

In some implementations, the controller 50 may store and keep track of the results for future use. In other words, the controller 50 may adjust lighting characteristics of the object 10 as different predetermined thresholds or milestones are met. For example, in some implementations, the controller 50 may track average performance such that the controller 50 may generate different control signals causing the object 10 to emit a different characteristic light (such as a different color, frequency (e.g., timing), brightness etc.) based upon the tracked average performance.

For example, when a pitcher achieves an average pitch velocity of 40 mph, the controller 50 may generate control signals causing a first color light to be emitted by the object 10 and when the player achieves a second greater average pitch velocity of say, at least, 60 mph, the controller 50 may generate control signals causing a second different color light to be emitted by the object 10. If a player's average pitch velocity falls below a predefined threshold, the controller 50 may generate control signals once again changing the color of light emitted by the object 10. In such an implementation, the color, pulse frequency, brightness etc. of the object 10 may provide the player with an instantaneous (i.e., real-time) visual tool.

TABLE 1 Measure Excellent Good Fair Ideal Measured Pitcher Pitcher Pitcher Pitcher, content and understands understands understands catcher and interpre- direction of quality of spin quality of spin spectators tation spin and within 500 ms within 2 s can see of quality of (during (after rotation of feedback spin flight) caught) spin within 500 ms (during flight) Measured Replicates Replicates Replicates Replicates size, moment of moment of moment of official weight, inertia, inertia, inertia, softball and weight, and weight, and weight, and perfectly inertia circum- circum- circum- ference ference ference of softball of softball of softball within within 1.5 within 2 times official times official tolerance official tolerance tolerance Measured 2,000 g 1,500 g 1,000 g 6,000 g maximum non- destructive g-force Measured 3 hours (or 2 hours (or 1 hour (or 6 hours (or battery life 600 pitches) 400 pitches) 200 pitches) 1200 pitches)

TABLE 1 (above) illustrates critical success measurements for a measured performance (i.e., pitch) and relationships between the measured performances. As shown in TABLE 1, the measurements range from “ideal” (highest threshold) to “fair” (lowest threshold). In the “ideal” measurement, everyone (e.g., pitcher, catcher, spectators) may see the rotation of spin of the object; the object is official in size, weight and inertia; non-destructive g-force of 6,000 g; and 6 hours of battery life (or 1200 pitches). In the “excellent” measurement, the pitcher sees direction/spin within 500 ms during flight; the object is official in size, weight and inertia within tolerance; non-destructive g-force of 2,000 g; and 3 hours of battery life (or 600 pitches). In the “good” measurement, the pitcher sees spin within 500 ms during flight; the object is official in size, weight and inertia within 1.5 tolerance; non-destructive g-force of 1,500 g; and 2 hours of battery life (or 400 pitches). In the “fair” measurement, the pitcher sees spin within 2 sec after the object is caught; the object is official in size, weight and inertia within 2.0 tolerance; non-destructive g-force of 1,000 g; and 1 hours of battery life (or 200 pitches).

FIG. 11B is a schematic drawing of an example circuit diagram according to at least one example embodiment. The example circuit diagram includes many of the elements illustrated in FIG. 11A.

FIGS. 12A-12D, 13A-13D, 14A-14D, and 15A-15D are schematic drawings of various target motion parameters for performance types of an object (e.g., object 10) according to example embodiments. Although these figures are illustrated for a right-handed pitcher, in some implementations these target performance types and motion parameters can be adapted for a left-handed pitcher or a different type of user. Each of the motion parameters described in connection with these examples, can be defined within thresholds for a motion reference for the particular target type of performance. In some implementations, if the object is a softball, the types of pitches or throws can include, a rise ball, a drop ball, a curveball, a screwball, a change up, an infielder or outfielder user or throw, a fastball (e.g., which could include measured speed only), and/or so forth.

FIGS. 12A-12D illustrate characteristics of a rise ball for a right-handed pitcher. In this implementation, as shown in FIG. 12A, a ball trajectory is a straight line as viewed from above and rises upward (away from the page) toward the end of a flight. In order to obtain this trajectory, as shown in FIG. 12B, a spin orientation (e.g., orthogonal to spin axis) should be approximately in 11-to-5 clock configuration. As shown in FIG. 12D (side view), the ball spins on its axis of rotation in which a direction of rotation is opposite to a forward velocity of the ball. This aerodynamically induces the ball to move upward.

In some implementations, the characteristics of the rise ball illustrated in FIGS. 12A-12D can be used for a different type of user such as an infielder or outfielder.

FIGS. 13A-13D illustrate characteristics of a curve ball for a right-handed pitcher. In this implementation, as shown in FIG. 13A, a ball trajectory is an arc and moves to the left (as viewed from above) toward the end of a flight. In order to obtain this trajectory, as shown in FIG. 13B, a spin orientation should be approximately in 10-to-4 clock configuration. As shown in FIG. 13D (pitcher's view), the ball spins on its axis of rotation in which a direction of rotation is perpendicular to a forward velocity of the ball. This aerodynamically induces the ball to move to the left (for a right-hand pitcher).

FIGS. 14A-14D illustrate characteristics of a drop ball for a right-handed pitcher. In this implementation, as shown in FIG. 14A, a ball trajectory is a straight line as viewed from above and sinks down (into the page) toward the end of a flight. In order to obtain this trajectory, as shown in FIG. 14B, a spin orientation should be approximately in 12-to-6 clock configuration. As shown in FIG. 14D (side view), the ball spins on its axis of rotation in which a direction of rotation is in same direction as a forward velocity of the ball. This aerodynamically induces the ball to move downwardly.

FIGS. 15A-15D illustrate characteristics of a screw ball for a right-handed pitcher. In this implementation, as shown in FIG. 15A, a ball trajectory is left to right (or uneven). In order to obtain this trajectory, as shown in FIG. 15B, a spin orientation should be approximately in 9-to-3 clock configuration. As shown in FIG. 15D (pitcher's view), the ball spins on its axis of rotation in which a direction of rotation is substantially perpendicular to a forward velocity of the ball. This aerodynamically induces the ball to move in all directions.

In some implementations, a desired spin may be specified as a standard spin type (e.g., riseball, dropball, screwball, or curveball in softball). In some implementations, the desired spin may be specified as direction and/or speed. In yet other implementations, there may exist only one desired spin type direction and/or speed (e.g., football or discus throw), and it may not be necessary to select between different modes.

In some implementations, the object 10 may communicate the sensed motion parameter to recipient(s) external (e.g., computing device) to the object 10 in a wireless fashion, wherein the external recipient can include a portable electronic device such as a smart phone, a flash memory reader (IPOD), a cell phone, a personal data assistant, a laptop computer, a tablet or netbook computer and the like. The object 10 can be configured to communicate with the external recipient via an application operating on the external recipient. In some implementations, the controller 50 may carry out at least some data modifications and/or analysis prior to the data being externally transmitted to the portable electronic device. For example, the controller 50 may carry out some analysis, data derivations or data compression on the sensed motion parameter or on derived results of the sensed motion parameter prior to transmitting the modified, derived and/or compressed data to the portable electronic device. In some implementations, the controller 50 may transmit, in real time, the signal data or the sensed motion data directly from the at least one sensor 40 to the portable electronic device, wherein the portable electronic device performs analysis or further data derivation using the sensed motion data.

In some implementations, the object 10 may determine the type of performance based on the user's hand/arm motion. In some implementations, this type of processing can be performed in two stages by the components of the object (e.g., the controller 50). For example, during a first stage, the controller 50 in the object 10 may receive a signal from at least one sensor based on a movement (e.g., trajectory, speed, location) of the object 10 during the first stage. During the first stage, the object 10 can be prepared or in the process of being launched along a trajectory that can occur during the second stage. The movement of the object 10 during the first stage can be used to determine a target type of performance that is to be evaluated during the second stage. During the second stage, the object 10 be in-flight or in free flight.

As a specific example related to baseball, during a first stage, a user's hand/arm position and/or motion, before release of a baseball during windup can be used to determine a target performance type. Because each target type of performance (e.g., fastball, curveball, slider, sinker, screwball, changeup, etc.) can be associated with a different windup (e.g., arm angle, release point, trajectory, grip, arm speed, etc.), the controller 50 may determine and select the target type of performance. Thus, the type of performance may be determined by the baseball prior to the release of the baseball. Then, in the second stage, the controller 50 can be configured to evaluate the flight of the baseball by receiving the motion parameter of the baseball and comparing the measured motion parameter (which can be an actual performance, an in-flight performance, and/or a current performance) with a motion reference (e.g., motion reference associated with a target type of performance). The controller 50 may then send a signal to an output device to display, in real-time, a feedback information based on the comparison. In some implementations, the same controller (i.e., same controller) can be used to perform the two stage processing.

In some implementation, a mat (not shown) may be utilized with the object 10. The mat may be placed at near mid-flight and/or at the end of flight of the object 10. Accordingly, the object 10 may move over the mat during flight. In some implementations, the mat may facilitate calibrating the apparatus to a known initial positioning or set a reference point. Additionally, the mat may facilitate determination of a motion parameter more accurately. In some implementations the mat can include one or more sensors. In some implementations, the mat can be used in connection with one or more sensors included in the object 10 to determine a motion parameter (e.g., a direction of spin) of the object 10.

In some implementations, when using full six measurement degree of freedom (6D), the information may be used to evaluate the acceleration, angular acceleration, velocity, angle, position and angular orientation of the object as a function of time during flight or free flight. These kinematic measures and metrics may be applicable for obtaining and analyzing accurate movement of objects or bodies during impact, free flight, or other uses.

In some implementations, flight may be used to describe the trajectory of the object commencing at the user's hand and ending at a target.

In some implementations, free flight may be used to describe the movement of the object without any motor compulsion and/or motorized components.

Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. Various implementations of the systems and techniques described here can be realized as and/or generally be referred to herein as a controller, a circuit, a module, a block, or a system that can combine software and hardware aspects. For example, a module may include the functions/acts/computer program instructions executing on a processor (e.g., a processor formed on a silicon substrate, a GaAs substrate, and the like) or some other programmable data processing apparatus.

These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

Some of the above example embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations as sequential processes, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of operations may be re-arranged. The processes may be terminated when their operations are completed, but may also have additional blocks not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, subprograms, etc.

Methods discussed above, some of which are illustrated by the flow charts, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a storage medium. A processor(s) may perform the necessary tasks.

Specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. Example embodiments, however, may be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.

Processors suitable for the processing of a computer program include, by way of example, both general and special-purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices; magnetic disks (e.g., internal hard disks or removable disks); magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in special-purpose logic circuitry.

To provide for interaction with a user, implementations may be implemented on a computer having a display device (e.g., a cathode ray tube (CRT), a light-emitting diode (LED), or liquid crystal display (LCD) display device) for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user, as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

Implementations may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation), or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN) and a wide area network (WAN) (e.g., the Internet).

It will also be understood that when an element, such as a layer, a region, or a substrate, is referred to as being on, connected to, electrically connected to, coupled to, or electrically coupled to another element, it may be directly on, connected or coupled to the other element, or one or more intervening elements may be present. In contrast, when an element is referred to as being directly on, directly connected to or directly coupled to another element or layer, there are no intervening elements or layers present. Although the terms directly on, directly connected to, or directly coupled to may not be used throughout the detailed description, elements that are shown as being directly on, directly connected or directly coupled can be referred to as such. The claims of the application may be amended to recite exemplary relationships described in the specification or shown in the figures.

As used in this specification, a singular form may, unless definitely indicating a particular case in terms of the context, include a plural form. Spatially relative terms (e.g., over, above, upper, under, beneath, below, lower, and so forth) are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. In some implementations, the relative terms above and below can, respectively, include vertically above and vertically below. In some implementations, the term adjacent can include laterally adjacent to or horizontally adjacent to.

While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the implementations. It should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The implementations described herein can include various combinations and/or sub-combinations of the functions, components, and/or features of the different implementations described.

Claims

1. An apparatus to monitor movement of an object, comprising:

an input device configured to trigger pre-selection of a type of performance of the object;
at least one sensor used to measure a motion parameter of the object;
a controller configured to: receive the motion parameter of the object, and compare the measured motion parameter with a motion reference; and
an output device configured to display, in real-time, a feedback information based on the comparison.

2. The apparatus of claim 1, wherein:

the object includes a ball, the ball includes a core within the ball, and
the core is configured to house the at least one sensor and the controller.

3. The apparatus of claim 1, wherein the type of performance of the object is a particular type of pitch.

4. The apparatus of claim 3, wherein the particular type of pitch is least one of a fastball, a riseball, a dropball, a curveball, a slider, a sinker, a screwball, and a changeup.

5. The apparatus of claim 1, wherein the motion parameter is least one of velocity, acceleration, spin, and spin rate.

6. The apparatus of claim 1, wherein the output device is a light-emitting device configured to be arranged on a surface of the object such that the feedback information is indicative of a desired performance of the object.

7. The apparatus of claim 1, wherein the feedback information includes a specific color of light.

8. The apparatus of claim 1, wherein:

the output device is configured to change to a first color when the comparison is within a threshold range; and
the output device is configured to change to a second color when the comparison is outside of a threshold range.

9. The apparatus of claim 1, wherein the input device is disposed within a cover of the object.

10. The apparatus of claim 1, further comprising a rechargeable power supply.

11. The apparatus of claim 1, wherein the controller of the object is configured to communicate the measured motion parameter to an external computing device.

12. A method comprising:

receiving a pre-selection of a type of performance of an object;
receiving a motion parameter of the object via at least one sensor;
comparing the measured motion parameter in accordance to a motion reference; and
trigger display, in real-time, a feedback information based on the comparison, the feedback information indicating a desired performance of the object.

13. The method of claim 12, wherein the type of performance of the object is a particular type of pitch.

14. The method of claim 13, wherein the particular type of pitch is least one of a fastball, a riseball, a dropball, a curveball, a slider, a sinker, a screwball, and a changeup.

15. The method of claim 12, wherein the motion parameter is least one of velocity, acceleration, spin, and spin rate.

16. The method of claim 12, wherein the feedback information includes a specific color of light.

17. The method of claim 12, further comprising:

changing to a first color when the comparison is within a threshold range; and
changing to a second color when the comparison is outside of a threshold range.

18. The method of claim 12, wherein the receiving the pre-selection of the type of performance of the object is in response to an input device on the object being activated by a user.

19. The method of claim 12, further comprising a power supply disposed in the object and configured to be recharged.

20. The method of claim 12, further comprising transmitting, in real-time, the measured motion parameter to an external computing device.

Patent History
Publication number: 20170282039
Type: Application
Filed: Mar 30, 2017
Publication Date: Oct 5, 2017
Inventors: Peter MEREDITH (Cottonwood Heights, UT), Gordon EAKIN (Sandy, UT), Daniel P. FRY (Springville, UT), Benjamin David HAYMORE (Provo, UT), Shaun Joseph LIVINGSTON (Provo, UT), Michael Scott PRIGMORE (Provo, UT), Vallan Gray SHERROD (Provo, UT), Scott E. STUBBS (Nephi, UT), Steven Knight CHARLES (Provo, UT), John Farr GREENHALGH (Orem, UT), Robert Owen HARDING (Orem, UT)
Application Number: 15/475,062
Classifications
International Classification: A63B 69/00 (20060101); A63B 71/06 (20060101); A63B 24/00 (20060101); A63B 43/00 (20060101);