[go: up one dir, main page]

US20150032237A1 - Automated golf scoring - Google Patents

Automated golf scoring Download PDF

Info

Publication number
US20150032237A1
US20150032237A1 US13/950,682 US201313950682A US2015032237A1 US 20150032237 A1 US20150032237 A1 US 20150032237A1 US 201313950682 A US201313950682 A US 201313950682A US 2015032237 A1 US2015032237 A1 US 2015032237A1
Authority
US
United States
Prior art keywords
data
player
swing
acceleration data
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/950,682
Inventor
Mark Roebke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Active Network LLC
Original Assignee
Active Network LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Active Network LLC filed Critical Active Network LLC
Priority to US13/950,682 priority Critical patent/US20150032237A1/en
Assigned to THE ACTIVE NETWORK, INC. reassignment THE ACTIVE NETWORK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ROEBKE, MARK
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Assignors: THE ACTIVE NETWORK, INC.
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT FIRST LIEN SECURITY AGREEMENT Assignors: THE ACTIVE NETWORK INC.
Assigned to THE ACTIVE NETWORK, INC. reassignment THE ACTIVE NETWORK, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA, N.A.
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT SECOND LIEN SECURITY AGREEMENT Assignors: THE ACTIVE NETWORK INC.
Assigned to ACTIVE NETWORK, LLC reassignment ACTIVE NETWORK, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: THE ACTIVE NETWORK, INC.
Publication of US20150032237A1 publication Critical patent/US20150032237A1/en
Assigned to LANYON, INC., LANYON SOLUTIONS, INC.(F/K/A THE ACTIVE NETWORK, INC.) reassignment LANYON, INC. RELEASE OF FIRST LIEN SECURITY INTEREST Assignors: BANK OF AMERICA, N.A.
Assigned to LANYON SOLUTIONS, INC. (F/K/A THE ACTIVE NETWORK, INC.), LANYON, INC. reassignment LANYON SOLUTIONS, INC. (F/K/A THE ACTIVE NETWORK, INC.) RELEASE OF SECOND LIEN SECURITY INTEREST Assignors: BANK OF AMERICA, N.A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0669Score-keepers or score display devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Definitions

  • the present disclosure relates generally to tracking athletic performance, and more particularly, to systems and methods for automated golf scoring with wearable devices connectable to scorekeeping data processing devices having minimally intrusive interfaces.
  • Golf is played recreationally and professionally worldwide by numerous individuals of both genders, across a wide range of age and skill level.
  • the fundamental objective is to strike a ball with a club starting from the teeing ground into a hole some distance away.
  • a golf course is comprised of multiple holes (eighteen or nine, depending on the size of the course) that are played in sequence, and scored based upon the number of strokes taken from the tee-off to the final putt in which the ball is hit into the hole.
  • the game appears simple, but there are numerous complexities that continue to challenge players of the highest skill level.
  • Each “hole” or playing area of the course is generally defined by a bounded grassy area including the aforementioned teeing ground and the hole, which is positioned within a green. Between the green and the teeing ground is an area referred to as the fairway, which has short, evenly cut grass that is the most advantageous surface from which to take a subsequent shot.
  • the fairway may extend a specified distance at a specified angle relative to the teeing ground and the green. On the outliers of the fairway but still within the course boundaries is the rough, which has longer cut grass.
  • the distance between the tee and the hole is such that multiple strokes are necessary, and so skillfully placing each shot to different parts of the fairway are rewarded.
  • grassy areas of the course there may be various water hazards, bunkers or sand traps, and trees/vegetation that block the flight of the ball.
  • scoring in golf fundamentally involves counting the number of strokes a player takes from tee-off to hole-in. As a general matter, the player with the fewest number of strokes over the entire course is the winner.
  • the task of keeping score is typically handled by the players themselves.
  • the number of strokes can be kept manually and written on paper as the player progress through the holes.
  • adjustments to the number of strokes for the hole for penalties and the like, or limiting the number of strokes counted can likewise be made manually.
  • the devices may include a display screen and one or more buttons to increment/decrement the strokes as they are played.
  • Manual entry tends to disrupt the flow of gameplay. Specifically, after the stroke is completed, it is necessary for the player to retrieve the device from either the pocket or the golf bag which may be stowed away from the tee box in a golf bag and/or in a golf cart, activate the device, and input a stroke. This must be repeated for each stroke, though with some devices, the score for the hole may be entered upon finishing play for that hole. Regardless, the process of entering such data is tedious. It will be recognized that besides the game itself, many enjoy golf as an opportunity to socialize and/or conduct business on an informal level, and scorekeeping may be too distracting to those ends.
  • the present disclosure is directed to an automated golf scoring system using a combination of readings from various sensors to accurately count strokes.
  • accelerometer data from a wearable device and location data from a mobile communication device such as a smart phone, is utilized to assess which of possibly several accelerometer events should be deemed a shot.
  • the need for manual intervention for scoring is minimized, while providing useful information regarding game progress to the player.
  • a method for automated scoring in connection with a sensor unit wearable by the player and a data processing unit in communication therewith may begin with receiving a measurement of a first swing motion by the player with an accelerometer of the sensor unit.
  • the accelerometer may generate first acceleration data corresponding to the first swing motion.
  • the method may include detecting a resting state of the player with first speed data from a location positioner of the data processing unit.
  • the first speed data may be less than a predetermined stationary speed threshold to detect the resting state of the player.
  • the method may further include a step of detecting a movement of the player with second speed data from the location positioner of the data processing unit.
  • the second speed data may be greater the predetermined stationary speed threshold to detect the movement of the player.
  • the method may also include incrementing a shot counter that is retained on the data processing unit upon detecting the movement of the player. This step may also depend on an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
  • Certain other embodiments of the present disclosure contemplate respective computer-readable program storage media that each tangibly embodies one or more programs of instructions executable by a data processing device to perform the foregoing method.
  • the sensor unit may include an accelerometer that measures a swing motion by a player and generates acceleration data corresponding thereto.
  • the data processing unit may be in communication with the sensor unit and is receptive to the acceleration data.
  • the data processing unit may have various modules, including a geographic locator module, a swing detection module, and a stroke counter module.
  • the geographic locator module may output speed data corresponding to the player's movement.
  • the swing detection module may cooperate with the geographic locator module and the sensor unit to store acceleration data into a swing queue when a resting state of the player is detected. The detection of the resting state may be based upon the speed data being less than a predetermined stationary speed threshold.
  • the stroke counter module cooperates with the swing detection module and the geographic locator module.
  • a shot counter that is retained on the data processing unit may be incremented by the stroke counter module when a movement of the player is detected while a most recently recorded acceleration data has a highest magnitude among other acceleration data in the swing queue.
  • FIG. 1 is a block diagram illustrating the components of an automated golf scoring system including a wearable sensor unit and a data processing unit;
  • FIG. 2 is a detailed block diagram of the automated golf scoring system and its constituent functional modules
  • FIG. 3 is a flowchart illustrating one method for automated golf scoring in accordance with an embodiment of the present disclosure
  • FIG. 4 is a plot of acceleration magnitude data as measured by an accelerometer of the wearable sensor unit
  • FIG. 5 is a detailed flowchart illustrating one implementation of detecting player swings
  • FIG. 6 is a detailed flowchart illustrating one implementation of counting a player stroke
  • FIG. 7 is an example user interface on the data processing unit showing game play progress and counted strokes.
  • FIG. 8 is an example user interface on the wearable sensor unit showing game play progress and counted strokes.
  • an automated scoring system 10 for golf includes a wearable sensor unit 12 and a data processing unit 14 .
  • the automated scoring system 10 is passive, in that no user intervention is necessary to keep score during play, thus reducing distractions and heightening enjoyment.
  • the wearable sensor unit 12 is understood to be attachable to one of the limbs of the player, though in one preferred but optional embodiment, attachment to the wrist is contemplated. Other attachment points for the wearable sensor unit 12 are possible, but it will be recognized that because the most significant motion occurring during a golf stroke is in the arms regardless of the type of stroke being employed, sensors taking measurements thereof are likely to provide the most useful information. This is not intended to preclude other devices that attach to the pants or a belt and which may therefore be more proximal to the hips of the player, for example.
  • the wearable sensor unit 12 is a watch-type device that has an enclosure for its various functional components and a strap that is configured to wrap around the player's wrist. Furthermore, the wearable sensor unit 12 includes an accelerometer 16 that measures motion and generates a stream of acceleration/speed data.
  • the watch form factor is envisioned as being better suited for golf. Once worn, little adjustment is necessary, and to the extent any manipulation of the inputs is required for making scoring adjustments, it is readily accessible.
  • the data stream from the accelerometer 16 is communicated to the data processing unit 14 over corresponding transceivers 18 , 20 .
  • a wireless transmission modality is contemplated so that physical interference from cables is avoided during swings.
  • the standard that presently has the most widely available and lowest cost components is understood to be Bluetooth, though any other suitable wireless communications may be substituted without departing from the scope of the present disclosure.
  • a low energy variant Bluetooth LE may also be utilized.
  • the functioning of the accelerometer 16 and the transceiver 18 may be managed by a processor 22 , which is understood to be a conventional data processing device that executes pre-programmed instructions based on certain inputs to generate outputs in response. Such instructions, along with other data, may be stored in a memory 24 .
  • the wearable sensor unit 12 may further include one or more input devices 26 and one or more output devices 28 .
  • the input devices 26 may be buttons accessible from the side of the bezel
  • the output device 28 may be a display screen (liquid crystal or otherwise) that constitutes the front face of the bezel.
  • Other input and output devices are possible, and the foregoing enumeration of components is intended to be exemplary and not limiting.
  • the data processing unit 14 may be a widely owned mobile communications device such as a smartphone.
  • a foundational aspect of such mobile communications devices is to place and receive telephone calls over a cellular network, but conventional smartphones are capable of running a variety of software applications including those that embody the contemplated methods of automated golf scoring and perform the various steps thereof.
  • the data processing unit 14 has a processor 30 , much like the processor 22 of the wearable sensor unit 12 that executes pre-programmed instructions.
  • the particular operands and execution sequence of the instructions may be governed by various input parameters provided from input devices 34 , while the results of executing the instructions may be shown on an output device 36 .
  • the input device 34 and the output device 36 may be a combined touch screen display 38 , though it is possible to have separate input devices such as keypads, buttons, and slide switches.
  • Every functional aspect of data processing unit 14 may be managed to one degree or another by the processor 30 .
  • the transceiver 18 also connected to the central processing unit is the aforementioned transceiver 18 .
  • the transceiver 20 may implement other communications modalities such as different generations of GSM (Global System for Mobile Communications), EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access) and others.
  • local area wireless networking technologies such as IEEE 802.11x (WiFi) may also be implemented by the transceiver 20 .
  • WiFi IEEE 802.11x
  • the data processing unit 14 may connect to wide area networks such as the Internet 40 to access various online services 42 .
  • the data processing unit 14 includes a locator 44 , which is understood to be a Global Positioning System (GPS) receiver that outputs coordinate values corresponding to the current device position as reported by signals 46 from a network of GPS satellites 48 . It will be recognized that from multiple position readings over time, bearing, speed, and acceleration may be ascertained. Various embodiments of the present disclosure contemplate the use of such location data to ascertain player strokes, the details of which will be considered more fully below.
  • the data processing unit 14 may also have other components 50 such as a digital camera capable of recording still images, as well as video in conjunction with the audio input device.
  • One embodiment of the present disclosure contemplates a system comprised of various functional components or modules, while another embodiment contemplates a method.
  • the segregation of these modules is presented by way of example only and not of limitation, and those having ordinary skill in the art will recognize the numerous possible ways in which different functions can be associated with different modules.
  • the following example is but one implementation.
  • the method may be implemented as a series of instructions executed by the processor 30 of the data processing unit 14 . In so implementing the method, the application may be developed as a set of cooperating modules.
  • the system includes the wearable sensor unit 12 with the accelerometer 16 that measures a swing motion by the player. Acceleration data corresponding to that swing motion is generated, and transmitted to the data processing unit 14 . As indicated above, the data processing unit 14 is in communication with the wearable sensor unit 12 and is receptive to the acceleration data.
  • the data processing unit includes a geographic locator module 52 , a swing detection module 54 , and a stroke counter module 56 , among others.
  • the method for automated golf scoring begins with a step 300 of receiving a measurement of a first swing motion by the player. This measurement is made by the accelerometer 16 of the wearable sensor unit 12 , and generates first acceleration data that corresponds to the first swing motion. It is understood that the accelerometer 16 measures motion/acceleration along the x, y, and z axes, and the acceleration data is given for each.
  • the graph of FIG. 4 is a plot 59 of the combined magnitude values of acceleration data over an example time period t 1 to t 2 , along with a plot 61 of speed data over the same time period.
  • Predictable acceleration and speed/distance trends are expressly contemplated as a basis for determining a played stroke.
  • a constant stream of data is generated and is being transmitted to the data processing unit 14 .
  • the acceleration data may be filtered to exclude expected noise before further processing.
  • a swing is characterized by a material acceleration while at rest, followed by an increase in speed/distance while acceleration normalizes to baseline.
  • the spikes 60 , 62 , and 64 may be practice swings, while the last spike 66 may be the actual swing.
  • the present disclosure contemplates the use of additional time-correlated data to count golf swings, and this may be achieved by detecting the resting state of the player in accordance with a step 302 .
  • the resting state is detected based upon the speed data as reported by the geographic locator module 52 being less than a predetermined stationary speed threshold.
  • “less than” is also intended to encompass “less than or equal to.”
  • the resting state can be detected based upon the position data as reported by geographic locator module 52 , and more particularly, the coordinates as output by the locator 44 .
  • the method continues with a step 304 of storing the received first acceleration data into a swing queue 68 that is managed by the swing detection module 54 .
  • the swing queue 68 may be implemented in a variety of different ways, but in its simplest form, it is understood to be a reserved area of the memory 32 on which values can be stored and indexed for subsequent retrieval.
  • the part of the automated scoring method involving the detection of swings as generally described above may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 5 .
  • This may also be referred to as a swing analysis process that involves the detection of acceleration events of interest while the player is in a resting state.
  • the data is understood to be queued for use by the stroke counting module.
  • the acceleration data stored in the swing queue 68 may be deemed invalid and subject to disposal when certain expiration and/or timeout criteria are met.
  • the entry point is the receipt of an accelerometer event per step 500 .
  • the x, y, and z axis values are summed into a single magnitude value according to step 502 .
  • This magnitude value serves as the basis for conditional block 504 , which involves a comparison to a swing threshold value.
  • the swing threshold value may be variable, and depend on the specific location on the course that is being reported by the geographic locator module 52 .
  • the reported location may be compared against a map of the course, referred to herein as course data, which defines specific areas of each hole, including locations of the teeing grounds, hazards, fairway, and the green, for example.
  • the swing threshold may be adjusted lower when the reported location is on the green, while adjusted higher when the reported location is on the teeing grounds. Further still, the swing threshold may be adjusted to some intermediate value when the reported location is on the fairway.
  • thresholds to be set depending on whether the reported location is within certain pre-defined bounded regions of the course, it is also possible to adjust this value based on the relative distance to the hole.
  • the adjustment may be on a sliding distance scale. For example, a player positioned within several feet of the hole may involve a lower threshold than a player positioned on the outer limits of the green. Moreover, a player shooting the first or second stroke on the fairway may be further away (and hence involving a faster swing) than a player shooting the third or fourth stroke also on the fairway.
  • the alternative embodiment in which the threshold is dynamically adjusted according to the distance from the hole is understood to account for this variability. The degree of adjustment necessary to account for differences in the expected acceleration data is readily ascertainable by those having ordinary skill in the art.
  • conditional block 506 determines whether acceleration is currently being monitored. If not, the logic flow returns to the entry point until another acceleration event is detected in accordance with step 500 . Otherwise, program execution continues to yet another conditional block 508 to determine whether a timeout period has expired. If not, like the previous conditional block 506 , the logic flow returns to the entry point according to step 500 . If the timeout period has now expired, monitoring for acceleration is stopped, and the swing queue 68 is reset in step 510 . Thereafter, the program returns to wait for the detection of another acceleration event in step 500 .
  • conditional block 512 determines whether the player is in a resting state. Again, this determination may involve the comparison of instantaneous speed data from the locator 44 , or of two or more location coordinate values from the locator 44 , and so long as such values are within a predetermined speed or distance threshold, the data processing unit 14 and hence the player is assumed to be stationary. Those having ordinary skill in the art will recognize that there are other possible techniques to ascertain movement to a greater degree of accuracy, and such techniques may be readily incorporated into the automated scoring system 10 .
  • step 500 If the player is not determined to be at rest, then the program returns to wait for the detection of another acceleration event in step 500 . If the player is in the resting state, execution continues with step 514 of queuing the player location, i.e., storing the location value in the swing queue 68 .
  • the latest captured acceleration data is compared against other acceleration data stored in the swing queue 68 in conditional block 516 . If the last captured acceleration data has the highest magnitude, it is stored in the swing queue 68 according to step 518 . It is possible to store only the acceleration data with the highest magnitude at any given time, with the latest captured acceleration data replacing the one previously with the highest magnitude. Alternatively, it is possible to store all received acceleration data that is time-indexed. Swing detection may be repeated to the extent there are other accelerometer events received according to step 500 .
  • program flow proceeds to conditional block 520 , in which it is determined whether acceleration is being monitored or not. If it is not, in step 522 the monitoring is started. Thereafter, a swing counter is incremented per step 524 . The program flow then waits for another acceleration event in step 500 .
  • the swing detection module 54 cooperates with the geographic locator module 52 and the wearable sensor unit 12 to determine a swing by the player. Acceleration data corresponding to the swing is stored in the swing queue 68 when it coincides with the resting state of the player. Again, as indicated above, this resting state is determined based upon the position data from two instances in time within a timeout period that are sufficiently proximal to each other to constitute a stationary state.
  • step 306 of detecting a movement of the player This may be based upon second speed data or, alternatively, second position data, both or either of which may be reported by the geographic locator module 52 .
  • detecting the movement is based upon either the second speed data being greater than the stationary speed threshold, or two or more readings of the second position data being outside the stationary position threshold, i.e., when the location readings differ from one time instant to another by more than a threshold amount, it is determined that the player is moving.
  • “greater than” is intended to encompass “greater than or equal to,” as well.
  • step 308 of incrementing a shot counter that is retained on the data processing unit 14 , so long as the latest acceleration data stored in the swing queue 68 has the highest magnitude.
  • the existence of a value therein may be the second condition for incrementing the shot counter (in addition to detecting the movement of the player). As indicated above, it is possible for there to be no data in the swing queue 68 when a timeout occurs and the swing queue 68 is reset.
  • the part of the automated scoring method involving the counting of strokes as generally described above, including steps 306 and 308 , may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 6 .
  • This may also be referred to as a stroke counting process that analyzes motion when valid data is queued by the swing analysis process. If the proper criteria are met, the queued values are stored in memory and used to increment the player's score.
  • An entry point 600 is the stroke counter module 56 being in a recording state.
  • a first condition block 602 involves the determination of whether acceleration is currently being monitored. As indicated above, monitoring can be initiated when the latest captured acceleration data is the maximum in the swing queue 68 , and stopped when a timeout period has expired. If monitoring is ongoing, execution of the programmed logic continues to a state 603 in which no further action is taken until monitoring is stopped. Otherwise, there is a second condition block 604 to determine whether there is there are any acceleration data and location data that has been recorded. Referring back to the flowchart of FIG.
  • acceleration data and location is stored in the swing queue 68 when the latest captured acceleration data has the highest magnitude, and the player was at rest when it was captured.
  • the swing queue 68 was reset following the expiration of the timeout as evaluated in condition block 508 , per state 605 , there is no queued data to process, and execution returns to wait until a recording state can be resumed at entry point 600 .
  • conditional block 606 The expiration of the timeout is evaluated again in conditional block 606 . If expired, as per state 607 , it is understood to be outside the evaluation window. To the extent there were any values in the swing queue 68 , they are discarded as stale. If it is still within the evaluation window, the next chained conditional block 608 involves an evaluation of whether the player speed is greater than a predetermined speed threshold. This evaluation and subsequent steps are based upon the assumption that following an actual stroke by the player, the player will begin moving away from where the stroke was taken, whether that be away from the teeing grounds and waiting to allow the next player to take a shot, or toward the next play position on the course.
  • the determination of speed in the conditional block 608 may rely upon the location data as reported by the geographic locator module 52 in the same manner as discussed above in relation to a determination of the player's resting state, i.e., calculating a difference in positions over a set time period. If the player is not moving or not moving enough per state 609 , execution returns to the entry point 600 .
  • step 610 of incrementing the shot counter, and storing the acceleration data into a stroke log. Also stored in the stroke log and associated with the acceleration data is the corresponding location data from when that acceleration was measured.
  • the swing queues 68 , along with other internal counters are reset in step 612 .
  • the aforementioned functions are understood to be implemented by the stroke counter module 56 . Furthermore, these functions are achieved in cooperation with the swing detection module 54 and the geographic locator module 52 .
  • the shot counter is incremented by the stroke counter module 56 when a movement of the player is detected in conjunction with the acceleration data that exceeds the swing threshold and is the maximum amongst others that may have been previously detected.
  • the score display is updated in step 614 .
  • the data processing unit 14 may further include an output module 70 for performing this step.
  • One contemplated output may be on the data processing unit 14 , and specifically on the touch display screen 38 thereof.
  • An exemplary user interface 71 for the automated golf scoring apparatus is shown in FIG. 7 .
  • the data from the shot counter i.e., the number of strokes counted for the current hole being played, is centrally displayed in a stroke display section 72 .
  • the interface includes a stroke increment button 74 and a stroke decrement button 76 . Notwithstanding the availability of these manual score adjustment interface elements, it is expressly contemplated that the automated scoring system 10 requires no user intervention, and the data processing unit 14 may be kept in the pocket of the player or other non-intrusive place.
  • each stroke is associated with a specific location, and the location at any given point during play is available from the geographic locator module 52 . Accordingly, it is possible to present a wide variety of useful information about the course and/or the particular hole being played on the user interface 71 .
  • a hole indicator 78 that also displays the total yardage from the tee to the hole.
  • the example of FIG. 7 shows that the player is currently playing hole 6, which has a distance of 479 yards.
  • a par indicator 80 that also includes a display of the course handicap.
  • a graphical overview 82 of the entire playing area of the hole is also presented, with various stroke indicators 84 being placed thereon corresponding to the locations of recorded strokes.
  • the progression of gameplay may also be visualized in a scoring table 86 , which lists each hole and its par in a first row 86 a and the total recorded strokes for each hole in a second row 86 b.
  • the configuration of the user interface 71 is presented by way of example only and not of limitation. Those having ordinary skill in the art will recognized alternative layouts and different information that could be presented to the player without departing from the scope of the present disclosure.
  • the automated scoring system 10 may transmit the stroke count and other information to the wearable sensor unit 12 for display on the output device 28 .
  • a more condensed view in comparison to the view on the data processing unit 14 is contemplated, as shown in FIG. 8 .
  • a course distance indicator 90 shows the distance to various points of interest from the current location.
  • the wearable sensor unit 12 may include buttons that are positioned along the same vicinity as the icons 94 , 96 , and activation of the buttons may be operative to adjust the score.
  • the interface of the wearable sensor unit 12 has also been presented by way of example only and not of limitation.
  • the output module 70 uploads the score data to the aforementioned online services 42 for sharing with others.
  • one of the online services 42 could be a social networking site, and whenever certain achievement objectives are met, that could be announced thereon.
  • Further competitive elements based on the recorded scores are also possible, such as challenges among players worldwide and so forth. Additionally, because each stroke is geocoded, different post-hoc visualizations of gameplay is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physical Education & Sports Medicine (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

An automated golf scoring system with a sensor unit wearable by the player and a data processing unit in communication therewith is disclosed. First acceleration data corresponding to a first swing motion measured with an accelerometer of the sensor unit is received. A resting state is detected with first speed data from a location positioner. The first acceleration data for the first swing motion is stored in a swing queue when the resting state is detected. A movement of the player is then detected with second speed data. A shot counter is incremented upon detecting the movement of the player. This depends on an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • Not Applicable
  • STATEMENT RE: FEDERALLY SPONSORED RESEARCH/DEVELOPMENT
  • Not Applicable
  • BACKGROUND
  • 1. Technical Field
  • The present disclosure relates generally to tracking athletic performance, and more particularly, to systems and methods for automated golf scoring with wearable devices connectable to scorekeeping data processing devices having minimally intrusive interfaces.
  • 2. Related Art
  • Golf is played recreationally and professionally worldwide by numerous individuals of both genders, across a wide range of age and skill level. The fundamental objective is to strike a ball with a club starting from the teeing ground into a hole some distance away. A golf course is comprised of multiple holes (eighteen or nine, depending on the size of the course) that are played in sequence, and scored based upon the number of strokes taken from the tee-off to the final putt in which the ball is hit into the hole. In this context, the game appears simple, but there are numerous complexities that continue to challenge players of the highest skill level.
  • Except for a few basic characteristics, there is a high degree of variability in the configuration of golf courses. Each “hole” or playing area of the course is generally defined by a bounded grassy area including the aforementioned teeing ground and the hole, which is positioned within a green. Between the green and the teeing ground is an area referred to as the fairway, which has short, evenly cut grass that is the most advantageous surface from which to take a subsequent shot. The fairway may extend a specified distance at a specified angle relative to the teeing ground and the green. On the outliers of the fairway but still within the course boundaries is the rough, which has longer cut grass. The distance between the tee and the hole is such that multiple strokes are necessary, and so skillfully placing each shot to different parts of the fairway are rewarded. In addition to the aforementioned grassy areas of the course, there may be various water hazards, bunkers or sand traps, and trees/vegetation that block the flight of the ball.
  • Besides the variable course configurations that challenge players, wind conditions, sun position, and other environmental factors may present an additional level of difficulty. Furthermore, maintaining a consistent swing is challenging even for the most practiced players, and significant deviations in power and angle may need to be made from shot to shot to account for course layout, distance, wind conditions, and the utilized club. Thus, there is a substantial element of play strategy, which further keeps the game interesting for players of all skill levels. However, with different handicaps, tee boxes, and team scoring/match play, individuals of varying skill can play and compete against each other in groups to such an extent that it can still be an enjoyable recreational activity for all.
  • Regardless of the specific game play variation, scoring in golf fundamentally involves counting the number of strokes a player takes from tee-off to hole-in. As a general matter, the player with the fewest number of strokes over the entire course is the winner. The task of keeping score is typically handled by the players themselves. In the simplest form, the number of strokes can be kept manually and written on paper as the player progress through the holes. Depending on the rules to which the players have agreed to adhere, adjustments to the number of strokes for the hole for penalties and the like, or limiting the number of strokes counted can likewise be made manually.
  • As an improvement over paper scorekeeping, various electronic devices have been developed to perform essentially the same function. The devices may include a display screen and one or more buttons to increment/decrement the strokes as they are played. Manual entry, whether electronic or paper, tends to disrupt the flow of gameplay. Specifically, after the stroke is completed, it is necessary for the player to retrieve the device from either the pocket or the golf bag which may be stowed away from the tee box in a golf bag and/or in a golf cart, activate the device, and input a stroke. This must be repeated for each stroke, though with some devices, the score for the hole may be entered upon finishing play for that hole. Regardless, the process of entering such data is tedious. It will be recognized that besides the game itself, many enjoy golf as an opportunity to socialize and/or conduct business on an informal level, and scorekeeping may be too distracting to those ends.
  • In order to overcome these deficiencies, automated golf scoring systems have also been developed. One existing variation of an automated scoring system is implemented on a smartphone device with an accelerometer sensor. Input profiles that correspond to typical swing motion may be pre-stored on the device, and the stroke counter may be incremented whenever actual data from the accelerometer matches that of the swing input profiles. Such systems do not account for practice swings typically taken before a shot, leading to wildly inaccurate scores unless reviewed after each hole. The necessity for this review largely eliminates the advantages of an automated scoring system, as the device must be retrieved and manipulated in order to make the corrections. Others have additionally incorporated a Global Positioning System (GPS) receiver that reports the coordinates of the location in which the device is placed. If a swing is detected within the same relative vicinity of GPS coordinates, then only the last one detected may be counted toward the score. This technique relied upon certain assumptions as to position and swing input that may not necessarily be true. One such situation could be bad first shot that requires restarting play from the tee but are nevertheless counted only as a first shot. Without additional user intervention, the score kept on the device is incorrect.
  • Accordingly, there is a need in the art for improved automated golf scoring. There is also a need for a more refined method for detecting golf swings based on sensor readings from a wearable device.
  • BRIEF SUMMARY
  • The present disclosure is directed to an automated golf scoring system using a combination of readings from various sensors to accurately count strokes. Generally, accelerometer data from a wearable device and location data from a mobile communication device, such as a smart phone, is utilized to assess which of possibly several accelerometer events should be deemed a shot. The need for manual intervention for scoring is minimized, while providing useful information regarding game progress to the player.
  • In accordance with one embodiment, there is a method for automated scoring in connection with a sensor unit wearable by the player and a data processing unit in communication therewith. The method may begin with receiving a measurement of a first swing motion by the player with an accelerometer of the sensor unit. The accelerometer may generate first acceleration data corresponding to the first swing motion. Additionally, the method may include detecting a resting state of the player with first speed data from a location positioner of the data processing unit. The first speed data may be less than a predetermined stationary speed threshold to detect the resting state of the player. There may also be a step of storing the first acceleration data for the first swing motion into a swing queue retained on the data processing unit when the resting state is detected. The method may further include a step of detecting a movement of the player with second speed data from the location positioner of the data processing unit. The second speed data may be greater the predetermined stationary speed threshold to detect the movement of the player. The method may also include incrementing a shot counter that is retained on the data processing unit upon detecting the movement of the player. This step may also depend on an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
  • Certain other embodiments of the present disclosure contemplate respective computer-readable program storage media that each tangibly embodies one or more programs of instructions executable by a data processing device to perform the foregoing method.
  • In yet another automated golf scoring system, there may be a sensor unit and a data processing unit. The sensor unit may include an accelerometer that measures a swing motion by a player and generates acceleration data corresponding thereto. The data processing unit may be in communication with the sensor unit and is receptive to the acceleration data. Furthermore, the data processing unit may have various modules, including a geographic locator module, a swing detection module, and a stroke counter module. The geographic locator module may output speed data corresponding to the player's movement. The swing detection module may cooperate with the geographic locator module and the sensor unit to store acceleration data into a swing queue when a resting state of the player is detected. The detection of the resting state may be based upon the speed data being less than a predetermined stationary speed threshold. The stroke counter module cooperates with the swing detection module and the geographic locator module. A shot counter that is retained on the data processing unit may be incremented by the stroke counter module when a movement of the player is detected while a most recently recorded acceleration data has a highest magnitude among other acceleration data in the swing queue.
  • The present disclosure will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other features and advantages of the various embodiments disclosed herein will be better understood with respect to the following description and drawings, in which:
  • FIG. 1 is a block diagram illustrating the components of an automated golf scoring system including a wearable sensor unit and a data processing unit;
  • FIG. 2 is a detailed block diagram of the automated golf scoring system and its constituent functional modules;
  • FIG. 3 is a flowchart illustrating one method for automated golf scoring in accordance with an embodiment of the present disclosure;
  • FIG. 4 is a plot of acceleration magnitude data as measured by an accelerometer of the wearable sensor unit;
  • FIG. 5 is a detailed flowchart illustrating one implementation of detecting player swings;
  • FIG. 6 is a detailed flowchart illustrating one implementation of counting a player stroke;
  • FIG. 7 is an example user interface on the data processing unit showing game play progress and counted strokes; and
  • FIG. 8 is an example user interface on the wearable sensor unit showing game play progress and counted strokes.
  • Common reference numerals are used throughout the drawings and the detailed description to indicate the same elements.
  • DETAILED DESCRIPTION
  • The detailed description set forth below in connection with the appended drawings is intended as a description of the presently preferred embodiments of automated golf scoring, and is not intended to represent the only form in which the presented embodiments may be developed or utilized. It is further understood that the use of relational terms such as first and second and the like are used solely to distinguish one from another entity without necessarily requiring or implying any actual such relationship or order between such entities.
  • Referring now to the block diagram of FIG. 1, an automated scoring system 10 for golf includes a wearable sensor unit 12 and a data processing unit 14. In general, the automated scoring system 10 is passive, in that no user intervention is necessary to keep score during play, thus reducing distractions and heightening enjoyment. The wearable sensor unit 12 is understood to be attachable to one of the limbs of the player, though in one preferred but optional embodiment, attachment to the wrist is contemplated. Other attachment points for the wearable sensor unit 12 are possible, but it will be recognized that because the most significant motion occurring during a golf stroke is in the arms regardless of the type of stroke being employed, sensors taking measurements thereof are likely to provide the most useful information. This is not intended to preclude other devices that attach to the pants or a belt and which may therefore be more proximal to the hips of the player, for example.
  • In accordance with one implementation, the wearable sensor unit 12 is a watch-type device that has an enclosure for its various functional components and a strap that is configured to wrap around the player's wrist. Furthermore, the wearable sensor unit 12 includes an accelerometer 16 that measures motion and generates a stream of acceleration/speed data. The watch form factor is envisioned as being better suited for golf. Once worn, little adjustment is necessary, and to the extent any manipulation of the inputs is required for making scoring adjustments, it is readily accessible.
  • Although it is possible to implement the functionality otherwise dedicated to the data processing unit 14 in the wearable sensor unit 12, for simplification purposes, they may be kept separate. To this end, the data stream from the accelerometer 16 is communicated to the data processing unit 14 over corresponding transceivers 18, 20. A wireless transmission modality is contemplated so that physical interference from cables is avoided during swings. The standard that presently has the most widely available and lowest cost components is understood to be Bluetooth, though any other suitable wireless communications may be substituted without departing from the scope of the present disclosure. In order to conserve electrical power, a low energy variant (Bluetooth LE) may also be utilized.
  • The functioning of the accelerometer 16 and the transceiver 18 may be managed by a processor 22, which is understood to be a conventional data processing device that executes pre-programmed instructions based on certain inputs to generate outputs in response. Such instructions, along with other data, may be stored in a memory 24. Various embodiments of the present disclosure contemplate additional input and output functionalities that go beyond simple reporting of acceleration/speed data, so the wearable sensor unit 12 may further include one or more input devices 26 and one or more output devices 28. In the context of a watch-type unit, the input devices 26 may be buttons accessible from the side of the bezel, and the output device 28 may be a display screen (liquid crystal or otherwise) that constitutes the front face of the bezel. Other input and output devices are possible, and the foregoing enumeration of components is intended to be exemplary and not limiting.
  • There are several existing health and activity monitoring wearable devices that have the aforementioned features, and could be incorporated into the presently contemplated automated scoring system 10. These include open platforms such as Metawatch or Pebble, or could be custom developed specifically for golf scoring.
  • The data processing unit 14 may be a widely owned mobile communications device such as a smartphone. A foundational aspect of such mobile communications devices is to place and receive telephone calls over a cellular network, but conventional smartphones are capable of running a variety of software applications including those that embody the contemplated methods of automated golf scoring and perform the various steps thereof. In this regard, the data processing unit 14 has a processor 30, much like the processor 22 of the wearable sensor unit 12 that executes pre-programmed instructions. Similarly, there is a memory 32 for storing these instructions and other data. On a very general level, the particular operands and execution sequence of the instructions may be governed by various input parameters provided from input devices 34, while the results of executing the instructions may be shown on an output device 36. In some variations of the data processing unit, the input device 34 and the output device 36 may be a combined touch screen display 38, though it is possible to have separate input devices such as keypads, buttons, and slide switches.
  • Every functional aspect of data processing unit 14 may be managed to one degree or another by the processor 30. Thus, also connected to the central processing unit is the aforementioned transceiver 18. In addition to the Bluetooth LE modality, the transceiver 20 may implement other communications modalities such as different generations of GSM (Global System for Mobile Communications), EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access) and others. Still further, local area wireless networking technologies such as IEEE 802.11x (WiFi) may also be implemented by the transceiver 20. Using one or more of these communications modalities, the data processing unit 14 may connect to wide area networks such as the Internet 40 to access various online services 42.
  • The general purpose nature of the processor 30 permits a variety of third party applications or “apps” to be run, performing various computing tasks that require functionality going beyond the typical default features of the data processing unit 14. Because smartphones are taken everywhere the user goes, much of application development has focused on location-based enhancements. Accordingly, the data processing unit 14 includes a locator 44, which is understood to be a Global Positioning System (GPS) receiver that outputs coordinate values corresponding to the current device position as reported by signals 46 from a network of GPS satellites 48. It will be recognized that from multiple position readings over time, bearing, speed, and acceleration may be ascertained. Various embodiments of the present disclosure contemplate the use of such location data to ascertain player strokes, the details of which will be considered more fully below. In addition to the enumerated components, the data processing unit 14 may also have other components 50 such as a digital camera capable of recording still images, as well as video in conjunction with the audio input device.
  • One embodiment of the present disclosure contemplates a system comprised of various functional components or modules, while another embodiment contemplates a method. The segregation of these modules is presented by way of example only and not of limitation, and those having ordinary skill in the art will recognize the numerous possible ways in which different functions can be associated with different modules. The following example is but one implementation. Moreover, the method may be implemented as a series of instructions executed by the processor 30 of the data processing unit 14. In so implementing the method, the application may be developed as a set of cooperating modules.
  • Again, with reference to the block diagram of FIG. 2 that illustrates these modules, the system includes the wearable sensor unit 12 with the accelerometer 16 that measures a swing motion by the player. Acceleration data corresponding to that swing motion is generated, and transmitted to the data processing unit 14. As indicated above, the data processing unit 14 is in communication with the wearable sensor unit 12 and is receptive to the acceleration data. The additional details of the modules will be described in relation to the functions performed, but as an overview, the data processing unit includes a geographic locator module 52, a swing detection module 54, and a stroke counter module 56, among others.
  • Referring now to the flowchart of FIG. 3, the method for automated golf scoring begins with a step 300 of receiving a measurement of a first swing motion by the player. This measurement is made by the accelerometer 16 of the wearable sensor unit 12, and generates first acceleration data that corresponds to the first swing motion. It is understood that the accelerometer 16 measures motion/acceleration along the x, y, and z axes, and the acceleration data is given for each.
  • The graph of FIG. 4 is a plot 59 of the combined magnitude values of acceleration data over an example time period t1 to t2, along with a plot 61 of speed data over the same time period. Predictable acceleration and speed/distance trends are expressly contemplated as a basis for determining a played stroke. As shown, a constant stream of data is generated and is being transmitted to the data processing unit 14. There is a noise threshold level 58 that is inherent in all accelerometers, below which the readings are not deemed significant. To improve detection of swings, the acceleration data may be filtered to exclude expected noise before further processing.
  • There are a few moderate spikes in magnitude that represent some movement by the player beyond the noise threshold level 58, and there are several significant spikes 60, 62, 64, and 66, that may correspond to actual swings. More particularly, a swing is characterized by a material acceleration while at rest, followed by an increase in speed/distance while acceleration normalizes to baseline. In particular, the spikes 60, 62, and 64 may be practice swings, while the last spike 66 may be the actual swing. By historically viewing the plot as shown, it is easy to ascertain the last spike 66 as the actual swing. However, in reviewing the acceleration data in real-time, it is difficult to determine whether the most recent spike was the actual swing, as additional spikes may be forthcoming.
  • The present disclosure contemplates the use of additional time-correlated data to count golf swings, and this may be achieved by detecting the resting state of the player in accordance with a step 302. Broadly, when the actor is resting and the received acceleration data conforms to a predetermined profile of a swing, it is counted or recorded as such. In one embodiment, the resting state is detected based upon the speed data as reported by the geographic locator module 52 being less than a predetermined stationary speed threshold. As utilized herein, “less than” is also intended to encompass “less than or equal to.” Alternatively, the resting state can be detected based upon the position data as reported by geographic locator module 52, and more particularly, the coordinates as output by the locator 44. Multiple position readings are evaluated, and if, over time, the indicated positions are within a predetermined stationary distance threshold, then the player is deemed to be in a resting state. Like the data from the accelerometer 16, it is understood that there will be some degree of deviation from one position reading or another, even when stationary.
  • When the resting state and the acceleration data conforms to that of a swing per the foregoing, the method continues with a step 304 of storing the received first acceleration data into a swing queue 68 that is managed by the swing detection module 54. The swing queue 68 may be implemented in a variety of different ways, but in its simplest form, it is understood to be a reserved area of the memory 32 on which values can be stored and indexed for subsequent retrieval.
  • The part of the automated scoring method involving the detection of swings as generally described above may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 5. This may also be referred to as a swing analysis process that involves the detection of acceleration events of interest while the player is in a resting state. To the extent there are any as evaluated according to the following conditions, the data is understood to be queued for use by the stroke counting module. The acceleration data stored in the swing queue 68 may be deemed invalid and subject to disposal when certain expiration and/or timeout criteria are met. The entry point is the receipt of an accelerometer event per step 500. Next, the x, y, and z axis values are summed into a single magnitude value according to step 502.
  • This magnitude value serves as the basis for conditional block 504, which involves a comparison to a swing threshold value. In accordance with various embodiments of the present disclosure, the swing threshold value may be variable, and depend on the specific location on the course that is being reported by the geographic locator module 52. The reported location, in turn, may be compared against a map of the course, referred to herein as course data, which defines specific areas of each hole, including locations of the teeing grounds, hazards, fairway, and the green, for example. The swing threshold may be adjusted lower when the reported location is on the green, while adjusted higher when the reported location is on the teeing grounds. Further still, the swing threshold may be adjusted to some intermediate value when the reported location is on the fairway. Although such embodiment contemplates specific thresholds to be set depending on whether the reported location is within certain pre-defined bounded regions of the course, it is also possible to adjust this value based on the relative distance to the hole. The adjustment may be on a sliding distance scale. For example, a player positioned within several feet of the hole may involve a lower threshold than a player positioned on the outer limits of the green. Moreover, a player shooting the first or second stroke on the fairway may be further away (and hence involving a faster swing) than a player shooting the third or fourth stroke also on the fairway. The alternative embodiment in which the threshold is dynamically adjusted according to the distance from the hole is understood to account for this variability. The degree of adjustment necessary to account for differences in the expected acceleration data is readily ascertainable by those having ordinary skill in the art.
  • Continuing with the decision block 504, if the calculated magnitude value does not exceed the swing threshold value, the logic flow proceeds to a conditional block 506 to determine whether acceleration is currently being monitored. If not, the logic flow returns to the entry point until another acceleration event is detected in accordance with step 500. Otherwise, program execution continues to yet another conditional block 508 to determine whether a timeout period has expired. If not, like the previous conditional block 506, the logic flow returns to the entry point according to step 500. If the timeout period has now expired, monitoring for acceleration is stopped, and the swing queue 68 is reset in step 510. Thereafter, the program returns to wait for the detection of another acceleration event in step 500.
  • If the aforementioned summed acceleration data or magnitude value is greater than the predetermined swing threshold as determined in conditional block 504, logic flow continues to another conditional block 512 to determine whether the player is in a resting state. Again, this determination may involve the comparison of instantaneous speed data from the locator 44, or of two or more location coordinate values from the locator 44, and so long as such values are within a predetermined speed or distance threshold, the data processing unit 14 and hence the player is assumed to be stationary. Those having ordinary skill in the art will recognize that there are other possible techniques to ascertain movement to a greater degree of accuracy, and such techniques may be readily incorporated into the automated scoring system 10. If the player is not determined to be at rest, then the program returns to wait for the detection of another acceleration event in step 500. If the player is in the resting state, execution continues with step 514 of queuing the player location, i.e., storing the location value in the swing queue 68.
  • The latest captured acceleration data is compared against other acceleration data stored in the swing queue 68 in conditional block 516. If the last captured acceleration data has the highest magnitude, it is stored in the swing queue 68 according to step 518. It is possible to store only the acceleration data with the highest magnitude at any given time, with the latest captured acceleration data replacing the one previously with the highest magnitude. Alternatively, it is possible to store all received acceleration data that is time-indexed. Swing detection may be repeated to the extent there are other accelerometer events received according to step 500.
  • If the latest captured acceleration data does not have the highest magnitude, program flow proceeds to conditional block 520, in which it is determined whether acceleration is being monitored or not. If it is not, in step 522 the monitoring is started. Thereafter, a swing counter is incremented per step 524. The program flow then waits for another acceleration event in step 500.
  • Thus, the swing detection module 54 cooperates with the geographic locator module 52 and the wearable sensor unit 12 to determine a swing by the player. Acceleration data corresponding to the swing is stored in the swing queue 68 when it coincides with the resting state of the player. Again, as indicated above, this resting state is determined based upon the position data from two instances in time within a timeout period that are sufficiently proximal to each other to constitute a stationary state.
  • With reference again to the flowchart of FIG. 3, the method for automated golf scoring continues with step 306 of detecting a movement of the player. This may be based upon second speed data or, alternatively, second position data, both or either of which may be reported by the geographic locator module 52. In contrast with the detecting of the resting state as discussed above, detecting the movement is based upon either the second speed data being greater than the stationary speed threshold, or two or more readings of the second position data being outside the stationary position threshold, i.e., when the location readings differ from one time instant to another by more than a threshold amount, it is determined that the player is moving. As utilized herein, “greater than” is intended to encompass “greater than or equal to,” as well. When movement is detected, the method continues with step 308 of incrementing a shot counter that is retained on the data processing unit 14, so long as the latest acceleration data stored in the swing queue 68 has the highest magnitude. In the alternative embodiment in which only the highest magnitude acceleration data is stored in the swing queue 68, the existence of a value therein may be the second condition for incrementing the shot counter (in addition to detecting the movement of the player). As indicated above, it is possible for there to be no data in the swing queue 68 when a timeout occurs and the swing queue 68 is reset.
  • The part of the automated scoring method involving the counting of strokes as generally described above, including steps 306 and 308, may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 6. This may also be referred to as a stroke counting process that analyzes motion when valid data is queued by the swing analysis process. If the proper criteria are met, the queued values are stored in memory and used to increment the player's score.
  • An entry point 600 is the stroke counter module 56 being in a recording state. There are a series of chained condition blocks that evaluate various data and perform different steps depending on the outcome. A first condition block 602 involves the determination of whether acceleration is currently being monitored. As indicated above, monitoring can be initiated when the latest captured acceleration data is the maximum in the swing queue 68, and stopped when a timeout period has expired. If monitoring is ongoing, execution of the programmed logic continues to a state 603 in which no further action is taken until monitoring is stopped. Otherwise, there is a second condition block 604 to determine whether there is there are any acceleration data and location data that has been recorded. Referring back to the flowchart of FIG. 5, acceleration data and location is stored in the swing queue 68 when the latest captured acceleration data has the highest magnitude, and the player was at rest when it was captured. As shown in the flowchart of FIG. 6, if the swing queue 68 was reset following the expiration of the timeout as evaluated in condition block 508, per state 605, there is no queued data to process, and execution returns to wait until a recording state can be resumed at entry point 600.
  • The expiration of the timeout is evaluated again in conditional block 606. If expired, as per state 607, it is understood to be outside the evaluation window. To the extent there were any values in the swing queue 68, they are discarded as stale. If it is still within the evaluation window, the next chained conditional block 608 involves an evaluation of whether the player speed is greater than a predetermined speed threshold. This evaluation and subsequent steps are based upon the assumption that following an actual stroke by the player, the player will begin moving away from where the stroke was taken, whether that be away from the teeing grounds and waiting to allow the next player to take a shot, or toward the next play position on the course. The determination of speed in the conditional block 608 may rely upon the location data as reported by the geographic locator module 52 in the same manner as discussed above in relation to a determination of the player's resting state, i.e., calculating a difference in positions over a set time period. If the player is not moving or not moving enough per state 609, execution returns to the entry point 600.
  • If the conditional block 608 is evaluated to determine that the player is moving, execution continues to step 610 of incrementing the shot counter, and storing the acceleration data into a stroke log. Also stored in the stroke log and associated with the acceleration data is the corresponding location data from when that acceleration was measured. The swing queues 68, along with other internal counters are reset in step 612.
  • Again, the aforementioned functions are understood to be implemented by the stroke counter module 56. Furthermore, these functions are achieved in cooperation with the swing detection module 54 and the geographic locator module 52. The shot counter is incremented by the stroke counter module 56 when a movement of the player is detected in conjunction with the acceleration data that exceeds the swing threshold and is the maximum amongst others that may have been previously detected.
  • Still referring to the flowchart of FIG. 6, the score display is updated in step 614. As shown in the block diagram of FIG, 2, the data processing unit 14 may further include an output module 70 for performing this step. One contemplated output may be on the data processing unit 14, and specifically on the touch display screen 38 thereof. An exemplary user interface 71 for the automated golf scoring apparatus is shown in FIG. 7. The data from the shot counter, i.e., the number of strokes counted for the current hole being played, is centrally displayed in a stroke display section 72. In case there is a need for the player to manually adjust the stroke count, the interface includes a stroke increment button 74 and a stroke decrement button 76. Notwithstanding the availability of these manual score adjustment interface elements, it is expressly contemplated that the automated scoring system 10 requires no user intervention, and the data processing unit 14 may be kept in the pocket of the player or other non-intrusive place.
  • As discussed above, each stroke is associated with a specific location, and the location at any given point during play is available from the geographic locator module 52. Accordingly, it is possible to present a wide variety of useful information about the course and/or the particular hole being played on the user interface 71. In particular, there is a hole indicator 78 that also displays the total yardage from the tee to the hole. The example of FIG. 7 shows that the player is currently playing hole 6, which has a distance of 479 yards. Furthermore, there is a par indicator 80 that also includes a display of the course handicap. A graphical overview 82 of the entire playing area of the hole is also presented, with various stroke indicators 84 being placed thereon corresponding to the locations of recorded strokes. The progression of gameplay may also be visualized in a scoring table 86, which lists each hole and its par in a first row 86 a and the total recorded strokes for each hole in a second row 86 b. The configuration of the user interface 71 is presented by way of example only and not of limitation. Those having ordinary skill in the art will recognized alternative layouts and different information that could be presented to the player without departing from the scope of the present disclosure.
  • According to another embodiment, the automated scoring system 10 may transmit the stroke count and other information to the wearable sensor unit 12 for display on the output device 28. A more condensed view in comparison to the view on the data processing unit 14 is contemplated, as shown in FIG. 8. There is a similar hole indicator 88 that shows the current hole being played along with its designated par number. A course distance indicator 90 shows the distance to various points of interest from the current location. Furthermore, there is a stroke display section 92 that shows the same information as the stroke display section 72 on the user interface 71 of the data processing unit 14. It is possible to increment and decrement the recorded number of strokes from the wearable sensor unit 12, and if there is a touch display screen, tapping or otherwise interacting with the increment icon 94 and the decrement icon 96 may be operative to adjust the score. Alternatively, the wearable sensor unit 12 may include buttons that are positioned along the same vicinity as the icons 94, 96, and activation of the buttons may be operative to adjust the score. The interface of the wearable sensor unit 12 has also been presented by way of example only and not of limitation.
  • Aside from the two kinds of outputs discussed above, it is also possible for the output module 70 to upload the score data to the aforementioned online services 42 for sharing with others. For example, one of the online services 42 could be a social networking site, and whenever certain achievement objectives are met, that could be announced thereon. Further competitive elements based on the recorded scores are also possible, such as challenges among players worldwide and so forth. Additionally, because each stroke is geocoded, different post-hoc visualizations of gameplay is possible.
  • The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the disclosure only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of automated golf scoring. In this regard, no attempt is made to show details with more particularity than is necessary for the fundamental understanding of the present disclosure, the description taken with the drawings making apparent to those skilled in the art how the several forms of the present disclosure may be embodied in practice.

