PUTTING BIOFEEDBACK SYSTEM THAT ANALYZES MOTION DATA

A system that analyzes motion of a putter and provides feedback to the golfer as a training aid to guide the golfer towards making better putting strokes. The putter may be equipped with an inertial motion sensor that captures data throughout a stroke; data may be transmitted to a processor, such as a mobile device or a server, for analysis, and feedback signals may be sent to the golfer throughout the stroke based on this analysis. For example, audio tones (generated for example by a mobile phone) may change depending on whether the putting stroke has the desired characteristics. The system may support different operating modes that provide feedback on different putting features. Illustrative modes may for example provide feedback on the putter orientation at address, on the timing of the backstroke, and on the changes in putter face orientation through the stroke.

BACKGROUND OF THE INVENTION

Field of the Invention

One or more embodiments setting forth the ideas described throughout this disclosure pertain to the field of motion capture sensors and analysis of motion capture data. More particularly, but not by way of limitation, one or more aspects of the invention enable a putting biofeedback system that analyzes motion data.

Description of the Related Art

Effective putting requires precise, repeatable movement of the putter so that the putter face contacts the golf ball in exactly the right orientation and with the desired velocity. Manual training aids are available to assist a golfer in learning a correct putt stroke. For example, golfers can print or purchase a matt with a slightly curved track that the putter head should follow for an ideal stroke, and they can practice following this track. A drawback of these manual aids is that the golfer must transport them to any location where he or she wants to practice putting. In addition, the golfer is responsible for watching the putt stroke relative to the putting aid; feedback on the quality of the stroke is not automatic.

Current sensor technologies enable a potential alternative to these manual putting aids which has not yet been incorporated into the prior art. A system that senses the precise motion of a putter may be used for putt stroke training by comparing the actual motion to the desired motion and generating “biofeedback” signals to the golfer to indicate whether the putting stroke has the desired characteristics. There are no known systems that provide putting biofeedback based on motion sensor data.

For at least the limitations described above there is a need for a putting biofeedback system that analyzes motion data.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention enable a putting biofeedback system that analyzes motion data. A golfer may use the system for putt training and practice. The system may track the position and orientation of the putter, calculate metrics for putts, and generate feedback signals that help the golfer improve the putt strokes.

One or more embodiments of the invention may include an inertial sensor coupled to a putter, a feedback signal generator configured to transmit a feedback signal to the user, and a processor coupled to the inertial sensor via a network and coupled to the feedback signal generator. The sensor may have an accelerometer, a gyroscope, and a network interface. The network interface may be wireless in one or more embodiments. The accelerometer may be a three-axis accelerometer and the gyroscope may be a three-axis gyroscope in one or more embodiments. The inertial sensor may be configured to capture inertial sensor data during a putting session wherein a user performs one or more putt strokes with the putter, and to stream this data over the network interface as the data is captured. The processor may be configured to receive the inertial sensor data, determine a starting time of a putt stroke and calculate one or more putt stroke metrics from the data, calculate a feedback signal value from the putt stroke metrics, and transmit the feedback signal value to the feedback signal generator.

In one or more embodiments the processor may calculate the feedback signal value and transmit this value to the feedback signal generator at multiple times during the putt stroke prior to the ending time of the putt stroke.

In one or more embodiments the processor and the feedback signal generator may be integrated into a mobile device used by the user.

In one or more embodiments the feedback signal generator may include a speaker and the feedback signal may be an audio output from the speaker. The feedback signal value may include one or more of pitch and volume of the audio output.

In one or more embodiments, feedback may be based on backstroke timing. The stroke metrics may include the duration of a backstroke, which is the elapsed time between the starting time of the putt stroke and the current time. When the duration of the backstroke equals or exceed a target backstroke duration, the feedback signal value may be set to a stop backstroke value.

In one or more embodiments, feedback may be based on the putter orientation at address. The stroke metrics may include the actual orientation of the putter at address, and the feedback signal value may be set based on the difference between this orientation at address and an ideal putter orientation at address.

In one or more embodiments, feedback may be based on the putter trajectory. The stroke metrics may include the distance travelled by the putter face since the starting time of the putt stroke, and a change in orientation of the putter face since this starting time. When the change in orientation is within a target face orientation range that is a function of the distance travelled, the feedback signal may be set to an on track value; otherwise the feedback signal may be set to an off track value that differs from the on track value.

