System and method for estimating final rest position of a golf ball
The system uses predictive analytics with detailed environmental and ball data to accurately forecast the bounce, roll, and final rest position of a golf ball on a course, addressing the need for precise ball location prediction in tournaments.
Patent Information
- Application Number
- JP2025531142
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-25
- Filing Date
- 2023-11-28
- Publication Date
- 2025-12-05
AI Technical Summary
Existing technologies lack accurate methods for predicting the bounce and roll behavior and final rest position of a golf ball on a golf course, particularly during tournaments, where precise ball location data is crucial for analysis and fan engagement.
A system utilizing predictive analytics with a predictive model that incorporates metadata about the ball's physical properties and the course environment, including detailed surface models and historical shot data, to forecast the ball's bounce and roll behavior and final rest position, using technologies like lidar and photogrammetry for accurate mapping and environmental sensors for real-time data.
Enhances the accuracy of predicting the ball's movement and final position, allowing for improved analysis and fan engagement by providing reliable predictions based on real-world conditions and continuous model updates.
Smart Images

Figure 2025539419000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to prediction of the bounce and roll behavior and position of a golf ball on a golf course or surrounding area, and methods of predictive modeling thereof. [Background technology]
[0002] The PGA Tour now meticulously tracks the ball's location on every shot. For example, before every PGA Tour event, it maps each golf course and creates a digital image of each hole. This image is used as background information to calculate the exact location and distance between any two coordinates, such as the tee box and the player's first shot, or the shot's location and the hole's location. By combining mapping data with the ShotLink system, the PGA Tour collects the location and scores of every ball on every shot in every round. Using lasers installed around the course, laser operators obtain the location coordinates corresponding to each stationary ball. Alternatively, operators can visually identify stationary balls and plot their locations on a map to obtain their location coordinates. The tournament data provided by the ShotLink system has proven invaluable to fans and players alike.
[0003] What is needed is improved technology for determining ball location during tournaments. Summary of the Invention
[0004] In one aspect, a system for determining a golf ball's final rest position utilizes predictive analytics with a predictive model incorporating measured metadata about the ball's physical properties and the course environment to predict the ball's bounce and roll behavior after impact and / or its final rest position. The predictive model takes measured ball impact physics, impact coordinates, and material properties of the ground or object to which the impact coordinates correspond, along with past shot data corresponding to the impact coordinates or containment zone, and can predict the bounce and roll behavior and / or final rest position. Thus, the predictive model can incorporate the ball's bounce and roll behavior using surface properties from the location of initial impact, and in some embodiments, from subsequent impact locations, to predict its final rest position. In various embodiments, rather than using a computer-generated version of the course, the system uses detailed map data including measured surface models that specify the ground and object topography of the land, including the golf course and its surrounding areas where the ball may enter during play. The surface model can include a three-dimensional coordinate model, which can include a digital surface model measured by lidar, photogrammetry, radar, or other suitable technology.
[0005] In further embodiments, the surface model can include detailed mapping of an area, including every or nearly every feature within the land, such as underlying ground materials, turf, turf types, trees, shrubs, and other vegetation, and surface modeling with one-inch accuracy. The map data used to create the detailed map can be collected using technologies such as lidar, laser, and photogrammetry carried by remotely piloted aircraft and other aircraft, as well as walker or robotic ground equipment. Specific or general zones may be identified within the map as needed, such as greens, fringes, fairways, primary rough, secondary rough, or other zones. The zones can be used to generate predictions regarding expected collision zones, resting positions, and the like.
[0006] In one embodiment, the system includes or has access to a shot history database that maintains an archive of shot-based historical data indicating the behavior and location of shots in tournament golf, providing a historical record of shot behavior by various players in various conditions that can be used as a template for predicting future shots based on physical properties and random variables such as wind direction, speed and variance, temperature, pressure, etc.
[0007] In some embodiments, detailed data at multiple levels of a golf course during play can be collected by an environmental sensor array to track changing weather and other environmental conditions. Shot data can be tagged with the weather and environmental conditions and stored in a historical shot database for use in modeling shot behavior and other physics in natural conditions in current or future tournaments.
[0008] In one embodiment, a coordinate prediction model is utilized, which includes a routine that first predicts the ball's initial impact location (e.g., impact coordinates) using a flight simulator that generates a polynomial estimate of the golf ball's flight path measured by radar, lidar, camera, or other information source. From there, a physics simulator including the predictive model is used to predict the ball's bounce and roll behavior from the impact location. The predictive model can incorporate previously collected detailed mapping data indicating the locations of natural features and man-made elements such as hospitality areas, camera towers, and other obstacles to predict the ball's final resting location (e.g., resting coordinates). To improve the physics modeling of the bounce and roll, a shot history sliding window can be used to identify the optimal physics modeling for the next stroke. A filter can be provided to remove outlier data from the history analysis. To determine the reliability of the zones and predicted locations, the ball's predicted stopping location can be analyzed to determine its proximity to other zones. The absence of other zones near the predicted stopping location results in a high degree of confidence. [Brief explanation of the drawings]
[0009] The novel features of the described embodiments are set forth with particularity in the appended claims, however, the organization and method of operation of the described embodiments can best be understood by referring to the following description taken in conjunction with the accompanying drawings. [Figure 1] 1 illustrates an example system configured to predict a final rest position in accordance with various embodiments described herein. [Figure 2] 1 illustrates a zone designation for a portion of a hole and surrounding area in accordance with various embodiments described herein. [Figure 3] 10 illustrates operations for determining a final impact location in accordance with various embodiments described herein. [Figure 4] 10 illustrates operations for determining a final impact location in accordance with various embodiments described herein. [Figure 5]1 illustrates operations for updating a predictive model in accordance with various embodiments described herein. [Figure 6] 10 illustrates operations for determining a final impact location in accordance with various embodiments described herein. [Figure 7] 10 illustrates operations for generating zone probabilities in accordance with various embodiments described herein. [Figure 8] FIG. 1 is a schematic diagram of a machine in the form of a computer system that, when executed, has a set of instructions that can perform simulation modeling to generate predicted outcomes and their probabilities in accordance with various embodiments described herein. DETAILED DESCRIPTION OF THE INVENTION
[0010] In various embodiments, a system can be used to generate predictions regarding the position of a ball during a golf play. The system can be configured to output a predicted ball position corresponding to the final rest position of the ball after it is struck. In one example, the system is configured to output a predictive bounce and roll model that predicts the bounce and roll of the ball after impact. For example, using a stroke trail polynomial of the sensor data, the system can be configured to calculate the predicted rest position by simulating the bounce and roll from the actual or predicted stroke trail impact position with the surface. The system can include a prediction generator that uses one or more predictive models to calculate the predicted bounce and roll behavior of the ball after impact and / or its final rest position or coordinates. The impact can be with the ground or with an object, such as a tree, wall, building, or other object. The prediction can take into account various conditions of the impact location, such as the terrain, materials, and their properties, as provided by a detailed map. The predictive model can be updated using data obtained from comparing the actual and predicted bounce and roll behavior and / or final rest position.
[0011] In various embodiments, the system utilizes predictive analytics using a predictive model incorporating metadata about the ball's physical properties and the course environment measured by the ball tracking network to predict the ball's bounce and roll behavior after impact and / or its final resting position. The predictive model can predict the bounce and roll behavior and / or final resting position using measured or predicted ball impact physics and coordinates, as well as surface features of the impact coordinates, such as surface topography, hardness, or stimp, and past shot data corresponding to the impact coordinates and / or physical properties. Thus, the predictive model can incorporate the ball's bounce and roll behavior using surface characteristics, such as topography and surface material properties, e.g., hardness, of the initial impact location and, in some embodiments, of subsequent impact locations. Further to the above, in some examples, rather than using a computer-generated version of the course to generate simulated ball behavior, the predictive model uses detailed map data, including measured surface models specifying the terrain of the ground and objects in the land, where land refers to the golf course and its surrounding areas where the ball may enter during play. The surface model may include a three-dimensional coordinate model, which may include a digital surface model measured by lidar, photogrammetry, radar, etc. The predictive model may access the surface model data to simulate bounce and roll behavior and predict final rest position, as described above and elsewhere herein. It should be understood that the system may alternatively utilize a detailed map of a course portion of land, e.g., the traditional playing area of a golf course, for more limited application to predicting bounce and roll behavior and / or final rest position.
[0012] The predictive model can incorporate, for example, actual or predicted ball impact physical variables, ball characteristics, and surface characteristics of the ground and / or object impact surface, including hardness, surface topography, stimp, other material properties, or combinations thereof. Additionally, the predictive model can include one or more associated coefficients that modify the terms, parameters, parameter estimates, or outputs of the predictive model. In various embodiments, the predictive model uses polynomial modeling in the predictive modeling to generate predictions regarding impact location, bounce, roll, or combinations thereof. Coefficients can be applied to one or more terms or parameters of the predictive model. In one example, the coefficients can include or modify terms, parameters, parameter estimates, or values corresponding to properties of the impact material. In some examples, the coefficients include regression coefficients.
[0013] According to various embodiments, the system is configured to track the ball using sensors in a ball tracking network. In one example, the coordinate prediction model can include a flight simulator receiving ball tracking data from the ball tracking network and generating a stroke trail. The ball tracking data and / or stroke trail can be used by the flight simulator to predict or identify an initial impact location. The coordinates of the initial impact location can be used to identify a zone and select a current prediction model corresponding to that zone. Furthermore, the coordinates of the initial impact location can be applied to a surface model to obtain a surface topography of the initial impact location, which may include a surface angle. In some embodiments, the surface topography may also include surface dimensions and / or a relative height of the surface. The ball tracking data, alone or via the generated stroke trail, can be used to generate impact physics for the ball. The physics simulator can input impact physics and surface features, such as surface topography, into the current prediction model to obtain data that can be used to identify subsequent impact locations and associated impact physics. For example, the output can include values corresponding to the direction and distance of subsequent impact locations, or values corresponding to bounce or roll characteristics that can be applied from the initial impact location in coordinate space, as described herein. In some embodiments, the initial impact coordinates can also be input into the predictive model. In one configuration, the output includes subsequent impact locations. Using the output, coordinates of each subsequent impact location from the bounce / roll and corresponding impact physics characteristics can be iteratively obtained until no further motion is predicted and a final resting position can be identified. In one embodiment, the surface topography is used only in the calculation of the initial impact location, or not at all. In another embodiment, the surface topography is used at each impact and roll location. For example, ground characteristics informed by a detailed map, such as a zone map, can be used to model bounce and roll behavior in addition to the surface topography informed by the surface model.In one embodiment, surface features such as stimp, material properties, or a combination thereof can be used for the initial impact location, subsequent impact locations, or a combination thereof. In one embodiment, stimp is not used. In one embodiment, stimp or material properties are represented by coefficients in the predictive model.
[0014] In one embodiment, the predictive model can incorporate stimp data for bounce and roll modeling. Stimp is a measure of how fast a golf ball rolls over a surface and is representative of the coefficient of friction of the golf ball rolling over the surface. A higher coefficient of friction reduces velocity, while a higher stimp increases velocity. Those skilled in the art will appreciate that the discussion of stimp and stimp coefficient provided herein can be substituted for various expressions of coefficient of friction, including coefficient of friction.
[0015] In some embodiments, the predictive model can be continuously updated by analyzing the difference from the predicted final rest position. In one example, the predictive model can be dynamically calibrated to a hardness coefficient corresponding to the hardness of the impacted surface. In some examples, the difference between the actual behavior and the predicted behavior analyzed can include bounce position and / or roll position. In further examples, the difference between the actual behavior and the predicted behavior can include one or more bounce characteristics, such as the number of bounces, height, length, acceleration, speed, inbound angle, outbound angle, direction, or a combination thereof, and / or one or more roll characteristics, such as distance, acceleration, maximum / minimum speed, speed variation, speed between two or more points, direction, or a combination thereof.
[0016] Using the investigated differences, the predictive model can be updated based on such real-world feedback. For example, the model can be re-adjusted or trained based on real-world feedback to continuously improve the model's accuracy. In one configuration, detailed map data can be used in combination with continuous re-adjustment / training of the predictive model to improve its predictive capabilities to adapt to actual conditions. In one example, the predictive model utilizes a sliding window of shots against real-world feedback to enhance the model to actual conditions. For example, re-adjusting / training the predictive model to a sliding window of previous shots can enhance the model to adapt to actual conditions. In some embodiments, a filter can be used to remove data that deviates from the historical analysis of real-world feedback. For example, if the difference between predicted and actual behavior is outside of a predetermined value range, the system can filter out the data. The value may relate to one or more behaviors or combinations of behaviors, such as roll, bounce, and / or those characteristics identified above.
[0017] In various embodiments, a landscape can be divided into zones, with each zone having one or more associated coefficients. As described above, coefficients can be applied to one or more terms or parameters of a predictive model. In some embodiments, different predictive models are utilized for different zones or designated locations of the landscape. In further embodiments, the predictive model for a zone, its coefficients, etc., is updated only after the ball's bounce and roll and / or final resting position are predicted and compared to actual data. Thus, updating a predictive model for one zone may not update a predictive model for another zone. This may be true even if the two zones have the same or similar impact material, e.g., turf type. For example, when a ball impacts a zone on a first hole, the predictive model for that zone may be updated. However, other zones or subzones on the same or different holes may not be similarly updated.
[0018] In some embodiments, the predictive model incorporates a static stimp factor. However, the stimp factor can also be dynamically calibrated. Dynamic calibration can be performed in a manner similar to that described herein for firmness. For example, predicted rolling characteristics, such as speed and distance, can be compared to actual characteristics measured by sensors. The speed or distance can be used to calculate an optimal stimp factor. In some embodiments, the stimp factor can be updated continuously or periodically, such as upon an event. In one example, the stimp factor can be updated based on environmental sensor data. For example, morning dew or rain can affect stimp and evaporate from the surface over time and as temperatures increase. Thus, optical sensors can monitor condensation on the lawn, rain gauges can be used to estimate soil saturation and lawn moisture accumulation, temperature sensors can measure temperature to estimate evaporation, and soil saturation sensors can collect data that the system uses to predict surface moisture, or a combination of these.
[0019] In some embodiments, the system may also determine the reliability of the predicted resting position and corresponding zone. For example, the system may analyze the predicted resting position to determine its proximity to other zones. If the predicted resting position is not within a predetermined proximity of other zones, the system determines that the predicted resting position is reliable.
[0020] In one configuration, the system is configured to calculate predicted ball rest zone probabilities. The system can create a distribution of positions around the impact location on the stroke trail, each with a probability of occurrence. A prediction of the ball at rest (i.e., final rest position) can be simulated for each of these positions using multiple firmness levels. For example, in one embodiment, three firmness levels can be used: current level, slightly softer level, and slightly harder level. This process involves running multiple simulated shots, such as hundreds of shots, with known parameters and variances and determining the percentage of shots that land in the fairway, rough, bunker, or available water zones. The results can be aggregated and summed to determine the outcome probability for each zone.
[0021] 1-8, various features of the system 10 and methods described herein are illustrated. The system 10 can be configured to generate predictions about the golf ball after it has been struck, such as its bounce, roll, final resting position, or a combination thereof.
[0022] With particular reference to FIG. 1, the system 10 includes or has access to a map database 12 , a ball tracking network 14 , and a prediction generator 16 .
[0023] Map database 12 may include one or more maps or associated map data. For example, system 10 may include land map data 13. Map data 13 may be utilized by system 10 for various operations. For example, map data 13 may be used in connection with collecting or analyzing historical shot data and / or predictive modeling.
[0024] The map data 13 is typically generated prior to a play that will utilize the predictive operation of the system 10. However, in some cases, the map data 13 may be collected or utilized after play on the course has concluded. For example, the map data 13 may be applied to video of shots, along with the physical characteristics of the shots, if available, to derive historical shot data for use in the operation of the system 10. Additionally, course conditions and / or environmental variables may also be utilized in such analysis. The system 10 may analyze historical shot data along with environmental data collected by environmental sensors to improve the predictive capabilities of the system 10 in future predictions. For example, the system 10 may identify patterns that indicate how the collected environmental data affects shot predictions. These patterns may be used to incorporate or adjust modeling coefficients during future play when the environmental conditions are present. This may be used prior to calibrating the model using actual shot data from playing conditions in the affected area or zone.
[0025] Map data 13 may include zone maps 19, which include detailed feature maps and surface models 18 of the land. While FIG. 1 shows the maps separately, maps may exist separately or in any combination, as well as being represented in data. For example, specifications of surface features and zone features may be assigned to corresponding coordinates within a single map. In some embodiments, surface models 18 may be provided separately from zone maps 19. Map database 12 may include a coordinate map including a three-dimensional coordinate space defining Euclidean or similar space, which may be incorporated into, overlaid on, or projected onto surface models 18. In one embodiment, if zone maps 19 are defined separately from surface models 18, coordinates corresponding to zones may be defined relative to zone maps 19. In some embodiments, map database 12 includes a coordinate map including a two-dimensional coordinate grid overlaid on the land. In some embodiments, the coordinates may correspond to GPS coordinates or a proprietary coordinate system. In various embodiments, map data 13 may be collected prior to play using suitable technology, such as lidar, laser, photogrammetry, or GPS. In some embodiments, such techniques may be used to survey land on foot, by aircraft, by drones, or by robots. In one example, mapping data is collected using lidar, laser, and photogrammetry mounted on remotely piloted or other aircraft, as well as on foot or robotic ground devices.
[0026] As introduced above, the map database 12 can include a surface model 18 of the terrain. In some embodiments, the surface model 18 includes surface identification, including surface characteristics such as surface contour, angle, relative surface height, or both. The surface model 18 can include three-dimensional details keyed to a coordinate space. In one embodiment, detailed surface characteristics such as material, hardness, etc., can be incorporated into the surface model 18 or provided separately, for example, in a zone map 19. In the surface model 18, surface features can be modeled at various levels of detail. For example, in the embodiments described herein, surface features can be specified down to one inch or less. A higher level of surface detail included in the surface model 18 can be used to improve the accuracy of predictions. The surface model 18 can include man-made features in addition to the terrain and vegetation of the terrain. For example, the surfaces of objects on the terrain, such as camera towers and bleachers, can be modeled to include detailed three-dimensional structures. In one example, trees can be mapped in detail beyond the dimensions of their crowns, for example, to include the location of branches and leaves, and bridges can be mapped to include railings and pillars. In some embodiments, the map database includes a library of surface models of objects such as bleachers, towers, kiosks, walls, etc., which can be incorporated into the in-ground surface model by inserting known surface dimensions at the object's location during play into the surface model. Thus, in-ground surface modeling data can be collected before a tournament is ready, and the surface model can then be adjusted by incorporating the surface models of objects from the library at the in-ground locations where the objects will be placed.
[0027] Data for the surface model 18 can be collected using technologies such as lidar, laser, and photogrammetry mounted on remotely piloted aircraft and other aircraft, as well as on foot or robotic ground devices. The accuracy of the surface model 18 improves the quality of the associated shot data and its use in predictive modeling. Thus, greater accuracy is desirable, and technologies such as lidar, laser, and photogrammetry can be used to generate the surface model 18 with an accuracy of one inch. However, these and / or other surface mapping technologies can be used to improve accuracy to less than one inch. Lower accuracy levels, such as less than two inches, four inches, or even six inches, can also be used. However, if the ball impacts surface features not represented in the surface model 18, lower levels of accuracy may result in reduced prediction quality.
[0028] As introduced above, the map database 12 may include a zone map 19. The zone map may be keyed to a coordinate space to define zones and may include detailed identification of features present on the land. The features may include natural features such as foundation ground materials, grass, grass types, trees, shrubs, and other vegetation. In some embodiments, the features may also include man-made elements such as hospitality areas (e.g., grandstands, tents, etc.), camera towers, and other obstacles. In some embodiments, the feature mapping may include specifications such as the material type of the feature (concrete, paving, concrete block, oak, aluminum, pine, etc.). All or a portion of the features may be provided in the surface model 18. In one configuration, the zone map 19 includes the zone specifications and is overlaid on or associated with the surface model 18 to identify zones within the surface model 18 and identify material properties along with the surface features therein.
[0029] The zone map 19 may identify specific or general zones as needed. For example, mapping components may include dividing the land into multiple defined zones or identifying and classifying zones of land. A zone may include one or more features. A zone may include various ground designations and / or physical features within the course of play and, in some embodiments, outside the course of play, such as out-of-bounds areas around the course where a player may hit the ball. Thus, in some configurations, a zone may correspond to an area within and / or around the course of play, such as physical structures (e.g., natural and / or man-made objects, structures, and features). For example, a zone may correspond to a portion of a golf course, such as a tee box, fairway, green, hazard (bunker or water), rough, drop zone, etc. A zone may include a tee box zone. A tee box zone may include one or more enhanced tee box zones, such as tee left, tee right, and center tee enhanced zones. A zone may include one or more zones corresponding to the fairway, such as the fairway, fairway bunkers, etc. In a further configuration, the zone corresponding to a fairway can include one or more of a reinforcement zone, such as a left fairway, a right fairway, a left fairway bunker, a right fairway bunker, etc. The zone can include one or more of a hazard, a grass bunker, a fairway bunker, an abandoned bunker, water, etc. In a further configuration, the zone corresponding to a hazard can include one or more of a reinforcement zone, such as a front-center greenside bunker, a front-left greenside bunker, a left greenside bunker, a back-left greenside bunker, a back greenside bunker, a right greenside bunker, a back-right greenside bunker, a front-right greenside bunker, etc. The zone can include one or more of a rough, such as a main rough, an intermediate rough, a greenside rough, etc.In a further configuration, the zone corresponding to the rough may include one or more reinforcement zones, such as left rough, right rough, left-center rough, right-center rough, etc. The zones may include one or more zones corresponding to greens, such as greens, fringes, etc. The zones may include one or more zones corresponding to landscape and / or natural features, such as bushes, trees, stairs, landscaping, paths, rock contours, tree contours, dirt contours, natural areas, water, etc. The zones may include physical features, such as man-made structures located around the course, such as one or more grandstands / seats, camera towers, hospitality tents, buildings, cart paths, pedestrian paths, walkways, walls, bridges, etc. In some embodiments, one or more zones may be identified as other or unmapped.
[0030] The zone map 19 can classify land areas into multiple zones. Zones can be used to conveniently classify features for predictive modeling and continuous updates, allowing modeling to automatically account for changing conditions. For example, a zone can represent an area of a hole or its surrounding ground that has features or objects identified by similar material properties with respect to bounce and roll prediction. For example, areas with similar ball behavior with respect to bounce and roll can be included within a hole's zone. However, a zone can also serve as an identifier of an area of a hole or course that is useful in its own right, independent of reference to determining bounce and roll behavior. Therefore, zones are preferably identified for similar areas of a hole or course. Zone selection can be customized depending on the surface of a particular course. For example, a course that does not include step-cut rough would not include intermediate rough or first-cut rough.
[0031] FIG. 2 illustrates the zone designations for a hole and portions of the surrounding area. As described above and elsewhere herein, each zone can be associated with one or more coefficients that may be updated during play. Each zone can also be associated with mapped terrain features. These terrain features can be associated with, generated for, or utilized by the prediction generator 16 and incorporated into a predictive model that generates predictions for collision coordinates within the zone. The example shown in FIG. 2 illustrates zones that include a fairway 30, a green 32, rough 34, trees 35, natural areas 36, bushes 37, paths 38, landscaping 39, a greenside bunker 40, a building 42, a grandstand 44, and a camera tower 44. The zones further include reinforcement zones that include a left fairway 30a, a right fairway 30b, a left rough 34a, a right rough 34b, and a right front greenside bunker 40a. The dashed lines indicate the boundaries of the reinforcement zones within each zone.
[0032] In some implementations, the surface model 18 and / or zone map 19 may include tournament structures that may not have been located at the time of collection of the on-site map data 13. In those situations where structures are later added to the map data, the coordinate locations occupied by the structures can be identified in the surface model 18 and zone map 19, and pre-mapped surface features and terrain associated with each structure can be imported into the surface model 18 and zone map 19, or the map data 13, from a known object library or the like. For example, one or more structures can be associated with previously collected or generated specifications defining the structure and terrain of the corresponding surface model 18.
[0033] It should be noted that some embodiments of the system 10 may not use a zone strategy for bounce and roll prediction, but instead may use a surface model 18 that defines the surface location, which in some embodiments may include surface properties, and the surface material, which may include its properties, for each set of mapped coordinates. Zones may also be identified with respect to the coordinate locations.
[0034] Ball tracking network 14 may include a network of cameras, radar, lasers, and / or other suitable ball tracking devices configured to track the ball. Ball tracking network 14 may include a processor and memory storing instructions that, when executed by the processor, perform the operations of ball tracking network 14. According to various embodiments, ball tracking network 14 may include a camera system positioned around the golf course and surrounding grounds. One or more cameras may be utilized to track movement and determine distances using associated lasers or rangefinders, or by optical calculations, including photogrammetry. For example, the distance to a ball or other object of known size within the camera's field of view may be calculated by comparing the optically captured size of the object to the known size of the object. Furthermore, camera angle determination may be used to plot the object's position in distance and angle from the camera against a map of the area surrounding the camera. Position determination may be enhanced, for example, by utilizing multiple cameras to triangulate or otherwise determine the position of the ball or other object. In one example, an optical map of an area of a course from a fixed camera's field of view can be used to determine the location of an object relative to a known location within the mapped area, for example, to determine actual impact location coordinates within coordinate space, bounce characteristics, and / or roll characteristics. For example, a photographed image of the object can be compared to surrounding features within an image of the known location to identify the object's approximate location. Optical calculations such as those described above can be used to determine distance and improve the accuracy of the location determination. In some embodiments, the camera's field of view and optical calculations can be used to measure spin and / or spin axis. In another example, initial spin data collected immediately after a player strikes the ball can be used to predict spin and / or spin axis at initial impact. In the above or another example, radar can be implemented to track objects, including their position, velocity, trajectory, acceleration, or other parameters.In the above or another example, cameras associated with ball tracking network 14 can be configured for optical recognition. For example, the cameras can utilize ball / shape recognition, etc., to identify the ball and pair the ball's location with location coordinates via a coordinate map. In one embodiment, the cameras can utilize optical recognition / augmented reality (AR) to determine the ball's location. While cameras can typically be installed at known locations, in some cases, one or more cameras can be utilized in a mobile environment, utilizing, for example, real-time kinematic base station or camera location techniques. In some embodiments, the cameras can be used to identify motion and objects, and lasers or rangefinders associated with the cameras can target such objects and determine their distance from the camera. The camera's viewing angle and distance can be combined to determine the object's location. In some embodiments, a surface model 18 of the area or other terrain-specified features can be used to assist in distance calculations. In some embodiments, such camera systems are operated by humans, robots, or fully autonomously. The cameras can operate in the visible and / or optical spectrum, including one or more of the visible, ultraviolet, or infrared spectrum.
[0035] In one example, ball tracking network 14 can be configured to track the ball, determine the ball's initial impact location, and provide the initial impact coordinates to prediction generator 16, which will be described in more detail below. Ball tracking network 14 can also be configured to measure the ball's impact physics relative to the initial impact location. For example, the ball's impact velocity and angle can be obtained by radar. In a further example, the ball's impact physics can include the ball's spin at initial impact and can also include the spin axis. In another or further example, ball tracking network 14 can be configured to provide tracking data used by flight simulator 22 to generate a stroke trail polynomial that describes the flight of the ball. In a further example, flight simulator 22 can predict the initial impact location using the stroke trail polynomial that physics simulator 24 uses to model the bounce and roll after impact. In one embodiment, one or more aspects of the ball's impact physics are predicted from the stroke trail polynomial.
[0036] In addition to the above, in some embodiments, the system 10 can execute a routine that includes estimating the flight path of a batted ball and determining a prediction of an initial impact location from the estimated trajectory. For example, the prediction generator 16 can predict the initial impact location based on the physical properties of the ball measured immediately after club impact, e.g., within 40 feet. For example, the prediction generator 16 can predict the initial impact location by applying a coordinate prediction model 20a to variable values corresponding to the physical properties of the ball and one or more variables selected from the environment, geography / terrain, course, player, or a combination thereof. The coordinate prediction model 20a can include terms or incorporate various measured variable values as inputs to improve the accuracy of the ball flight prediction. The coordinate prediction model 20a can incorporate measurements of the physical properties of the ball, such as initial velocity, velocity at one or more distances from the initial ball strike, launch angle, spin, spin axis, etc. In some embodiments, direction, such as the initial ball flight direction at the time of impact or at greater distances thereafter, may also be included. The measurements may be obtained using radar, lidar, camera, photogrammetry, and / or other suitable techniques. In various embodiments, coordinate prediction model 20a may further predict ball impact physics, and prediction generator 16 may be configured to predict bounce and roll, and / or final rest position, as described above, from the predicted initial impact location and predicted ball impact physics inferred from the ball's physical properties measured immediately after club impact.
[0037] The prediction generator 16 can select coefficients or parameters based on current measured variable values. The coefficients or parameters can be fitted or trained / tuned to a coordinate prediction model or version thereof before use and stored in a library for quick query access as needed. The coefficients or parameters can be tagged with the combination of variable values to which they relate. In some embodiments, the prediction generator 16 can be configured to access a historical shot data archive and query the archive of shot data tagged with current variable values (e.g., environment, geography / terrain, course, player, or a combination thereof) similar to those measured for the shot for which the initial impact location prediction is made.
[0038] In some embodiments, the coordinate prediction model 20a incorporates one or more environmental variables related to the shot in determining the golf ball's flight path, including the initial impact location. Environmental conditions can correspond to those related to the shot, such as air density, which affects drag and lift and influences speed, spin, trajectory (e.g., height, angle of impact), and distance. The prediction generator 16 can incorporate variables corresponding to air pressure, temperature, humidity, or dew point, for example, to account for environmental variables related to air density. In some examples, air pressure corresponds to altitude. However, in some configurations, local real-time air pressure may be included to account for altitude as well as weather. In some embodiments, environmental conditions incorporated into the determination of the initial impact location include wind speed, wind direction, and wind variance. In some examples, variables corresponding to the type of ball may be included.
[0039] Ball tracking network 14 can be configured to track bounce and roll and / or final resting position. In some such examples, ball tracking network 14 can also collect one or more bounce characteristics, such as number of bounces, height, length / distance, spin, spin axis, acceleration, velocity, inbound bounce angle, outbound bounce angle, direction, or a combination thereof, and / or one or more roll characteristics, such as distance, acceleration, deceleration, maximum / minimum velocity, velocity variation, velocity between two or more points, direction, or a combination thereof. In some embodiments, actual ball bounce and roll data can be stored in historical shot database 18 for subsequent analysis by update engine 26 to update current or future predictive models 20. In one example, system 10 utilizes the shot data collected by ball tracking network 14 to continuously update predictive models 20 based on a comparison of actual ball behavior and predicted ball behavior, e.g., bounce and roll and / or final resting position.
[0040] As introduced above, system 10 may include a prediction generator 16 configured to output a predicted final rest position of the ball and / or a bounce and roll model that provides a prediction of the bounce and roll of the ball. Prediction generator 16 may include a flight simulator 22 configured to predict an initial impact location based on a stroke trail. For example, flight simulator 22 may receive ball flight data collected by ball tracking network 14 and generate a stroke trail polynomial that describes the flight of the ball. In one example, flight simulator 22 is configured to generate an initial impact location before the ball actually impacts the ground. In one example, ball tracking network 14 also identifies the initial impact location. Prediction generator 26 may include a physics simulator 24 that includes a predictive model 20 for predicting the final rest position and / or bounce and roll behavior of the ball. In one configuration, each zone or enhancement zone is associated with a predictive model 20 that a physics simulator 24 applies to the actual or predicted impact location and physics to model the bounce and roll and predict the final resting position, which may include a predictive zone where the ball will come to rest.
[0041] The predictive model 20 can include or incorporate various properties of the material associated with the corresponding zone, such as yield strength, resilience, density, hardness, friction, adhesion, coefficient of friction, stimp value, and coefficient of restitution, which can be incorporated or retrieved from the detailed map data 13 described herein. To increase accuracy, the predictive model 20 can incorporate golf ball properties, such as surface dimensions, center of gravity, yield strength, resilience, density, hardness, friction, adhesion, and coefficient of restitution. The predictive models 20 associated with various zones can include coefficients that the update engine 26 updates during play, for example, by applying a sliding window of shots, such as fitting the model to the sliding window of shots. The coefficients can be associated with terms in the model. The terms can further include zone characteristics, such as surface model data. In one example, the coefficients can be determined using regression analysis or other suitable techniques. The coefficients can include parameters or their values. In one example, the predictive model 20 utilizes machine learning, and the actual shot data and predicted shot data are used to train and / or tune the parameters and / or hyperparameters of the model, for example, in a machine learning environment.
[0042] A predictive model can be associated with the zone to which the predictive model 20 corresponds. For example, the predictive model 20 can incorporate the physical properties of features or materials contained in the zone that the ball may impact. In some embodiments, the predictive model 20 can be initially fitted or trained / tuned to similar surface characteristics or materials before being used during an event. This initial fitting or training / tuning can be represented by one or more coefficients associated with the zone and used by the prediction generator 16 to generate predictions. Utilizing the predictive model 20 incorporating the physical properties of the features and the coefficients associated with the zone, the prediction generator 16 can perform operations to calculate the predicted bounce and roll behavior and / or final resting position of the ball after its initial impact in play. The initial impact can be a collision with the ground or with an object, such as a tree, wall, building, or other feature, within the zone to which the predictive model 20 is assigned, which can be specified in the mapping data described herein. In some embodiments, the predictive model 20 associated with each zone can be generated by the prediction generator 16 from a base model by incorporating values of the physical properties of one or more features within the zone and one or more coefficients.
[0043] As noted above, zones can be as coarse or detailed as needed. In some embodiments, a feature or object thereof is divided into or includes multiple zones or reinforcement zones specific to the material properties found in the zones. For example, a bridge zone can correspond to a bridge with wooden planks and metal railings. The bridge zone can be divided into or include a reinforced wooden plank zone and a reinforced metal railing zone. Similarly, a tree zone can correspond to one or more trees. The tree zone can be divided into or include a trunk zone corresponding to the trunk and large branches, a branch zone corresponding to branches below a predetermined diameter, and a leaf zone corresponding to a large number of leaves. The leaf zone can be further divided into more reinforcement zones corresponding to leaf density. In the two examples above, the reinforcement zones define overlap zones that include different feature characteristics. In some examples, each of the reinforcement zones can be associated with a predictive model 20 incorporating different feature characteristics and associated with corresponding coefficients. Thus, areas including overlap zones are associated with one or more individual coefficients used to generate predictions. In the above example, the prediction generator 16 can be configured to apply a prediction model 20 associated with the reinforcement zone as a more specific prediction model 20 to the impact coordinate. In one example, the prediction models 20 include multiple prediction models 20, each corresponding to a collision, bounce, or roll location. For example, a ball can be predicted to hit a tree branch. The physics simulator 24 can apply the prediction model 20 corresponding to the tree branch to predict the bounce and subsequent impact location. Using the coordinates of the predicted subsequent impact location, the physics simulator 24 can apply the associated prediction model 20 to predict the subsequent bounce, roll, or rest location, as the case may be. The physics simulator 24 can repeat this process for each subsequent prediction by applying the applicable prediction model 20 to the predicted location.As described in more detail below, in some embodiments, physics simulator 24 can calculate positional probabilities, such as impact, bounce, and roll, and further simulate ball behavior from multiple positions to predict multiple behaviors. For example, physics simulator 24 can generate multiple predicted bounce and roll behaviors for a shot. Physics simulator 24 can assign probabilities to various predictive model results. These results can be used to generate zone probabilities by associating the probability that the ball will land in a particular zone. These probabilities can be used to report predicted zone locations to a data platform before the ball impacts or stops. In some embodiments, system 10 applies a threshold probability and reports no zone predictions, or only zone predictions associated with the threshold probability. In one example, the zone predictions, along with the probabilities, are provided to a data client. In one example, the zone predictions or stopping locations are provided to a television camera or a human or automated ball spotter to notify them of possible ball locations to locate the ball. In some embodiments, a human or automated spotter can spot the ball's location, for example via a laser, and the actual coordinates can be cross-referenced with the predicted zone or coordinates, and if the predicted and actual zones differ, a zone update is sent to the data client.
[0044] In some embodiments, the coefficients of a zone are similarly applied to the coefficients of the enhanced zones located within the zone. For example, referring again to FIG. 2 , the predictive model 20 may apply the same predictive model 20 to predict the behavior of a ball impacting the fairway 30 within the enhanced left fairway 30a zone or the enhanced right fairway 30b zone. That is, in some configurations, one or more coefficients associated with a fairway 30 zone are also associated with the enhanced left fairway 30a zone and the enhanced right fairway 30b zone. The update engine 26 may similarly update one or more coefficients to apply to the same zones. As described in more detail below, the enhanced zones may be utilized or reported in terms of bounce and roll or final rest position descriptions to provide enhanced information regarding shot behavior and location. Similarly, the greenside bunker 40 zone and the enhanced right front greenside bunker 40a enhancement zone may be associated with the same one or more coefficients, and the enhanced zones may be utilized or reported in terms of bounce and roll or final rest position descriptions to provide enhanced information regarding shot behavior and location. If additional greenside bunker zones are included, the different greenside bunkers or their enhanced zones may or may not be associated with the same one or more coefficients as the enhanced right front greenside bunker 40a.
[0045] In various embodiments, prediction generator 16 can apply multiple prediction models 20 to a single shot. For example, a tree zone may be located adjacent to or within a primary rough zone and associated with different physics characteristics and coefficients than the rough zone; thus, a prediction model 20 applied to impacts at coordinates corresponding to the tree zone may be different from a prediction model 20 applied to impacts at coordinates corresponding only to the rough zone. However, if a ball hitting a tree zone is predicted to bounce off the trees and land on the grass in the rough zone, physics simulator 24 can be configured to apply the predicted ball impact physics of the bounce and subsequent behavior to the prediction model 20 associated with the rough zone.
[0046] As introduced above, the predictive model 20 can be updated during play. Updates can include updating coefficients or fitting or training / tuning the model using actual shot data of shots impacting the zone collected during play. In various embodiments, the predictive model 20 can include initial coefficients at the start of play. Such coefficients can be established experimentally in a laboratory environment or by analysis of impact data obtained from actual golf play. For example, golf ball impacts with various materials that a golf ball may impact (e.g., ground materials such as various types of grass, sand, rubble, gravel, rock, concrete, pavement, wood, metal, plastic, etc., and / or objects such as one or more types of trees, shrubs, tents, roofs, walls, television towers, bleachers, buildings, etc.) can be tested in a controlled laboratory environment and / or extracted from analysis of actual golf play, e.g., obtained from previous live predictive analysis, or derived from historical shot data, with one configuration including considering environmental data collected in relation to historical golf data. This can be done, for example, using radar, cameras, and / or other technology to measure impact variables such as impact angle, speed, spin, or spin axis, as well as subsequent bounce, roll, and / or final rest position variables such as number of bounces, height, length, acceleration, speed, spin, spin axis, inbound bounce angle, outbound bounce angle, bounce or roll direction, roll distance, roll acceleration and / or deceleration, stimp, maximum / minimum roll speed, roll speed variation, roll speed between two or more points, direction, number of bounces, speed, acceleration, bounce angle, height, spin, spin axis, bounce impact angle, direction, etc. In various embodiments, the measured impact variable and subsequent variable data can be collected under specific conditions (e.g., environment and / or state of one or both of the impacting materials, such as dry, wet, saturated, cold, warm, etc.). This data can be input into the shot history database of the system 10 or the like for use in calculating initial coefficients for use in the predictive model 20 associated with zones corresponding to subsequent similar conditions.For example, measured impact variable data and subsequent actual bounce, roll, and / or final impact location can be collected for various ground materials, e.g., grass types of a particular length, under various saturation and temperature conditions. Prior to an event, initial coefficients for the predictive model 20 for a fairway containing dry zoysia grass on a calm day can be generated by applying the predictive model 20 to measured impact variable data collected from shots impacting dry zoysia grass on a calm day and comparing the predicted bounce, roll, and / or final resting location with the corresponding measured bounce, roll, and / or final resting location. In some embodiments, collected shot data or coefficients can be tagged with the conditions to which they relate. Prior to an event, the prediction generator 16 can search the collected shot data and / or coefficients for tags corresponding to the current state of the zone to use as or generate the initial coefficients. In this or another configuration, state-specific coefficients can be averaged for initial use in zones with similar materials under similar or different conditions. In one configuration, the coefficients may be subject to a weighted average calculation that takes into account the past occurrence and / or future probability of existence of the conditions from which they are calculated.
[0047] The prediction generator 16 may be configured to incorporate the topography of the course surface in generating the prediction. For example, the prediction generator 16 can be configured to utilize the surface model 18 and its zones to predict the final rest position and / or bounce and roll behavior of the ball. In one configuration, terrain data corresponding to the impact location coordinates is input into the prediction model 20 to model the bounce and roll behavior and / or final rest position. For example, the prediction generator 16 can cross-reference the impact location with the surface model 18 to obtain surface characteristics corresponding to the impact location. The surface characteristics can include the surface angle at the impact location. The surface characteristics can be input into the associated prediction model 20 to identify the bounce and roll behavior and / or final rest position of the ball.
[0048] As introduced above, system 10 can use predictive model 20 to predict the bounce and roll of a ball after impact and output a prediction of the ball's final rest position. In various embodiments, predictive model 20 takes as input the ball's impact physical variables, such as impact angle, velocity, and spin (which may include spin axis), and incorporates surface properties from surface model 18 associated with coordinates and zone coefficients corresponding to the impact / bounce and roll positions to predict the ball's bounce and roll and / or final rest position. In some embodiments, initial impact coordinates can also be input to predictive model 20.
[0049] In one embodiment, the predictive model 20 is configured to output a distance from the initial impact location. The output may be directionless or may specify a direction or angle at which the system 10 applies the output distance prediction from the initial impact location, which may be relative to a predetermined reference point.
[0050] In some embodiments, the predictive model 20 can take as inputs ball impact physics variables, surface topography corresponding to the impact location, and the ball's initial impact coordinates corresponding to the surface model 18 or another map of the ground. The coordinates can further correspond to one or more zones. By applying a model including the surface model 18 and the ball's impact physics to data from the initial impact coordinates, the predictive model 20 can be configured to output coordinates corresponding to the ball's predicted final rest position. In these or other embodiments, the output can include predicted coordinates or other data that the prediction generator 16 can use to identify a predicted final rest position and / or a predicted bounce and roll model. In one example, the predictive model 20 can be configured to split predictions or related calculations for each bounce, impact, and roll. For example, the output can include coordinates of the predicted ball position at one or more points during one or more bounces, impacts, and / or rolls. In one configuration, the outputs and / or output segments can be associated with a direction and a value, e.g., distance from the impact location, which can be used to model the bounce or roll and identify the next impact location or final resting location. In one example, the outputs include one or more numerical values of variables for input into one or more predefined equations for modeling the bounce and roll. In one example, the outputs can include height, time, and distance, or the height and one or more velocities of the ball during each bounce, and the roll distance.
[0051] In these or other embodiments, the coordinates may correspond to or be transformed into three-dimensional Euclidean space for modeling bounce and roll behavior, determining or identifying bounce positions, and / or determining or identifying final rest positions. In one example, the three-dimensional Euclidean space, the surface model 18, or both may be defined or projected within one or more coordinate systems. The coordinate systems may include Cartesian and non-Cartesian coordinate systems, curvilinear coordinate systems, etc. In some examples, the coordinate systems may include one or more coordinate and / or volumetric maps.
[0052] In one example, predictive model 20 receives as input the ball's impact physics, surface topography, and actual or predicted coordinates corresponding to the initial impact location in three-dimensional Euclidean space, and generates a prediction of the bounce and roll, and / or final rest position within a defined coordinate system. The bounce and roll, and / or final rest position prediction may incorporate one or more zone coefficients corresponding to one or more zones in which the ball will impact, bounce, or roll, and the surfaces corresponding to the impact, bounce, and roll coordinates.
[0053] As described above, outputs and / or segments of outputs can be associated with a direction and a value, e.g., distance from the impact location. In some embodiments, output coordinates are provided as relative coordinates with respect to three-dimensional Euclidean space. For example, the initial impact location can be set to the origin or other coordinates, and coordinates corresponding to the ball's predicted position during subsequent bounces, collisions, and rolls can then be defined in space. In some embodiments, system 10 or its physics simulator 24 can overlay or project the space onto surface model 18 to generate position coordinates with respect to surface model 18, model predicted ball behavior, and / or identify a predicted final resting position if not output separately. In some embodiments, property areas or zones thereof can be individually defined within three-dimensional Euclidean space.
[0054] FIG. 3 illustrates a method 300 for determining a final rest position according to various embodiments. The ball tracking network 14 may track 302 the ball to an initial impact location. The ball tracking network 14 may further measure 304 impact physics variables, such as impact angle and impact velocity, to obtain associated values. In some embodiments, the ball tracking network 14 may further measure spin and / or spin axis. The ball tracking network 14 may further access the map database 12 to identify 306 coordinates of the initial impact location. The ball tracking network 14 may transmit or provide the initial impact coordinates and the impact physics characteristics of the ball to the prediction generator 16. The prediction generator 16 or the ball tracking network 14 may access the map database 12 to obtain 308 a zone corresponding to the impact coordinate, a surface topography of the impact coordinate, and a prediction model 20 corresponding to the zone. In some embodiments, the initial impact coordinate may also be input into the prediction model 20. Once the ball tracking network 14 obtains the zone and surface topography, the ball tracking network 14 may transmit or provide the data to the prediction generator 16. The prediction generator 16 may apply 310 the ball's impact physics and surface topography data corresponding to the initial impact location to a prediction model. The prediction generator 16 may then use the output of the prediction model 20 to identify 312 the next predicted impact coordinate and the next predicted impact physics, which may be done by any suitable methodology, such as those described above. In some situations, such as when the ball is not predicted to undergo any further impacts, the next impact location may not be reflected in the output. In cases where roll is predicted, the output may identify roll characteristics that can be used to include or identify the final rest position, for example, by applying the roll characteristics to the surface model 18, zone map 19, or other map containing coordinates of the modeled space. If no further movement is predicted, the impact location corresponds to the predicted final rest position.If the output predicts the next impact location, the prediction generator 16 may use 314 the next predicted impact physics and surface topography corresponding to the next predicted impact coordinate as input to the prediction model 20 corresponding to the next impact location. In some embodiments, the next impact location corresponds to the same zone and coefficients as the previous impact location, and the same prediction model 20 may be used again. This method may be repeated 316 for subsequent next predicted impact locations until a final rest position is obtained.
[0055] FIG. 4 illustrates a method 400 for determining a final rest position according to various embodiments. The ball tracking network 14 may track 402 the ball to an initial impact location. The ball tracking network 14 may further measure 404 ball impact physics variables, such as impact angle and impact velocity, to obtain associated values. In some embodiments, the ball tracking network 14 may further measure spin and / or spin axis. The ball tracking network 14 may further access the map database 12 to identify 406 coordinates of the initial impact location. The ball tracking network 14 may transmit or provide the initial impact coordinates and the ball impact physics characteristics to the prediction generator 16. The prediction generator 16 or the ball tracking network 14 may access the map database 12 to obtain 408 a zone corresponding to the impact coordinate, a surface topography of the impact coordinate, and a prediction model 20 corresponding to the zone. In some embodiments, the initial impact coordinate may also be input into the prediction model 20. The prediction generator 16 can then apply 410 the impact physics of the ball and the surface topography of the initial impact location to a prediction model and use the model output to identify 412 the predicted final rest position.
[0056] As introduced above, the prediction generator 16 may include an update engine 26 configured to update the predictive model 20, such as coefficients associated with zones. The update engine 26 may be configured with a customized update schedule and input data for generating updated coefficients. For example, the update engine 26 may be configured to update the predictive model 20 at predetermined time intervals, between shots, upon the occurrence of predetermined events, on-demand, dynamically, or otherwise. The update engine 26 may update the predictive model 20 based on actual historical data of final rest position and / or bounce and roll data collected during tournament play. Various historical data sources may be utilized alone or in combination. For example, the historical data may correspond to data collected from shots hit in the same or similar zones, shots hit on the same or previous day on the same course, the same hole, a similar course, or a similar hole, or a combination thereof. As described in more detail below, in one configuration, the update engine 26 continuously fits or trains / tunes the model utilizing a sliding window of past shots hit on the same day, same hole, and same zone with which the updated predictive model 20 is associated. In another example, the historical data may correspond to data collected from shots regardless of time, course, or hole.
[0057] Model fitting or training / tuning may generate one or more coefficients and / or updated coefficients for one or more terms in predictive model 20. For example, ball tracking network 14 may track bounce, roll, and / or final rest position, and update engine 26 may fit the model based thereon by comparing corresponding predicted bounce, roll, and / or final rest position characteristics. In some such examples, comparing predicted bounce, roll, and / or final rest position characteristics with actual bounce, roll, and / or final rest position characteristics may include comparing predicted bounce, roll, and / or final rest position characteristics with actual bounce, roll, and / or final rest position characteristics collected by ball tracking network 14. In one embodiment, the characteristics may include one or more bounce characteristics selected from number of bounces, height, length, acceleration, speed, inbound angle, outbound angle, direction, or a combination thereof, and / or one or more roll characteristics selected from distance, acceleration, maximum / minimum speed, speed variation, speed between two or more points, direction, or a combination thereof.
[0058] In some embodiments, update engine 26e can be configured to continuously update predictive model 20 on a rolling basis, fitting or training / adjusting to a sliding window of actual past shots. Updates based on a sliding window of actual past shots taken on the same day, hole, or zone can be utilized to adapt predictive model 20 to changing conditions on the course without specifically incorporating situational data. For example, update engine 26e can be configured to continuously update predictive model 20 based on actual and predicted ball behavior, e.g., bounce and roll, and / or final resting position, by fitting the model to a predetermined number of past shots for which actual and predicted data corresponding to the area or zone to which the model applies.
[0059] In addition to the above, the update engine 26 can be configured to apply a sliding window of collected ball behavior data from past shots to modify the predictive model 20 and continuously update the predictive capabilities of the predictive model 20 to current conditions. The actual bounce and roll and / or final rest position and the predicted bounce and roll and / or final rest position can be compared to the previous available shots played on that hole that day that impacted the zone and used to update the coefficients corresponding to the zone. When the ball impacts the zone, the prediction generator 16 can apply the current predictive model 20 for the zone using the updated coefficients to predict the bounce and roll behavior and / or final rest position. The ball tracking network 14 can also collect the actual bounce and roll behavior and / or final rest position that the update engine 26 uses to compare with those predicted and update the predictive model 20 for the particular zone to generate a new current predictive model 20 for the particular zone, e.g., with updated coefficients. As a result, by applying a sliding window to update the predictive model 20, the predictive model 20 may automatically fit or adjust to the specific conditions of the hole (e.g., current environmental conditions) as play continues. The update engine 26 can operate in an unsupervised feedback loop, automatically updating the predictive model 20 as data becomes available and adapting to changing conditions over time without requiring retraining.
[0060] In some examples, data obtained from a comparison of actual data and predicted data for the current shot is used to exclude data obtained from a comparison of actual data and predicted data for previous shots that fall outside a set range of shots specified by the sliding window. For example, the sliding window can be configured to utilize a set number of past shots, such as 10, to update the zone coefficients corresponding to the predictive model 20 for a particular zone. Shot data can be processed on a first-in, first-out basis, preserving the past shot data for the set number of shots. The set number of shots within the sliding window can be customized to any number of shots. By way of example, a sliding shot window can include from about 4 shots to about 100 shots or more. The number of shots is preferably selected to allow the predictive model 20 to adapt to current conditions while not being overly biased toward previous conditions in the most recent narrow data set. Thus, the zone and ball collision traffic within the zone of interest can be taken into account. For example, a zone that is regularly hit, such as a fairway, may receive a higher number of set shots, while a zone that is not regularly hit may benefit from a lower number of set shots. Thus, in one example, the number of shots within a sliding window for one zone or group of zones may differ from the number of shots for another zone or group of zones. In some embodiments, the number of shots used may be dynamically set based on course conditions. For example, if tournament play is suspended due to rain, the predictive model 20 for one or more zones may be reset, or the sliding window applicable to the model may be modified to include fewer shots or fewer shots taken during a particular time period before the suspension. For example, shots taken 20 minutes before the suspension may be excluded from the window. In such an example, the sliding window may or may not re-populate the window with older shot data that was previously excluded from the sliding window.As described above, system 10 can be configured to filter historical data to remove outliers. For example, in embodiments including a sliding window or other update strategy, system 10 can filter out actual / predicted shot data from shots where the predicted bounce and roll behavior and / or final resting position differ from the actual by a specified absolute value or fall outside a range of values. While the historical shot data is preferably obtained from the same zone of the same hole on the same day, in some embodiments, the historical shot data used in the sliding window can be supplemented with historical shot data from a similar zone on another day corresponding to the same zone and hole, or from another hole on the course under similar environmental conditions on the same day.
[0061] 5 illustrates a method 500 for updating the predictive model 20 for a zone using the sliding window approach described herein, according to various embodiments. In one example, the update engine 26 can compare 502 the actual final rest position to the predicted final rest position for a sliding window of shots and use the comparison data to update 506 the zone coefficients. According to another example, the update engine 26 can compare 504 the actual bounce and roll characteristics to the predicted bounce and roll characteristics for a sliding window of shots and use the comparison data to update 506 the zone coefficients.
[0062] As introduced above, a zone can be associated with an initial coefficient. The initial coefficient can be updated as described above. In configurations utilizing a sliding window strategy, the update engine 26 can update the coefficients once a prediction for a zone is generated and actual historical shot data corresponding to that shot is received. In one example, the update engine 26 can weight the comparison data by a representative portion of, for example, a set number of shots or more. Subsequent updates can similarly weight the comparison data until all or a predetermined portion of the comparison data corresponding to the set number of shots is available. In another example, the update engine 26 can wait to update the predictive model 20 with the comparison data until one or more or a larger portion of the set number of shots is available for model update. In a further example, multiple shots can be weighted as described above until a complete set of comparison data for the set number of shots is available. As described above, the comparison data can be filtered to remove outliers, thereby filtering out outliers from the set number of shots.
[0063] In any of the above or other examples, the system 10 can optionally include various environmental sensors that detect environmental conditions related to the course, which the system 10 can utilize to enhance its predictive models to account for the measured conditions. In some embodiments, environmental conditions can be incorporated as coefficients or terms that modify the characteristics of features affected by the environmental conditions, such as soil hardness, soil saturation, temperature, rainfall, barometric pressure, temperature, and humidity. In other or further examples, coefficients can be updated or modified using historical shot data from zones with similar feature characteristics under similar environmental conditions. Examples of environmental sensors can include, but are not limited to, soil hardness sensors, such as soil moisture sensors, weather sensors, or combinations thereof. Soil moisture sensors can be installed underground at one or more locations around the course to detect soil saturation. Because drainage and topography vary in different areas of a hole or course, in some examples, soil moisture sensors are installed at multiple locations on a hole, such as one or more locations along the fairway, one or more locations along the rough, one or more locations along the green, or a combination thereof. In some embodiments, data received from the soil moisture sensor can be used to predict ground hardness, which the system uses in predicting bounce and roll. In another or further embodiment, data received from the soil moisture sensor can be used to modify the current ground hardness factor in the dynamic calibration described herein. For example, soil moisture may increase or decrease during play, such as during a shot that interacts with the ground in a zone or other area where soil moisture is measured. The system 10 can use the measured changes in soil saturation to modify the ground hardness factor during play to improve prediction accuracy. For example, if it rains during play, an increase in soil saturation can be detected, and the update engine 26 can lower the ground hardness factor before the next shot interacts with the softened ground, rather than waiting to adjust the ground hardness factor using the shot's actual measured data.This can be used to improve prediction accuracy during changing conditions. Additionally or alternatively, system 10 may perform dynamic calibration of ground hardness using actual measurement data of the shot and subsequent shots, as described herein.
[0064] In one embodiment, the update engine 26 can update one or more coefficients based on environmental data. For example, if a rain gauge detects rain, the forecast generator 16 can access past shot data or coefficients to match the current environmental conditions. Before the next shot, the update engine 26 can update coefficients corresponding to the detected rain and the impact that similar rainfall in the past had on the coefficients. In one example, the update engine can consider the current coefficient value being used for a zone, match that value with similar values for the zone in the past, and update the coefficient value with the value observed for the zone in the past after a similar rainfall. In this way, the system can use past shot data collected under various conditions to compare the current coefficients with past coefficients and update the current coefficients to account for the changed conditions observed for the past coefficients after similar changed conditions.
[0065] The coefficients can include a stimp factor used to improve the accuracy of bounce, roll, or both predictions. The stimp factor can be specific to a zone type (fairway, green, sand bunker, etc.), a particular zone, or a combination of reinforced zones, or other area. Weather sensors, such as anemometers, rain gauges, thermometers, barometric pressure sensors, and humidity sensors, can additionally or alternatively be used to measure local environmental conditions. For example, data collected from a rain gauge can be used to predict ground hardness as described above. Additionally or alternatively, a rain gauge can be used in the predictions.
[0066] In various embodiments, the determination of the zones relative to the final rest position can be output to various platforms or used for record keeping. System 10 can be configured to determine the reliability of the zone prediction and predict the rest position. For example, the predicted rest position of the ball can be analyzed to determine its proximity to other zones. If there are no other zones near the predicted rest position of the ball, the reliability can be determined to be at a high level.
[0067] System 10 can utilize the prediction data in a variety of ways. For example, system 10 can utilize the prediction data to output fast predictions of final resting positions and / or associated zones for use by data clients requiring such fast predictions, such as for gambling-related applications. In one example, system 10 can be configured to transmit the prediction data to a television camera, providing the camera with information that can be used to quickly identify the ball's location for a television broadcast. In another example, the prediction data can be used to define shadow zones that the camera cannot reach. For example, if the ball initially or later impacts a shadow zone, system 10 can predict the final resting position and direct personnel to the ball's predicted location. In another example, the prediction data can be used for presentation purposes and to fill in shot coordinates when they are not otherwise available, including on digital platforms.
[0068] The systems and methods described herein may include additional functions and features. For example, the prediction generation module can be configured to generate a prediction model 20 that incorporates various characteristics and / or to associate multiple coefficients that are conditionally applied to the shot prediction. For example, coefficients or terms can be established empirically for a particular ball type, a group of ball types, or a representative sample of a ball type or group of ball types. Some embodiments may use the same coefficients and terms regardless of the balls involved in the collision, while some configurations may use specific coefficients or terms that correspond to the ball type or group of ball types involved in the collision. These coefficients or terms may be tagged to the corresponding ball type and / or averaged or normalized to one or more groups of ball types. In one embodiment, the system 10 is configurable to use the same coefficients and terms regardless of the ball type involved in the collision or to select one or more coefficients that correspond to the ball type or group of ball types involved in the collision.
[0069] Further functionality and features may include the additional incorporation of past shot data into the predictive modeling operations described herein. For example, system 10 may be configured to continuously collect shot data for incorporation into the predictive modeling operations. In various embodiments, system 10 is configured to incorporate past shot data for use in modeling the behavior of shots taken by a golfer. In another or further embodiment, system 10 may be configured to incorporate past shot data that includes other physical elements of the natural conditions associated with the past shot data. For example, the past shot data may be tagged or associated with one or more conditions corresponding to the conditions to which the shot data pertains, such as weather conditions (e.g., temperature, humidity, dew point, wind speed, wind direction, wind variance), etc. In one embodiment, flight simulator 22 utilizes this data, as well as the physical characteristics of the shot, including the shot direction relative to wind direction and one or more of launch angular velocity, spin, or spin axis, to predict initial impact location. The historical shot data may also include impact and / or bounce and roll physics, which may be tagged by the system 10 and used to generate the predictive model 20 and / or to fit or train / tune the predictive model 20 by generating or adjusting coefficients or parameters.
[0070] In some embodiments, past shot data can be maintained in a historical shot database 28 archive. The system 10 can be configured to query the archive for relevant shot data identified by tags. The relevant shot data can be tagged with one or more environmental conditions, surface conditions, player, club, hole, course, zone, or other variable values associated with shot data available in the archive, which can be queried to generate predictive models for predicting future shots based on the laws of physics and such variables. That is, past shot data can be archived and tagged with one or more associated variable values. Variables can include, for example, environmental variables, ball physics variables, geographic / terrain variables, course variables, player variables, or combinations thereof. Environmental variables can include air pressure, temperature, humidity / dew point, wind fluctuations, wind speed, and wind direction (e.g., relative to the ball's direction). Ball physics variables can include velocity, initial velocity, velocity loss at various distances, launch angle, spin, spin axis, apex, distance, roll / final rest, flight time, impact angle, or combinations thereof. Geographic / topographic variables can include lie, slope, grass type, grass height, impact elevation for the shot, etc. Course variables can include hole, hit zone, initial impact zone, final resting position or zone, shot distance, etc. Player variables can include player name, club, shot shape, right or left handed, ball type, face angle, etc.
[0071] In one embodiment, the prediction model can incorporate player-specific historical data or weight / bias predictions regarding a player's initial impact location, bounce and roll, and / or final rest position to reflect the player's shot tendencies. Tendencies can be identified by comparing how a player's shots differ from those of the field or one or more other players under similar conditions in terms of initial impact location, bounce and roll, and / or final rest position. This allows the prediction generator 16 to map the values of variables that affect a particular player's bounce and roll and / or final rest position compared to other players. In some cases, predictions of initial impact location, bounce and roll, and / or final rest position for a particular player may consistently deviate from those predicted using coefficients or parameters accurate for the field or other groups of players. For example, if a player hits a shot uphill and / or against the wind, they may deviate from the field in terms of bounce, roll, and / or final rest position. According to various embodiments, coordinate prediction model 20a or prediction model 20 for bounce and roll and / or final rest position may include player-specific calculations, terms, or coefficients for one or more terms that incorporate historical shot prediction deviations identified for the player. In some embodiments, multiple players on the field or for a particular group of players may have similar trends in deviations from predictions for initial impact location, bounce and roll, and / or final rest position. In such cases, coordinate prediction model 20a or prediction model 20 for bounce and roll and / or final rest position may include player-group-specific calculations, terms, or coefficients for one or more terms that incorporate historical shot prediction deviations identified for the group of players. Whether applied to a single player or a group of players, the player-specific aspects may be applied to the situation in which the deviations were identified.For example, a player may deviate from the field prediction only if they hit from the rough, downhill, in a particular temperature range, or if other variable values are present. Similarly, a single player may belong to multiple different deviation groups based on the presence or absence of certain variables, and if not present, prediction generation can be configured to exclude player-specific aspects from the predictive model 20. For example, Player 1 and Player 2 may deviate similarly from the final rest position prediction applied to the field if their shots have certain club variable values. However, Player 1 may deviate from the field in a manner consistent with Player 3 if their shots have different club specific values.
[0072] In some embodiments, the predictive model 20 utilizes regression analysis or machine learning, such as neural networks or recurrent neural networks. In various embodiments, the prediction generator 16 can apply the estimated flight path or position to a coordinate map to identify an initial impact location. This can be used when the ball's impact location is unknown. In some embodiments, the estimated flight path can be overlaid on a map to determine the initial impact location. Projecting the estimated flight path onto a surface map can identify objects that may affect the flight path and, therefore, the initial impact location. For example, comparing the altitude of the ball's trajectory with an altitude that takes into account the ball's impact location and the relative altitude of the mapped object can determine whether the ball will impact an object. The predicted flight path could result in the ball flying through, over, or hitting a tree. Thus, if the prediction generator 16 determines that the initial impact location is a tree, the prediction generator 16 can output a specific coordinate or range of coordinates corresponding to the tree.
[0073] In some embodiments, the system 10 is configured to generate a prediction of the ball's resting position before it impacts the ground. For example, the prediction can be generated within a few seconds of the ball being struck, e.g., less than six or seven seconds. In one configuration, the flight simulator 22 can receive ball tracking data from the ball tracking network 14. The flight simulator 22 can utilize the ball flight data collected by the ball tracking network 14 at one or more points after the ball is struck to calculate a predicted flight path, or stroke trail. The flight simulator 22 can use the ball tracking data and the coordinate prediction model 20a to predict initial impact coordinates using map data 13 from the map database 12. For example, the flight simulator 22 can predict, from the ball tracking data and the surface model 18, that the ball will impact a tree and provide the coordinates to the physics simulator 24. In some embodiments, when flight simulator 22 predicts impact locations, in addition to receiving ball flight data from ball tracking network 14, flight simulator 22 may receive environmental data from environmental sensors 17, such as one or more of humidity, altitude, temperature, wind speed, and wind direction, and input this data into coordinate prediction model 20a to model the ball's flight and predict impact coordinates. In some embodiments, flight simulator 22 may use ball tracking data to determine actual impact coordinates using map data 13 from map database 12. For example, flight simulator 22 may determine from ball tracking data and surface model 18 that the ball has impacted a tree and provide the coordinates to physics simulator 24. Prediction generator 22 may also use ball tracking data to provide or predict ball impact physics characteristics, such as impact angle and velocity. Additional impact physics characteristics, such as spin rate or spin rate and spin axis, may also be included. Physics simulator 24 may use the coordinates, along with zone map 19, to select an applicable prediction model 20 corresponding to the coordinates.Physics simulator 24 can use the actual or predicted impact physics values in predictive model 20 to generate bounce and roll and predict the ball's behavior, subsequent coordinates, if applicable, and final resting position. In some embodiments, when using predictive model 20, physics simulator 24 can incorporate parameter values or coefficients for surface features, such as angle, material properties, hardness, stimp, or others described herein, from surface model 18 and zone map 19, that correspond to subsequent impact / bounce and roll positions. It should be understood that these can be incorporated into predictive model 20, where the predictive model is identified by the associated impact / bounce and roll coordinates, and the predicted physics are input into the model to output the ball's behavior and resulting subsequent coordinates. In some embodiments, predictive model 20 can include a hardness coefficient corresponding to the ground hardness within the zone. As described in more detail elsewhere herein, in some embodiments, update engine 26 can dynamically update the hardness coefficient values and / or other zone parameter values to improve the accuracy of the predictions. The update engine 24 can update the predictive model 20. The predictive model 20 can be specific to a zone or a particular enrichment zone, e.g., a tree branch. The predictive model 20 can include parameter values or coefficients corresponding to surface features such as material, terrain, or other aspects of the model. In some embodiments, the update engine 26 can be configured to update the values or coefficients based on changed conditions, e.g., environmental conditions such as rainfall, soil saturation, temperature, etc.
[0074] FIG. 6 illustrates one embodiment of operation 600 of system 10 according to various embodiments. Flight simulator 22 can be configured to generate 602 a stroke trail polynomial for predicting the initial impact coordinate of the ball using ball flight data collected by sensors in flight tracking network 14 corresponding to the flight of the ball after it is struck. In one example, flight simulator 22 can be configured to calculate 604 predicted impact physics characteristics and an initial impact location of the ball. Further, it should be noted that in some embodiments, flight simulator 22 can generate a stroke trail polynomial from ball flight data collected by sensors in ball tracking network 14 corresponding to the flight of the ball after it is struck to obtain or calculate the impact physics characteristics and the initial impact location of the ball. A predictive model 20 corresponding to the initial impact coordinate can be selected 606. The predictive model 20 can be associated with a zone surrounding the impact coordinate. Physics simulator 24 can apply 608 the impact physics characteristics of the ball at the initial impact location to the predictive model. The model output can be used 610 to identify the next predicted impact coordinate and the next predicted impact physics characteristics. Using the predictive model 20 corresponding to the next predicted impact coordinate, the next impact physics can be used to calculate 612 the next predicted impact location and physics. This operation can be repeated 614 until a final rest position is obtained. In some embodiments, the surface topography corresponding to the impact coordinate can also be used in conjunction with the predictive model 20. In one example, the predictive model 20 can be used to model bounce and roll, as described herein. In this or another example, the predictive model 20 can include coefficients incorporating stimp, hardness, or both, for the surface on which the ball impacts or rolls. In any of these or another examples, the physics simulator 24 or update engine 26 utilizes a surface model, including the course and surrounding area, to extract surface features for use in the predictive model 20.In any of the above or other examples, environmental data collected by environmental sensors associated with the flight of the ball can be incorporated into the predicted impact location. These environmental data can include, for example, wind speed, wind speed and direction, humidity, altitude, or any combination thereof. In any of the above or other examples, the actual final rest position can be compared to the predicted final rest position for a sliding window of past shots. As described elsewhere herein, the coefficients that minimize the error between the actual rest position and the predicted rest position can be selected as the current optimal coefficients. In one example, the coefficients include a hardness coefficient. In any of the above or other examples, the update engine 26 can update one or more coefficients of the predictive model 20, including coordinates affected by changed environmental conditions, based on the past effect of the changed conditions on bounce, roll, final rest position, or a combination thereof. In any of the above or other examples, as described in more detail elsewhere herein, physics simulator 24 can generate zone probabilities for the final rest position, including creating a distribution of positions around the predicted initial impact position, each with a probability of occurrence, and simulating the predicted rest state of the ball for each position using multiple levels of one or more coefficients. In one example, the one or more coefficients are hardness coefficients.
[0075] As introduced above, in some embodiments, the update engine 24 can be configured to dynamically calibrate one or more coefficients of the predictive model 20. These include, for example, firmness or stimp. In one example, the update engine 26 is configured to calculate an optimal firmness coefficient. The update engine 26 can apply various sets of firmness combinations to a set of past shots for which actual data is known, for example, from the historical shot database 28. The update engine 26 can loop through different sets of firmness combinations, for example, 10 different firmness combinations, to find the one that results in the smallest average error for the set of past shots. In one example, the update engine 26 is configured to dynamically calibrate the firmness coefficients, and as described herein, the update engine 26 applies a sliding window of previous past shots to identify which firmness coefficient results in the smallest error and updates the predictive model 20 accordingly for use in the next shot. In one configuration, for each zone, the predictive model 20 uses a dynamic firmness coefficient and a static stimp coefficient for the physics simulation. While data in the form of stimp can be used to dynamically inform the predictive model 20 to generate predicted coordinates, stimp data can also be used to indicate a measured firmness or stimp reading based on measurement factors such as bounce height measured by ball-tracking network sensors installed on or around the golf course. In one embodiment, the amount of prediction error is calculated by taking the distance difference between the ball's final rest measurement and the predicted ball at rest. This can be used by the update engine 26 to adjust the hardness coefficient of the predictive model 20. This can be performed before play using shot data from a similar zone or similar zone conditions, and similar shots expected to be hit in the zone. In one example, the historical shot data is from the same hole and zone. In one example, the update engine 26 generates an optimal hardness coefficient during play, and the historical shot data is for shots into the zone during play.In another embodiment, the predictive model 20 initially uses median or expected coefficient values for the conditions and ground materials within the zone.
[0076] In various embodiments, the prediction generator 16 is configured to generate predicted ball rest zone probabilities. In one embodiment, the prediction generator is configured to generate a stroke trail polynomial to identify or predict the ball's initial impact coordinates using ball flight data collected by the ball tracking network 14 after the impact. The final rest position can be calculated as described elsewhere herein. Referring to operation 700 shown in FIG. 7 , the prediction generator 16, or other system configured to generate a prediction, can be configured to create a distribution of stroke trail impact locations 702 and simulate a ball rest prediction for each location 703. In one configuration, the ball rest position can be simulated for each location 704 using multiple coefficient values. For example, the physics simulator 24 can create a distribution of locations around the stroke trail impact location, each with a probability of occurrence, and simulate a ball rest prediction for each of these locations using multiple hardness coefficient levels. For example, the hardness levels can include a current coefficient, a slightly softer coefficient, and a slightly harder coefficient. The prediction generator 16 can aggregate and sum the results to determine the probability of each zone outcome. For example, the physics simulator 24 can run multiple, e.g., hundreds, of simulated shots with known parameters and variances to determine the percentage of shots that will come to rest in each potential zone, e.g., fairway, rough, bunker, or water. For example, the prediction generator 16 can use the most likely impact location for the final rest position prediction and the corresponding zone. However, other impact locations with associated probabilities can also be identified. The prediction generator 16 can similarly use these impact locations in the manner described herein to calculate a distribution of predicted rest positions, zone probabilities, or both. For example, a ball predicted to pass through a tree may have a wide distribution of predicted initial impact locations. The physics simulator 26 can calculate the bounce and roll for each predicted impact location to generate a distribution of final rest positions.To generate the probability for each zone, the number of balls that will come to rest in the potential zone and their associated probabilities can be calculated. This can be done even if there is no large distribution in the predicted initial impact locations. Additionally or alternatively, the physics simulator 26 can modify one or more coefficient levels to generate a modified resting position. The modified coefficients can be modified slightly above or below the current optimal value, for example, within a range of 1% to 10%. The bounce and roll and final resting position can be modeled using the current and slightly modified values to generate a probability distribution corresponding to a representative number of runs predicted to come to rest in the potential zone. In some embodiments, the probability associated with each specific run can be further included in the zone probability calculation. The zones and probabilities can be transmitted to data clients, television broadcasts, scoring systems, spotters, betting platforms, or other uses as described herein. As described below, the predictions can be updated with further predictions based on additional collected data, actual final collected data, or both.
[0077] In addition to the above, system 10 can use the stroke trail polynomial of the sensor data to calculate the predicted rest position of the ball from the stroke trail's location at impact with the surface or by simulating the bounce and roll of the ball before impacting the surface. Predictive data, such as bounce and roll behavior, zone probabilities, rest position, or a combination thereof, can be utilized to predict ball position for television broadcast, for data client enrichment of downstream applications, or for integration into manual or automated scoring or other internal applications. In various embodiments, the data can be used to inform downstream sensors of the probabilistic location for retrieving the next shot hit or other golf-related information. For example, the data can be provided to manual or automated scoring sensors to identify the probabilistic location for retrieving the next shot, or to identify the ball's location relative to its actual location for historical data tracking purposes, location and zone verification, or for a ball tracking network to track the next shot. In any of the above or other embodiments, the data can be utilized to inform downstream clients of the shot's location, which in turn informs elements such as betting odds predictions, visual inputs such as stroke trails for television or digital broadcasts, and other digital representations such as marginal displays of likely shot inputs in video game-like representations of play. For example, the coordinates within a coordinate system and the generated predicted ball behavior can be directly translated into an animated environment. This digitally enhanced presentation can show various probabilistic outcomes based on the behavior and location probabilities generated by the prediction generator. In any of the above or other embodiments, the data can be provided to alert staff when the ball is likely to land outside the range of other sensors, allowing additional data to be collected by other means, such as a mobile laser to identify the ball's actual location so that a spotter can then determine the ball's location.
[0078] As introduced above, the predicted shot location from the above calculations can be used by a scoring system in an automated scoring environment, in combination with a spotter using on-course sensors to determine or confirm final coordinates. For example, the predicted coordinates or zones can be provided to a camera or laser to identify a stationary ball and confirm its location for scoring. The predicted coordinates or zones can be provided to other sensors, such as radar, to track the upcoming shot. In one embodiment, if a shot is predicted to be taken at a specific location and a spotter can quickly verify the coordinates using ground-based equipment through any location mapping system that the predicted shot is within a predetermined tolerance (e.g., 95%), the coordinates can be automatically marked as final in the scoring system. In one embodiment, the scoring system can be configured to mark a shot location or zone as final if the predicted coordinates are a threshold distance from another zone, or other predetermined tolerance. For example, if the coordinates are predicted to be outside a predetermined tolerance, e.g., less than two standard deviations, the system can automatically mark the shot as final. For example, if a shot is projected deep into a water hazard and more than two standard deviations from the edge, the shot is automatically marked as final. The coordinates can be used to verify that a ball associated with a player matches a ball previously tracked by sensors in a ball tracking network used by the scoring system. In one embodiment, for example, sensors can track balls that the system has associated and tracked with a particular player. The scoring system can also utilize sensors to identify players, for example, by their gait, clothing, etc. In some embodiments, players can be associated with markers, such as infrared, thermal, or other optical markers, that can be tracked by sensors.To enhance ball tracking, a player can wear a position tracking device that can be tracked and provide coordinates to the sensor. The coordinates or zone predictions can be used to confirm the association of the ball with the player or previous shots to enhance tracking and verify scoring.
[0079] As introduced above, data can be utilized to inform downstream clients of shot locations, informing factors such as predicted betting odds. Using the present system and method, odds can be predicted before human intervention, for example, by generating predicted coordinates from the measured apex of a given shot. Updates to predicted coordinates based on the collection of additional ball flight data, along with available sensory input, can then be used to converge to 100% confidence as the ball's trajectory progresses. This methodology can be used to generate odds at various points within a prediction window before a human knows the shot, leading to improved, automated sports betting.
[0080] The present system and method can be applied to applications other than golf. For example, the present system and method can be used to estimate the ballistic outcome of a cannonball based on detailed mapping locations. For example, in a paintball game, large projectiles can be aimed and used by one team to hit around or bounce off a target to increase the score. Thus, the present system and method can be implemented in an aiming system.
[0081] The systems and methods disclosed herein may include additional functions and features. For example, the operational functions and methods of system 10 may be configured to execute on a dedicated processor specifically configured to perform the operations provided by the present systems and methods. In particular, the operational features and functions provided by the present systems and methods may improve the efficiency of computing devices utilized to facilitate the functions provided by the systems and various methods disclosed herein. For example, by training the system over time based on data and / or other information provided and / or generated by system 10, fewer computer operations may be performed by devices and elements within system 10 using the processor and memory of system 10 compared to conventional methods. In such situations, less processing power is utilized because the processor and memory do not need to be dedicated to processing. As a result, significant savings in computer resource usage can be achieved by utilizing the software, techniques, and algorithms provided in this disclosure. In certain embodiments, the various operational functions of system 10 may be configured to execute on one or more graphics processors and / or application-specific integrated processors. In some embodiments, the various functions and features and methods of system 10 may operate without human intervention and may be executed entirely by a computing device. In particular embodiments, for example, multiple computing devices may interact with devices of system 10 to provide the functionality supported by system 10. Furthermore, in particular embodiments, the computing devices of system 10 may operate continuously without human intervention to reduce the likelihood of errors being introduced into system 10.
[0082] Referring now also to FIG. 8 , at least some of the methodologies and techniques described with respect to the exemplary embodiment of system 10 may be incorporated into a machine, such as, but not limited to, computer system 800, or other computing device that, when executed, can cause the machine to perform any one or more of the above-described methodologies or functions. The machine may be configured to facilitate various operations performed by system 10. For example, the machine may be configured to assist system 10 by, but not limited to, providing processing power to assist with the processing load generated by system 10, providing storage capacity to store instructions or data passing through system 10, or by assisting other operations performed by or within system 10. As another example, computer system 800 may assist in the generation of models related to generating predictions, ball tracking, data collection, data import, data storage, data processing, mapping, updating any of these, or a combination thereof, present in an environment monitored by system 10. As another example, computer system 800 may assist in the generation of zonal probability distributions. As another example, the computer system 800 may facilitate the output, delivery, or both, of predictions or updates to television broadcasts, streaming broadcasts, digital platforms for display, operation, formatting, or combinations thereof.
[0083] In some embodiments, the machine can operate as a standalone device. In some embodiments, the machine can be connected to other machines and systems to assist in operations performed by the other machines and systems, including, but not limited to, systems having any of the functionality described herein, generators, simulators, databases, engines, or other functionality, any of which can be provided to the machine by such other machines or systems for use in system 10 performing the operations described herein. The machine can be connected to any component in system 10. In a networked deployment, the machine can operate as a server or client user machine in a server-client-user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine can comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch, or bridge, or any machine capable of executing a series of instructions (sequential or otherwise) that specify actions to be performed by the machine. Additionally, although a single machine is illustrated, the term "machine" is intended to include any collection of machines that individually or collectively execute a set (or sets) of instructions to perform any one or more of the methodologies described herein.
[0084] Computer system 800 may include a processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 804, and a static memory 806, which communicate with each other via a bus 808. Computer system 800 may further include a video display unit 810, such as, but not limited to, a liquid crystal display (LCD), a flat panel, a solid-state display, or a cathode ray tube (CRT). Computer system 800 may include an input device 812, such as, but not limited to, a keyboard, a cursor control device 814, such as, but not limited to, a mouse, a disk drive unit 816, a signal generating device 818, such as, but not limited to, a speaker or remote control, and a network interface device 820. Network interface device 835 may handle data communication with other devices, units, or components of system 10 or other systems or machines. For example, sensors of ball tracking network 14, environmental sensors 17, or both may communicate collected data with system 10 via communication network 835.
[0085] Disk drive unit 816 may include a machine-readable medium 822 that stores a set of one or more instructions 824, such as, but not limited to, software, that embody any one or more of the methodologies or functions described herein, including those illustrated above. The instructions 824 may reside, completely or at least partially, in main memory 804, static memory 806, processor 802, or a combination thereof during execution by computer system 800. Main memory 804 and processor 802 may also constitute machine-readable media.
[0086] Specialized hardware implementations, including but not limited to application-specific integrated circuits, programmable logic arrays, and other hardware devices, can also be constructed to implement the methods described herein. Potential applications involving the devices and systems of various embodiments broadly include various electronic and computer systems. Some embodiments implement functionality in two or more specific interconnected hardware modules, with associated control and data signals communicated between and through the modules, or as part of an application-specific integrated circuit. Thus, the exemplary system is applicable to software, firmware, and hardware implementations.
[0087] According to various embodiments of the present disclosure, the methods described herein are intended to operate as software programs executed on a computer processor. Furthermore, software implementations may include, but are not limited to, distributed processing or component / object distributed processing, parallel processing, or virtual machine processing may be constructed to perform the methods described herein.
[0088] The present disclosure contemplates a machine-readable medium 822 including instructions 824 such that a device connected to the communications network 835, another network, or a combination thereof can use the instructions to send or receive audio, video, or data to communicate over the communications network 835, another network, or a combination thereof. The instructions 824 can further be sent or received over the communications network 835, another network, or a combination thereof via the network interface device 820.
[0089] Although machine-readable medium 822 is shown as a single medium in the exemplary embodiment, the term "machine-readable medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable medium" should also be interpreted to include any medium that can store, encode, or carry a set of instructions for execution by a machine and that causes the machine to perform any one or more of the methodologies of the present disclosure.
[0090] Thus, the terms “machine-readable medium,” “machine-readable device,” or “computer-readable device” should be interpreted to include, but are not limited to: solid-state memory, random-access memory, or other rewritable (volatile) memory, such as a memory device, a memory card or other package containing one or more read-only (non-volatile) memories; magneto-optical or optical media, such as disks or tapes; or any other self-contained information archive or set of archives that are considered a distribution medium equivalent to a tangible storage medium. A “machine-readable medium,” “machine-readable device,” or “computer-readable device” may be non-transitory and, in certain embodiments, may not include the waves or signals themselves. Thus, the present disclosure should be interpreted to include any one or more of the machine-readable media or distribution media on which the software implementation described herein is stored, including equivalents and successor media enumerated herein and recognized in the art.
[0091] The illustrations of the configurations described herein are intended to provide a general understanding of the structures of various embodiments and are not intended to serve as a complete description of all elements and features of apparatus and systems that may utilize the structures described herein. Other configurations may be utilized and derived therefrom, and structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. The drawings are also merely illustrative and may not be drawn to scale. Certain proportions thereof may be exaggerated, while other proportions may be minimized. Accordingly, the specification and drawings should be interpreted in an illustrative sense, rather than a restrictive sense.
[0092] Thus, while specific configurations have been illustrated and described herein, it is understood that any configuration calculated to achieve the same purpose may be substituted for the specific configuration shown. This disclosure is intended to cover any and all adaptations or modifications of the various embodiments and configurations of the invention. Combinations of the above configurations, and other configurations not specifically described herein, will be apparent to those skilled in the art upon reviewing the above description. Therefore, this disclosure is not limited to the particular configuration disclosed as the best mode contemplated for carrying out the invention, but rather the invention is intended to include all embodiments and configurations falling within the scope of the appended claims.
[0093] The foregoing has been provided for the purposes of illustrating, explaining, and describing embodiments of the present invention. Modifications and adaptations to these embodiments will be apparent to those skilled in the art and can be made without departing from the scope or spirit of the invention. Upon reviewing the foregoing embodiments, it will be apparent to those skilled in the art that the above embodiments can be modified, scaled down, or expanded without departing from the scope and spirit of the claims set forth below.
Claims
1. 1. A system for predicting a rest position of a golf ball, comprising: a prediction generator configured to predict a final rest position of a golf ball struck on a golf course, said prediction generator comprising: a flight simulator configured to determine an initial impact location and initial impact physics from ball flight data collected by sensors of the flight of the golf ball after being struck, and to identify coordinates within a coordinate interval defined for the golf course that correspond to the initial impact location; a physics simulator configured to select a prediction model corresponding to an initial impact coordinate, and apply the initial impact physics characteristics and surface features of the initial impact location to the selected prediction model to generate next predicted impact coordinates and next predicted impact physics characteristics for the golf ball at the next predicted impact coordinate, wherein the physics simulator is further configured to select a next prediction model corresponding to the next predicted impact coordinate, and apply the next predicted impact physics characteristics and surface features corresponding to the next predicted impact coordinate to the next prediction model, and repeat until a predicted final rest position is obtained; A system equipped with
2. The system of claim 1 , wherein the applied surface features include surface material coefficients corresponding to each collision coordinate input into each predictive model.
3. The system of claim 1 , wherein the predictive model is configured to model the applicable bounce and roll behavior of the golf ball from each impact coordinate to its final rest position.
4. The system of claim 1 , wherein each predictive model includes coefficients incorporating surface characteristics selected from stimp, hardness, or both, for the surface corresponding to each impact coordinate.
5. The system of claim 1 , wherein the surface features include surface topography obtained from a surface model of a golf course.
6. The system of claim 1 , wherein the surface model of the golf course includes areas around the golf course that may be impacted by a ball.
7. 7. The system of claim 5 or 6, wherein the system further includes or is configured to access a surface model library containing a selection of predefined object surface models of known objects, and the system is further configured to incorporate the predefined object surface models into the surface model.
8. The system of claim 1 , wherein the sensor comprises a ball tracking network including one or more radar devices, cameras, or lasers for detecting the golf ball.
9. 10. The system of claim 1, wherein the sensor comprises a ball tracking network including a camera system for detecting a golf ball at rest on the golf course and a radar for detecting a golf ball in flight.
10. 10. The system of claim 1, wherein the sensor comprises a ball tracking network including a camera system, a lidar, or both, for detecting a golf ball stationary on the golf course and a radar for detecting a golf ball in flight.
11. 10. The system of claim 1, wherein the prediction generator further comprises an update engine configured to compare the actual final rest position of the golf ball as determined by the sensor with predicted final rest positions of the golf ball over a sliding window of past shots, and update one or more coefficients of the one or more prediction models that minimizes the error between the actual and predicted final rest positions.
12. The system of claim 11 , wherein the one or more coefficients include a hardness coefficient.
13. 10. The system of claim 1, wherein the prediction generator is further configured to update coefficients of one or more prediction models due to changed environmental conditions detected by the environmental sensors based on a past effect of the changed conditions on bounce, roll, final rest position, or a combination thereof.
14. The system of claim 13 , wherein the environmental sensor comprises one or more of a humidity sensor, a temperature sensor, or a wind speed sensor.
15. The system of claim 13 , wherein the environmental sensor comprises a ground sensor configured to sense moisture in the ground.
16. 16. The system of claim 13, further comprising a historical shot database comprising past shot data tagged with impact, bounce, roll, or a combination thereof, and surface characteristics that is accessed by the prediction generator to determine how the coefficients should be updated in response to detected changed environmental conditions.
17. 1. A system for predicting a rest position of a golf ball, comprising: a prediction generator configured to predict a final rest position of a golf ball struck on a golf course, the prediction generator comprising: a ball flight simulator configured to apply ball flight data collected by sensors regarding the golf ball after it has been struck to a coordinate prediction model to generate predicted initial impact coordinates relative to the golf course and predicted initial impact physical properties of the golf ball at the predicted initial impact coordinates, the predicted initial impact coordinates corresponding to a predicted initial impact location of the ball on the golf course; and a physics simulator configured to select a prediction model corresponding to a predicted initial impact coordinate, and apply predicted initial impact physics properties and surface characteristics of the predicted initial impact location to the selected prediction model to generate next predicted impact coordinates and next predicted impact physics properties for the golf ball at the next predicted impact coordinate, wherein the physics simulator is further configured to select a next prediction model corresponding to the next predicted impact coordinate, and apply the next predicted impact physics properties and surface characteristics corresponding to the next predicted impact coordinate to the next prediction model for the next predicted impact coordinate, repeating until a predicted final rest position is obtained, wherein the prediction model includes coefficients incorporating the surface characteristics of the material of the ball to which it is applied and the respective predicted impact coordinates; A system equipped with
18. 20. The system of claim 17, wherein the coordinate prediction model incorporates environmental data related to the ball flight of the ball collected by environmental sensors located on the golf course on or near the hole where the ball was hit.
19. The system of claim 18 , wherein the environmental data includes wind speed and direction.
20. The system of claim 18 , wherein the environmental data includes humidity, altitude, or both.
21. 20. The system of claim 17, wherein the prediction engine is further configured to update coefficients of one or more predictive models due to the detected changed environmental conditions based on a past effect of the changed conditions on bounce, roll, final rest position, or a combination thereof.
22. 18. The system of claim 17, wherein the physics simulator is further configured to generate zone probabilities for the predicted final rest position, creating a distribution of positions around the predicted initial impact position, each having a probability of occurrence, and simulating the prediction of the ball at rest for each position using multiple levels of one or more coefficients.
23. 23. The system of claim 22, wherein the one or more factors include a hardness factor, and the levels include a current hardness factor, a lesser hardness factor, and a greater hardness factor.
24. The system of claim 17 , wherein the applied surface features include surface material coefficients corresponding to each predicted collision coordinate that are input into each predictive model.
25. 20. The system of claim 17, wherein the predictive model is configured to model the applicable bounce and roll behavior of the golf ball from each impact coordinate to its final rest position.
26. 20. The system of claim 17, wherein each predictive model includes coefficients incorporating surface characteristics selected from stimp, hardness, or both, for the surface corresponding to each impact coordinate.
27. 20. The system of claim 17, wherein the surface features include a surface topography obtained from a surface model of the golf course.
28. 20. The system of claim 17, wherein the surface model of the golf course includes areas around the golf course that may be impacted by a ball.
29. 29. The system of claim 27 or 28, wherein the system further includes or is configured to access a surface model library containing a selection of predefined object surface models of known objects, and wherein the system is further configured to incorporate the predefined object surface models into the surface model.
30. 20. The system of claim 17, wherein the sensor comprises a ball tracking network including one or more radar devices, cameras, or lasers for detecting the golf ball.
31. 20. The system of claim 17, wherein the sensor comprises a ball tracking network including a camera system for detecting a golf ball at rest on the golf course and a radar for detecting a golf ball in flight.
32. 20. The system of claim 17, wherein the sensor comprises a ball tracking network including a camera system, lidar, or both, for detecting a golf ball stationary on the golf course and radar for detecting a golf ball in flight.
33. 18. The system of claim 17, wherein the prediction generator further comprises an update engine configured to compare the actual final rest position of the golf ball as determined by the sensor with predicted final rest positions of the golf ball over a sliding window of past shots, and update one or more coefficients of the one or more prediction models that minimizes an error between the actual final rest position and the predicted final rest position.
34. 34. The system of claim 33, wherein the one or more coefficients include a hardness coefficient.
35. 20. The system of claim 17, wherein the prediction generator is further configured to update coefficients of one or more prediction models due to changed environmental conditions detected by the environmental sensors based on a past effect of the changed conditions on bounce, roll, final rest position, or a combination thereof.
36. 36. The system of claim 35, wherein the environmental sensor comprises one or more of a humidity sensor, a temperature sensor, or a wind speed sensor.
37. 36. The system of claim 35, wherein the environmental sensor comprises a ground sensor configured to sense moisture in the ground.
38. 38. The system of any of claims 35 to 37, further comprising a historical shot database containing past shot data tagged with respect to impact, bounce, roll, or a combination thereof, and surface characteristics, which the prediction generator accesses to determine how coefficients should be updated due to detected changed environmental conditions.
39. a ball tracking network including one or more devices selected from cameras, radars, lasers, and / or other suitable ball tracking devices configured to track the golf ball; a map database including a golf course land surface model and zone maps; a prediction generator including a physics simulation model including a plurality of prediction models configured to predict a final rest position of a golf ball, and an update engine configured to update the prediction models based on actual ball behavior; A system comprising:
40. 40. The system of claim 39, wherein the surface model is accurate to within one inch.
41. 41. A system according to claim 39 or 40, wherein the surface model and the zone map are combined into a single map or data representation.
42. A system according to any one of claims 39 to 41, wherein the zone map comprises a map of the land of the golf course divided into a plurality of zones.
43. 43. The system of claim 42, wherein the land of the golf course includes the course and surrounding grounds into which a golf ball may enter during play.
44. A system according to any of claims 39 to 43, wherein the zone map comprises or is derived from the detailed feature map.
45. 45. The system of claim 44, wherein the detailed feature map includes properties of the mapped features including material, foundation ground material, grass, grass type, trees, shrubs, vegetation, or combinations thereof.
46. 46. The system of any of claims 41 to 45, wherein each zone is associated with one or more coefficients that the forecast generator is configured to apply to the forecast model to generate a forecast model for the respective zone.
47. 47. The system of any of claims 39 to 46, wherein the ball tracking network is configured to track the golf ball after it is struck to a location of initial impact.
48. 48. The system of any of claims 39-47, wherein the ball tracking network is configured to track the golf ball prior to initial impact, identify the initial impact location, and measure impact physics characteristics of the ball.
49. 49. The system of any of claims 39 to 48, wherein the ball tracking network comprises one or more cameras, radar devices, and laser devices configured to track the behavior of the golf ball.
50. 50. The system of any of claims 39 to 49, wherein the one or more predictive models predict bounce and roll behavior after an initial impact.
51. A system according to any one of claims 41 to 50, wherein each zone is associated with one of a plurality of predictive models, each including one or more associated coefficients.
52. A system according to any one of claims 39 to 51, wherein the ball tracking network is configured to identify the actual ball behaviour after the initial impact at the initial impact location.
53. 53. The system of claim 52, wherein identifying actual ball behavior includes identifying bounce location.
54. 54. A system according to claim 52 or 53, wherein identifying the behaviour of the actual ball comprises measuring bounce and roll characteristics.
55. A system according to any one of claims 52 to 54, wherein identifying the actual ball behaviour includes identifying the rolling position.
56. A system according to any one of claims 52 to 55, wherein identifying the behaviour of the actual ball comprises measuring rolling characteristics.
57. A system according to any one of claims 52 to 56, wherein identifying the actual ball behaviour includes identifying the final rest position.
58. 59. The system of any one of claims 39 to 58, wherein the update engine is configured to analyze the predicted ball behavior and the actual ball behavior and update the prediction model for relevant zones where the prediction generator has predicted ball behavior.
59. 59. The system of claim 58, wherein the update engine is configured to filter the predicted ball behavior output to exclude incorporation of the predicted output and the actual measured ball behavior analysis for shots where the predicted ball behavior is outside the threshold ball behavior.
60. 60. The system of claim 58 or 59, wherein the ball behavior includes a distance between a predicted final rest position and an actual final rest position.
61. A system according to any one of claims 58 to 60, wherein the behaviour of the ball comprises bounce and / or roll characteristics and / or position.
62. 62. A system according to any one of claims 58 to 61, wherein the update engine applies a sliding window of shots for each zone for which predicted ball behaviour has been generated and for which actual ball behaviour has been measured, and updates one or more coefficients or predictive models associated with each zone.
63. 63. The system of claim 62, wherein the sliding window of shots is a sliding window of several previous shots of the same day.
64. A system according to any one of claims 39 to 63, wherein the predictive model incorporates environmental variables.
65. 65. The system of claim 64, wherein the environmental variables are obtained by sensors positioned to detect actual course conditions.
66. 66. The system of claim 65, wherein the sensor comprises a plurality of ground sensors configured to detect ground conditions.
67. 66. The system of claim 64 or 65, wherein the sensor includes a weather sensor configured to detect local or hyper-local weather conditions.
68. 68. The system of claim 67, wherein the local or hyper-local weather conditions include wind speed, wind direction, temperature, air pressure, humidity, or a combination thereof.
69. 69. The system of any of claims 39 to 68, wherein the ball tracking network is further configured to predict the initial impact location based on impact variables and / or physical properties of the ball after impact.
70. 70. The system of claim 69, wherein the update engine is further configured to update a predictive model configured to predict an initial impact location based on an analysis of the actual initial impact location and the predicted initial impact location.
71. 71. The system of any of claims 39 to 70, wherein the prediction generator is further configured to determine the reliability of the predicted final resting position and / or corresponding zone, comprising analyzing the proximity of the final resting position and / or corresponding zone to another zone.
72. 1. A method for predicting golf ball behavior, comprising: obtaining an initial impact location of a golf ball and impact physics characteristics of the ball; using coordinates of the initial impact location to identify a predictive model and surface features associated with the initial impact location; applying the ball impact physics and surface topography to a predictive model; predicting a predicted final rest position; A method comprising:
73. 73. The method of claim 72, wherein predicting the predicted final resting position comprises using an output of the predictive model to determine identifying coordinates of the predicted final resting position.
74. 74. The method of claim 72 or 73, wherein predicting the predicted final rest position comprises using output of a predictive model to identify one or more next predicted impact coordinates and associated predicted impact physics.
75. 75. The method of claim 74, further comprising iteratively applying the surface features and associated predicted collision physics of the next predicted impact location using the predictive model corresponding to the coordinates of the next predicted impact coordinates to identify subsequent next predicted impact locations and associated predicted collision physics until a predicted final rest position is obtained.
76. tracking the golf ball to an initial impact location; Measuring the impact physical properties of the ball; Identifying the coordinates of the initial impact location; 76. The method of any of claims 72 to 75, further comprising:
77. 77. The method of any of claims 72-76, wherein tracking the golf ball to the initial impact location comprises tracking the golf ball only for the final portion of the ball's flight that includes the initial impact.
78. A method according to any of claims 72 to 77, further comprising using the coordinates to identify a zone associated with the impact location.
79. 80. The method of claim 78, wherein the zone associated with the impact location is associated with a predictive model that uses impact physics of the ball and surface features of the impact location to predict the final rest position of a ball impacting the zone.
80. 80. The method of claim 79, further comprising analyzing the actual and predicted final rest positions to update a predictive model associated with the corresponding zone.
81. 81. The method of claim 79 or 80, wherein the predictive model predicts bounce and roll behavior, the method further comprising analyzing the actual and predicted bounce and roll behavior against the predictive model associated with the corresponding zone.
82. 82. The method of claim 80 or 81, wherein updating the predictive model comprises applying a sliding window of shots for each zone in which predicted and actual ball behaviors are generated and measured to update the corresponding predictive model.
83. 83. The method of claim 82, wherein updating the corresponding predictive model comprises updating one or more coefficients of the predictive model.
84. 84. A method according to claim 82 or 83, wherein the sliding window of shots is a sliding window of several previous shots of the same day within the respective zone.
85. 1. A method for predicting golf ball behavior, comprising: predicting coordinates of an initial impact location of the ball using ball flight data of the ball's flight after being struck collected by the sensor; Calculating predicted impact physics and initial impact location of the ball; selecting a predictive model corresponding to a zone containing the first impact coordinate; inputting the collision physics into a prediction model to identify next predicted collision coordinates and next predicted collision physics, and iteratively obtain a final rest position; Including, The predictive model includes coefficients that incorporate surface characteristics of the material that the ball is predicted to impact, the coefficients including stimp, hardness, or both. method.
86. 1. A method for predicting golf ball behavior, comprising: generating a stroke trail polynomial from ball flight data collected by sensors of the ball tracking network corresponding to the flight of the ball after being struck; Obtaining or predicting an initial impact location of the ball and impact physics characteristics of the ball and the initial impact location; applying impact physics to a predictive model corresponding to a zone including coordinates of an initial impact location to model the bouncing and rolling behavior of the ball; generating zone probabilities for a final rest position, creating a distribution of positions around the predicted initial impact position, each with a probability of occurrence, and simulating a prediction of the ball at rest for each position using multiple levels of one or more coefficients; A method comprising:
87. 1. A system for predicting a rest position of a golf ball, comprising: a processor and a memory storing instructions that, when executed by the processor, cause the system to perform operations, the operations including: determining an impact location and impact physics characteristics from ball flight data of the ball's flight after being struck collected by the sensor; Identifying a coordinate corresponding to an initial impact location within a coordinate interval defined for the course along which the ball was struck; selecting a prediction model corresponding to the first impact coordinate; applying the ball impact physics and surface topography at the initial impact location to the selected prediction model to generate next predicted impact coordinates and next predicted impact physics; using the predictive model corresponding to the next predicted impact coordinate, applying the next predicted impact physics and surface topography corresponding to the next predicted impact coordinate, and repeating until a final rest position is obtained; Including, the system.
88. 90. The system of claim 87, wherein the operations further include obtaining surface material coefficients corresponding to the one or more impact coordinates for input into the respective predictive models.
89. 89. The system of claim 87 or 88, wherein the predictive model is configured to model the applicable bounce and roll behavior of the ball prior to its final rest position.
90. 90. A system according to any one of claims 87 to 89, wherein the predictive model includes coefficients incorporating stimp, hardness, or both, for the surface against which the ball strikes.
91. A system according to any of claims 87 to 90, wherein the surface topography is obtained from a surface model comprising the course and surrounding areas.
92. 92. The system of claim 91, wherein the operations further include generating a surface model including inputting an object surface model from a surface model library of objects into the surface model.
93. 93. The system of any of claims 87-92, wherein the operations further include comparing the actual final rest position of the ball with a predicted final rest position of the ball for a sliding window of past shots, and updating one or more coefficients of the predictive model that minimizes an error between the actual final rest position and the predicted final rest position.
94. 94. The system of claim 93, wherein the one or more coefficients include a hardness coefficient.
95. 95. The system of any of claims 87-94, wherein the operations further include updating coefficients of a predictive model due to the detected changed environmental conditions based on past effects of the changed environmental conditions on bounce, roll, final rest position, or a combination thereof.
96. 1. A system for predicting a rest position of a golf ball, comprising: a processor and a memory storing instructions that, when executed by the processor, cause the system to perform operations, the operations including: predicting coordinates of an initial impact location of the ball using ball flight data of the ball's flight after being struck collected by the sensor; Calculating predicted collision physics for the ball and the initial collision location; selecting a predictive model corresponding to a zone containing the first impact coordinate; inputting the collision physics into a prediction model to identify next predicted collision coordinates and next predicted collision physics, and iteratively obtain a final rest position; Including, The predictive model includes coefficients that incorporate surface characteristics of the material that the ball is predicted to impact, the coefficients including stimp, hardness, or both. system.
97. 97. The system of claim 96, wherein the operations further include obtaining surface feature data corresponding to one or more impact locations from a surface model of the course of play where the ball was hit, and inputting the surface feature data into a corresponding predictive model.
98. 98. The system of claim 96 or 97, wherein the surface feature data includes surface topography.
99. A system according to any of claims 96 to 98, wherein the surface model includes the course and surrounding area.
100. A system according to any of claims 96 to 99, wherein the operations further comprise generating at least a portion of the surface model comprising inputting an object surface model from a surface model library of objects into the surface model.
101. A system according to any of claims 96 to 100, wherein the predictive model is configured to model the applicable bounce and roll behaviour of the ball prior to its final rest position.
102. A system as described in any of claims 96 to 101, wherein predicting the coordinates of the initial impact location includes incorporating environmental data relating to the ball flight of the ball collected by environmental sensor locations around the course of play where the ball was struck.
103. 105. The system of claim 104, wherein the environmental data includes wind speed and direction.
104. 104. The system of claim 103, wherein the environmental data includes humidity, altitude, or both.
105. 105. The system of any of claims 96-104, wherein the operations further include comparing the actual final rest position of the ball with a predicted final rest position of the ball for a sliding window of past shots, and updating one or more coefficients of the predictive model that minimizes an error between the actual final rest position and the predicted final rest position.
106. 106. The system of claim 105, wherein the one or more coefficients include a hardness coefficient.
107. 107. The system of claim 106, wherein the operations further include updating coefficients of the predictive model due to the detected changed environmental conditions based on past effects of the changed environmental conditions on the bounce, roll, final rest position, or combinations thereof.
108. 108. The system of any of claims 96-107, wherein the operations further include generating zone probabilities for a final rest position, creating a distribution of positions around the predicted initial impact position, each having a probability of occurrence, and simulating a prediction of the ball at rest for each position using multiple levels of one or more coefficients.
109. 109. The system of claim 108, wherein the one or more factors include a hardness factor, and the levels include a current hardness factor, a smaller hardness factor, and a larger hardness factor.
110. 1. A system for predicting a rest position of a golf ball, comprising: a prediction generator configured to predict a final rest position of a golf ball struck on a golf course, the prediction generator comprising: a flight simulator configured to determine an initial impact location and initial impact physics from ball flight data collected by sensors of the flight of the golf ball after being struck, and to identify coordinates within a coordinate interval defined for the golf course that correspond to the initial impact location; a physics simulator configured to select a prediction model corresponding to an initial impact coordinate, and apply the initial impact physics and surface features of the initial impact location to the selected prediction model to generate next predicted impact coordinates and next predicted impact physics for the golf ball at the next predicted impact coordinate; wherein the physics simulator is further configured to select a next prediction model corresponding to the next predicted impact coordinate, apply the next predicted impact physics properties and surface features corresponding to the next predicted impact coordinate to the next prediction model for the next predicted impact coordinate, and repeat until a predicted final rest position is obtained.
111. 111. The system of claim 110, wherein the applied surface features include surface material coefficients corresponding to each collision coordinate input into each predictive model.
112. 112. The system of claim 110 or 111, wherein the predictive model is configured to model the applicable bounce and roll behavior of the golf ball from each impact coordinate to its final rest position.
113. A system according to any one of claims 110 to 112, wherein each predictive model includes coefficients incorporating surface characteristics selected from stimp, hardness, or both, for the surface corresponding to each impact coordinate.
114. A system according to any of claims 110 to 113, wherein the surface features include a surface topography derived from a surface model of the golf course.
115. A system according to any one of claims 110 to 114, wherein the surface model of the golf course includes areas around the golf course that may be impacted by a ball.
116. 116. The system of claim 114 or 115, wherein the system further includes or is configured to access a surface model library containing a selection of predefined object surface models of known objects, and the system is further configured to incorporate the predefined object surface models into the surface model.
117. 117. The system of any of claims 110-116, wherein the sensor comprises a ball tracking network including one or more radar devices, cameras, or lasers for detecting the golf ball.
118. A system according to any one of claims 110 to 117, wherein the sensor comprises a ball tracking network including a camera system for detecting a golf ball at rest on the golf course and a radar for detecting a golf ball in flight.
119. 119. The system of any of claims 110-118, wherein the sensor comprises a ball tracking network including a camera system, lidar, or both, for detecting a golf ball at rest on the golf course, and radar for detecting a golf ball in flight.
120. 120. The system of any one of claims 110 to 119, wherein the prediction generator further comprises an update engine configured to compare the actual final rest position of the golf ball determined by the sensor with predicted final rest positions of the golf ball over a sliding window of past shots, and update one or more coefficients of the one or more prediction models that minimizes the error between the actual final rest position and the predicted final rest position.
121. The system of any of claims 110 to 120, wherein the one or more coefficients include a hardness coefficient.
122. 122. The system of any of claims 110-121, wherein the prediction generator is further configured to update coefficients of one or more prediction models due to changed environmental conditions detected by the environmental sensors based on past effects of the changed conditions on bounce, roll, final rest position, or a combination thereof.
123. 123. The system of claim 122, wherein the environmental sensor comprises one or more of a humidity sensor, a temperature sensor, a wind speed sensor, or a ground sensor configured to sense moisture in the ground.
124. The system of claim 122 or 123, wherein the flight simulator is further configured to apply ball flight data collected by the sensor regarding the golf ball after it has been hit to the coordinate prediction model to generate predicted initial impact coordinates regarding the golf course and predicted initial impact physical characteristics of the golf ball at the predicted initial impact coordinates, the predicted initial impact coordinates corresponding to a predicted initial impact position of the ball on the golf course, and the physics simulator is configured to predict a predicted final rest position of the golf ball regarding the predicted initial impact coordinates as well as a predicted final rest position regarding the determined initial impact coordinates.
125. 125. The system of any of claims 122 to 124, further comprising a historical shot database containing past shot data tagged with respect to impact, bounce, roll, or a combination thereof, and surface characteristics, which the prediction generator accesses to determine how coefficients should be updated due to detected changed environmental conditions.
126. 1. A system for predicting a rest position of a golf ball, comprising: a prediction generator configured to predict a final rest position of a golf ball struck on a golf course, the prediction generator comprising: a ball flight simulator configured to apply ball flight data collected by sensors regarding the golf ball after it has been struck to a coordinate prediction model to generate predicted initial impact coordinates relative to the golf course and predicted initial impact physical properties of the golf ball at the predicted initial impact coordinates, the predicted initial impact coordinates corresponding to a predicted initial impact location of the ball on the golf course; and a physics simulator configured to select a prediction model corresponding to a predicted initial impact coordinate, and apply predicted initial impact physics properties and surface characteristics of the predicted initial impact location to the selected prediction model to generate next predicted impact coordinates and next predicted impact physics properties for the golf ball at the next predicted impact coordinate, wherein the physics simulator is further configured to select a next prediction model corresponding to the next predicted impact coordinate, and apply the next predicted impact physics properties and surface characteristics corresponding to the next predicted impact coordinate to the next prediction model for the next predicted impact coordinate, repeating until a predicted final rest position is obtained, wherein the prediction model includes coefficients incorporating the surface characteristics of the material of the ball to which it is applied and the respective predicted impact coordinates; A system equipped with
127. 127. The system of claim 126, wherein the coordinate prediction model incorporates environmental data related to the ball flight of the ball collected by environmental sensors located on the golf course on or near the hole where the ball was hit.
128. 128. The system of claim 126 or 127, wherein the environmental data includes wind speed and direction.
129. A system according to any one of claims 126 to 128, wherein the environmental data includes humidity, altitude, or both.
130. 130. The system of any of claims 126-129, wherein the prediction engine is further configured to update coefficients of one or more predictive models due to detected changed environmental conditions based on past effects of the changed conditions on bounce, roll, final rest position, or a combination thereof.
131. A system as described in any of claims 126 to 130, wherein the physical simulator is further configured to generate zone probabilities regarding the predicted final rest position, creating a distribution of positions around the predicted initial impact position, each having a probability of occurrence, and simulating the prediction of the ball at rest for each position using multiple levels of one or more coefficients.
132. 132. The system of claim 131, wherein the one or more factors include a hardness factor, and the levels include a current hardness factor, a smaller hardness factor, and a larger hardness factor.
133. A system according to any of claims 126 to 132, wherein the applied surface features include surface material coefficients corresponding to each predicted collision coordinate that are input into the respective prediction model.
134. 134. A system according to any one of claims 126 to 133, wherein the predictive model is configured to model the applicable bounce and roll behavior of the golf ball from each impact coordinate to its final rest position.
135. A system as claimed in any one of claims 126 to 134, wherein each predictive model includes coefficients incorporating surface characteristics selected from stimp, hardness, or both, for the surface corresponding to each impact coordinate.
136. A system according to any one of claims 126 to 135, wherein the surface features include a surface topography derived from a surface model of the golf course.
137. A system according to any one of claims 126 to 136, wherein the surface model of the golf course includes areas around the golf course that may be impacted by a ball.
138. 138. A system as described in claim 136 or 137, wherein the system further includes or is configured to access a surface model library containing a selection of predefined object surface models of known objects, and the system is further configured to incorporate the predefined object surface models into the surface model.
139. 139. A system according to any one of claims 126 to 138, wherein the sensor comprises a ball tracking network including one or more radar devices, cameras, or lasers for detecting the golf ball.
140. A system as described in any one of claims 126 to 139, wherein the sensor comprises a ball tracking network including a camera system for detecting a golf ball at rest on the golf course and a radar for detecting a golf ball in flight.
141. 141. The system of any of claims 126-140, wherein the sensor comprises a ball tracking network including a camera system, lidar, or both, for detecting a golf ball at rest on the golf course, and radar for detecting a golf ball in flight.
142. 142. The system of any one of claims 126 to 141, wherein the prediction generator further comprises an update engine configured to compare the actual final rest position of the golf ball determined by the sensor with the predicted final rest position of the golf ball over a sliding window of past shots, and update one or more coefficients of one or more prediction models that minimize an error between the actual final rest position and the predicted final rest position, wherein the one or more coefficients include a hardness coefficient.
143. 143. The system of any of claims 126-142, further comprising predicting a final rest position of the golf ball using the actual initial impact coordinates in the same manner as the predicted initial impact coordinates.
144. 144. The system of any of claims 126-143, wherein the prediction generator is further configured to update coefficients of one or more prediction models due to changed environmental conditions detected by the environmental sensors based on past effects of the changed conditions on bounce, roll, final rest position, or a combination thereof.
145. 145. The system of claim 144, wherein the environmental sensor comprises one or more of a humidity sensor, a temperature sensor, or a wind speed sensor.
146. 146. The system of claim 144 or 145, wherein the environmental sensor comprises a ground sensor configured to sense moisture in the ground.
147. 147. The system of any of claims 144 to 146, further comprising a historical shot database containing past shot data tagged with respect to impact, bounce, roll, or a combination thereof, and surface characteristics, which the prediction generator accesses to determine how coefficients should be updated due to detected changed environmental conditions.
148. A method of predicting the final rest position of a golf ball using a system according to any one of claims 1 to 16.
149. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to implement the system of any of claims 1-16.
150. A method of predicting the final rest position of a golf ball using a system according to any one of claims 17 to 38.
151. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to implement the system of any of claims 17-38.
152. A method of predicting the final rest position of a golf ball using a system according to any one of claims 39 to 71.
153. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to implement the system of any of claims 39-71.
154. A method of predicting the final rest position of a golf ball using a system according to any one of claims 87 to 95.
155. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to implement the system of any of claims 87-95.
156. A method of predicting the final rest position of a golf ball using a system according to any one of claims 96 to 109.
157. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to implement the system of any of claims 96-109.
158. A method of predicting the final rest position of a golf ball using a system according to any one of claims 110 to 125.
159. A machine-readable medium carrying machine-readable instructions that, when executed by a processor of the machine, cause the machine to implement the system of any of claims 110-125.
160. A method of predicting the final rest position of a golf ball using a system according to any one of claims 126 to 147.
161. A machine-readable medium carrying machine-readable instructions that, when executed by a processor of the machine, cause the machine to implement the system of any of claims 125-147.
162. A system comprising a processor and a storage medium storing instructions that, when executed by the processor, cause the system to perform the method of any of claims 72 to 84.
163. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to perform the method of any of claims 72-84.
164. A system comprising a processor and a storage medium storing instructions that, when executed by the processor, cause the system to perform the method of any of claims 72 to 84.
165. 87. A machine-readable medium carrying machine-readable instructions which, when executed by a processor of the machine, cause the machine to perform the method of claim 85 or 86.
166. 87. A system comprising a processor and a storage medium storing instructions that, when executed by the processor, cause the system to perform the method of claim 85 or 86.