Claims (27)

What is claimed is:
1. A method for automated golf scoring with a data processing unit in communication with a sensor unit wearable by a player, the method comprising the steps of:
receiving a measurement of a first swing motion by the player with an accelerometer of the sensor unit, the accelerometer generating first acceleration data corresponding to the first swing motion;
detecting a resting state of the player with first speed data from a location positioner of the data processing unit, the first speed data being lower than a predetermined stationary speed threshold to detect the resting state of the player;
storing the first acceleration data for the first swing motion into a swing queue retained on the data processing unit when the resting state is detected;
detecting a movement of the player with second speed data from the location positioner of the data processing unit, the second speed data being greater than the predetermined stationary speed threshold to detect the movement of the player; and
incrementing a shot counter retained on the data processing unit upon the detecting of the movement of the player and an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
2. The method of claim 1, wherein the first speed data and the second speed data is an instantaneous value generated by the location positioner of the data processing unit.
3. The method of claim 1, wherein:
the first speed data is derived from a first set of position data including geo-location coordinate values measured at predetermined time intervals;
the second speed data is derived from a second set of position data including geo-location coordinate values measured at the predetermined time intervals;
the predetermined stationary speed threshold corresponding to a distance between geo-location coordinate values at the predetermined time intervals.
4. The method of claim 1, further comprising:
removing the first acceleration data from the swing queue upon expiration of a timeout period.
5. The method of claim 1, further comprising:
receiving a measurement of a second swing motion by the player with the accelerometer, the accelerometer generating a second acceleration data corresponding to the second swing motion.
6. The method of claim 5, further comprising:
storing the second acceleration data for the second swing motion into the swing queue when the resting state is detected and the second acceleration data has a higher magnitude than the first acceleration data in the swing queue.
7. The method of claim 6, wherein the first swing motion and the second swing motion are measured within a timeout period.
8. The method of claim 6, further comprising:
incrementing the shot counter upon detection of the movement of the player and an evaluation of the second acceleration data in the swing queue having a higher magnitude than the first acceleration data in the swing queue.
9. The method of claim 1, wherein the first acceleration data is stored in the swing queue if the first acceleration data is evaluated as having a magnitude higher than a predetermined magnitude threshold.
10. The method of claim 9, wherein the predetermined magnitude threshold is variable.
11. The method of claim 10, wherein:
the predetermined magnitude threshold is based upon a comparison of a player location from the position data to course data.
12. The method of claim 11, wherein the course data includes a first set of location coordinates corresponding to a teeing ground of a course hole, second sets of location coordinates corresponding to a green of a course hole, and third sets of location coordinates corresponding to a fairway of a course hole.
13. The method of claim 12, wherein the predetermined magnitude is reduced for the player location being within a set vicinity of the green of the course hole.
14. The method of claim 12, wherein the predetermined magnitude is increased for the player location being within a set vicinity of the teeing ground of the course hole.
15. The method of claim 10, wherein the predetermined magnitude threshold is based upon an evaluation of a player location from the position data along a sliding distance scale to a course hole.
16. The method of claim 1, further comprising:
storing in a stroke log the first acceleration data for the first swing motion;
storing in the stroke log position data corresponding in time with the first acceleration data; and
associating the position data to the first acceleration data.
17. The method of claim 1, further comprising:
generating a score output on a display device of the data processing unit, the score output corresponding to a value of the shot counter.
18. The method of claim 1, further comprising:
transmitting a score count to the sensor unit; and
generating a score output on a display device of the sensor unit, the score output corresponding to the score count.
19. The method of claim 1, wherein the accelerometer measures the movement in x, y, and z axes.
20. The method of claim 19, wherein the first acceleration data is a summed magnitude of the accelerometer measurements in the x, y, and z axes.
21. The method of claim 1, wherein the sensor unit and the data processing unit communicate wirelessly.
22. An article of manufacture comprising a non-transitory program storage medium readable by a user computing device, the medium tangibly embodying one or more programs of instructions executable by the user computing device to perform an automated golf scoring method comprising:
receiving on the user computing device a measurement of a first swing motion by the player with an accelerometer of a sensor unit wearable by the player and in communication with the user computing device, the accelerometer generating first acceleration data corresponding to the first swing motion;
detecting a resting state of the player with first speed data from a location positioner of the user computing device, the first speed data being lower than a predetermined stationary speed threshold to detect the resting state of the player;
storing the first acceleration data for the first swing motion into a swing queue retained on the user computing device when the resting state is detected;
detecting a movement of the player with second speed data from the location positioner of the user computing device, the second speed data being greater than the predetermined stationary speed threshold to detect the movement of the player; and
incrementing a shot counter retained on the user computing device upon the detecting of the movement of the player and an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
23. An automated golf scoring system, comprising:
a sensor unit including an accelerometer measuring a swing motion by a player and generating acceleration data corresponding thereto;
a data processing unit in communication with the sensor unit and receptive to the acceleration data, the data processing unit including:
a geographic locator module outputting speed data corresponding to a current movement of the player;
a swing detection module cooperating with the geographic locator module and the sensor unit to store acceleration data into a swing queue when a resting state of the player is detected based upon the speed data being less than a predetermined stationary speed threshold;
a stroke counter module cooperating with the swing detection module and the geographic locator module, a shot counter retained on the data processing unit being incremented by the stroke counter module when a movement of the player is detected while a most recently recorded acceleration data has a highest magnitude among other acceleration data in the swing queue.
24. The system of claim 23, wherein the sensor unit and the data processing unit each include respective transceiver modules, the acceleration data being transmitted by the transceiver module of the sensor unit and received by the transceiver module of the data processing unit.
25. The system of claim 23, wherein:
the sensor unit is wearable on a wrist of the player; and
the data processing unit is a mobile communications device.
26. The system of claim 23, wherein the geographic locator module includes a global positioning system (GPS) receiver.
27. The system of claim 23, wherein:
the geographic locator module outputs position data corresponding to a current geographic location; and
the resting state of the player is detected based upon the position data inside a predetermined timeout period being within a predetermined distance threshold;
US13/950,682 2013-07-25 2013-07-25 Automated golf scoring Abandoned US20150032237A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/950,682 US20150032237A1 (en) 2013-07-25 2013-07-25 Automated golf scoring

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/950,682 US20150032237A1 (en) 2013-07-25 2013-07-25 Automated golf scoring