In one or more embodiments, the processor may be configured to be in a feedback mode selected from multiple feedback modes, and the calculation of the feedback signal value may be a function of the feedback mode. In one or more embodiments the multiple feedback modes may include a backstroke timing feedback mode (with the feedback signal based on backstroke timing as described above), an orientation at address feedback mode (with the feedback signal based on putter orientation at address as described above), and a putter trajectory feedback mode (with the feedback signal based on the putter trajectory as described above).

DETAILED DESCRIPTION OF THE INVENTION

A putting biofeedback system that analyzes motion data will now be described. In the following exemplary description numerous specific details are set forth in order to provide a more thorough understanding of the ideas described throughout this specification. It will be apparent, however, to an artisan of ordinary skill that embodiments of ideas described herein may be practiced without incorporating all aspects of the specific details described herein. In other instances, specific aspects well known to those of ordinary skill in the art have not been described in detail so as not to obscure the disclosure. Readers should note that although examples of the innovative concepts are set forth throughout this disclosure, the claims, and the full scope of any equivalents, are what define the invention.

In one or more embodiments of the invention, the motion of a putter may be measured with one or more sensors, and sensor data may be analyzed to generate feedback signals that are transmitted to the golfer. This process may occur in almost real-time, so that as soon as the golfer makes an error or as soon as a correction is needed, a feedback signal may be sent. This rapid feedback loop may substantially enhance the learning cycle for putting.

Sensors that measure the motion of the putter may for example be integrated into or attached to the putter. (In one or more embodiments, alternative or additional sensors may be used that are not fixed to the putter, such as video cameras that observe the putting stroke for example.)FIGS.1A and1Bshow an illustrative embodiment with putter102that has an inertial motion sensor package103integrated into or coupled to the putter. For example, the inertial sensor may be placed into the grip of the putter. Sensor103may capture data during movements of putter102by user101. Data may be captured many times per second; for example, an illustrative embodiment may capture data500or more times per second. The sensor103may include or be coupled to a network interface, such as a wireless interface, so that sensor data can be streamed from the sensor immediately after it is captured. The wireless interface may be for example, without limitation, Bluetooth, Bluetooth Low-Energy, or Wi-Fi. Streamed sensor data may be received by one or more processors and may be analyzed to generate feedback signals on the characteristics of the user's putting strokes or other movements with the putter. In the embodiment show inFIGS.1A and1B, streamed sensor data is received by a mobile device104, such as the user's mobile phone. Data may be received by or transmitted to any processor or processors for analysis. For example, in lieu of a mobile device, the sensor103may transmit data to a local gateway that forwards the data to a web-based server for analysis. Mobile device104may also communicate with other servers or devices, and data analysis may be performed by any combination of processors that are network connected. Mobile device104may be for example, without limitation, any type of phone, watch, laptop, desktop, tablet, server, or any other device or devices with network and processing capabilities.

The processor(s) that analyze sensor data, such as mobile device104, may determine characteristics of the user's putt stroke from this data, with specific examples described below. For example, the processor(s) may calculate putt stroke metrics or other values that indicate whether the putt has desired features. Based on these calculations, one or more feedback signals may be transmitted to the user101. Feedback may be generated using any type of actuators or signal generators. In the example shown inFIGS.1A and1B, the system generates audio feedback, using for example one or more speakers105integrated into or attached to mobile device104. This type of feedback is illustrative; other types of feedback signals that may be used in one or more embodiments may include, without limitation, vibration, lights, visual displays, or temperature. Feedback signal generators may be located in any location where feedback signals can reach user101. These feedback signal generators may be coupled to any processor that analyzes sensor data or receives the results of these analyses. Feedback may use any type of variation in the signals transmitted to the user. For example, audio feedback may consist of changes in pitch or volume, or in the presence or absence of certain sounds; visual feedback may consist of changes in intensity or presence of lights, or changes in the color of light, or changes in the frequency of flickering lights or strobes.

In the scenario illustrated inFIG.1A, the system is configured to provide feedback to the user on how well the user is following desired trajectory110for the putter head. This trajectory may represent an ideal path for the putting stroke, which may in some cases depend on factors such as the user's height and stance, the characteristics of putter102, or the desired path of the struck ball. The user101may be for example practicing repetitive strokes with the putter along this trajectory to generate muscle memory for this specific motion. InFIG.1A, the user moves the putter along path111that follows trajectory110closely. The processor in mobile device104calculates this trajectory and generates a “positive” audio feedback signal112, which may for example be a high-pitched tone at a low volume. This signal indicates to user101that the putt stroke is correct. In the scenario shown inFIG.1B, the putter path121initially follows the desired trajectory110, but at time125it deviates substantially from the desired trajectory. The audio feedback signal for this putt stroke therefore changes at time125to a different signal122, which may for example be a lower-pitched and higher volume tone, signaling to the user that the path has deviated from the desired trajectory. Because data may be streamed continuously from sensor103to processor104, and analyzed incrementally as it is received, the feedback signal can change almost immediately when the deviation occurs. A high sampling rate by sensor103may reduce the lag between a change in the putt motion and the resulting change in the feedback signal.

