CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation of U.S. patent application Ser. No. 13/645,263, filed Oct. 4, 2012, which claims the benefit of U.S. Provisional Patent Application No. 61/544,776, filed Oct. 7, 2011. The contents of each of these applications are expressly incorporated herein by reference in their entireties.
FIELD OF THE INVENTIONThe present invention relates generally to golf. More particularly, embodiments of the present invention relate to golf shot tracking systems, devices, and methods of use.
BACKGROUND OF THE INVENTIONDuring or after a round of golf, it may be desirable to track information about the shots taken during the round of golf. For example, it may be desirable to record the locations from which shots have been taken, and the clubs used to take the shots.
Traditional methods of tracking shot information, such as recording shot information with a pencil and paper and tabulating results after a round, require significant time and effort and are prone to error. Technology has resulted in the development of portable electronic devices that are capable of providing information to golfers during a round of golf. However, many of these devices suffer from cumbersome, non-intuitive user interfaces and data collection or processing limitations.
What is needed are improved golf shot tracking systems, devices, and methods of use that will allow a user to, among other things, interact with their golf shot tracking system in a more intuitive, user-friendly manner, more accurately track their performance during a past or present round of golf, and use the data generated to improve their play in future rounds of golf.
BRIEF SUMMARY OF THE INVENTIONEmbodiments of the present invention provide a golf shot tracking system. The golf shot tracking system may include an identification tag coupled to a golf club and a tag reader. The tag reader may include a position-determination component and a tag identification component. The tag reader may be configured to receive data including identification information relating to the golf club in response to the identification tag being within a reception range of the tag identification component (which may be, for example, about 3 inches). The tag reader may be configured to determine its position in response to the identification tag being within a reception range of the tag identification component. The tag reader may be configured to transmit (e.g., wirelessly) a signal representative of the golf club identification information in association with the determined position to a communication device.
The communication device may be, for example, a portable handheld device having a display for displaying a representation of the golf club identity in association with the determined position. The communication device may be configured to upload the golf club identity in association with the determined position to a remote server.
In one embodiment, the identification tag may be a radio-frequency identification microchip storing data including an identification number, and may be disposed at an end of a shaft of the golf club, under a grip of the golf club, or may be disposed on a side of a shaft of the golf club, coupled to the golf club with an adhesive tape. The identification tag may be a passive radio-frequency identification microchip that does not include a battery. The identification tag may be spaced apart from the shaft of the golf club by an insulating layer. The insulating layer may be an electrically insulating layer.
In an embodiment, the position-determination component may be a global navigation satellite system receiver (e.g., a GPS receiver) disposed within the tag reader. The global navigation satellite system receiver may communicate with satellites of the GPS, GALILEO, GLONASS, COMPASS, IRNSS, or other similar systems. Position may be determined relative to Earth, or relative to a portion of a golf course. The tag identification component may be a radio-frequency identification reader.
The identification information may include the golf club identity, or may include an identification number usable by the communication device to identify the golf club by comparing the identification number to a database of corresponding golf club identities.
Embodiments of the present invention may also provide a golf club tag reader. The golf club tag reader may include a tag identification component configured to receive data including identification information relating to a golf club in response to an identification tag of the golf club being within a reception range of the tag identification component, and a position-determination component configured to determine a position of the tag reader in response to the identification tag of the golf club being within the reception range of the tag identification component.
The golf club tag reader may also include a processor and a memory. The processor may be configured to cause the memory to store the identification information in association with determined position information by storing each in association with a timestamp corresponding to the time the identification tag of the golf club entered into the reception range of the tag identification component.
The tag identification component may be configured to receive second data including second identification information relating to a second golf club in response to a second identification tag of the second golf club being within the reception range of the tag identification component, and the position-determination component may be configured to determine a second position of the tag reader in response to the second identification tag of the second golf club being within the reception range of the tag identification component. In such a case, the processor may be configured to cause the memory to store the first identification information in association with the first determined position information, and to store the second identification information in association with the second determined position information. The second golf club and second identification tag may be the same as the first golf club and first identification tag, or may be different from the first golf club and first identification tag.
The golf club tag reader may also include a transmitter component configured to transmit (e.g., wirelessly) a signal representative of the identification information in association with determined position information to a communication device. The transmitter component may be configured to transmit the signal in response to the communication device being within a wireless transmission range of the transmitter component.
Embodiments of the present invention may further provide a golf club identification tag assembly. The assembly may include an identification tag carrier and an identification tag coupled to the identification tag carrier. The identification tag carrier may include a disc-shaped proximal portion having the identification tag coupled to a proximal side thereof, and a cylindrical or frustoconical neck portion extending distally from the disc-shaped proximal portion. The golf club identification tag assembly may include a golf club, and the cylindrical neck portion of the identification tag carrier may extend within a shaft of the golf club, such that the disc-shaped proximal portion protrudes from a proximal end of the shaft. The identification tag carrier may include flexible wings extending radially around the cylindrical neck portion. In such a case, the cylindrical neck portion of the identification tag carrier may extend within a shaft of the golf club such that the flexible wings are compressed by an interior of the shaft.
The identification tag carrier may include an insulating layer, such as an electrically insulating layer, and may be coupled to an exterior side of the electrically insulating layer. An interior side of the electrically insulating layer may coupled to an exterior surface of a shaft of the golf club. The identification tag carrier and the identification tag may be held in place relative to the golf club by an adhesive tape. The electrically insulating layer may include iron, which may take the form of an iron alloy.
Embodiments of the present invention may also provide a method for golf club registration. The method may include detecting a golf club identification tag within a detection range of a tag reader, reading identification information for the golf club identification tag, transmitting a signal representative of the identification information for the golf club identification tag from the tag reader identification component to a communication device, receiving input of the signal at the communication device, receiving input of golf club information for the golf club at the communication device, and storing the identification information for the golf club identification tag in association with the golf club information.
Embodiments of the present invention may further provide a method for golf shot tracking. The method may include detecting a golf club identification tag within a detection range of a tag identification reader component of a tag reader, reading identification information for the golf club identification tag, storing the identification information for the golf club identification tag in association with timestamp information representative of the time that the golf club identification tag was detected, determining the position of the tag reader using a position-determination component of the tag reader, and transmitting a signal representative of the identification information for the golf club identification tag, the timestamp information, and the position to a communication device.
Embodiments of the present invention may also provide a method for updating location data for a putting stroke in a golf stroke log. The method may include the steps of displaying a representation of a green on a display screen, displaying an icon representing a first putting stroke at a first location with respect to the representation of the green on the display screen, determining that a user input indicates that the icon representing the first putting stroke should be moved to a second location with respect to the representation of the green on the display screen, and updating the location data for the first putting stroke in the golf stroke log based on the determining with respect the first putting stroke.
Embodiments of the present invention may further provide a method for determining a golf course hole number to associate with a golf stroke. The method may include the steps of determining geographical position data associated with the golf stroke taken at a golf course, accessing map data associated with the golf course, and determining a golf course hole number to associate with the golf stroke based on both the geographical position data and the map data.
Both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
BRIEF DESCRIPTION OF THE FIGURESThe accompanying figures, which are incorporated herein, form part of the specification and illustrate embodiments of the present invention. Together with the description, the figures further serve to explain the principles of and to enable a person skilled in the relevant arts to make and use the invention described herein. In the drawings like reference characters indicate identical or functionally similar elements.
FIG. 1 is a schematic view of a golf shot tracking system according to an exemplary embodiment of the present invention;
FIG. 2 is a schematic view of a reader module according to various aspects of the invention;
FIG. 3 is an assembly view of a reader module according to various aspects of the invention;
FIG. 4 is a schematic view of a reader module according to various aspects of the invention;
FIG. 5 includes front, top, and side views of a reader module according to various aspects of the invention;
FIG. 6 includes perspective views of a reader module according to various aspects of the invention;
FIG. 7 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 8 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 9 includes perspective views of a reader module according to various aspects of the invention;
FIG. 10 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 11 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 12 includes perspective views of a reader module according to various aspects of the invention;
FIG. 13 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 14 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 15 includes perspective views of a reader module according to various aspects of the invention;
FIG. 16 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 17 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 18 includes perspective views of a reader module according to various aspects of the invention;
FIG. 19 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 20 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 21 includes perspective views of a reader module according to various aspects of the invention;
FIG. 22 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 23 includes front, top, side, and back views of a reader module according to various aspects of the invention;
FIG. 24 includes front, top, and side views of a reader module according to various aspects of the invention;
FIG. 25 depicts status indicators according to an exemplary embodiment of the present invention;
FIG. 26 is a perspective view of a reader module according to various aspects of the invention;
FIG. 27 is a photograph of a reader module according to various aspects of the invention;
FIG. 28 is a photograph of a reader module according to various aspects of the invention;
FIG. 29 is a photograph of a reader module according to various aspects of the invention;
FIG. 30 is a photograph of a reader module according to various aspects of the invention;
FIG. 31 is a photograph of a reader module according to various aspects of the invention;
FIG. 32 is a photograph of a reader module according to various aspects of the invention;
FIG. 33 is a photograph of a reader module according to various aspects of the invention;
FIG. 34 is a photograph of a reader module according to various aspects of the invention;
FIG. 35 is a photograph of a reader module according to various aspects of the invention;
FIG. 36 is a photograph of a reader module according to various aspects of the invention;
FIG. 37 is a photograph of a reader module according to various aspects of the invention;
FIG. 38 is a photograph of a reader module according to various aspects of the invention;
FIG. 39 is a photograph of a reader module according to various aspects of the invention;
FIG. 40 is a photograph of a reader module according to various aspects of the invention;
FIG. 41 is a photograph of a reader module according to various aspects of the invention;
FIG. 42 is a photograph of a reader module according to various aspects of the invention;
FIG. 43 is a photograph of a reader module according to various aspects of the invention;
FIG. 44 is a perspective view of an identification tag according to an exemplary embodiment of the present invention;
FIG. 45 is a photograph of arrangements of identification tags, identification tag carriers, and club shafts according to exemplary embodiments of the present invention;
FIG. 46 is a perspective view of an identification tag carrier according to various aspects of the invention;
FIG. 47 is a top view of an identification tag carrier according to various aspects of the invention;
FIG. 48 is a sectional view taken along line A-A ofFIG. 47 of an identification tag carrier according to various aspects of the invention;
FIG. 49 is a perspective view of an identification tag carrier according to various aspects of the invention;
FIG. 50 is a top view of an identification tag carrier according to various aspects of the invention;
FIG. 51 is a sectional view taken along line A-A ofFIG. 50 of an identification tag carrier according to various aspects of the invention;
FIG. 52 is a photograph of an arrangement of an identification tag and club shaft according to an exemplary embodiment of the present invention;
FIG. 53 is a photograph of an identification tag according to various aspects of the invention;
FIG. 54 is a photograph of an identification tag according to various aspects of the invention;
FIG. 55 is a perspective view of an identification tag according to various aspects of the invention;
FIG. 56 is a perspective view of an identification tag according to various aspects of the invention;
FIG. 57A depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 57B depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 57C depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 57D depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 57E depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 57F depicts a touch screen display graphical user interface according to exemplary embodiments of the present invention;
FIG. 58 depicts an aerial golf course image according to an exemplary embodiment of the present invention;
FIG. 59 depicts a golf score card according to an exemplary embodiment of the present invention;
FIG. 60 depicts a portion of a mapped hole according to an exemplary embodiment of the present invention;
FIG. 61A depicts a graphical user interface display according to exemplary embodiments of the present invention;
FIG. 61B depicts a graphical user interface display according to exemplary embodiments of the present invention;
FIG. 61C depicts a graphical user interface display according to exemplary embodiments of the present invention;
FIG. 62 is a flowchart of an analytical data filter according to various aspects of the invention;
FIG. 63 is a flowchart of an analytical data filter according to various aspects of the invention;
FIG. 64 is a flowchart of an analytical data filter according to various aspects of the invention; and
FIG. 65 is a flowchart of an analytical data filter according to various aspects of the invention.
DETAILED DESCRIPTION OF THE INVENTIONThe following detailed description refers to the accompanying figures, which illustrate embodiments of the present invention. Other embodiments are possible and may fall within the scope of the present invention. Modifications can be made to the embodiments described herein without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not meant to be limiting. The operation and behavior of the embodiments presented are described with the understanding that various modifications and variations of the embodiments may be within the scope of the present invention.
A golf shotlocation system100 is a mobilegolf monitoring system100 that may include one or more of the following elements: (1) electronic golfclub identification tags200; (2) areader module300; (3) areceiver module400; and (4) aserver computer system500.
The golf club tags200 (also referred to as identification tags, tags, club tags, RFID tags, NFC tags, and the like) may be passive radio-frequency identification (RFID), near field communication (NFC), or othersuitable tags200 that are each physically coupled to one golf club600 (“passive” tags do not include a battery). In other embodiments, active tags200 (i.e., tags that include a battery) may be employed. Eachtag200 includes a unique (or effectively unique, given production volume and deployment) serial number readable by areader module300.
Thereader module300 may include a global positioning system (GPS)receiver310, an RFID/NFC reader320, and awireless transmitter350. When thegolf club tag200 of aparticular golf club600 is brought sufficiently close to the reader module300 (i.e., within its reception range), the RFID/NFC reader320 reads the serial number stored in thetag200, and theGPS receiver310 receives position data indicating the position of thereader module300. Thereader module300 stores the serial number, the position data, and a time-stamp in association with one another. A golfer may use thereader module300 in conjunction with a set of taggedgolf clubs600 during a round of golf to store data relating to where and when he took each shot, and with which club. A registration procedure allows for specific club identification (e.g., make, model, and/or type of club) via communication with areceiver module400, which is described below.
Thewireless transmitter350 of thereader module300 may transmit the stored serial numbers and position data to areceiver module400 over a wireless link (e.g., according to the Bluetooth® wireless technology standard (Bluetooth)). In some embodiments, thereader module300 transmits this data via a wired connection. Thereceiver module400 can be any device capable of storage and display of information, including a personal computer or smartphone. If thereceiver module400 is not portable, transmission of the serial number and position data can occur after a round of golf. If thereceiver module400 is portable, transmission can occur after the round of golf or during the round of golf, for example, intermittently or continuously, whenever thereceiver module400 is within range of thewireless transmitter350 of thereader module300. Thereceiver module400 may include software that will run on thereceiver module400 to affect its functions.
In the case where thereceiver module400 is a smartphone or similar device, thedisplay410 and user interface of thedevice400 can be used by the golfer to perform various functions during or after a round of golf. For example, the golfer can review his or her past performance (e.g., location and club used for shots previously taken), or can be provided information regarding the layout and position of a golf course and its features. Such information may include the position of thereader module300 orreceiver module400 on the golf course (or relative to Earth), as well as the position of and distance to various features of the golf course, such as a sand trap or the green. Certain features of thereceiver module400 may only be functional when thereceiver module400 is in communication with aserver computer system500, which is described below.
Though the following description will primarily focus on mobilegolf monitoring systems100 having areader module300 and areceiver module400 that are physically distinct and separate from one another, in some embodiments of the present invention, the functions of thereader module300 and thereceiver module400 may be combined in a single piece of hardware such as, for example, a mobile phone including GPS and RFID/NFC capabilities.
Theserver computer system500 may communicate with thereceiver module400 via the Internet. A wide variety of information may be communicated between thereceiver module400 and theserver computer system500 including stroke location, timing, and club information, information regarding the layout and position of a golf course and its features, and historical golfer performance information and statistics. Theserver computer system500 may be capable of providing various graphical displays viewable via mobile applications or web browsers running on a user'sreceiver module400. Theserver computer system500 may include software that will run on theserver computer system500 to affect its functions. Theserver computer system500 may include one or more discrete computers that may be centrally or remotely located with respect to one another. Theserver computer system500 may further include or be in communication with one or more databases.
The reader module300 (also referred to as a widget, golf widget, tag reader, dongle, and the like) provides golfers the ability to read taggedgolf clubs600 and store geo-location information upon eachsuccessful tag200 read from thegolf club600. A unique identification (UID) for theclub600 along with GPS coordinates may be stored within thewidget300 and can be transferred to a paired smartphone400 (also referred to as a mobile device, communication device, and the like) wirelessly (e.g., via Bluetooth or Bluetooth Low Energy (BTLE)) running an application to process the data. If a wireless connection is not immediately available, data transfer can take place over a USB (universal serial bus) connection to a PC400 (personal computer) for processing at a later time. Thewidget300 is powered by arechargeable battery364 and may use theUSB port376 for charging. In some embodiments, thewidget300 has no visual display screen. In some embodiments, the widget has a visual display screen (for example, an LCD (liquid crystal display) screen). Instead of or in addition to a display screen, audio beeps, vibrations, and LEDs can provide user feedback and status information. Thewidget300 may adhere to government wireless regulations and certifications within the United States and other countries, as would be understood by one of skill in the art.FIG. 1 shows exemplary interfaces of thewidget300 with other components (e.g., GPS satellites via a GPS link,golf club tag200 via a radio-frequency link, asmartphone400 via a wireless (e.g., Bluetooth) link, and acomputer400 via a wireless (e.g., Bluetooth) or wired (e.g., USB) link). The smartphone orcomputer400 may interface with aremote server500 via an appropriate data link.
Thewidget300 may include a variety of components. A diagrammatic view of anexemplary widget300 is shown inFIGS. 2 and 4. Anexemplary widget300 may include a PIC (peripheral interface controller)362 connected to a memory module340 (e.g., 128KB SPI (serial peripheral interface) Flash memory), a position module310 (e.g., GPS radio/receiver), a tag identification module320 (e.g., RFID/NFC radio tag detection component), a buzzer orspeaker366, avibrator368,LEDs370,buttons372, a communication module350 (e.g., Bluetooth radio), abattery364, abattery gauge382, and a wired interface376 (e.g., micro-USB port).
Thewidget300 provides golfers the ability to read taggedgolf clubs600 and store geo-location information upon eachsuccessful tag200 read. This data may be stored by thewidget300 until requested by a smartphone or PC/Mac application for further analysis by the end user.
Thewidget300 may be worn on abelt clip378, or stored in a golfer's pocket or golf bag. Thewidget300 may communicate with GPS satellites, readtags200, and interact with devices such assmartphones400 andPCs400 via Bluetooth and USB.
Thewidget300 may have an RFID/NFC interface320. Thewidget300 may provide the ability to readtags200 embedded ingolf clubs600. The widget software may be able to read the UID from a compatible200. In one embodiment, the widget software may be able to complete atag200 read within a range of 0.25-0.5 seconds of thetag200 being within range. In another embodiment, the widget software may be able to complete atag200 read within 0.5 seconds of thetag200 being within range. In another embodiment, the widget software may be able to complete atag200 read within 0.25 seconds of thetag200 being within range. The widget software may blink the RFID/NFC indication LED for 3-5 seconds after a successful RFID/NFC tag200 read.
Thewidget300 may have aGPS interface310. Thewidget300 may provide the ability to gather geo-location data via GPS. The widget software may provide the ability to read geo-location data including latitude, longitude, and altitude from theGPS chipset310.
The widget software may provide the ability to read the date/time stamp from theGPS chipset310. The widget software may provide the ability to read GSA and GSV data.
The widget software may power on the GPS chipset at least every 30 minutes to download current ephemeris data. The widget software may turn on the GPS indication LED when a satellite fix is acquired. The widget software may turn off the GPS indication LED when a satellite fix is lost.
Thewidget300 may provide for data and event logging. Thewidget300 may correlate golf club information fromtags200 with GPS locations. This may be achieved by reading a unique identifier from atag200 embedded in thegolf club600 and capturing the location data from aGPS chipset310 and storing this data to aflash chip340 for subsequent retrieval. Thewidget300 may also record miscellaneous events, such as button presses indicating manual shot addition or removal.
Thewidget300 may provide for log record collection. The widget software may initiate a record data storage sequence after asuccessful tag200 read. The widget software may include a hysteresis period of 2 seconds after atag200 has been read before additional tag reads will be recorded. The widget software may initiate a record data storage sequence when the user presses the “add stroke” button. The widget software may initiate a record data storage sequence when the user presses the “tag shot” button. The widget software may initiate a record data storage sequence when the user presses the “mark flag” button. The widget software may include a debounce period of 0.5 seconds after any press of abutton372 before registering subsequent presses of thesame button372. When atag200 has been successfully read or abutton372 has been pressed, the widget software may enable thevibration motor368 for 1 second. When atag200 has been successfully read or abutton372 has been pressed and the alert mode is set to audible, the widget software may enable thebuzzer366 at the currently selected volume for 1 second.
The log record data contents may be stored to aflash chip340 of thewidget300. The widget software may include a date/time stamp in UTC (coordinated universal time) to reflect the current date (month, day, year) and time (hours, minutes, seconds) in the record data saved in NV (non-volatile) storage. The widget software may include the GPS geo-location data in the record data saved in NV storage. If a GPS fix is unavailable for a time (e.g., 20 seconds) after an event, the widget software may include notification of the lack of GPS data in the record data saved in NV storage. If initiated from asuccessful tag200 read, the widget software may include the UID in the record data saved in NV storage. If initiated from a button press, the widget software may include an event code corresponding to thebutton372 that initiated the event in the record data saved in NV storage. The widget software may overwrite the oldest data records if theflash chip340 is full.
Thewidget300 may be configured to interact with asmartphone400 orother device400 application to manage the record data that has been logged. Data may be transferred from thewidget300 to the smartphone application via a wireless connection (e.g., Bluetooth).
Thewidget300 may support a variety of modes to manage power use. The widget software may implement clock scaling and sleep/power-down schemes to maximize battery life. The widget software may support an “off” mode where the microcontroller360 and all external sub-systems are powered down. The widget software may support a “charging” mode wherebattery364 charging is active and the battery level indication is being updated. In this mode, Bluetooth may be available to connect to a smartphone orother device400. GPS and RFID/NFC sub-systems may be powered down unless required by the communication protocol. The widget software may support a “normal” mode where all peripheral devices and wireless sub-systems are operational. Devices and sub-systems may enter/exit different power states in an attempt to conserve power, while meeting required performance. The widget software may transition from “off” mode to “normal” mode when the user presses and holds the power button for a time, for example, 3 seconds. The widget software may transition from “normal” mode to “off” mode when the user presses and holds the power button for a time, for example, 3 seconds. The widget software may transition to “off” mode after a time, for example, 45 minutes, of inactivity (no button presses, RFID/NFC, or communications activity). Regardless of current power mode, the widget software may transition to “charging” mode when the device is connected to a powered USB port or AC USB power adaptor. When the USB cable is unplugged, the widget software may return to the mode it was in prior to entering “charging” mode.
Thewidget300 may provide feedback to a user. The widget software may provide user feedback viaLEDs370, audio, and vibration. The exact feedback (blink rate, buzzer tone and duration, vibration pattern, etc.) can be varied to suit a particular purpose or desire, as would be appreciated by one of skill in the art. The widget software may display the battery level via an LED bar graph when the power button is pressed and released within a time, for example, 1 second. The widget software may provide the same audible and/or haptic feedback for a tag read and an “add stroke” button press. The widget software may provide different audible and/or haptic feedback for an “add stroke,” “tag stroke,” or “mark flag” button press. The widget software may provide the same audible and/or haptic feedback for an “add stroke,” “tag stroke,” or “mark flag” button press.
Thewidget300 may include, and the widget software may support, a variety of hardware interfaces. The widget software may interface with theGPS chipset310 using 2-wire UART (universal asynchronous receiver/transmitter). The widget software may interface with the RFID/NFC transceiver320 using SPI (serial peripheral interface). The widget software may interface with theBluetooth chipset350 using 4-wire UART. The widget software may interface with theflash chip340 using SPI. The widget software may interface with the Apple® authentication chip using I2C (inter-integrated circuit). The widget software may interface with thebattery gas gauge382 using I2C. The widget software may interface with thebuzzer366 using a PWM (pulse-width modulation) pin. The widget software may interface with thevibrator motor368 using a GPIO (general purpose input/output) pin. The widget software may interface with thebuttons372 using GPIO pins. The widget software may interface with theLEDs370 using GPIO pins.
Thewidget300 may include, and the widget software may support, a variety of inputs. The widget software may support a power (on/off) button. The widget software may support an “add stroke” button. The widget software may support a “tag stroke” button. The widget software may support a “mark flag” button. Thesebuttons372 may be of any suitable type, for example, momentary switches. The widget software may support aslider switch374 to select between audible or muted alert modes. Thisslider switch374 may be of any suitable type, for example, a two-position switch. For simplicity, buttons are labeled in the Figures withreference character372. As one of skill in the art would appreciate, anybutton372 referenced herein can be positioned anywhere onwidget300, including, for example, those positions illustrated in the Figures.
Thewidget300 may include, and the widget software may support, a variety of outputs. The widget software may support avibrator motor368 to provide haptic feedback to the user. The widget software may support a buzzer orspeaker366 to provide audible feedback to the user. The widget software may support low, medium, and high volume levels for the audible alerts. The widget software may support LED indication for GPS lock status. The widget software may support LED indication for Bluetooth pairing status. The widget software may support LED indication for tag read status. The widget software may support LED indication for battery level status. For simplicity, LEDs are labeled in the Figures withreference character370. As one of skill in the art would appreciate, anyLED370 referenced herein can be positioned anywhere onwidget300, including, for example, those positions illustrated in the Figures.
Thewidget300 may have a number of status indicators. For example: the widget may have a status indicator showing battery levels; the widget may have a status indicator showing whether power to the device is on; the widget may have a status indicator showing the device is being charged; the widget may have a status indictor for GPS connectivity and/or signal strength; and the widget may have a status indictor for Bluetooth connectivity and/or signal strength. These status indicators can take a variety of forms, such as, for example,LEDs370, a representation on a display, haptic (vibratory) feedback, audio announcements, and other forms that would be apparent to one of skill in the art. In some embodiments, the status indicators are LED back-lit icons such as those shown inFIG. 25. The status indicators may indicate statuses of various aspects of thewidget300 in a variety of ways.
For example, the power/battery/charge icon can convey the following information: (a) if off, widget is powered off; (b) if green fade on/off, then widget power on, full battery; (c) if yellow fade on/off, then widget power on, low battery; (d) if red fade on/off, then widget power on, very low battery/recharge required (e) if green solid, then widget attached to power source, battery fully charged; (f) if red solid, then widget attached to power source, battery charging; (g) if green or red solid with flicker, then widget attached to PC, flicker with USB data transfer, color corresponds to battery charge level; (h) if green rapid flashing, then widget connected to mobile application and in registration mode.
For example, the GPS icon can convey the following information: (a) if off, then no GPS position information or widget powered off; (b) if green rapid flashing, then widget looking for GPS lock after power on or following add stroke or mark flag; (c) if green brief solid following search for GPS lock, lock is completed successfully; (d) if green fade on/off, then GPS functioning normally.
For example, the Bluetooth (wireless) icon can convey the following information: (a) if off, then no Bluetooth connection or widget powered off; (b) if blue solid, then Bluetooth pairing mode; (c) if blue fade on/off, then active Bluetooth connection.
Thewidget300 may have a number of alerts. For example: the widget may have an audible alert (e.g., a single tone, a sequence of tones, polyphonic audio); and the widget may have haptic feedback (e.g., a vibrating alert motor).
Thewidget300 may have a number of controls. For example: the widget may havebuttons372 including a power button, an add stroke button, a tag stroke button, and a mark flag button; and the widget may have a 2-position switch374 to disable audible feedback.
For use withgolf clubs600, it may be necessary to initially register individual clubs via thewidget300. In some embodiments, club registration need only take place once. In some embodiments,clubs600 need not be initially registered. In some embodiments, club registration may take place periodically at determined or desired intervals, which need not be regular. Thewidget300 may work in conjunction with thecommunication device400 application to registergolf clubs600.
Thewidget300 may have a variety of additional or alternative capabilities. Thewidget300 may havebattery364 recharge capabilities, for example, via aUSB port376. Thewidget300 may have a way to mute audible alerts and feedback, for example, by actuation of aswitch374 orbutton372 on thewidget300. Thewidget300 may have a way to provide audible alerts and feedback to the user, for example, via a speaker orbuzzer366 on the widget. Thewidget300 may have a way to power the device to an ON state, for example, by actuation of aswitch374 orbutton372 on the widget. Thewidget300 may have a way to power the device to an OFF state, for example, by actuating of aswitch374 orbutton372 on thewidget300, which may be the same switch or button used to power the device to an ON state. Thewidget300 may be configured to enter a low, power savings mode (e.g., a suspended mode) automatically when thewidget300 has not been used for a determined period of time.
Thewidget300 may provide Bluetooth pairing capabilities tomobile devices400. Thewidget300 may provide a method to read and record a taggedgolf club600 along with and in association with GPS position data where the tag read took place. Thewidget300 may provide a method to manually acquire and record the current GPS position data, for example by pressing abutton372 on thewidget300 that causes current GPS position data to be recorded. Thewidget300 may provide a method that allows the user to flag the last recorded action for later review in the mobile application, for example, by actuation of aswitch374 or button372 (such as a “tag shot” button). Thewidget300 may provide a method that allows the user to mark the location of the flag/cup and indicate completion of the hole. The widget may provide aUSB interface376 for internal and external communications.
Thewidget300 may have a variety of physical characteristics. The widget may be any suitable size, including, for example, a width of 40-45 mm, a length of 80-85 mm, and a depth (thickness) of 10-15 mm. Thewidget300 may have any suitable weight, including, for example, 85-90 grams. Thewidget300 may have amodular belt clip378, for example, thebelt clip378 may be removable and/or rotatable. In one embodiment, thebelt clip378 may not be rotatable. Thewidget300 may be shaped so as to fit comfortably in a front or back pant pocket of the user. Thewidget300 may have ingress protection, for example, an ingress protection rating of IP53, which may provide protection against dust and water (e.g., silicon rubber membrane keypad buttons, panel gaskets, rubber door plug for data port). In some embodiments, thewidget300 may be waterproof (e.g., for use in the rain). Thewidget300 may be sufficiently durable to withstand being dropped on a hard surface, for example, a drop up to 4 feet, 3 times, on all sides, onto a concrete surface. Thewidget300 may be sufficiently durable to withstand substantial incident forces, for example, those applied by being stepped on by a person weighing up to 200 lbs. wearing golf cleats on a concrete surface.
Thewidget300 may have a variety of electrical characteristics. Thewidget300 may utilize aprocessor330, including, for example, a low-power processor suitable for handheld applications. Thewidget300 may support data transfer, including, for example, USB 2.0 device functionality capable of transferring at least 1 Mbit per second. Thewidget300 may supportmemory340, including, for example, a non-volatile RAM (random access memory) that can store, for example, up to 1024 event log entries, (assuming 64 bytes per log entry are required). Thenon-volatile RAM340 may be capable of extended data retention, for example, at least 5 years of data retention. Thenon-volatile RAM340 may support, for example, at least 100,000 write cycles. The non-volatile RAM interface may be fast enough to avoid latencies for data transfer, including, for example, USB or Bluetooth transfers.
Thewidget300 may include a tag identification system/component320 (which may be RFID/NFC-based, also referred to as an RFID/NFC sub-system, reader, tag identification component, reader module, RFID/NFC antenna and the like) that may use any suitable operational frequency, such as, for example, 13.56 MHz. The RFID/NFC sub-system320 may use any suitable technique for data and/or power transfer to the RFID/NFC tag200, including, for example, inductive coupling for data and power transfer with the RFID/NFC tag200. The RFID/NFC sub-system320 may read thetag200 from any suitable distance, for example, the RFID/NFC sub-system320 may read thetag200 where thetag200 is at a distance of from 2 cm to 6 cm from the center point of an RFID/NFC reader antenna of the RFID/NFC sub-system320 and within any suitable angle; for example, the RFID/NFC sub-system320 may read thetag200 where thetag200 is within at least a 45 degree angle from the Z-axis (indicated by θ inFIG. 44). Optimal positioning may be at θ=0°, and may be the tag inlay in a parallel plane as the reader antenna. The RFID/NFC sub-system320 may be configured to read thetag200 within any suitable time period, for example, within 0.5 seconds or 0.25 seconds of the tag being in the interrogation zone (also referred to as a “reception range” of the tag identification component320). The RFID/NFC sub-system320 may support anti-collision or multiple reads within the interrogation zone. The RFID/NFC sub-system320 may be able to read on a single side of thewidget300 only, or multiple sides of thewidget300, in any combination.
Thewidget300 may include a position-determination component310 (also referred to as a locator, global navigation satellite system receiver, GPS sub-system, GPS receiver, GPS sub-system, and the like). TheGPS sub-system310 may include 3D (three dimensional) receiver capabilities to include altitude information. TheGPS sub-system310 may be able to achieve altitude accuracy within any suitable time, for example, 8 meters after 10 seconds. TheGPS sub-system310 may be able to achieve a cold acquisition (no ephemeris or almanac data) TTFF (time to first fix) in any suitable time, for example, in less than 45 seconds assuming an outdoors, non-obstructed view of the sky for the widget. TheGPS sub-system310 may be able to achieve a warm acquisition within any suitable time, for example, 3 meters accuracy after 10 seconds, or 8 meters accuracy after 2 seconds. TheGPS sub-system310 may be capable of acquiring satellite almanac data from the GPS satellites at any suitable interval, for example, every 30 minutes. TheGPS sub-system310 may provide longitude, latitude and altitude information. TheGPS sub-system310 may provide time and date information.
Thewidget300 may include acommunication sub-system350, which may be wireless (also referred to as a Bluetooth sub-system). Thecommunication sub-system350 may support any suitable communications protocol, including, for example, Bluetooth v2.1+EDR (enhanced data rate) or later. Thecommunication sub-system350 may support any suitable data rate, including, for example, at least a 1 Mb/s data rate. Thecommunication sub-system350 may support Class 2 (+4 dBm or 2.5 mW transmission) rating with a range of at least 5 meters. TheBluetooth sub-system350 may operate normally as a slave device when paired. TheBluetooth sub-system350 may use a low-power mode when paired to retain the link and minimize power during non-transmission states. TheBluetooth sub-system350 may attempt to pair again with the last known device when pairing has been lost. TheBluetooth sub-system350 may automatically enter discovery mode when no known paired devices have been registered using SSP (secure simple pairing). TheBluetooth sub-system350 may be configured to enter discovery mode to initiate pairing to a new master device.
Thewidget300 may include a variety of user inputs. For example, the widget may have four SPST (single pole, single throw), tactile push buttons372: power, add event, delete event, and mark flag. Thewidget300 may support a 2-position slider switch374. Thewidget300 may include a touch-screen having virtual inputs in place of any physical inputs described herein.
Thewidget300 may include a variety of outputs. Thewidget300 may support, for example, a buzzer orspeaker366 to provide audible status and feedback to the user. The buzzer orspeaker366 may support an adjustable volume. The buzzer orspeaker366 may support any suitable frequencies, for example, audible frequencies from 100 Hz to 4000 Hz. Thewidget300 may support LED (light emitting diode) indication for GPS lock status. Thewidget300 may support LED indication for Bluetooth pairing status. Thewidget300 may support LED indication for battery level statuses. Thewidget300 may support LED indication for power on condition. Thewidget300 may support LED indication for tag read status. Thewidget300 may include avibrator motor368 to provide haptic feedback (for example, to indicate button press, or successful club identification or registration).
Thewidget300 may include apower source364, for example, arechargeable battery364. Thewidget battery364 may have a variety of characteristics. Thewidget battery364 may endure at least200 recharge cycles while maintaining at least 80% of original battery capacity when in a fully charged state. Thewidget battery364 may endure at least 350 recharge cycles while maintaining at least 60% of original battery capacity when in a fully charged state. Thewidget300 may operate 9 hours continuously or up to 150 log entries on a fully chargedbattery364. Thewidget300 may support a back-upbattery364. Thewidget300 may retain at least 10% battery capacity after a 6 month shelf-life while in the off mode starting with a fully chargedbattery364. Thewidget battery364 may support integrated overcharge protection. Thewidget battery364 may support over discharge protection. Thewidget battery364 may support over current protection. Thewidget battery364 may support a 10K resistive thermistor output. Thewidget battery364 may support short-circuit and incorrect polarity protection.
Thewidget battery364 may be able to achieve a full charge within 2 hours using a USB wall charger or USB host capable of 500 mA. The battery management IC may be able to detect the type of charging interface (host or charger) capabilities for either 100 mA or 500 mA charge current supply. The battery management IC may provide thermal monitoring of the battery using a resistive thermistor. The battery management IC may provide preconditioning for deeply discharged battery levels. Thewidget300 may provide a method of charge status indicating different capacity levels and when currently charging. The battery management IC may provide a timer to disable charging after a specified amount of time has elapsed as a back-up method to thermally monitoring the battery charge level. The battery management IC may prevent frequent charge cycling when the device enters a charge mode and remains inoperable for several weeks.
Thewidget300 may include a USB VBUS (virtual BUS) power interface capable of accepting both 100 mA and 500 mA charge currents with auto source detection (wall adapter or USB port) on the USB differential data lines. The USB interface may be ESD (electrostatic discharge) protected up to 15 kV.
Thewidget300 may support any suitable interface connector, such as, for example, an industry standard, USB Micro-B receptacle. The widget USB connector may support at least 1.0 A on the power pins.
Thewidget300 may include any suitable software and/or firmware. Thewidget300 may include an operating system, including, for example, an embeddable, royalty-free operating system that meets all system-timing requirements. The widget system software may be upgradeable through the USB interface.
Thewidget300 may include any suitable device drivers, including, for example, a GPS chipset driver, an RFID/NFC chipset driver, a Bluetooth chipset driver, a USB driver (which may be a limited function USB driver for communication with a PC or Mac), a serial flash driver, a vibrator motor driver, a buzzer (and/or speaker) driver, a battery gauge driver (may provide status indication for different charge levels), a push-button driver (capable of detecting extended button presses and double taps), a slider switch driver, an LED driver (may support multiple LEDs), and a power management driver.
Thewidget300 may have a variety of operational capabilities. Thewidget processor330 may save the tag UID tonon-volatile storage340 when atag200 has been successfully read. Thewidget processor330 may save the date and time to non-volatile storage when an event has been logged. Thewidget processor330 may save the GPS geo-location data (longitude, latitude and altitude) tonon-volatile storage340 when an event has been logged. Thewidget processor330 may save the type of the event logged. Characteristics and data relating to a single event may be stored in association with each other, or may be stored having characteristics that facilitate later association (e.g., a timestamp).
Thewidget300 may be operable in a variety of modes. Thewidget processor330 may support an off mode, which minimizes battery consumption for optimal shelf life. Thewidget processor330 may support a normal mode, which meets all feature set requirements while dynamically optimizing battery usage during device subsystem inactivity. Thewidget processor330 may support a charging mode, which minimizes battery replenishment time and limits feature set usage. Manual intervention during the charging mode may put the device into a normal mode of operation.
Thewidget300 may includebutton input372 support. Thewidget300 may support an add button to create a new log entry in non-volatile memory when pressed. Thewidget300 may support a delete button to create a new log entry in non-volatile memory when pressed. Thewidget300 may support a mark flag push button to create a new log entry in non-volatile memory when pressed. Thewidget300 may support powering on and off the device using a push button. The widget power push-button may, in response to being held down a determined time period, for example, at least 5 seconds, be configured to initiate a power down operation into off mode. The widget power push-button may, in response to being held down a determined time period, for example, at least 5 seconds, be configured to power the system back up from an off mode. The widget processor may support Bluetooth pairing setup using a push button(s).
Thewidget300 may includeslider switch374 position support. Thewidget300 may support enabling and disabling of the audio feedback using a 2-position slider switch. Thewidget300 may always provide haptic feedback regardless of the switch position, or may only provide haptic feedback in a determined switch position.
Thewidget300 may include communications support. Thewidget300 may normally perform as a target/slave device over theUSB interface376. Thewidget300 may use theUSB interface376 for internal communications other than to upgrade the firmware. Thewidget300 may normally perform as a slave/target device over the Bluetooth interface. Thewidget300 may use a communications protocol over the USB and Bluetooth links. Thewidget300 may use a secure method of communications over the USB and Bluetooth links.
Thegolf widget300 is a wireless device including antag reader320, aGPS receiver310, and Bluetooth capability. Thetag reader320 in thegolf widget300 may be capable of reading information frompassive tags200 coupled togolf clubs600. Thegolf widget300 may also record GPS waypoint information. Thewidget300 may or may not include a display, and may rely on other mobile devices (e.g., communications device400) to display data. Thewidget300 may have aUSB device interface376 for charging and communicating to personal computers orother devices400. Thegolf widget300 may have an on/off switch. Thewidget300 may provide both audio and visual feedback to users via, for example, indicator LEDs370 (see, e.g., indicator LEDs for Bluetooth, GPS, and Power/Battery/Charge shown inFIG. 25), abeeper366, or aspeaker366.
Thewidget300 may be an appropriate size and weight to be carried by a golfer, for example, by being clipped to a golfer's belt or waistband, or by being carried in the pocket of a golfer. Thewidget300 may also be clipped to or carried in a golfer's golf bag or golf cart. The size and location of inputs and outputs of the widget may facilitate ease of use by a golfer wearing or otherwise carrying or traveling with thewidget300. Thewidget300 can be donned or doffed by a golfer, and may power up, pair with other devices, scan tagged clubs, add a stroke, tag a stroke, mark a flag, mute audio, and check yardage. Thewidget300 can work in conjunction with a communication device (e.g., smartphone). Thewidget300 can be used to track all golf shots taken or attempted by a golfer in all scenarios, including, for example, drives, approach shots, chips, putts, rough shots, missed shots, double shots, sand shots, hazards, and provisionals.
Swinging agolf club600 is a complicated body movement. The golfer must concentrate on a vast amount of muscle movement and club control. The positions and movements required during a typical round of golf vary substantially. Bending and twisting of the body may occur. Swinging, teeing up a ball, judging a green, walking the course, getting in and out of a cart and high-flying after an eagle are some common positions. The golfer may desire to position thewidget300 so as not to interfere with this movement. For example, the golfer may position thewidget300 slightly behind either the left or right hip (see, e.g.,FIGS. 28, 29, 34, 36, 37, and 36, includingpotential positions380 shown inFIG. 36). A golfer may position thewidget300 in other locations, in accordance with the golfer's preference (see, e.g.,FIGS. 31, 33, 35, includingpotential positions380 shown inFIG. 35), for example, in the golfer's pocket (see, e.g.,FIG. 43) or underneath a player's shirt or other apparel (see, e.g.,FIG. 30). Storing thewidget300 in the pocket opposite the player's glove may be desirable. The pocket may provide a common storage location and minimize effect of the widget on the swinging process. Thewidget300 may be configured so as to provide visual and/or tactile indication of the club scanning area to the golfer. For example, a logo or indented or textured area on thewidget300 face. Thewidget300 may be configured so as to prevent inadvertent button actuation. For example, thewidget300 may include guarded buttons.
Thewidget300 may be configured to provide feedback (e.g., aural, haptic, visual, and/or tactile) to a golfer, for example, to indicate thewidget300 is on and/or working, that a club has been successfully scanned, that the widget has a GPS connection, and that thewidget300 is paired with a golfer's smartphone.
Inputs and outputs may be included on any face of thewidget300.Exemplary widget300 configurations are shown inFIGS. 3 and 5-24. Inputs and outputs may be included on any or all of top, bottom, and front sides of the widget. Referring to the configuration ofFIG. 7 as an example, an “add stroke” button372 (indicated with a “+”), a “tag stroke” button372 (indicated with a “−”), and a “mark flag” button372 (indicated with a flag icon) are positioned along the top edge of thewidget300. This positioning can help a golfer see the buttons being pressed, and feel for aparticular button372 to press without looking once familiar with their locations. A set ofLEDs370, apower button372, and a “sound on/off”slider switch374 are on the front/leading edge of thewidget300. A data/power port376 (e.g., micro-USB) is on the bottom edge. A tag scanning target zone is indicated on the front face (which may light up, glow, or give some other visual indication of a successful club scan). A belt clip378 (which may be fixed (i.e., non-rotatable), or movable (i.e., rotatable)) is on the back. A back/trailing edge includes no input or output.
Thewidget300 can have a variety of alternative configurations and/or shapes, for example, those shown inFIGS. 3 and 5-24, to suit particular uses or ergonomic considerations. In some embodiments, wireless andGPS status LEDs370 may be positioned along the top edge of thewidget300, along with the add stroke, tag stroke, and markflag buttons372. In some embodiments, the data/power port376 may be located on the front/leading edge along with theLEDs370,power button372, and sound on/offslider switch374. In some embodiments, the side(s) of thewidget300 that oppose sides including push-buttons372 (or other controls) does not include push-buttons (or other controls) to prevent inadvertent actuation ofbuttons372 on one side due to opposing forces intended to press buttons on the other side (see, e.g.,FIGS. 39 and 40). A golfer may handle thewidget300 in a variety of ways, as shown, for example, inFIGS. 37-43, and the locations and configurations of the inputs and outputs can be selected based on expected handling by a golfer.
As shown inFIG. 7, thewidget300 housing includes a front portion defining a cavity to house interior components (see, e.g.,FIG. 8), and a rear cover that is inset into the cavity so as to define apart line384 on the rear face of thewidget300, near and along the rear edge of thewidget300. In some embodiments, the cavity housing interior components thewidget300 is defined within a rear portion of the widget housing, and the front face is inset into the cavity.
For thewidget300 to read an taggedgolf club600, theclub600 must be brought within a reception range of atag antenna320 of thewidget300. A club'stag200 may be in the butt of the club600 (i.e., at a proximal end of the shaft610), or may be positioned along the side of theshaft610, for example.FIG. 26 shows the butt of an RFID/NFC tagged club proximate to an RFID/NFC antenna320 of anexemplary widget300, within the reception range of the widget's RFID/NFC antenna320. Theclub600 need not be actually touching thewidget300, or oriented perpendicularly to thewidget300, however.FIGS. 27-33 show examples of golfers bringing or holding the butts of their clubs600 (where the RFID/NFC tag200 is in the butt) within the reception range of their widgets' RFID/NFC antennas320. The club may be read when held in contact with thewidget300 at an oblique angle with respect to the widget face, as shown in, for example,FIGS. 32 and 33. Theclub600 may be read through a golfer's shirt when be held at an oblique angle with respect to the widget face, as shown, for example, inFIGS. 27, or when held at a substantially perpendicular angle with respect to the widget face, as shown, for example, inFIG. 30. A golfer may wish, however, to bunch his shirt up over thewidget300, in order to allow for a clearer signal, as shown, for example, inFIG. 29. Theclub600 may be held substantially perpendicularly to the face of thewidget300 to be read, as shown, for example, inFIG. 28. Aclub600 may be read while being spaced apart from the widget, as shown, for example, inFIG. 31. Aclub600 may be read when held substantially parallel to the face of thewidget300, as shown, for example, inFIG. 32.
Agolf club tag200 is coupled to anindividual golf club600. In some embodiments, the golf club tags200 are RFID/NFC tags that are each physically attached to onegolf club600. In some embodiments, theidentification tags200 are “passive” RFID/NFC tags, meaning they do not include a battery (but are powered inductively when brought into range of the tag reader of the widget). Eachidentification tag200 includes a unique (or effectively unique, given production volume and deployment) serial number readable by a tag reader320 (e.g., tag reader of the widget300). In some embodiments, this serial number is correlated with data stored in thewidget300 or a linked device (e.g.,communication device400/smartphone400) to identify the club. In some embodiments, theidentification tags200 are formed of silicone.
In some embodiments, theidentification tag200 is coupled to theclub600 at the proximal end of theclub shaft610. Theidentification tag200 may be coupled to theclub600 underneath thegrip620 of the club600 (which may extend over a proximal portion of the club shaft). To ensure desired positioning of theidentification tag200, and to minimize potential damage to thetag200 from direct contact with the proximal end of the shaft610 (which, depending on manufacturing and material, may have sharp edges that could otherwise press against the identification tag by, for example,clubs600 bouncing on their ends while being carried in a golf bag), anidentification tag carrier210 may be disposed between theshaft610 and theidentification tag200. In an exemplary embodiment, a distal portion of a generallycylindrical tag carrier210 extends within the proximal end of agolf club shaft610, and anidentification tag200 is coupled to the proximal portion of thetag carrier210, seeFIG. 45.
In some embodiments, theidentification tag200 is disc-shaped to correspond to a proximal surface of thetag carrier210. Thetag carrier210 can be coupled to theshaft610 and to theidentification tag200 via any suitable technique, including adhesive, tape (including double-sided tape), friction, or simply by being held in place by a grip620 (including grip tape) disposed over these elements together. Theidentification tag200 may be coupled to thetag carrier210 by an element having sufficient thickness to compensate for lack of flatness or surface imperfections of the tag carrier. For example, theidentification tag200 may be coupled to thetag carrier210 via a double-sided adhesive tape having a thickness of 0.6 mm (such as, for example, tapes sold by 3M™ as VHB™ tape, including product numbers RP25 and 5925).
In some embodiments, an electrically insulatinglayer220 may be interposed between theidentification tag200 and the club shaft620 (particularly in the case of a steel club shaft), to prevent signals generated by theidentification tag200 from propagating through theclub shaft620. The electrically insulatinglayer220 may be or include any suitable material to prevent such signal propagation, including, for example, iron (e.g., ferrite). In some embodiments, thetag carrier210 is a suitable electrical insulator, and acts as the electrically insulatinglayer220.
FIGS. 46-48 show atag carrier210 according to some embodiments, having a disc-shapedproximal portion212 for coupling to anidentification tag200, and a cylindricaldistal portion214 for coupling to an interior of agolf club shaft610. The cylindricaldistal portion214 may have an exterior taper (as shown inFIG. 48) so as to be frustoconically-shaped. This taper can facilitate positioning and anchoring (e.g., by friction fit) of thetag carrier210 within thegolf club shaft610.
FIGS. 49-51 show atag carrier210 according to some embodiments, having a disc-shapedproximal portion212 for coupling to anidentification tag200, and a cylindricaldistal portion214 for coupling to an interior of agolf club shaft610. The cylindricaldistal portion214 may include one or more radial protrusions216 (“wings”) that individually surround and extend radially outward from the cylindricaldistal portion214. Thesewings216 may be flexible and/or resilient, such that, whentag carrier210 is inserted into agolf club shaft610, thewings216 compress and press against the interior of thegolf club shaft610, anchoring (e.g., by friction fit) thetag carrier210 within theclub shaft610. Thewings216 may allow thecarrier210 to function across a wider variety of shaft inner diameters than an embodiment without wings. This can be especially beneficial forgraphite shafts610, where the inner diameters can have greater variation across shaft stiffnesses and models as opposed tosteel shafts610.
As one of skill in the art would understand, thetag carrier210 ofFIGS. 46-51 may be appropriately sized to fit within theshaft610 of agolf club600; the dimensions shown inFIGS. 48 and 51 are exemplary only. In some embodiments, thetag carrier210 has a recessed proximal face sized to accommodate anidentification tag200, and theidentification tag200 may be disposed within the recess. In some embodiments, the distalcylindrical portion214 may be hollow. In some embodiments, the distalcylindrical portion214 may be solid. Thetag carrier200 may be formed of any suitable material (including, for example polyurethane in the 50-75 Shore D range), and may be formed as a monolith (i.e., one single continuous piece) or from multiple pieces coupled together. A harder polyurethane (e.g., around 70 Shore D) may be more effectively used to form thecarrier210 for use with a steel shaft, while a softer (e.g., around 55-60 Shore D) may be more effectively used to form thecarrier210 for use with a graphite shaft (due in part to the greater inner diameter variation across shaft stiffnesses and models in graphite shafts as opposed to steel shafts).
In some embodiments, theidentification tag200 and thetag carrier210 are formed of a single piece.
In some embodiments, theidentification tag200 is coupled to theclub600 at a proximal portion of theclub shaft610, spaced distally from the proximal end of theclub600. Theidentification tag200 may be coupled to theclub600 distal to thegrip620 of the club600 (as shown in, for example,FIG. 52) or underneath thegrip620 on the side of theshaft610. In some embodiments, theidentification tag200 is elongated to extend along a portion of the exterior of theclub shaft610. Theidentification tag200 may be sufficiently flexible (for example, may be made of a flexible silicone) to conform to the exterior shape of the club shaft610 (e.g., sufficient to wrap around and conform to a 13.5 mm diameter cylinder), and may be any suitable thickness (for example, 0.5 mm-1.5 mm). Theidentification tag200 may be spaced apart from theclub shaft610 by a similarly-shaped electrically insulatinglayer220, which may be or include, for example, a layer of ferrite (which may be any suitable thickness, for example, 0.4-0.5 mm). The electrically insulatinglayer220 may prevent signals generated by theidentification tag200 from propagating through theclub shaft610. Anexemplary identification tag200 and electrically insulatinglayer220 are shown inFIGS. 53, 54, and 56. The identification tag200 (and electrically insulatinglayer220, if provided) is coupled to theclub shaft610 via any suitable technique, including tape (as shown inFIG. 52, which may include adhesive) or adhesive (e.g., using adhesive-backed stickers, as shown inFIGS. 55 and 56). For aftermarket applications, a consumer may simply remove a backing layer from an adhesive sticker230 (such as that shown inFIGS. 55 and 56) and apply the identification tag assembly to theirgolf club600 using thesticker230 to hold it in place.
In an embodiment, an adhesive sticker-tag assembly may include the following layers: (1) acosmetic layer240 that may include branding, a “target” indicating the approximate portion of the sticker-tag assembly including theidentification tag200 itself, or other text or indicia, (2) theidentification tag200 embedded in or coupled to atag carrier210, (3) an electrically insulatinglayer220, and (4) anadhesive film layer230. In some embodiments these elements will be arranged in a “sandwich” in the above specified order, while in other embodiments the elements may be arranged differently. Alignment of a target of thecosmetic layer240 with theidentification tag200 may allow a user to align the proper portion of a taggedclub600 with the reader's300tag reader antenna320, which may result in an improved user experience involving quick,accurate golf club600 tagging.
Thewidget300 can perform a variety of functions when used by a golfer. For example, thewidget300 can registerclubs600, charge itsbattery364, mute alerts, provide audible alerts, power on, power off, sleep/suspend/power down, pair with amobile device400, add a stroke in conjunction with an identification taggedgolf club600, add a stroke without an identification tagged golf club, tag a stroke, mark a flag, and connect to aPC400.
Registering agolf club600 may include associatingtags200 on personal clubs to additional descriptive information in a mobile device400 (e.g., a smartphone running a complementary golf application) in order to provide richer and more relevant information when reviewing rounds of golf A typical golfer may register his full set of golf clubs600 (e.g., 14 clubs), but the widget is not limited to registration of only 14 clubs.New clubs600 may be registered as acquired.
To register aclub600, the golfer opens the golf application on themobile device400 and selects a club registration option (e.g., setup/register clubs). The golf application acknowledges the request and prompts the golfer to place the end of a club grip620 (or other tagged portion) against the target area on thewidget300. Thewidget300 may show rapid green flashing of its power indicator to indicate that thewidget300 is in registration mode. The golfer may then place the end of aclub grip620 against the widget300 (within range of its tag reader320). Thewidget300 may provide audible and/or haptic feedback (dependent on alert mute setting) to confirm the club'stag200 has been read. The mobile device application may provide feedback that theclub tag200 has been read, and may provide options to define the club600 (e.g., a dropdown list of preset clubs, or custom text entry “my favorite driver”, etc.). The golfer may enter information for theclub600 in the mobile device application. When entry is complete, the mobile device application may prompt the golfer to save or cancel. The golfer may save the information for theclub600 on the mobile device, through the mobile device application. The mobile device application may prompt the golfer to register anotherclub600 or to be done with club registration.
If the golfer places the grip620 (containing the identification tag200) of a previously-registeredclub600 against the widget300 (within range of its tag reader) while thewidget300 is in registration mode, thewidget300 may provide audible and/or haptic feedback (dependent on alert mute setting) to confirm thetag200 has been read, and the mobile device application may provide feedback that theclub tag200 is already registered, and may show current settings and allow editing.
Adding a stroke may include a golfer, prior to (or after) taking a shot, using the widget to record the identification taggedclub600 he is using and his current location. To add a stroke using the identification taggedclub600, the golfer may select aclub600 and place the end of the club grip620 (or other location of the tag200) against the target area on the widget300 (which may show a visual indication of the location of the tag antenna320). Thewidget300 may read thetag200, store tag information, store a timestamp, and provide confirming feedback (e.g., audible and haptic alert if selected, or haptic alert only if thewidget300 is set to mute). Thewidget300 may work in the background to get a GPS fix following tag read feedback. The GPS status indicator may blink green while thewidget300 goes through normal GPS fix processes, and may be solid green for a brief time (e.g., 2 seconds) when a fix is achieved. Thewidget300 may then transmit tag information, GPS information, and the timestamp to themobile device400 application (if a wireless link, e.g., Bluetooth, is active).
To add a stroke without using an identification tagged club, the golfer may press theadd stroke button372 on thewidget300. Thewidget300 may store GPS position information, store timestamp information, and provide confirming feedback (audible and haptic alert if selected, or haptic alert only if thewidget300 is set to mute). Thewidget300 may record as “tag information” an indication that a club without an identification tag was used. Thewidget300 may transmit tag information, GPS information, and the timestamp to themobile device400 application (if a wireless link, e.g., Bluetooth, is active).
Tagging a stroke can include a notation or “tag stroke” record associated with a stroke record, or can otherwise highlight a stroke record for later review. A golfer may desire to “tag” a stroke that was inadvertently entered (e.g., for later deletion), or that was an especially good shot (e.g., for later review, or to better recall the nature of the shot). To tag a shot, the golfer may press thetag stroke button372. Thewidget300 may create and store a tag stroke record. All data may be preserved so that themobile device400 application can allow this record to be displayed and/or edited by the golfer. Thewidget300 may provide confirming feedback (e.g., audible and haptic alert if selected, or haptic alert only if widget is set to mute).
Marking a flag can include recording the location of the flag/cup (typically, once the golfer has putt or otherwise hit the ball into the hole) to record completion of the hole. To mark a flag, the golfer may press themark flag button372. Thewidget300 may store a mark flag record (including, for example, location). All data may be preserved so that themobile device400 application can allow this record to be displayed and/or edited by the golfer. Thewidget300 may provide confirming feedback (audible and haptic alert if selected, or haptic alert only if widget is set to mute).
In one embodiment of the present invention, thereceiver module400 may be capable of storing and/or processing pin location records based on data received from the widget's300 “mark flag” records. Thereceiver module400 may be capable of storing and/or processing default center of the green geo-location data (e.g., latitude/longitude) for a pin location record. Thereceiver module400 may also be capable of storing and/or processing geo-location data for a touch screen “mark flag” method of user data entry described in further detail below. Thereceiver module400 may further be capable of storing and/or processing hole/pin location status data that can indicate that the marked flag location corresponds to either (1) the default location, (2) a location marked using thewidget300, or (3) a location set by the user using thereceiver module400.
In an embodiment, as illustrated inFIGS. 57A-57F, areceiver module400, such as a mobile phone having a touch screen display interface, may be capable of presenting one or more graphical user interfaces (GUIs) to a user to enable the user to adjust the location of the pin as well as the locations of any putts.FIGS. 57A-57F illustrate consecutive screen shots from a mobile phone having a touch screen display interface that enables the user to adjust the location of the pin and putts.
As illustrated inFIG. 57A, the user may be presented with display screen having an image of the green, aplayer marker702 and apin marker704. Theplayer marker702 may indicate the current location of the golfer (e.g., by flashing or pulsing) if the golfer is using thereceiver module400 in real time during a round of golf. In some embodiments, theplayer marker702 may be used to establish the location at which the golfer's ball first landed on the green. Thepin marker704 may initially appear in a default location set by the software running on thereceiver module400, a location indicated via thewidget300 and previously transmitted to thereceiver module400, or a location indicated by the user via the touch screen of thereceiver module400. As illustrated inFIG. 57B, in an embodiment, the user may be able to toggle asidebar706 between open and closed positions that may provide, for example, the golfer's current distance from the pin when in the open position.
As illustrated inFIG. 57C, in one embodiment, after completing a hole and putting out, the user may be prompted by thereceiver module400 to select the number of putts taken for the completed hole. In other embodiments, thereceiver module400 may already have determined the number of putts taken for the completed hole based on, for example, information received form thewidget300.
As illustrated inFIG. 57D, after the number of putts taken for the completed hole has been set, the user may be prompted by thereceiver module400 to move thepin marker704 and/or one or moreputt location markers708 to more accurately reflect the position of the pin and/or the positions of the user's individual putts taken.
As illustrated inFIGS. 57E and 57F, the user may carry outpin marker704 andputt location marker708 manipulation as necessary. In one embodiment, the number ofputt location markers708 displayed corresponds to the number of putts taken, as indicated as described above with respect toFIG. 57C. In some embodiments, theputt location markers708 will initially be arranged in a straight line and equally spaced apart, while in other embodiments they may be arranged in a manner to reflect putt location information received form thewidget300. In an embodiment, the first putt location marker708 (i.e., theputt location marker708 that is furthest from the pin marker704) may initially be placed at the location of theplayer marker702.
In one embodiment of the present invention, the user may select and move thepin marker704 and/or one or moreputt location markers708 to locations that more accurately reflect the user's putting strokes taken to complete the hole. This may be necessary due to inherent inaccuracies with location based technologies, such as GPS, with respect to the small-scale measurements that are required, for example, on a golf course green. In an embodiment where thereceiver module400 is a mobile phone having a touch screen display interface, the user may use their finger (or other suitable stylus) to select and hold (i.e., depress their finger upon) thepin marker704 and/or one or moreputt location markers708, drag the marker(s) to the correct location(s), and release the marker(s) (i.e., lift their finger off of the touch screen display interface).
In the embodiment illustrated inFIGS. 57E and 57F, the user has not moved the firstputt location marker708 or thepin marker704, but has moved the secondputt location marker708 closer to the pin and so as to form an angle between the firstputt location marker708 and thepin marker704. In the illustrated embodiment, as the user moved the secondputt location marker708 from its original position to its final position, a display portion of thereceiver module400 dynamically updated the distance representing the distance from the second putt location to the pin from 22 feet to 7 feet. In this manner, an golfer with a sense of how long a given putt was may be able to properly place theputt location markers708 on the display screen of thereceiver module400, possibly with the aid of the dynamically updated the distance information.
Thereceiver module400 may include software that will enable various other functions. In one embodiment, thereceiver module400 may be capable of storing and/or processing a wide variety of data and/or transmitting such data for storing and/or processing by aserver computer system500. Though the following description will primarily focus on software running on areceiver module400 to enable various functions, in some embodiments, software running in aserver computer system500 may additionally or alternatively enable one or more of these functions.
In one embodiment, thereceiver module400 may be capable of storing and/or processing a hole record within each separable round record. Thereceiver module400 may also be capable of storing and/or processing the course hole number, hole handicap, and the par of the hole in the hole record. Thereceiver module400 may further be capable of storing and/or processing a date/time stamp in UTC (coordinated universal time) to reflect the current date (month, day, year) and time (hours, minutes, seconds) in the hole record.
In an embodiment, thereceiver module400 may be capable of storing and/or processing statistical round data such as, for example, score, greens hit in regulation, fairways hit in regulation, number of putts, number of sand shots, number of chips, and number of penalty strokes in the hole record.
In an embodiment, thereceiver module400 may be capable of storing and/or processing a date/time stamp in UTC to reflect the current date (month, day, year) and time (hours, minutes, seconds) in the shot record data saved in storage. Thereceiver module400 may also be capable of storing and/or processing the club type in the shot record data saved in storage. Thereceiver module400 may further be capable of storing and/or processing the GPS geo-location data in the shot record data saved in storage. Thereceiver module400 may also be capable of storing and/or processing a “user modified shot status” field in the shot record that is set to either “yes” or “no”. Thereceiver module400 may be capable of storing and/or processing a calculated shot distance field for each shot. Thereceiver module400 may further be capable of storing and/or processing a shot type (full, chip, recovery, sand) field for each shot. Thereceiver module400 may also be capable of storing and/or processing the lie condition (fairway, rough, sand, waste, fringe, green) field in the shot record. Thereceiver module400 may further be capable of storing and/or processing a distance to the hole field record in the shot record.
In some embodiments, a golfer may connect directly to aPC400 via the wireddata link376 to registerclubs600 and/or download/upload information/records created during a round of golf, to enable use of thewidget300 without a mobile device. In such a case, thePC400 may include a software application with functionality similar to that described herein with respect to themobile device400.
In some embodiments, thewidget300 includes or is coupled to physiological sensors. If the sensors are external to thewidget300, the sensors may communicate with the widget via wire leads or wirelessly. Alternatively, the sensors may communicate directly with thecommunication device400. Such sensors may include, for example, accelerometers, electroencephalography (EEG) sensors, and electrocardiography (ECG) sensors. In some embodiments, EEG sensors may be positioned at a golfer's head (for example, integrated into a hat or visor) to measure physiological characteristics such as electrical brain activity. In some embodiments ECG sensors may be positioned at a golfer's chest or arm (for example, integrated into a chest band or watch) to measure physiological characteristics such as electrical heart activity.
Signals representative of these measured physiological characteristics can be logged (with timestamp, in some embodiments) before and/or during a swing, and can be recorded and stored in association (e.g., associated by or through similar timestamps) with the position and club information described herein. Such signals can be interpreted (e.g., by the communication device400) to provide an indication of the golfer's physiological state at or around the time of each shot. For example, the signals can provide an indication of the golfer's mood, mental state, nervousness, focus, tension, anxiety, attention, emotion, and the like. Such information can be helpful to a golfer in analyzing performance during and after a golf game. For example, the information can be processed to provide a “handicap” based on mental/physiological characteristics (e.g., a “focus handicap”.
Golf shot tracking systems, devices, and methods of use of the present invention may utilize information regarding the layout of one or more holes of a golf course. Golf courses may be mapped to create the golf course data using any suitable method. The mapping process may produce golf course data which may be used by one or more components of the present invention to determine the coordinates of golf course features of interest, such as the greens, bunkers, hazards, tees, pin positions, other landmarks, and the like. The perimeter of the golf course features may be mapped so that distance to the front and back of the feature may be determined. The captured data may be used to create a data set comprising the coordinates for a plurality of points on the perimeter of the feature, or a vector-map of the perimeter, or other data, which may be used to calculate the distance to such feature from the location of the reader module of the present invention. The golf course data may also include golf hole data such as par, handicap, daily tee and hole locations, etc. Golf shot tracking data may be used to generate displays of information over maps, photographs, or other visual images depicting holes of golf courses.
Golf courses may be mapped to create the golf course data using any suitable method. In one embodiment, golf course images obtained from satellite imagery, aerial photography, or other suitable sources may be used. For example, images derived from the Google Earth virtual map and geographical information program developed by Google, Inc. of Mountain View, Calif., may be used. Google Earth and similar information sources may create virtual maps based on the superimposition of images obtained from satellite imagery, aerial photography, or other suitable sources.
In an embodiment of the present invention, a person or program interested in mapping a course (i.e., a “course mapper”) may obtain relevant course map imagery by, for example, navigating through Google Earth to a virtual map location corresponding to the geographical location of the golf course and holes of interest.FIG. 58 is an illustration of eighteen holes making up an exemplarygolf course image720 as it may look from satellite and/or aerial views. Thegolf course image720 may consist of individual holes, such as thefirst hole722 indicated inFIG. 58. As can be seen, if the satellite and/or aerial views are of sufficient quality, the course mapper should be able to discern the locations of golf course features of interest, such as the fairways, greens, bunkers, hazards, tees, pin positions, other landmarks, and the like.
In addition to the map data itself, a course mapper building a course map informational database in accordance with the present invention may also desire to factor in information for each course and/or hole such as the ratings or slopes for various tees, hole numbers, hole distances for various tees, and par numbers for various holes. Much of this information may be derived, for example, from course score cards, such as the exemplary course score card showing scores for nine holes of a golf course inFIG. 59.
According to an embodiment of the present invention, the course mapper may create vectorized images of golf holes for various operational courses by marking the boundaries of the various features of interest, such as the fairways, greens, bunkers, hazards, tees, pin positions, tree lines, or outer hole boundaries. The resulting map information may be stored, for example, in a map database accessible by theserver computer system500 of the present invention.
FIG. 60 illustrates a portion of a single hole that has been mapped according to embodiments of the present invention. As can be seen, the portion of the hole includes a demarcatedfairway730, green732, and a plurality of sand traps734. The portion of the hole also includes border lines for tree lines736 and outer boundaries for thehole738. In an embodiment, remaining portions outside of thefairway730 but inside of the outer boundaries for thehole738 may be considered to be portions of the hole consisting of the rough.
The data captured and/or created as a result of the course mapping described above may be used to create a data set including the coordinates for a plurality of points of features of individual golf course holes, as well as other data. This data set may be used, among other things, to determine the precise locations of shots taken during a round of golf with respect to map images and to calculate the distances to and from course features or individual shot locations. Golf shot tracking data may be used to generate displays of information over maps, photographs, or other visual images depicting holes of golf courses.
Map data may be stored in a Keyhole Markup Language (KML) file. KML is an XML notation for expressing geographic annotations and visualizations within Internet-based, two-dimensional maps and three-dimensional Earth browsers (e.g., Google Earth). In an embodiment of the present invention, map data may be supplemented by the inclusion of elevation data available from SRTM (Shuttle Radar Topography Mission) topography datasets that are freely available via the Internet.
FIG. 61A is an illustration of a GUI display that could be generated as a result of the described course mapping. As illustrated, theindividual hole display750 may include a variety of golf hole features, as well asmarkers751 indicating the specific locations of shots taken during a round of golf.
In one embodiment, once the appropriate satellite/aerial image files are obtained for each hole, these images are further processed to proportionally scale them and, if necessary, rotate them so that the green is “up” and the tee box is “down” by default on a GUI screen displayed to a user. In an embodiment of the present invention, the scaling and rotation process may be automated by using suitable image processing to (1) find the center of each hole's tee box and the center of each hole's green, (2) draw a vector between these points, and (3) rotate the vector to face in the “up” direction. In some embodiments where the user is viewing the image of the hole in real time on the golf course, the GUI image may be able to rotate based on the user's location and viewpoint (i.e., whether they are facing the green or looking to the left or right).
FIG. 61A also includes acenter line indicator752 running down the approximate center line of the fairway and green. As illustrated, thecenter line indicator752 may consist of a dotted line running down the fairway and green. In one embodiment, the center line may be calculated by finding the medial axes of the irregular polygons making up the mapped regions (e.g., a fairway regions), and spatially filtering the resulting data to smooth out irregularities. In another embodiment, the center line may be determined by fitting a series of circles within the fairway boundaries, tracking the center points of the circles, and connecting and/or averaging out the center points to construct the fairway center line. Center line data may be obtained in this manner in an automated fashion. Center line data may be used in a variety of calculations, such as, for example, determining whether a logged shot has been assigned to the correct hole, or determining whether a shot was hit to the right or left of the center line or right or left of the fairway.FIG. 61B is an illustration of a zoomed inview754 of the green portion of theindividual hole display750, which also indicates anadditional shot marker751.
FIG. 61C is an illustration of a GUI display that could be generated as a result of the described course mapping, possibly in association with map displays such as those depicted inFIGS. 61A and 61B.FIG. 61C indicates the stroke numbers, club used, distance hit, distance to pin, and lie type for each shot. Shot data may have been derived, for example, from agolf widget300.
In one embodiment of the present invention, thereceiver module400 may be capable of processing and/or displaying available tee boxes with corresponding slope and rating values in the course record. Thereceiver module400 may also be capable of processing and/or displaying vectorized images of golf holes for various operational courses. Thereceiver module400 may further be capable of processing and/or displaying update/correct hole mapping inaccuracies based on tracking manual user shot adjustment metrics and/or user feedback. Thereceiver module400 may also be capable of processing and/or displaying distance to front, back, center of greens from the current location of the device running the software. Thereceiver module400 may further be capable of processing and/or displaying display distances to hazards, bunkers, doglegs, and other features of interest from the current location of the device running the software. Thereceiver module400 may also be capable of calculating and/or displaying the center of green based on the geometric center of the green. Thereceiver module400 may further be capable of processing and/or displaying the current location of the device running the software on the hole map of interest during motion.
In an embodiment, thereceiver module400 may be capable of processing and/or displaying if a shot record lies within a region of interest (fairway, green, bunker, hazard) and assigning a lie condition based on the region of interest information. Thereceiver module400 may also be capable of supporting touch screen zooming/panning of hole imagery, which may include automatic zooming that dynamically adjusts the hole image as progress is made from tee to green to optimize course feature visualization and data manipulation. Thereceiver module400 may further be capable of processing and/or plotting shots on hole imagery. Thereceiver module400 may also be capable of processing and/or plotting the centerline of the hole/fairway.
In one embodiment of the present invention, thereceiver module400 may be capable of processing and/or displaying various golf-related 2-dimensional screens and design elements. Thereceiver module400 may also be capable of calculating and/or displaying net handicap score for a round. Thereceiver module400 may further be capable of regularly wirelessly synching (or attempting to synch) new current round data to theserver computer system500. Thereceiver module400 may also be capable of processing and/or displaying a scorecard view that displays par, score (with icon-based eagle, birdie, bogey, double bogey representations), and score relative to par. Thereceiver module400 may further be capable of processing and/or displaying a dynamically zoomable hole summary view which graphically displays shot record data for the hole, and provides the means to edit these data for position (via touching icons) and also shot insertion/deletion. Thereceiver module400 may also be capable of uploading all round data to a remoteserver computer system500 at the completion of a round. Thereceiver module400 may further be capable of sharing round/hole/shot record information via email, text message, or social media platforms.
In some embodiments of the present invention, thereceiver module400 and/or theserver computer system500 may be capable of processing and/or displaying golf course hole map data in a variety of different ways to allow a user to interact with their golf shot tracking system in a more intuitive, user-friendly manner, more accurately track their performance during a past or present round of golf, and use the data generated to improve their play in future rounds of golf
In one embodiment of the present invention, the determination of where on the course each individual golf shot was taken (i.e., which hole and/or precisely which location on the hole) may be made exclusively or primarily based on (1) the course hole map data derived from the course image mapping processes described above and (2) the individual shot data collected via thegolf widget300. Such a determination may be made by thereceiver module400, theserver computer system500, or both, in various embodiments.
However, in other embodiments, because of device and/or user errors, it may be desirable to apply additional analysis to the course hole map data and individual shot data to remedy any errors prior to finally saving the relevant data and generating displays for users. For example, shot sequence, distance, angle, time, putt distance, and/or green proximity filtering may be employed alternatively or in combination with one another.FIG. 62 illustrates an exemplary embodiment where several different layers of analysis are applied sequentially to course hole map data and/or individual shot data to remedy potential errors.
First, atstep802, an initial hole determination is made based on processed course hole map data and individual shot data (e.g., shot data derived from the golf widget300). For example, the individual shot data, in combination with the relevant course hole map data, may suggest that a golfer hit a particular shot somewhere on the first hole. More specifically, the data may suggest that the golfer hit the particular shot as his second shot of the first hole with a five iron from the right side of the fairway when the golfer was one hundred and fifty yards from the center of the green. As described in further detail above, the individual shot data may have been obtained, for example, when the golfer swiped agolf club600 tagged with aclub tag200 against agolf widget300 during game play, which transmitted the relevant club and position data to thereceiver module400 and/or theserver computer system500. As also described in further detail above, the relevant course hole map data may have been derived from publicly available satellite/aerial imagery data that has been processed to create vectorized images of golf holes.
Next, atstep804, a hole sequence filter may be run on the relevant data. In an embodiment, a hole sequence filter may analyze a plurality of consecutive shot records in an attempt to identify likely outliers. To illustrate an example, it is noted that it is common for the individual holes of a golf course to run parallel to or otherwise have boundaries that abut one another. In a scenario where the fairway ofHole1 is parallel to the fairway ofHole9, for example, agolfer playing Hole1 may hit an errant shot that requires him to hit a subsequent shot from the area corresponding to Hole9 while still technically playingHole1. Alternatively, the golfer may actually still hit his shot from the area ofHole1, but may stray just over the boundary line into the area corresponding to Hole9 while making the necessary swipe to tag theclub600. In either scenario, assuming the golfer continues to effectively play outHole1 in five total strokes without straying from its geographical bounds again, the golfers stroke hole locations may be consecutively logged as: 1, 1, 9, 1, 1. By applying “hole sequence filtering” to such a data set, the anomaly of one stroke from a completely different hole appearing in the middle of several strokes associated with the same hole can be easily remedied. In other words, in an embodiment, the software of the present invention may replace theHole9 shot record with aHole1 stroke record as the larger series of data suggests that this is the appropriate.
Next, atstep806, a shot distance and/or angle filter may be run on the relevant data. Using the example outlined above involvingadjacent Hole1 andHole9, in the scenario where a golfer has hit an errant shot outside of the geographical bounds ofHole1 and intoHole9, the errant shot may be able to be identified, in part, based on the distance and angle (with respect to the center line for the hole) of the subsequent shot returning to theHole1 field of play. A hole's center line may be determined as described in further detail above. In alternative embodiments, distance and angle threshold pairs could include 200 yards-30 degrees, 100 yards-40 degrees, and/or 40 yards-90 degrees. In other words, if any shot is logged that travels over 200 yards with more than a 30 degree angle with respect to the hole's center line (or over 100 yards with more than a 40 degree angle, or over 40 yards with more than a 90 degree angle), the software of the present invention may determine that the relevant shot may have improperly been logged with an incorrect adjacent hole number, as these figures suggest a shot that likely occurred from outside the geographical bounds of the correct hole. An example employing such a shot distance and angle filter will be described below in further detail. In some alternative embodiments, only shot distance or only shot angle may be considered in isolation to perform the desired filtering.
Next, atstep808, a shot time filter may be run on the relevant data. In an embodiment, the shot time filter may analyze the time elapsed between consecutive logged shots. Relatively long periods of time between consecutive strokes could indicate that the consecutive strokes should be associated with different holes (even if other data suggests otherwise), or could indicate that a particular stroke was initially improperly not logged but then later logged by the golfer from an incorrect geographic location (e.g., the golfer forgets to swipe a putter on the green, but then does so on the tee box for the next hole). In one embodiment, the time threshold may be 10 minutes. An example employing such a shot time filter will be described below in further detail.
Atstep810, a putt distance filter may be run on the relevant data. In an embodiment, if two consecutive logged shots appear to be putts, the putt distance filter may analyze the distance associated with the first of the two putts to see if the distance exceeds a threshold. In one embodiment, the threshold may be 25 yards. If the first putt exceeds the putt distance threshold, it is possible that the second shot may in fact have not been a putt and may not have occurred on the same hole as the first putt. An example employing such a putt distance filter will be described below in further detail.
Finally, atstep812, a green proximity filter may be run on the relevant data. In an embodiment, the green proximity filter may analyze the distance that a particular logged shot occurs from a portion of a nearby green (e.g., a boundary line of the green, a center point of the green, or the pin location). A putting stroke that is logged on or near the green is clearly likely to have actually occurred on or near that green, though in certain circumstances a putting stroke that is logged far from a green, such as at the tee box for the next hole, may have actually occurred at the previous hole's green, not the tee box. In one embodiment, the green proximity distance threshold may be 10 yards from the green. An example employing such a green proximity filter will be described below in further detail.
It should be noted that the above-mentioned filters may be run on the relevant data alone or in combination with one another, and in the order shown above or a different order entirely. Ordering the filters in different ways may have certain advantages, depending on the types of errors that are most likely to be encountered. Also, in some embodiments, the one or more filters may be run until the relevant data converges. In other words, the one or more filters may re run recursively until the data remains stable through consecutive passes. In some embodiments, converged data may be found to be the most reliable data. In some embodiments, each individual step may be run to convergence while in other embodiments each step may be run in order and then the entire process may be rerun to convergence.
FIG. 63 illustrates anexemplary method820 for analyzing processed course hole map data and individual shot data that may employ one or more of the filters described above with respect toFIG. 62.
First, atstep822, the system determines if the particular shot record being analyzed appears to be a putt shot. If the particular shot record being analyzed does appear to be a putt shot, themethod820 ends atstep824 as thismethod820 may only be used to process non-putt shots.
If the particular shot record being analyzed does not appear to be a putt shot, themethod820 proceeds to step826. Atstep826, the system determines if the particular shot record being analyzed exceeds one or more distance and/or angle thresholds. An exemplary method for analyzing distance and/or angle thresholds was previously described above with respect to step806 ofFIG. 62. If the particular shot record being analyzed does not exceed the one or more distance and/or angle thresholds, themethod820 ends atstep828 as the particular shot record is determined to already be associated with the correct hole.
If the particular shot record being analyzed does exceed the one or more distance and/or angle thresholds (e.g., with reference to step806 ofFIG. 62, a shot is logged that travels over 200 yards with more than a 30 degree angle), themethod820 proceeds to step830 as it is now possible that the particular shot record may be associated with the incorrect hole. Atstep830, the system determines if the particular shot record being analyzed exceeds the time threshold. An exemplary method for analyzing a time threshold was previously described above with respect to step808 ofFIG. 62. If the particular shot record being analyzed does exceed the time threshold, themethod820 ends atstep832 as the particular shot record is determined to already be associated with the correct hole.
If the particular shot record being analyzed does not exceed the time threshold (e.g., with reference to step808 ofFIG. 62, a shot is logged that occurs less than ten minutes after the previous shot), themethod820 proceeds to step834 as it is still possible that the particular shot record may be associated with the incorrect hole. Atstep834, the system determines if the particular shot record being analyzed and the next shot in the shot log record are currently associated with the same hole. If the particular shot record being analyzed and the next shot in the shot log record are currently associated with the same hole, themethod820 ends atstep836 as the particular shot record is determined to already be associated with the correct hole.
If the particular shot record being analyzed and the next shot in the shot log record are not currently associated with the same hole, themethod820 proceeds to step838 as it now appears that the particular shot record is associated with the incorrect hole. Atstep838, the system updates the particular shot record being analyzed so that the particular shot record being analyzed is now associated with the same hole that is associated with the prior shot in the shot log record.
FIG. 64 illustrates anexemplary method840 for, analyzing processed course hole map data and individual shot data that may employ one or more of the filters described above with respect toFIG. 62.
First, atstep842, the system determines if the particular shot record being analyzed appears to be a putt shot. If the particular shot record being analyzed does not appear to be a putt shot, themethod840 ends atstep844 as thismethod840 may only be used to process putt shots.
If the particular shot record being analyzed does appear to be a putt shot, themethod840 proceeds to step846. Atstep846, the system determines if the previous shot record appears to be a putt shot. If the previous shot record does not appear to be a putt shot, themethod840 ends atstep848 as thismethod840 may only be used to process putt shots preceded by putt shots.
If the previous shot record does appear to be a putt shot, themethod840 proceeds to step850. Atstep850, the system determines if the previous shot record exceeds a distance threshold. An exemplary method for analyzing distance thresholds was previously described above with respect to step806 ofFIG. 62. If the previous shot record does not exceed the distance threshold, themethod840 ends atstep852 as the particular shot being analyzed the previous shot are determined to already be associated with the correct holes.
If the previous shot record does exceed the distance threshold (e.g., the previous shot travels over 25 yards), themethod840 proceeds to step854 as it is now possible that the particular shot record may be associated with the incorrect hole. Atstep854, the system determines if the previous shot record exceeds the time threshold. An exemplary method for analyzing a time threshold was previously described above with respect to step808 ofFIG. 62.
If the previous shot record does not exceed the time threshold (e.g., with reference to step808 ofFIG. 62, a shot is logged that occurs less than ten minutes after the previous shot), themethod840 proceeds to step856 as it now appears that the particular shot record is associated with the incorrect hole. Atstep856, the system updates the particular shot record being analyzed so that the particular shot record being analyzed is now associated with the same hole that is associated with the next shot in the shot log record.
If the previous shot record does exceed the time threshold (e.g., with reference to step808 ofFIG. 62, a shot is logged that occurs more than ten minutes after the previous shot), themethod840 proceeds to step858 as it is still possible that the particular shot record is associated with the incorrect hole. Atstep858, the system determines if the hole associated with the next shot record is two holes ahead of the hole associated with the particular shot record being analyzed. If the hole associated with the next shot record is not two holes ahead of the hole associated with the particular shot record being analyzed, themethod840 ends atstep860 as the particular shot being analyzed the previous shot are determined to already be associated with the correct holes.
If the hole associated with the next shot record is two holes ahead of the hole associated with the particular shot record being analyzed, themethod840 proceeds to step862 as it now appears that the particular shot record is associated with the incorrect hole. Atstep862, the system updates the particular shot record being analyzed so that the hole number associated with the particular shot record being analyzed is increased by one.
FIG. 65 illustrates anexemplary method870 for analyzing processed course hole map data and individual shot data that may employ one or more of the filters described above with respect toFIG. 62.
First, atstep872, the system determines if the particular shot record being analyzed appears to be a putt shot. If the particular shot record being analyzed does not appear to be a putt shot, themethod870 ends atstep874 as, in some embodiments, thismethod870 may only be used to process putt shots.
If the particular shot record being analyzed does appear to be a putt shot, themethod870 proceeds to step876. Atstep876, the system determines if the particular shot record being analyzed exceeds the time threshold. An exemplary method for analyzing a time threshold was previously described above with respect to step808 ofFIG. 62. If the particular shot record being analyzed does not exceed the time threshold, themethod870 ends atstep878 as the particular shot record is assumed to already be associated with the correct hole.
If the particular shot record being analyzed does exceed the time threshold (e.g., with reference to step808 ofFIG. 62, a shot is logged that occurs less than ten minutes after the previous shot), themethod870 proceeds to step880 as it is still possible that the particular shot record may be associated with the incorrect hole. Atstep880, the system determines if the particular shot record being analyzed exceeds green proximity threshold. An exemplary method for analyzing a green proximity threshold was previously described above with respect to step812 ofFIG. 62. If the particular shot record being analyzed does not exceed the green proximity threshold (e.g., with reference to step812 ofFIG. 62, the shot appears to be located on or within 10 yards of a green), themethod870 ends atstep882 as the particular shot record is assumed to already be associated with the correct hole.
If the particular shot record being analyzed does exceed the green proximity threshold (e.g., with reference to step812 ofFIG. 62, the shot appears to be located greater than 10 yards from a green), themethod870 proceeds to step884 as it now appears that the particular shot record is associated with the incorrect hole. Atstep884, the system updates the particular shot record being analyzed so that the particular shot record being analyzed is now associated with the same hole that is associated with the prior shot in the shot log record.
Though various mobilegolf monitoring systems100 have been described above that utilize areader module300 and areceiver module400 that are physically distinct and separate from one another, in some embodiments of the present invention, the functions of thereader module300 and thereceiver module400 may be combined in a single piece of hardware, such as, for example, a mobile phone including GPS and RFID/NFC capabilities.
Various aspects of the present invention, or any parts or functions thereof, may be implemented using hardware, software, firmware, tangible computer readable or computer usable storage media having instructions stored thereon, or a combination thereof and may be implemented in one or more computer systems or other processing systems.
Golf shot tracking systems, devices, and methods of use of the present invention can include software applications executed by one or more computing devices. A computing device can be any type of computing device having one or more processors.
For example, a computing device can be a workstation, mobile device (e.g., a mobile phone, personal digital assistant, tablet computer, or laptop), computer, server, compute cluster, server farm, game console, set-top box, kiosk, embedded system, a gym machine, a retail system or other device having at least one processor and memory. Embodiments of the present invention may be software executed by a processor, firmware, hardware or any combination thereof in a computing device.
In this document, terms such as “computer program medium” and “computer-usable medium” may be used to generally refer to media such as a removable storage unit or a hard disk installed in hard disk drive. Computer program medium and computer-usable medium may also refer to memories, such as a main memory or a secondary memory, which can be memory semiconductors (e.g., DRAMs, etc.). These computer program products provide software to computer systems of the present invention.
Computer programs (also called computer control logic) may be stored on main memory and/or secondary memory. Computer programs may also be received via a communications interface. Such computer programs, when executed, may enable computer systems of the present invention to implement embodiments described herein. Where embodiments are implemented using software, the software can be stored on a computer program product and loaded into a computer system using, for example, a removable storage drive, an interface, a hard drive, and/or communications interface.
Based on the description herein, a person skilled in the relevant art will recognize that the computer programs, when executed, can enable one or more processors to implement processes described above, such as the steps in the methods illustrated by the figures. In an embodiment, the one or more processors can be part of a computing device incorporated in a clustered computing environment or server farm. Further, in an embodiment, the computing process performed by the clustered computing environment may be carried out across multiple processors located at the same or different locations.
Software of the present invention may be stored on any computer-usable medium. Such software, when executed in one or more data processing device, causes the data processing device to operate as described herein. Embodiments of the invention employ any computer-usable or -readable medium, known now or in the future. Examples of computer-usable mediums include, but are not limited to, primary storage devices (e.g., any type of random access or read only memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, MEMS, nanotechnological storage devices, memory cards or other removable storage devices, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.).
Embodiments have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
While various embodiments of the present invention have been described above, they have been presented by way of example only, and not limitation. The elements of the embodiments presented above are not necessarily mutually exclusive, but may be interchanged to meet various needs as would be appreciated by one of skill in the art.
It therefore will be apparent to one skilled in the art that various changes in form and detail can be made to the embodiments disclosed herein without departing from the spirit and scope of the present invention. The phraseology or terminology herein is used for description and not for limitation. Thus, it is intended that the present invention cover modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.