Publications (1)

Publication Number Publication Date
US20150032237A1 true US20150032237A1 (en) 2015-01-29

Family

ID=52391135

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/950,682 Abandoned US20150032237A1 (en) 2013-07-25 2013-07-25 Automated golf scoring

Country Status (1)

Country Link
US (1) US20150032237A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160045784A1 (en) * 2013-03-28 2016-02-18 Ds Tek Inc. Wristwatch-type swing measurement device with acceleration sensor and automatic drive method using characteristic motion extraction by same
US20160354671A1 (en) * 2015-06-08 2016-12-08 Microsoft Technology Licensing, Llc Golf shot detection
US9801202B2 (en) * 2015-09-14 2017-10-24 Uber Technologies, Inc. Bluetooth device and data scheduler
WO2021081223A1 (en) * 2019-10-22 2021-04-29 Par Points Golf, LLC System of and method for scoring golf

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046888A2 (en) * 1996-06-05 1997-12-11 Casio Computer Co., Ltd. Movement measuring device, electronic game machine including movement measuring device, and method of playing game machine
US20100144455A1 (en) * 2008-10-10 2010-06-10 Frank Ahern Device and system for obtaining, analyzing, and displaying information related to a golfer's game play in real-time
US7771263B2 (en) * 2004-09-09 2010-08-10 Telford Golf Enterprises, LLC Portable swing speed analyzer
US20120088544A1 (en) * 2010-08-26 2012-04-12 Michael Bentley Portable wireless mobile device motion capture data mining system and method
US20130095939A1 (en) * 2009-11-06 2013-04-18 Skyhawke Technologies, Llc. Golf shot tracking system
US20130128022A1 (en) * 2010-08-26 2013-05-23 Blast Motion, Inc. Intelligent motion capture element
US20140179455A1 (en) * 2012-12-21 2014-06-26 Uwe Richter System, Method And Apparatus For Capturing And Training A Swing Movement Of A Club
US20140219498A1 (en) * 2013-02-07 2014-08-07 Zheng Han Data acquisition method and device for motion recognition, motion recognition system and computer readable storage medium
US20140277630A1 (en) * 2013-03-15 2014-09-18 Skyhawke Technologies, Llc. Device and method for calculating golf statistics
US20150019135A1 (en) * 2013-06-03 2015-01-15 Mc10, Inc. Motion sensor and analysis
US20150196822A1 (en) * 2013-12-19 2015-07-16 Caddieon Inc. Precision golf course map

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046888A2 (en) * 1996-06-05 1997-12-11 Casio Computer Co., Ltd. Movement measuring device, electronic game machine including movement measuring device, and method of playing game machine
US7771263B2 (en) * 2004-09-09 2010-08-10 Telford Golf Enterprises, LLC Portable swing speed analyzer
US20100144455A1 (en) * 2008-10-10 2010-06-10 Frank Ahern Device and system for obtaining, analyzing, and displaying information related to a golfer's game play in real-time
US20130095939A1 (en) * 2009-11-06 2013-04-18 Skyhawke Technologies, Llc. Golf shot tracking system
US20120088544A1 (en) * 2010-08-26 2012-04-12 Michael Bentley Portable wireless mobile device motion capture data mining system and method
US20130128022A1 (en) * 2010-08-26 2013-05-23 Blast Motion, Inc. Intelligent motion capture element
US20140179455A1 (en) * 2012-12-21 2014-06-26 Uwe Richter System, Method And Apparatus For Capturing And Training A Swing Movement Of A Club
US20140219498A1 (en) * 2013-02-07 2014-08-07 Zheng Han Data acquisition method and device for motion recognition, motion recognition system and computer readable storage medium
US20140277630A1 (en) * 2013-03-15 2014-09-18 Skyhawke Technologies, Llc. Device and method for calculating golf statistics
US20150019135A1 (en) * 2013-06-03 2015-01-15 Mc10, Inc. Motion sensor and analysis
US20150196822A1 (en) * 2013-12-19 2015-07-16 Caddieon Inc. Precision golf course map

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160045784A1 (en) * 2013-03-28 2016-02-18 Ds Tek Inc. Wristwatch-type swing measurement device with acceleration sensor and automatic drive method using characteristic motion extraction by same
US20160354671A1 (en) * 2015-06-08 2016-12-08 Microsoft Technology Licensing, Llc Golf shot detection
WO2016200547A1 (en) * 2015-06-08 2016-12-15 Microsoft Technology Licensing, Llc Golf shot detection
US10021527B2 (en) * 2015-06-08 2018-07-10 Microsoft Technology Licensing, Llc GPS sensor control
US10097961B2 (en) * 2015-06-08 2018-10-09 Microsoft Technology Licensing, Llc Golf shot detection
US9801202B2 (en) * 2015-09-14 2017-10-24 Uber Technologies, Inc. Bluetooth device and data scheduler
US10057914B2 (en) 2015-09-14 2018-08-21 Uber Technologies, Inc. Bluetooth device and data scheduler
WO2021081223A1 (en) * 2019-10-22 2021-04-29 Par Points Golf, LLC System of and method for scoring golf
US11554308B2 (en) 2019-10-22 2023-01-17 Par Points Golf, LLC System of and method for scoring golf
US12427396B2 (en) 2019-10-22 2025-09-30 Par Points Golf, LLC System of and method for scoring golf