The specific audio signals described with respect toFIGS.1A and1Bare illustrative; one or more embodiments of the invention may use any type of signal or signals set to any output levels. For example, the audio feedback for a correct putt stroke (within desired limits) may be silence, and any audible tone may indicate a deviation from the desired stroke. Feedback signals may be set to either discrete or continuous levels. For example, the tone or volume of audio feedback (or signal levels of any mode of feedback) may vary continuously as deviations from desired putt motions increase, or feedback signals may change discretely from a “positive” signal when the putt is within desired limits to a “negative” signal when the putt is outside desired limits.

The criteria for feedback described with respect toFIGS.1A and1B— following the desired putt trajectory—is also illustrative. One or more embodiments of the invention may evaluate any aspect of a putt and provide feedback according to how actual putter motion conforms to any desired criteria. Illustrative examples are described below.

FIG.2shows illustrative components of sensor unit103that measures motion of putter102. The sensors201contained in103may include for example, without limitation, inertial motion sensors such as a 3-axis accelerometer202and a 3-axis rate gyroscope203. One or more embodiments of the invention may use other sensors or addition sensors, such as for example a magnetometer, a range sensor, or a position sensor. Any type or types of sensors that measure the position or orientation or changes in position or orientation of the putter may be used in one or more embodiments. Sensor unit103may also include a processor204, which may be a microprocessor or microcontroller for example. It may also include one or more network interfaces205, which may include wireless interfaces such as Bluetooth, Bluetooth Low Energy, or Wi-Fi. One or more embodiments of the invention may include memory in the sensor unit103. The sensor unit may also have a power supply such as a battery or an energy harvesting device.

Processor204may execute a sampling and streaming loop210that repeatedly performs sampling212of sensors201and then streaming213of the sampled values to one or more other systems or processors for analysis. In one or more embodiments the processor204within the sensor unit may also perform analysis of sensor data and may stream resulting analyses to other systems.FIG.2shows sensor data samples213a,213b,213c, and213dstreamed successively to mobile device104(or any other processor or gateway) at successive times. In one or more embodiments, data may be sampled and streamed at multiple points in time throughout a putt stroke or other motion, potentially at a high sampling rate such as 500 samples or more per second.

As device104receives streamed samples such as213a,213b,213c, and213d, it processes these samples to determine the state of the putter and to calculate feedback signals accordingly. Samples may be processed successively as they arrive, or in batches; processing of individual samples may be more computationally intensive but provides the benefit of faster feedback.FIG.2shows illustrative processing steps221through225that may be performed in one or more embodiments. These steps may be performed by any processor or processors, including any combination of sensor processor204, mobile device104processor, or any servers connected to these devices via network connections. Some steps may be omitted or rearranged in one or more embodiments or in certain feedback modes. Step221analyzes sensor data to determine when a putting stroke begins. This step may be performed while a user is preparing to start a backstroke. In contrast to some putt training systems, detection of the start of a stroke is dynamic in that the user can start a stroke at any time and the system will detect when the stroke begins. (Some other systems require a user to begin a stroke upon a signal such as an audio cue.) Step222calculates or updates one or more stroke metrics from the raw sensor data. As described below, these metrics may reflect any aspect of a putt, such as the putter position or orientation or any changes therein, or any values derived from a putter trajectory. Step223then calculates one or more feedback signal values from the update metrics. These signal values may reflect for example any deviations between calculated metrics and desired metric values. Step225then transmits the feedback signal value(s) to the signal generator(s) that generate signals accessible to user101.

FIG.3shows an illustrative example of specific calculations in step222. Incoming sensor samples213, which may include for example acceleration and angular velocity vectors, may be integrated in step301to form a trajectory302of the position304and orientation305of the putter over time. Treating the putter as a rigid body, sensor values from any location on the putter may be integrated to determine the position of any point on the putter and the orientation of any portion of the putter. Techniques for integrating inertial sensor data to derive position and orientation over time are known in the art, and one or more embodiments of the invention may use any of these known techniques. For example, the integration301may calculate the position over time of the sweet spot of the putter face, and the orientation over time of this putter face.

From the position and orientation trajectory302, many possible metrics310may be calculated. The specific metrics generated in any embodiment may depend on the particular type of feedback that is desired for the putting stroke. Illustrative metrics that may be calculated may include, without limitation, the start and ending times311and312of the backstroke; the start and ending times313and314of the forward stroke; the durations317of the backstroke, forward stroke, or any other phases of the stroke; the velocity315of any portion of the putter (such as the sweet spot) at any point in time, the distance316travelled by the putter face over any period of time, and the changes318in any of the angles of the putter face over any period of time. Additional metrics may for example be derived from or based on any combinations of these factors, or based on comparisons of any of these factors to any thresholds or standards.

FIG.4shows an illustrative method that may be used in one or more embodiments to determine the starting time of a putt backstroke. As described with respect toFIG.3, sensor data may be integrated to obtain the position of the sweet spot of the putter over time. The sweet spot velocity vector may then be obtained as the derivative of the position. Using a coordinate system as shown in302ofFIG.3, with the y-axis pointing in the desired direction of a putt, a backstroke corresponds to a negative y velocity of the sweet spot.FIG.4shows an illustrative plot403of the y-velocity401of the sweet spot as a function of time402. As a golfer prepares to start a putt, the putter face typically moves slightly back and forth, so that y-velocity may become slightly negative prior to the true start of the backstroke. However, once a negative y-velocity has been sustained for a threshold period of time406or has exceeded (in the negative direction) a (negative) threshold velocity value407, it can be determined that an actual backstroke has begun. The start of backstroke404can then be determined as the time of the last zero crossing of curve403before the y-velocity becomes sustainably negative. Similarly, the end of backstroke time405can be determined as the subsequent zero crossing when the y-velocity is no longer negative.

In one or more embodiments of the invention, a user may be able to select from several different feedback modes, where each feedback mode provides feedback on a particular aspect of putting. One or more embodiments may also provide multi-mode feedback where putt motions are monitored simultaneously for multiple aspects.FIG.5shows an illustrative embodiment that supports at least three modes of feedback, as selected in input screen500of mobile device104. Mode501provides feedback on the timing of a backstroke. Mode502provides feedback on the putter orientation at address. Mode503provides feedback on the trajectory of the putter face through the backstroke. When the user selects an input control to set the mode, the processing of incoming sensor data is configured to provide feedback on the selected putting aspect.

In backstroke timing mode501, the user may be guided to use a consistent backstroke that has a fixed target backstroke duration. This target duration may be based on accepted or common standards, or it may be configurable by the user. A putt stroke metric of the elapsed time between the start of the stroke and the current time may be compared to the target duration, and when this elapsed time equals or exceed the target duration, feedback may be generated to signal that the backstroke should stop. In one or more embodiments, the analysis system may first detect the start of a backstroke in step221, using for example the method described with respect toFIG.4, and then start a timer in step512with a duration equal to the target backstroke elapsed time. When the timer expires, a stop backstroke feedback signal may be generated in step513to tell the user that the backstroke motion should stop. In another embodiment of this feedback mode, the system may measure the backstroke duration (as shown inFIG.4), and may provide a feedback signal based on comparing the actual backstroke duration with a target duration. In one or more embodiments feedback may also be provided on the timing of the forward stroke; for example a forward stroke timer may be started at the end of backstroke (either the actual detected end of backstroke or the expected time based on the target elapsed time). When the forward stroke timer expires after an expected forward stroke duration, another feedback signal may be provided to the golfer indicating that the forward stroke should be finished.

In orientation at address mode502, the user may be guided to hold the putter in a correct orientation at address. In this mode, step521calculates the putter orientation for each new sensor data sample, and the analyzing processor then sets a feedback signal in step522based on whether the calculated orientation is within a target putter orientation range. This cycle repeats while the system remains in orientation at address mode.

In putter face trajectory mode503, the user may be guided to make a backstroke with a simple pendulum-like rotation of the shoulders, without making other movements that may result in the putter face being skewed when it hits the ball after the forward stroke, which may result in a poor putt. A proper backstroke is reflected in a trajectory of the putter face with a specific curve for the putter face position and orientation as the putter head moves backwards through the backstroke. In this mode, after detection of the start of backstroke in step221, the analysis system may update the putter face trajectory (both position and orientation) on each new sample, in step532, and set a feedback signal based on comparison of this trajectory to the desired trajectory in step533. For example, without limitation, feedback may be binary: an “on track” signal may be generated if the trajectory is close to the desired trajectory, and an “off track” signal may be generated if the trajectory deviates too much from the desired trajectory. Steps532and533may repeat in a loop for each new sensor data sample.