Similar Documents

Publication Publication Date Title
US20220134208A1 (en) System, method, and apparatus for monitoring sporting apparatus and users thereof
US20230178208A1 (en) Sessions and Groups
US10121065B2 (en) Athletic attribute determinations from image data
US11065524B2 (en) Systems, methods, and articles of manufacture to measure, analyze and share golf swing and ball motion characteristics
US11263919B2 (en) Feedback signals from image data of athletic performance
US8968100B2 (en) Sports training apparatus and method
KR101954042B1 (en) Flight time
US8137208B2 (en) Automatic real-time game scoring device and golf club swing analyzer
US12290738B2 (en) Method and electronic device for identifying golf swings and tracking statistics during a golf round
JP6362701B2 (en) Athletic activity sessions and groups
US10232225B1 (en) Systems and methods for obtaining sports-related data
US20150057942A1 (en) Energy Expenditure Device
US20050227791A1 (en) Virtual caddy system and method
US20200276488A1 (en) Systems, methods, and articles of manufacture to measure, analyze and share golf swing and ball motion characteristics
US20210228943A1 (en) Skill level determination and management system and method
US20150032237A1 (en) Automated golf scoring
CN115068918A (en) Win-or-loss judgment method and device for batting, wearable device and storage medium
US20240157202A1 (en) Method and smart ball for generating an audio feedback for a user interacting with the smart ball

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE ACTIVE NETWORK, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROEBKE, MARK;REEL/FRAME:030876/0845

Effective date: 20130711

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO

Free format text: NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS;ASSIGNOR:THE ACTIVE NETWORK, INC.;REEL/FRAME:031058/0355

Effective date: 20111216

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, CALIFO

Free format text: FIRST LIEN SECURITY AGREEMENT;ASSIGNOR:THE ACTIVE NETWORK INC.;REEL/FRAME:031645/0514

Effective date: 20131115

Owner name: THE ACTIVE NETWORK, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:031646/0745

Effective date: 20131115

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, CALIFO

Free format text: SECOND LIEN SECURITY AGREEMENT;ASSIGNOR:THE ACTIVE NETWORK INC.;REEL/FRAME:031664/0835

Effective date: 20131115

AS Assignment

Owner name: ACTIVE NETWORK, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE ACTIVE NETWORK, INC.;REEL/FRAME:032803/0562

Effective date: 20140430

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: LANYON, INC., TEXAS

Free format text: RELEASE OF FIRST LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040978/0461

Effective date: 20161129

Owner name: LANYON SOLUTIONS, INC.(F/K/A THE ACTIVE NETWORK, I

Free format text: RELEASE OF FIRST LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040978/0461

Effective date: 20161129

AS Assignment

Owner name: LANYON, INC., TEXAS

Free format text: RELEASE OF SECOND LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040546/0816

Effective date: 20161129

Owner name: LANYON SOLUTIONS, INC. (F/K/A THE ACTIVE NETWORK,

Free format text: RELEASE OF SECOND LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040546/0816

Effective date: 20161129