FIG.6shows an illustrative scenario for a system operating in “orientation at address” mode. The ideal orientation at address may in general depend on the putter geometry and potentially on other factors such as the terrain for the putt. In the scenario ofFIG.6, the ideal orientation for the putter102at address is a lie angle of 70 degrees (measured between the putter shaft and the vertical axis) and a loft angle of 0 degrees (measured between the normal to the putter face and the horizontal plane). The feedback signal is an audio signal with a pitch that varies depending on how close the actual putter orientation is to these ideal angles. The pitch631is calculated using curve630that is a function of the total absolute differences632of the lie and loft angles to their ideal values. At time601, the lie angle602and loft angle603are relatively near the ideal values, so the sum of absolute differences621and622results in a high-pitched audio feedback signal604. This high pitch indicates to the golfer that the orientation is at or near the ideal orientation. Subsequently at time611, the lie angle612and the loft angle613differ significantly from their ideal values, so the sum of angle differences results in a low-pitched audio feedback signal614. This pitch indicates to the golfer that the orientation needs to be corrected. If the golfer makes an adjustment in the correct direction, curve630shows that the pitch will increase, while adjustments in the wrong direction will decrease the pitch. The golfer is therefore guided by the feedback signal to put the putter in the correct orientation at address.

FIG.7shows an illustrative scenario for a system operating in “putter face trajectory” mode. For a backstroke that follows an ideal “pendulum motion” trajectory, the change704in the face angle of the putter from the point of address701to any point702on the backstroke is approximately a linear function of the distance703travelled by the putter head. This linear function is shown as line711in graph710. In one or more embodiments, an “off track” feedback signal may be generated if the actual change in face angle deviates sufficiently from line711; otherwise, an “on track” feedback signal may be generated. For audio feedback, on-track and off-track signals may have different frequencies for example; or in one or more embodiments, there may be no sound for on-track putts, and a sound for an off-track putt. In the embodiment shown inFIG.7, the region between lines713and714defines the “on track” zone, and the feedback for on-track putts is no sound; outside this zone the feedback for off-track putts is a beep715that signals the need for a correction. In one or more embodiments a feedback signal may vary continuously based for example on the distance between the actual face angle and the desired face angle as described by line711. One or more embodiments may base feedback signals on other changes in putter face orientation besides face angle, such as loft and lie angles, or combinations of angle changes, using similar relationships between putter face orientation and distance.

FIG.8shows an embodiment of exemplary computer800that may be utilized in, by, or as any component in the system. For example, any of the elements shown in computer800may be incorporated into a sensor unit, or into a mobile device other processor that analyzes sensor data. In one or more embodiments, computer800may be a network of computers, each of which may have any or all of the components shown inFIG.8. In one or more embodiments, computer or computers800may also be utilized to implement any function in the system, i.e., any step or act or function that executes in any computer or server or engine in the system. Computer800may include processor CPU807that executes software instructions specifically tailored to the respective functions of embodiments of the invention. The software instructions, otherwise known as computer program instructions, may reside within memory806. Computer800may include processor GPU805, which may execute graphics instructions or other instructions for highly parallel operations, for example. GPU program instructions may also reside within memory806. Computer800may include display interface808, which may drive display unit or units810of any computer in the system as desired. Some computers800may or may not utilize a display. Computer800may include communication interface824, which may include wireless or wired communications hardware protocol chips. In one or more embodiments of the invention communication interface824may include telephonic and/or data communications hardware. In one or more embodiments communication interface824may include a Wi-Fi™ and/or BLUETOOTH™ wireless communications interface. Any wireless network protocol or type may be utilized in embodiments of the invention. CPU807, GPU805, memory806, display interface808, communication interface824, human interface devices830, secondary memory812, such as hard disk814, removable storage816, secondary memory interface820and removable storage units818and822may communicate with one another over communication infrastructure802, which is commonly known as a “bus”. Communications interface824may communicate over any wired or wireless medium that allows for communication with other wired or wireless devices over network840. Network840may communicate with Internet860and/or database or databases850. Database850may be utilized to implement any database described herein.