Golf simulator system and method
The golf simulator system integrates simulated and real golf areas with adjustable surfaces to enhance realism and immersion by accurately positioning balls and simulating golf hole conditions, addressing the limitations of existing technologies in chipping and putting realism.
Patent Information
- Application Number
- JP2025511586
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-22
- Filing Date
- 2023-08-22
- Publication Date
- 2025-08-22
AI Technical Summary
Existing golf simulation technologies lack effective integration of chipping and putting aspects, limiting the realism and immersion in virtual golf experiences.
A golf simulator system that combines simulated and real golf areas, using sensors to determine ball position and adjust real surfaces to mimic golf hole conditions, allowing players to hit shots on a simulated course and practice on a realistic chipping and putting area with adjustable lies.
Enhances realism and immersion by integrating simulated and real golf environments, providing a more authentic golfing experience with adjustable surfaces and accurate ball positioning.
Smart Images

Figure 2025527688000001_ABST
Abstract
Description
[Technical Field]
[0001] This application claims the benefit of U.S. Provisional Application No. 63,399,840, filed August 22, 2022, the contents of which are incorporated herein by reference.
[0002] The technical field of the present invention relates generally to a golf simulator system and method for playing golf partially using a simulator and partially using a realistic adjustable chipping and putting area. The realistic chipping and putting area can be adjusted to mimic the chipping location and / or putting green of a simulated golf hole, thereby allowing a player to hit longer shots on a simulated or partially simulated golf course and chip and putt in a realistic chipping and putting area. The simulated golf area can include a variety of golf ball lies. [Background technology]
[0003] Golf has historically been played on outdoor 18-hole courses. Golf simulators have been developed that include a screen, a projector, and sensors for detecting the movement of a golf ball. Simulations of real golf courses around the world and virtual golf courses can be generated and projected onto the screen. A player can play golf on the simulated golf course by hitting a golf ball into the projection of the simulated golf course on the screen. Sensors detect the movement of the golf ball, and a computing system determines where the golf ball lands, bounces, and rolls on the simulated golf course. The player can then take the next shot from the determined stopping point of the golf ball.
[0004] A method for playing golf using a simulator is described in U.S. Patent No. 10,843,056. A method and apparatus for controlling a golf green simulator based on the condition of the green and the position of the hole cup is disclosed in Korean Patent Application Publication No. 20180098924. A golf practice facility is disclosed in Korean Patent Application Publication No. 100647498. A virtual golf simulation device is disclosed in U.S. Patent Application Publication No. 2014 / 0004969. However, these disclosures have drawbacks, including chipping and putting aspects of the game.
[0005] An adjustable putting surface is described in U.S. Patent Application Publication No. 2011 / 0192096. A configurable and flexible putting green system and method for providing a golf putting experience is disclosed in U.S. Patent No. 10,610,734. A configurable putting green is disclosed in U.S. Patent No. 10,596,444. A floor system having a means for vertically varying the contour of the floor that can be used as an artificial putting green is disclosed in U.S. Patent Application Publication No. 2011 / 0192096. A screen golf system with a "real green" is described in Korean Patent No. 101868584.
[0006] The invention described herein comprises an improved method and system for playing golf by combining playing golf on a simulated golf area with playing golf on a real golf area. Summary of the Invention
[0007] The method may include providing a golf simulator comprising a computing system having a real golf course and / or a fictional golf course stored in a memory, a projector, and a screen; using the computing system to project the simulation of the real or fictional golf hole stored in the memory onto the screen to provide a simulated golf hole that simulates the real or fictional golf hole; determining a position of a golf ball hit from a tee box on the simulated golf hole based on one or more sensors; determining whether the golf ball position is a putting surface; adjusting the real putting surface so that the real putting surface simulates a putting surface associated with the real or fictional golf hole; and if a golf ball lie corresponding to the determined position is determined to be a putting surface, placing the golf ball at the determined position on the real putting surface.
[0008] The method may include having a golf simulator and a real putting surface in an arena where spectators can watch players playing golf using the golf simulator and the real putting surface.
[0009] The method may include determining whether the golf ball lie is one of a fairway location, a rough location, or a sand location. The lie may include a real lie or a synthetic lie. The golf ball lie may include a lie on real grass or artificial grass of various heights. The lie may include a lie on sand. The lie may include an indoor or outdoor lie.
[0010] The method may include providing a golf ball simulation tee box having a tee area, a fairway area, a rough area, and a sand area.
[0011] The method may include placing the golf ball in a fairway area if the lie of the golf ball is determined to be in a fairway location, placing the golf ball in a rough location if the lie of the golf ball is determined to be in a rough location, and / or placing the golf ball in a sand area if the lie of the golf ball is determined to be in a sand location. The method may include the player hitting a next shot on the golf simulator from a golf simulation area corresponding to the lie of the last golf shot taken by the player.
[0012] The method may include adjusting a real chipping surface so that the real chipping surface simulates a chipping surface associated with a real or fictitious golf hole. The real chipping area may be within an arena. The method may include having the player hit the next shot from the real chipping surface if the lie of the last shot is determined to correspond to the real chipping surface area.
[0013] The method may include determining whether the golf ball lie is on a chipping surface associated with a real or imaginary golf hole and placing the golf ball in a location on the real chipping surface indicative of the chipping surface associated with the real or imaginary golf hole.
[0014] The method may include delivering digital media content of a player using a simulator, a real putting surface, and / or a real chipping area so that a viewer can watch the player using the simulator, the real putting surface, and / or the real chipping area on a television or computing device.
[0015] The method may include providing a golf simulator including a computing system having a real golf course and a fictional golf course stored in a memory, a projector, and a screen; providing a tee box area, a fairway area, a rough area, and a sand area for hitting a golf ball proximate to the screen; providing a shuttle mechanism coupled to the computing system for moving the tee box area, the fairway area, the rough area, and the sand area relative to the screen; projecting, using the computing system, the simulation of the real or fictional golf hole stored in the memory onto the screen to provide a simulated golf hole that simulates the real or fictional golf hole; determining, based on one or more sensors, whether a position of a golf ball hit from a tee box on the simulated golf hole is in the fairway, the rough, or a fairway bunker; if the determined position is the fairway, using the shuttle mechanism to locate the fairway area relative to the screen; if the determined position is the rough, using the shuttle mechanism to locate the rough area relative to the screen; and if the determined position is the fairway bunker, using the shuttle mechanism to locate the sand area relative to the screen.
[0016] The method may include providing an option on the computing device to select a fairway area, a rough area, or a sand area, and selecting the fairway area, the rough area, or the sand area based on the determined position of the golf ball.
[0017] The method may include determining whether the golf ball location is on the putting surface.
[0018] The method may include placing a golf ball on a real putting surface based on the determined location on the putting surface or chipping area or sand area, particularly, for example, x, y, and z coordinates, and shining a light, such as a laser light or a spot light, on a location on the putting surface that corresponds to the determined location on the putting surface.
[0019] The method may include illuminating a light that travels along a path within the real-world golf area and stops at a final resting point of the golf ball, where such path may be determined by the bounce or roll of the virtual golf ball in the simulated golf environment. The light path may be illuminated in real time as the virtual golf ball moves through the simulator environment.
[0020] The method may include setting, in a computing system, a chipping area distance based on a distance from the green. The method may include determining whether a determined position of a golf ball struck from the simulated area is less than or greater than the chipping area distance. If the determined position is less than the chipping area distance, the method may include placing the golf ball in a real chipping area corresponding to the determined position. The method may include determining whether the determined position of the golf ball is greater than the chipping area distance and selecting, using a selection mechanism, one of a fairway area, a rough area, or a sand area corresponding to the determined position.
[0021] Generally, one aspect of the subject matter described in this specification may be embodied in a method including the operations of providing a golf simulator including a computing system having a golf course stored in memory, a projector, and a screen; using the computing system to project a simulation of a golf hole of the golf course stored in memory onto the screen to provide a simulated golf hole; determining a position of a golf ball hit from a tee box on the simulated golf hole based on one or more sensors; determining whether the determined position is on a putting surface; adjusting the putting surface to represent the putting surface associated with the golf hole; and, in response to the determined position being on the putting surface, selecting a set of lights to indicate the determined position on the putting surface; and providing instructions to activate the selected set of lights.
[0022] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method. One or more computer systems may be configured to perform particular operations or actions by having installed thereon software, firmware, hardware, or a combination thereof that, when run, causes the system to perform the operations. One or more computer programs may be configured to perform particular operations or actions by including instructions that, when executed by a data processing device, cause the device to perform the operations.
[0023] Each of the above and other implementations may optionally include one or more of the following features, alone or in combination: In some implementations, a golf simulator and a real putting surface are located within an arena. In some implementations, the operations include determining whether a golf ball's location is one of a fairway location, a rough location, or a fairway bunker location. In some implementations, the operations include providing a golf ball simulation tee box comprising a tee box area, a fairway area, a rough area, and a sand area. In some implementations, the operations include placing the golf ball in a fairway area if the determined golf ball location is a fairway location, placing the golf ball in a rough location if the golf ball location is determined to be a rough location, and placing the golf ball in a sand area if the golf ball location is determined to be a fairway bunker location.
[0024] In some implementations, the operations include adjusting the tipping surface to represent a tipping surface associated with a golf hole of a golf course stored in memory. In some implementations, the tipping surface is located within an arena. In some implementations, the operations include (i) determining that the position of the golf ball is less than a threshold distance from the green and (ii) that the position of the golf ball is not on the putting surface, and in response to determining that (i) the position of the golf ball is less than the threshold distance from the green and (ii) that the position of the golf ball is not on the putting surface, selecting a set of lights to indicate the determined position on the tipping surface and providing instructions to activate the selected set of lights to illuminate a portion of the tipping surface.
[0025] In some implementations, the operations include streaming digital media content of a player using the simulator and the real putting surface to a television or computing device. In some implementations, a golf ball is hit from a tee box on a simulated golf hole from a distance of more than 20 yards from the screen. In some implementations, the operations include determining a ball position indicating where the golf ball hit from the tee box hits the screen.
[0026] In general, another aspect of the subject matter described herein includes providing a golf simulator including a computing system having a golf course stored in memory, a projector, and a screen; providing a tee box area, a fairway area, a rough area, and a sand area for striking a golf ball proximate to the screen; providing a shuttle mechanism coupled to the computing system for moving the tee box area, the fairway area, the rough area, and the sand area relative to the screen; and using the computing system to project a simulation of a golf hole of the golf course stored in memory onto the screen to provide a simulated golf hole. The present invention may be embodied in a method including the operations of: determining, based on one or more sensors, whether a simulated golf ball position after being struck from a tee box is located on the fairway of a golf hole, in the rough, or in a fairway bunker; responsive to determining that the simulated golf ball position is located on the fairway, using a shuttle mechanism to position a fairway area relative to a screen; responsive to determining that the simulated golf ball position is located in the rough, using a shuttle mechanism to position a rough area relative to the screen; and responsive to determining that the simulated golf ball position is located in a fairway bunker, using a shuttle mechanism to position a sand area relative to the screen.
[0027] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method. One or more computer systems may be configured to perform particular operations or actions by having installed thereon software, firmware, hardware, or a combination thereof that, when run, causes the system to perform the operations. One or more computer programs may be configured to perform particular operations or actions by including instructions that, when executed by a data processing device, cause the device to perform the operations.
[0028] Each of the above and other implementations may optionally include one or more of the following features, alone or in combination: In some implementations, the operations include providing an option on a computing device to select a fairway area, a rough area, or a sand area, and selecting the fairway area, the rough area, or the sand area based on the determined position of the golf ball. In some implementations, the operations include determining whether the golf ball position is located on the putting surface. In some implementations, the operations include providing instructions to illuminate a laser light at a location on the putting surface that matches the determined location on the putting surface. In some implementations, the operations include adjusting the putting surface such that the putting surface simulates a putting surface associated with a golf hole on a golf course stored in memory.
[0029] In some implementations, the operations include setting, within a computing system, a threshold distance based on a distance from the putting surface. In some implementations, the operations include determining whether the golf ball position is less than the threshold distance or greater than the threshold distance, and if the determined position is less than the threshold distance, selecting one or more lights to indicate the golf ball position and activating the one or more lights to illuminate a portion of the chipping area corresponding to the golf ball position. In some implementations, the operations include selecting one of a fairway area, a rough area, or a sand area corresponding to the golf ball position in response to determining that the golf ball position is greater than the threshold distance. In some implementations, the operations include streaming digital media content of players using the simulator and the real putting surface to a television or computing device.
[0030] Another aspect of the subject matter described herein is a system comprising: a first golf area for hitting a golf ball, the first golf area comprising one or more of a tee box area, a fairway area, a rough area, or a sand area; a second golf area comprising a chipping area and a putting area; at least one sensor for determining a position of a golf ball hit from the first golf area; a shuttle mechanism coupled to a computing system, the tee box area, the fairway area, the rough area, and the sand area, the shuttle mechanism for moving through the tee box area, the fairway area, the rough area, and the sand area based on the determined position of the golf ball; a laser for shining light into the second golf area; a projector for projecting an image and a position of the golf ball hit from the first golf area; and a screen at the first golf area for displaying the projected image and receiving the golf ball hit at a golf simulation area, wherein the computing system is coupled to one or more computers. a computer and one or more storage devices having instructions stored thereon, the instructions, when executed by the one or more computers, operable to cause the one or more computers to perform operations including: displaying an image of a golf course stored in the memory on a screen using a projector; determining a position of a golf ball struck in a first golf area on a simulated golf hole projected on the screen based on at least one sensor; determining whether the determined golf ball position is one of a fairway, a rough, a fairway bunker, chipping, or putting; if the determined position is a fairway, using a shuttle mechanism to locate the fairway area relative to the screen; if the determined position is a rough, using a shuttle mechanism to locate the rough area relative to the screen; if the determined position is a fairway bunker, using a shuttle mechanism to locate the sand area relative to the screen; and illuminating the second golf area with light corresponding to the determined position of the golf ball in the second golf area.It can be embodied in a system.
[0031] In general, another aspect of the subject matter described herein may be embodied in a method that includes the operations of determining a position of a golf ball on a golf playing surface, the golf playing surface including a configurable putting surface and a chipping surface surrounding at least a portion of the configurable putting surface; identifying one or more light sources that are unobstructed from the position on the golf playing surface; and activating the one or more light sources to direct light toward the position on the golf playing surface.
[0032] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method. One or more computer systems may be configured to perform particular operations or actions by having installed thereon software, firmware, hardware, or a combination thereof that, when run, causes the system to perform the operations. One or more computer programs may be configured to perform particular operations or actions by including instructions that, when executed by a data processing device, cause the device to perform the operations.
[0033] Each of the above and other implementations may optionally include one or more of the following features, alone or in combination: In some implementations, the configurable putting surface comprises one or more actuators for adjusting a contour of the configurable putting surface to mimic a contour of a golf putting surface. In some implementations, identifying one or more light sources that are unobstructed from positions on the golf playing surface includes determining a current configuration of the configurable putting surface and using the current configuration of the configurable putting surface to identify one or more light sources that are unobstructed from positions on the golf playing surface.
[0034] In some implementations, identifying one or more light sources that are unobstructed from locations on the golf playing surface includes predicting positions of one or more players, indicating where the one or more players are likely to stand on the golf playing surface, and identifying one or more light sources that are unobstructed from locations on the golf playing surface using (i) the predicted positions of one or more of the players and (ii) the location of a hole on the configurable putting surface. In some implementations, identifying one or more light sources that are unobstructed from locations on the golf playing surface includes determining a current configuration of the configurable putting surface, querying a database using the current configuration of the configurable putting surface, and identifying one or more light sources that are unobstructed from locations on the golf playing surface based on data obtained from the query of the database.
[0035] In some implementations, identifying one or more light sources that are unobstructed from the location on the golf playing surface includes activating a first light source and obtaining reflectance data of the first light source. In some implementations, the operations include using the reflectance data to determine that the first light source is unobstructed from the location on the golf playing surface and identifying the first light source as one of the one or more light sources that are unobstructed from the location on the golf playing surface. In some implementations, the operations include using the reflectance data to determine that the first light source is obstructed from the location on the golf playing surface and identifying another light source as one of the one or more light sources that are unobstructed from the location on the golf playing surface.
[0036] In some implementations, activating one or more light sources to direct light to a location on the golf playing surface includes (i) moving one or more of the one or more light sources, and (ii) generating a command configured to activate the one or more light sources to direct light to the location on the golf playing surface after moving the one or more of the one or more light sources. In some implementations, the operations include determining a second location of a second golf ball on the golf playing surface, identifying one or more light sources that are unobstructed from the second location on the golf playing surface, identifying one or more other light sources that are unobstructed from the location on the golf playing surface, and (i) activating the one or more light sources to direct light to the second location on the golf playing surface, and (ii) activating one or more other light sources to direct light to the second location on the golf playing surface. In some implementations, the operations include determining that the one or more light sources are only one or more light sources from a set of two or more light sources that are unobstructed from the second location on the golf playing surface.
[0037] In some implementations, the operations include determining a second position of a second golf ball on the golf playing surface, identifying a second set of one or more light sources that are unobstructed from the second position on the golf playing surface, and activating the second set of one or more light sources to direct light toward the second position on the golf playing surface. In some implementations, the second set of one or more light sources are different from the one or more light sources. In some implementations, determining the position of the golf ball on the golf playing surface includes obtaining data indicative of a simulated position of a struck golf ball using a golf simulator, and determining the position of the golf ball on the golf playing surface according to the simulated position of the golf ball.
[0038] In some implementations, the one or more light sources are mounted on a wall surrounding the configurable putting surface. In some implementations, the one or more light sources are mounted on a wall surrounding the configurable putting surface at a height of less than 50 feet. In some implementations, the light source includes a device for light amplification by stimulated emission of radiation.
[0039] The subject matter described herein can be practiced in a variety of implementations and may provide one or more of the following advantages: For example, by using two or more light sources to indicate the ball location, a user can more easily identify the indicated location and accurately drop the ball to continue playing; The two-light approach can reduce the spread of light beams that can occur with a single light focused on a point at an angle (e.g., the point is projected as an inaccurate ellipse due to the angle);
[0040] Other advantages include the ability to detect obstructions, enabling use in areas where ceiling mounting is not available, such as in the case of inflatable covers. Inflatable covers for sporting events can be significantly more efficient from a manufacturing and installation standpoint. One benefit of this design is the use of lightweight materials that do not require significant installation time and can be easily replaced if damaged. One drawback is that it can be difficult to attach items such as lights to such materials. The technology described herein solves the problem of illuminating the ball drop location in an area when roof mounting is not possible, for example, due to the materials used. Because mounting lights downward can pose a risk of high shading, for example, by players on the playing surface or undulations of a configurable green, the technology described herein determines which of one or more lights are unobstructed so that the light to indicate the ball location accurately illuminates the location on the playing surface and is not interrupted by obstructions such as undulations of the green or players.
[0041] The details of one or more implementations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. [Brief explanation of the drawings]
[0042] [Figure 1] FIG. 1 is a diagram of an example computer system. [Figure 2] 1 is a diagram of an example of a simulator golf area and a real golf area. [Figure 3] FIG. 10 is a diagram of a second example of a simulator golf area and a real golf area. [Figure 4] 4 is another view of the simulator golf area and the real golf area of FIG. 3. [Figure 5] 1 is a schematic diagram of a simulator golf area with various hitting surfaces. [Figure 6A] 1 is an example flowchart of a method of playing golf. [Figure 6B] 1 is an example flowchart of a method of playing golf. [Figure 7] 1 is a diagram of an example system for accurately locating an object within a golf simulator system. [Figure 8] 8 is a flow diagram of an example process 800 for precise object localization. DETAILED DESCRIPTION OF THE INVENTION
[0043] 1 illustrates a computing system 102 having a processor 104, non-transportable computer memory 103, portable computer memory 108, a display 110, input devices 126 (e.g., a keypad, keyboard, mouse, among others), a speaker / microphone 124, a power supply 134, a GPS chipset 136, and peripherals 137. Peripheral 137 may be a screen for projecting images. Peripheral 137 may be a laser used to project laser light. The computer memory may store a real golf course in memory 103 or 108 for projection onto peripheral screen 138 by a projector. Computing system 102 may have a transceiver 105 and an antenna 107 for sending and receiving communications. Computing system 102 may be connected to a digital distribution network for delivering digital content, such as television signals and / or streaming services. The system may also be electrically connected to a sensor 112 that senses the movement of the golf ball and determines the stopping point of the golf ball as it is struck within the simulated golf area. This type of system for storing a real golf course and projecting it onto a screen is known to those skilled in the art and will not be described in further detail.
[0044] FIG. 2 depicts an area or playing field 200 having a golf simulation area 202 and a real golf area 204. FIG. 2 shows a screen 138. In some implementations, the screen 138 is a large screen configured to display one or more of the course, the ball path within the simulator, and a calculated ball path based, for example, on flight and turning characteristics. In some cases, the large screen is configured to allow tee shots to be played away from the screen. Allowing tee shots to be played away from the screen can improve the accuracy of subsequent tracking methods for determining the location of a second shot following the tee shot on the playing course. The large screen can also be configured to allow spectators watching the players, for example, at the playing field, to view details of the shots, the players, the course, and the overall game, among other details.
[0045] In some implementations, the golf simulation area 202 includes a shuttle mechanism that allows for multiple different surfaces to accommodate ball positions indicated by the simulation. Figure 2 shows a putting area 220. In some implementations, the putting area 220 is programmable. For example, the putting area 220 can include a rotating wheel configured to vary characteristics of the putting area 220, including height, texture, and placement, among others. Course elements surrounding the putting area 220 can include hazards that are covered and exposed to provide unique layouts for each hole.
[0046] 3 and 4 provide two perspective views of another example of a playing field 200 having a golf simulation area 202 and a real golf area 204.
[0047] FIG. 5 illustrates a schematic diagram of a golf simulation area 202. The golf simulation area 202 may include a tee box 206, a fairway area 208, a rough area 210, and a sand area 212. The tee box 206 has a relatively short length of real or artificial grass, similar to the length of grass on a real golf tee box. The tee box area 206 has a hole 214 for placing a golf tee so that a golfer can hit from the tee. Alternatively, a player can hit a golf shot without a tee from the grass in the tee box area 206. The fairway area 208 has a relatively short length of natural or artificial grass, similar to the length of grass found on a fairway on a real golf course. The rough area 210 has a natural or artificial grass, similar to the length of grass found in the rough on a real golf course. The sand area 212 has sand, similar to the sand found in fairway bunkers on a real golf course.
[0048] The shuttle mechanism 500 may be used to move the tee box area 206, the fairway area 208, the rough area 210, and the sand area 212 relative to the screen 138, thereby positioning one of the tee box 206, the fairway area 208, the rough area 210, and the sand area 212 at a desired location relative to the screen. Typically, the desired location is substantially centered in front of the screen. The shuttle mechanism 500 may be electronically coupled to the computing system 102 as shown in FIG. 1 and controlled from the computing system 102 via a touchscreen or other input device 126. In some implementations, the shuttle mechanism 500 automatically adjusts according to the ball's stopping position determined within the simulator. For example, the shuttle mechanism may include one or more processors in communication with the simulator that determine the ball's stopping position and adjust the tee box's location or the tee box surface to match the ball's location within the simulator. The computing system's keypad or other input device 126 may be used to select one of the tee box area 206, the fairway area 208, the rough area 210, and the sand area 212 after a golf shot. Selecting the tee box 206, the fairway area 208, the rough area 210, and / or the sand area 212 places the selected area at a predetermined location relative to the screen 138. The predetermined location is preferably centered (e.g., substantially centered) relative to the screen 138.
[0049] Golf simulation area 202 may have a screen 138 for receiving video projections from a projector on the real golf course for each hole. Golf simulation area 202 may have a sensor 112 for sensing the movement of the golf ball as it is struck onto screen 138. Sensor 112 is connected to computing system 102. A processor of the computing system may determine the location on the real golf course of the golf ball struck from golf simulation area 202 based on the sensor input and a lie corresponding to the lie on which the golf ball stopped moving after the last shot.
[0050] The real golf area 204 may have a putting area 220 (e.g., a green), a chipping area 224, and one or more sand traps 226. The putting area 220 is adjustable to shift the contours of the putting area to mimic those of a real golf hole. The putting area has a golf hole 228. Such systems are known in the art and can be found, for example, in U.S. Pat. No. 10,596,442. The putting area 220 may have multiple golf holes. The golf hole in the real golf area that most closely corresponds to the golf ball being simulated can be selected for play. Golf holes not selected for play may be covered with artificial or natural grass. The chipping area 224 may also be adjustable to mimic the contours of a real golf hole. The chipping area 224 preferably has natural or artificial grass of varying lengths corresponding to the grass of a real golf hole. For example, the real chipping area may have rough, long grass corresponding to fairway-length grass, and other areas of varying grass lengths. The chipping area 224 may also have one or more sand traps 226 .
[0051] The shuttle mechanism 500 may be used to move the tee box 206, the fairway area 208, the rough area 210, and the sand area 212 based on the player's last shot. For example, for the first shot of a hole, the shuttle mechanism positions the tee box area 206 in front of the screen 138, preferably substantially in the center in front of the screen 138. If the golf ball's position is determined to be in the fairway, the shuttle mechanism 500 positions the fairway area 208 in front of the screen 138, preferably substantially in the center in front of the screen 138. If the golf ball's position is determined to be in the rough, the shuttle mechanism 500 positions the rough area 210 in front of the screen 138, preferably substantially in the center in front of the screen 138. If the golf ball's position is determined to be in a fairway bunker, the shuttle mechanism 500 positions the sand area 212 in front of the screen 138, preferably substantially in the center in front of the screen 138. Once the player has completed a golf hole in the real area, the shuttle mechanism 500 positions the tee box area 206 in front of the screen 138, preferably in the center in front of the screen 138, for the player's next shot.
[0052] The shuttle mechanism 500, in response to the computer processor, moves the tee box 206, the fairway area 208, the rough area 210, and the sand area 212. For example, the computer processor can send signals to the shuttle mechanism to move the tee box 206, the fairway area 208, the rough area 210, and the sand area 212. The computer processor can move the tee box 104, the fairway area 208, the rough area 210, and the sand area 212 in response to a determined position of the golf ball based on the sensors.
[0053] 6A-6B show flowcharts of at least some methods described herein. Except as otherwise constrained herein, steps may be performed in a different order and still be within the scope of the inventions described herein. A method is disclosed that includes playing a game of golf by placing a golf ball in a real area on a lie corresponding to the lie of a last golf shot taken in the simulated golf area. For example, a laser 150 is used to illuminate the position of the golf ball in the real golf area based on the last golf shot in the simulated golf area. The laser 150 may be positioned by computer software based on the stopping point of the last golf shot to illuminate a laser light (or other light may be used) in an area of the real golf area corresponding to the stopping position of the last golf shot in the simulated area.
[0054] The processor of the computing system may be programmed with executable instructions for the computing functions described in Figures 6A and 6B. A method for playing golf at the golf simulation area 202 and the real golf area 204 using the computing system 102 may include storing (600) a plurality of real or simulated golf courses in the computer memory 103 and / or 108. The simulated real golf courses include real golf courses and / or one or more golf holes from real golf courses combined to play a combination of golf holes. Alternatively, the stored golf courses may be fictional golf courses and / or combinations of real and fictional golf courses. In step 601, the computing system 102 provides a plurality of simulated golf courses to the user on the screen 138 and / or computer display to play. The user may select (602) one of the stored real golf courses to play with the input device 126 and input the selection to the processor. One or more users may select game settings, such as tee boxes to hit from, handicaps, chipping distances, and / or order of play, and input those selections into the processor at step 604. A hole, typically the first hole, from the real golf course is displayed (606) by the processor and projected by the computing system 102 onto the screen 138 and / or onto a display.
[0055] At 608, a player may hit a golf ball onto the screen from a real golf area, preferably from the tee box area 206. At 610, a sensor may sense the movement of the hit golf ball and provide that information to a processor of the computing system. At step 612, the processor of the computing system determines the position of the golf ball on the simulated golf course after the player hits the shot based on the sensor input.
[0056] At step 614, the computing system processor determines whether the golf ball position is greater than or less than a threshold distance, for example, from the hole or the center of the green. If the computing system processor determines (616) that the golf ball position is greater than the threshold distance (e.g., a distance indicating the maximum chipping distance), the computing system processor determines (618) whether the determined position is a fairway lie, a rough lie, or a fairway bunker lie (e.g., a sand lie farther than chipping distance from the golf hole). At 620, the flowchart is traced from FIG. 6A to FIG. 6B, and at step 622, the computing system processor uses a shuttle mechanism to center the fairway area relative to the screen if the determined golf ball position is on the fairway; center the rough area relative to the screen if the determined golf ball position is in the rough; or center the sand area relative to the screen if the determined golf ball position is in a fairway bunker. The player then hits the next shot from the selected fairway, sand, or rough area at 624. At 631, tracing the flowchart from FIG. 6B to FIG. 6A, the sensors sense the movement of the golf ball (e.g., velocity and acceleration in various directions, turning, rotation along various axes) and provide the sensed information (e.g., velocity about different axes (e.g., x, y, z), acceleration about different axes (e.g., x, y, z), rotation about various axes (e.g., x, y, z)) to the processor and the steps are repeated from 612.
[0057] If the computing system processor determines (614, 626) that the golf ball position is less than or equal to the threshold distance (following from Flowchart 6A to Flowchart 6B at 630), the computing system processor determines (632) whether the determined position is on the putting surface. If the determined position is on the putting surface (632), then at 634, a real putting area is positioned (e.g., by the processor) to simulate the contours of the putting area of the hole being played and / or a hole in the real putting area that best corresponds to the hole being played based on the position and / or contour is selected. If the determined position is on the putting surface, then the computing system processor moves (636) the laser and shines the laser so that the laser light corresponds to the position of the golf ball on the putting surface.
[0058] In some implementations, illuminating the laser so that the laser light corresponds to the position of the golf ball on the putting surface or other surfaces within the playing area, including the chipping surface and sand trap, among others, includes determining one or more obstructions. For example, a processor in a computing system can determine that one or more lights will be or are obstructed from a particular location, such as the position of the golf ball on the putting surface. Obstructions may include, for example, a player walking between a light and a particular location, a reconfigurable green that is shaped to obstruct light from a particular location, among other features or objects within playing field 200.
[0059] In some implementations, determining that one or more lights are blocked from a particular location includes obtaining feedback data from the one or more lights. For example, the lights may include light detection and ranging (LIDAR). Feedback from the reflected light may be used, for example, by a processor of a computing system, to determine whether the light is blocked. In some implementations, the processor of the computing system determines that a distance traveled by the light does not match an expected distance. For example, the processor of the computing system may determine that the distance traveled by the light is less than the expected distance, indicating that the light is blocked.
[0060] In some implementations, in response to determining that one or more lights will be or become blocked from a particular location, the computing device activates one or more other lights to illuminate the particular location. For example, in response to determining that a first light is or will become blocked and is unable to illuminate a particular location on the putting surface, the processor of the computing system may activate a second light to illuminate the particular location.
[0061] In some implementations, determining that one or more lights will be blocked from a particular location includes obtaining configurable green data. For example, the computing system processor may obtain data indicating the current location of the putting area 220. The putting area 220 may include peaks and valleys that prevent lights in the playing field 200 from illuminating a particular location on the putting area 220. The computing system processor may determine whether a given light will be blocked from a particular location based on (i) the shape of a line from a first light to a particular location on the putting area 220 and (ii) the configuration of the relief on the putting area 220. The computing system processor may obtain the particular location on the putting area 220 from a simulation and determine whether one or more lights will be blocked from a particular location using a model of the playing field that includes the location of the one or more lights. The computing system processor may obtain data indicating the relief of the putting area 220, for example, from a system that controls the relief and other modifications of the putting area 220.
[0062] Additionally, some occlusions may be known based on the shape of the green even before a player's position begins to have an effect. Additional occlusions in play may change as a player moves. Some occlusions may be predictable, such as when a player may need to stop to take their next shot, such as putting or chipping, while other occlusions may be based on the person playing alongside, teammate, or opponent, among other factors. occlusions may change several times during the play of a hole. For example, based on calculations, hole location, among other factors, any number of lighting combinations may be best suited for a hole at a given time. The best lighting combination for a hole, e.g., unobstructed from a particular location to be illuminated, may change during the play of a hole. In some implementations, the system actively updates active lighting as occlusions occur. In some implementations, the system activates multiple lights, e.g., three lights, to ensure or increase the likelihood that unobstructed lighting is active during play of a hole, e.g., to be robust to players walking between the light source and the particular location to be illuminated.
[0063] The player places the golf ball in the illuminated location 638. The player putts or chips 648 on the real playing area until the ball enters the golf hole and a score is recorded 640. The step of locating the putting area 634 can occur at various times, including before or after the golfer tee-off to a hole.
[0064] If the computing system processor determines that the golf ball position is less than the tipping distance and that the determined position is not on the putting surface (639), the golf ball is determined to be in the real chipping area (639). The real chipping area is positioned by the processor to simulate the contours of the chipping area of the hole being played (642), the real putting area is positioned by the processor to simulate the contours of the golf hole being played from the perspective of the chipping location, and / or a golf hole in the real putting area that best corresponds to the simulated golf hole based on the position and / or contour is selected. The computing system processor moves a light, such as a laser or spot light beam, and illuminates the light so that the laser light corresponds to the position of the golf ball on the real chipping area (644). The player places or drops the golf ball in the illuminated position (646). The computing system processor can optionally automatically turn off the light after the ball is placed or dropped (647). In some implementations, the computing system processor determines when the ball is within a threshold distance from the illuminated location or when the ball is stationary within a threshold distance. In response to determining that the ball meets one or more placement criteria, such as being within a threshold distance from the illuminated location, the computing system processor can turn off the light. The player putts or chips in the real chipping area (648) until the ball is holed and a score is recorded (640). Step 642 can occur at various times, including before or after the golfer tee-offs for a hole.
[0065] After playing one golf hole, the computing system processor can display on the screen the next golf hole to be viewed from the perspective of the next tee box (650). The tee box area can be positioned using the shuttle mechanism 500 to move the tee box area relative to the screen (e.g., preferably centered) (652). The player can then play the next hole (following from FIG. 6B to FIG. 6A at 654). Steps 608 through 654 can be repeated for any desired number of holes or courses to be played. Scoring can be according to the rules of golf, such as USGA or PGA rules, modified to accommodate a combination of real golf and simulation, including, for example, no penalty for placing the ball on a real golf area or simulated area. Local golf rules can be adopted and used. For example, if a player hits a golf ball from a real golf area outside the real golf area (e.g., into the stands of a stadium), a one-stroke and distance penalty can be assessed, and the player must drop the ball at the last location where it was hit and take the next shot from that location.
[0066] The method and system of Figures 6A and 6B are described with respect to one player. However, multiple players may play in sequence. In the case of multiple players, steps 608-612 may be repeated for each player. When it is the next player's turn, steps 614, 616, 618, 620, 622, 624, 631, 610, and 612 are performed for the player's second shot from the fairway, rough, and sand areas within the simulated area. Steps 614, 626, 628, 630, 632-654 may be performed. The method may include rotating players after each player's shot, with the players taking turns chipping and / or putting until the ball is holed and a score is recorded, at which point the player's turn stops at 638 or 648. Other variations of player rotation may be used. For example, a player may finish a hole. A player's turn may be based on distance from the hole and / or based on published or local rules.
[0067] The systems and methods disclosed herein may further include a system for broadcasting and / or streaming the game of golf being played. For example, players playing the game of golf may be viewed on live television or live streaming using a distribution network 106. The network 106 includes digital or analog broadcast television. Broadcasting using the network 106 includes broadcasting over the airwaves and via electronic means, such as via cable networks, Wi-Fi, cellular, high-definition television, digital television, and other content distribution systems known in the art.
[0068] The computing system 102 described herein may be one or more computing systems. For example, computing functionality may be divided between a processor and a computer / server. Memory may or may not be integral with the computing system. Cloud services are encompassed by the term computing system 102 described herein.
[0069] 7 is an example of a system 700 for precisely locating objects within a golf simulator system. System 700 includes a controller 702 that controls one or more lights, including lights 716a-d, within an area 726. These lights may be stationary or movable, for example, on rails, wires, or other suitable methods of movement, via one or more control signals from controller 702. Area 726 may be similar to playing field 200 and may be used to play a hybrid game of simulator and real golf.
[0070] In some implementations, lighting selection and operation is important for inflatable arena structures. For example, as shown in FIG. 2, an arena may include stands without a rigid roof. Instead of a rigid roof, an inflatable roof may be used, with materials held aloft, for example, by a pressure differential inside the arena compared to the outside, guide rods, or both. An inflatable roof can reduce construction costs. One drawback of an inflatable roof is that it may not be rigid enough to mount lights. Instead, lights can be mounted to the edges of the stands, such as stand 232. Downward mounting can create the potential for shading from various objects, such as the undulations of a configurable green and players. The technology described herein with reference to FIG. 7 solves this particular problem, enabling the use of soft-skin roofing materials to reduce construction costs for arenas used for hybrid simulated and real golf play, where simulated golf can include at least partially simulated ball trajectories and real golf play can include ball trajectories occurring in the real world without computer simulation.
[0071] 7, controller 702 includes a ball location engine 704, a lighting selection engine 706, and a lighting actuation engine 708. Ball location engine 704, lighting selection engine 706, and lighting actuation engine 708 may be configured as one or more software modules executing on one or more processors of controller 702. Controller 702 may include, for example, one or more computers connected by one or more wired or wireless connections to perform the operations described with reference to FIG. 7 and the systems and processors described herein.
[0072] Generally, controller 702 determines one or more lights to activate within area 726. Controller 702 can determine which one or more lights are unobstructed, e.g., unobstructed by green features such as hills 722 or other objects such as players 724. Controller 702 can determine specific locations within area 726 to illuminate with one or more lights. The specific locations can represent the locations of golf balls hit by one or more of players 724 in subsequent shots. For example, one of players 724 can drive a golf ball in a virtual simulation. Based on the simulated ball path, controller 702 can determine the location of the subsequent shot. In some implementations, the location of the subsequent shot is on the green as shown in area 726.
[0073] For ease of explanation, the process of Figure 7 is described in stages A through C. Although described in order of stages A through C, in some implementations the stages may be performed partially concurrently, for example on parallel processors or multiple computers, or may be performed in a different order.
[0074] At stage A, the ball location engine 704 of the controller 702 obtains the ball location. In the example of Figure 7, the ball location engine 704 obtains data indicating that the ball location is location 718 shown in area 726.
[0075] In some implementations, the ball position engine 704 obtains the ball position from a golf play simulator. For example, the ball position engine 704 may obtain the ball position from a simulation of a shot hit from the tee box 206. In some implementations, the controller 702 simulates the ball path. In some implementations, the controller 702 communicates with one or more computers that run one or more simulations that simulate the golf ball path and, for example, the golf ball position on the green, as shown in area 726.
[0076] In stage B, controller 702 retrieves green configuration 710. In some implementations, controller 702 retrieves green configuration 710 in response to one or more determinations, for example, controller 702 determining that there is a new active hole in the game, controller 702 determining that one or more shots indicate that the player's next shot will be from the green. Green configuration 710 may include data indicating the configuration of the green shown in area 726, e.g., hill 722, among other features. In some implementations, green configuration 710 is sent by green configuration system 712. For example, green configuration system 712 may include one or more computers that control the configuration of the green shown in area 726. In some implementations, controller 702 controls the configuration of the green shown in area 726. For example, green configuration system 712 may be included as one or more processors of controller 702.
[0077] The light selection engine 706 can determine which of one or more lights, including lights 716a-d in area 726, to select for activation. The activation can include activating and positioning the light to illuminate or illuminate a location within area 726. The location can indicate where the next shot will occur.
[0078] 7, the lighting selection engine 706 determines that lighting 716c is obstructed from the location 718 determined by the ball location engine 704. Specifically, the lighting selection engine 706 determines that hill 722, which uses green configuration 710, is a feature that obstructs light from lighting 716c from reaching location 718.
[0079] In some implementations, controller 702 sends one or more signals to the obstructed lights in implementations in which one or more of the lights shown in area 726 are movable. For example, controller 702 can move the light until it is no longer obstructed, or can determine a position where the light is no longer obstructed and move the light to the determined position.
[0080] In some implementations, the lighting selection engine 706 uses three-dimensional information of the green configuration 710 to determine that the light 716c is obstructed. For example, the green configuration 710 may include three-dimensional information indicating the outline of the green, as shown in area 726. By determining a line from the light 716c to the location 718, the lighting selection engine 706 can determine whether any features of the green configuration 710 intersect with and therefore obstruct the light from the light 716c. In some implementations, such potential obstructions may be determined before a game or during play of a portion of a hole on a course, based on the known three-dimensional shape of the green configuration 710 and the positions (e.g., heights and angles) of the lights 716a-d in combination with a particular hole or pin position and / or ball position, it may be known that a particular light is obstructed. If the ball is determined to be in a particular obstructed position with respect to one or more of the lights 716a-d, the lighting selection engine 706 may determine that the particular light should not be used.
[0081] In some implementations, the light selection engine 706 uses feedback from the light 716c to determine that the light 716c is obstructed. For example, the light 716c may be configured with one or more sensors, such as a LIDAR, that detect feedback from the light emitted by the light 716c. In some cases, the system 700 includes one or more cameras. The one or more cameras can provide video data to the controller 702. The controller 702 can operate one or more vision processing algorithms to determine one or more obstructions. The one or more cameras can provide live video of the green or other playing surface.
[0082] The light selection engine 706 may also obtain data from other sensors that obtain feedback data from the light 716c. Using the feedback data obtained from one or more sensors, the light selection engine 706 can determine whether the light emitted from the light 716c has traveled a distance corresponding to an expected distance. For example, using LIDAR techniques, the light selection engine 706 can compare the distance of the detected light with the distance from the light 716c to the location 718. Based on the comparison meeting a threshold, e.g., being less than a threshold, or differing by a certain amount, the light selection engine 706 can determine that the light 716c is obstructed from the location 718. In response, the light selection engine 706 can select one or more other lights to emit light to mark the location 718. In some implementations, it is preferable to use a model to detect whether a light is obstructed in advance in order to reduce the latency between when a location is determined to be illuminated and when that location is illuminated by an unobstructed light.
[0083] In the example of FIG. 7 , the lighting selection engine 706 determines that light 716b is obstructed by one of the people 724. In some implementations, the lighting selection engine 706 determines that light 716b is obstructed by predicting the location of that one of the people 724. For example, the lighting selection engine 706 may predict the location of a person approaching to take a shot at location 718. In some implementations, the lighting selection engine 706 obtains player details to determine the player's location. For example, the lighting selection engine 706 may obtain details of a player's handedness to determine that a light may be obstructed if the player is positioned to line up to take a shot on that side. For example, at a particular location, a right-handed player's normal putting stroke stance and position may not create a shading issue for a particular hole. However, a left-handed player using a normal putting stroke stance and position from the same particular ball location may cause shading.
[0084] In some implementations, the light selection engine 706 obtains data for the current hole, such as the hole location on the green shown in area 726. For example, the hole location may affect where the player stands and potentially which of the lights 716a-d are blocked from position 718.
[0085] In some implementations, the light selection engine 706 determines that light 716b is obstructed by detecting feedback from light emitted by light 716b and determines that light 716b is obstructed using the feedback from the light emitted by light 716b. For example, the light selection engine 706 may determine that the light emitted by light 716b did not travel a predetermined distance. The light selection engine 706 may determine an expected distance indicating the distance that the light from light 716b will travel from light 716b to location 718. If, based on data from one or more sensors configured to sense light feedback from the light emitted by light 716b, the light selection engine 706 determines that the distance of the light does not meet a threshold, e.g., is less than the expected distance, the light selection engine 706 may determine that light 716b is obstructed. In response, the light selection engine 706 may select one or more other lights for illumination.
[0086] In some implementations, lights at different heights are used to provide additional opportunities for unobstructed lighting. In some implementations, controller 702 is communicatively connected to a database that indicates predetermined lighting selections for specific locations. For example, lights 716a and 716d can be used for any location within a first region of green shown in area 726, and lights 716b and 716a can be used for any location within a second region. Other lighting combinations can be stored for other regions. In some implementations, all regions of the green configuration are associated with a specific light. For example, light selection engine 706 can query a stored database using green configuration data to determine one or more lights to select for operation.
[0087] In stage C, the controller 702 generates lighting commands 714. In some implementations, the lighting operation engine 708 provides the lighting commands 714 to a green configuration system 712. As described, the green configuration system 712 may be a separate processing system that manages the green configuration shown in area 726, or may be part of the controller 702.
[0088] In some implementations, the light activation engine 708 obtains data from the light selection engine 706. For example, the light activation engine 708 may obtain data from the light selection engine 706 indicating the identifiers of one or more lights to activate. In the example of FIG. 7, the light selection engine 706 selects lights 716a and 716d after determining that lights 716b and 716c are obstructed and cannot emit light to illuminate the location 718. In some implementations, the light selection engine 706 provides the identifiers of the one or more selected lights. For example, the light selection engine 706 may provide the identifier of light 716a and the identifier of light 716d.
[0089] In some implementations, the light operation engine 708 generates a light command 714 using one or more identifiers determined by the light selection engine 706. The light command 714 may indicate the light to be emitted by the light selected by the light selection engine 706. The light command 714 may indicate the angle or position of the selected light such that the light emitted from the selected light precisely illuminates the location 718.
[0090] In response to providing a light command 714, lights 716a and 716d may be activated to illuminate location 718. In some implementations, controller 702 provides an indication that the ball has been successfully placed at location 718 indicated by the selected light. For example, controller 702 may change the color of the emitted light (e.g., from red to green) or turn the light on or off (e.g., flashing light), among other indications, after the player successfully places the ball at location 718. Successfully placing the ball may include placing the ball within a threshold distance (e.g., 1 centimeter) of location 718 as determined by the simulator after one or more shots by the player within area 726.
[0091] In some implementations, the light from the illuminators 716a-d is laser light. In some implementations, the light from the illuminators 716a-d is a three-dimensional projection. These are examples only, and the illumination can include other forms of illumination to indicate light at a given location, such as location 718.
[0092] In some implementations, controller 702 obtains sensor data after a player places a ball at location 718. For example, controller 702 obtains video data from a video sensor, such as a camera. Controller 702 can use the video data to detect the placed golf ball in the video and compare the location of the placed golf ball to an expected location of the golf ball. For example, controller 702 can convert the detected location of the placed golf ball to a position within a three-dimensional model of area 726. Controller 702 can compare the location of location 718 to the detected location of the placed golf ball. If the distance between location 718 and the detected location of the placed golf ball meets a distance threshold, controller 702 can activate an indication of successful ball placement, such as changing the color of a light, sending a notification to a visual display, flashing a light, or turning off a light, among other things. If the distance between location 718 and the detected golf ball placement location does not meet the distance threshold, controller 702 can activate an indication of unsuccessful ball placement, such as changing the color of the light, sending a notification to a visual display, or flashing the lights, among others. If controller 702 determines that the distance between location 718 and the detected golf ball placement location meets the distance threshold, controller 702 can generate and send a signal to turn off the lights, such as to one or more of lights 716a-d that are emitting light that is projected onto location 718.
[0093] In some implementations, the occluders are known based on their location, for example, based on the layout of the green or even where the ball may be. For example, if the ball is at a certain point, a system configured to activate one or more lights, such as controller 702, can determine from where a player will view or approach the shot and where the player may be standing. In some implementations, the system determines the current or predicted location of one or more people. For example, before activating one or more lights, the system can identify which of the one or more lights to activate based on the predicted location of one or more players. The prediction of the location of one or more players can be based on the person's dominant hand, for example, whether they swing left-handed or right-handed.
[0094] In some implementations, the lighting selection engine 706 is communicatively connected to a database of stored greenery. For example, the lighting selection engine 706 can determine which location is best in a clear environment and then adjust one or more selections based, for example, on a secondary determination of where people are located or feedback from one or more lights.
[0095] In some implementations, system 100 is used to indicate the locations of multiple ball positions, such as corresponding to different players or teams playing together and / or against each other. For example, in addition to position 718, controller 702 can be used to indicate additional positions, such as additional positions corresponding to other virtual balls after one or more simulated golf shots by different players and / or different teams. In some implementations, different sets of lights or different colored lights are used to indicate different balls. For example, for a first ball position, such as indicated as position 718, a first set of lights (such as lights 716a and 716d) or a first color (e.g., red) can be used to indicate the first ball position. For a second ball position, a second set of lights (e.g., a second set of lights unobstructed from the second ball position) or a second color (e.g., blue) can be used to indicate the second ball position. In some implementations, one or more of lights 716a-d have multiple lights or multiple colors such that lights 716a-d can illuminate more than one location simultaneously. The process described with reference to a single location 718 can be used for multiple locations.
[0096] In some implementations, one set of lights illuminates the ball positions corresponding to two players. The system 700 can determine obstructions so that the two lights can be illuminated simultaneously. In some implementations, a first ball is illuminated as it is tracked from the teeing area to the playing area, such as the chipping surface or putting surface, among others. When a second ball enters the playing area, a second light can be used to illuminate the second ball to avoid obstructions. In some cases, multiple lights may be unobstructed. If a first light is used for the first ball, but the first light is the only unobstructed light for the second ball, the system 700 can determine a second, different light for the first ball, for example, if the second, different light is unobstructed from the first ball's location in the same way as the first light. In this way, the system 700 can maintain separate lights for different balls to aid in identification. In some implementations, the color of the light or other characteristics of the light are used to distinguish the balls. For example, a first color of light, such as blue light, can be used to locate the first ball. A second ball can be positioned using a second color of light, for example red light.
[0097] 8 is a flow diagram of an example process 800 for precise object localization. For example, process 800 may be used by controller 702 of system 700.
[0098] Process 800 includes determining 802 the position of a golf ball on a golf playing surface. For example, as described with reference to FIG. 7, the ball position engine 704 may determine the ball position from a golf playing simulator. The golf playing simulator may be tracking a real golf ball that has been hit from the tee box 206, for example, into the screen. The golf playing simulator may estimate the position of the golf ball within the golf playing surface.
[0099] In some implementations, the controller 702 determines the location of the golf ball after the initial putting or chipping. For example, one or more indicator lights may be used instead of or in addition to coins, poker chips, or other ball markers used in golf when a player picks up their ball from the green. Instead of placing a ball marker, the controller 702 may identify the ball location and use the determined location to identify and activate lights for the player to resume play after the player removes the ball. Light indicators may be used for the first shot in a real-world playing environment after a shot tracked by the simulator or a subsequent shot, such as after the initial chipping or putting, or after the player picks up the ball on the putting green surface.
[0100] In some implementations, the controller 702 activates lights to indicate the ball location for a player who picks up their ball, instead of, for example, a physical ball marker placed on the putting green. For example, the controller 702 can activate lights to indicate the last determined location of the ball before the player picked it up. The controller 702 can operate one or more visual angle detection algorithms to detect the ball's location or obtain internal ball tracking data, for example, from the ball associated with a tracking chip or otherwise. The controller 702 can activate lights at specific times to synchronize with a target player's next shot, for example, after another player has completed a hole or played their shot. In some implementations, the controller 702 receives a user-provided signal indicating when to activate one or more lights for a given ball or player. For example, a user may be a spectator or player of the game and may request that a light indication be provided for a particular ball or a particular player using a signal sent to the controller 702 over one or more networks using a device configured to control the controller 702.
[0101] In some implementations, the golf playing surface includes a configurable putting surface and chipping surface. For example, area 726 shown in FIG. 7 can include grass, artificial turf, among other surface types. Area 726 can include a putting portion and a portion for approach play, such as chipping from the rough and putting, among other approach shots. The chipping surface can include a portion of the surface surrounding the configurable putting surface and can include a surface on which a player can hit a real golf ball. The golf ball can be hit with a chip shot or a putting shot, among other shots. In general, area 726 in which ball position can be indicated by one or more lights can include both configurable surfaces, such as a configurable putting surface, and non-configurable surfaces, such as a non-configurable chipping surface. In some implementations, the chipping surface is configurable. For example, area 726 can include moving parts, such as mounds or elevation changes, that simulate real-world terrain to add realistic characteristics to the playing surface.
[0102] Process 800 includes identifying one or more light sources that are unobstructed from a location on the golf playing surface (804). For example, lighting selection engine 706 can determine which of one or more lights, including lights 716a-d in area 726, to select for activation. Lighting selection engine 706 can generally select lights to avoid obstructions. Obstructions may be determined using, among other things, data indicative of the current green configuration, feedback from light sources indicating obstructions, or manual user control. Controller 702 can process the data stream to determine obstructions and use the data stream to identify one or more light sources that are unobstructed from a location on the golf playing surface. In some implementations, controller 702 identifies at least two light sources. The at least two light sources can be used to pinpoint a location for playing the ball, e.g., location 718, as illustrated for light sources 716a and 716d.
[0103] Process 800 includes activating one or more light sources to direct light toward a location on the golf playing surface (806). For example, a lighting activation engine 708 of controller 702 can activate the lighting identified by lighting selection engine 706. The lighting activation engine 708 can activate the lighting until a golf ball is dropped within a threshold distance of an illuminated location, e.g., location 718. For example, controller 702 can obtain an indication of the dropped ball from, e.g., optical feedback from a reflective surface of the dropped ball, manual control, a processed video stream representing a portion of the dropped ball, among other things. In some implementations, controller 702 determines the distance between the dropped ball and the indicated location. For example, controller 702 can identify the location of the dropped golf ball using one or more data streams, e.g., visual angle data processed by one or more machine learning video detection algorithms, optical feedback data, among other things.
[0104] Controller 702 may compare the detected location of the dropped ball to a location indicated as location 718. If the detected location of the dropped ball is within a threshold distance, such as one inch, from location 718 that meets a distance threshold, controller 702 may send a signal to light activation engine 708 to, among other things, deactivate one or more activated lights, or change or flash lights to indicate that the ball has been placed. Similar light indications may be used, such as changing the color of a light, flashing lights, or notifying the user using a text prompt on the device or visible screen when the detected drop location meets one or more distance thresholds.
[0105] The order of operations in the above process 800 is for illustrative purposes only and may be performed in a different order. In some implementations, the process 800 may include additional operations, fewer operations, or some of the operations may be split into multiple operations.
[0106] Although several implementations have been described, it will be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. For example, the order of operations may be changed, operations may be added or deleted, and various forms of flow shown above may be used.
[0107] Implementations of the subject matter and functional operations described herein may be implemented in digital electronic circuitry, tangibly embodied computer software or firmware, computer hardware, or a combination of one or more of these, including the structures disclosed herein and their structural equivalents. Implementations of the subject matter described herein may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier for execution by or to control the operation of a data processing device. Alternatively or additionally, the program instructions may be encoded in an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, generated to encode information for transmission to a suitable receiver device for execution by the data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of these.
[0108] The term "data processing apparatus" refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. An apparatus can also be or further include special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, an apparatus can optionally include code that creates an execution environment for a computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.
[0109] A computer program may also be referred to or described as a program, software, software application, module, software module, script, or code, and may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and may be deployed in any form, including a stand-alone program or module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program may be stored as part of a file that holds other programs or data, for example, one or more scripts stored in a markup language document, in a single file dedicated to the program, or in multiple linked files, for example, files that store one or more modules, subprograms, or portions of code. A computer program can be deployed to run on one computer or on multiple computers, either at one site or distributed across multiple sites and interconnected by a communications network.
[0110] The processes and logic flows described herein may be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0111] Computers suitable for executing computer programs include, by way of example, general-purpose or special-purpose microprocessors or both, or any other type of central processing unit. Typically, a central processing unit receives instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Typically, a computer also includes one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data, or is operatively coupled to receive data from or transfer data to them, or both. However, a computer need not have such devices. Furthermore, a computer may be embedded in another device, such as a mobile phone, a smartphone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device, such as a universal serial bus (USB) flash drive, to name a few.
[0112] Computer-readable media suitable for storing computer program instructions and data include, by way of example, all forms of non-volatile memory, media, and memory devices, including semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or integrated into, special purpose logic circuitry.
[0113] To provide for user interaction, implementations of the subject matter described herein can be implemented on a computer having a display device, such as an LCD (liquid crystal display), OLED (organic light-emitting diode), or other monitor, for displaying information to the user, and a keyboard and pointing device, such as a mouse or trackball, for the user to provide input to the computer. Other types of devices can also be used to provide for user interaction; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, audible feedback, or tactile feedback, and input from the user can be received in any form, including acoustic, speech, or tactile input. Additionally, a computer can interact with a user by sending documents to and receiving documents from a device used by the user, for example, by sending a web page to a web browser on the user's device in response to a request received from the web browser.
[0114] Implementations of the subject matter described herein can be implemented in a computing system that includes a back-end component, e.g., a data server, or a computing system that includes a middleware component, e.g., an application server, or a computing system that includes a front-end component, e.g., a client computer having a graphical user interface or web browser through which a user can interact with an implementation of the subject matter described herein, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.
[0115] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises from computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server sends data, e.g., HyperText Markup Language (HTML) pages, to a user device, e.g., for the purpose of displaying the data to and receiving user input from a user that interacts with the user device acting as a client. Data generated at the user device, e.g., results of user interaction, may be received from the user device by the server.
[0116] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described herein in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features that are described herein in the context of a single implementation may also be implemented in separate implementations or in any suitable subcombination. Furthermore, while features may be described above as functioning in a particular combination, and even may initially be claimed as such, one or more features from a claimed combination may in some cases be removed from that combination, and a claimed combination may be directed to a subcombination or a variation of a subcombination.
[0117] Similarly, although operations are illustrated in the figures in a particular order, this should not be understood as requiring that such operations be performed in the particular order or sequential order shown, or that all of the illustrated operations be performed, to achieve desirable results. In some situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the above-described implementations should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged in multiple software products.
[0118] In each instance where an HTML file is mentioned, other file types or formats may be substituted. For example, an HTML file may be replaced by an XML, JSON, plain text, or other type of file. Additionally, where a table or hash table is mentioned, other data structures (such as a spreadsheet, relational database, or structured file) may be used.
[0119] Specific implementations of the present invention have been described. Other implementations are within the scope of the following claims. For example, the actions recited in the claims, or described in the specification, or illustrated in the figures can be performed in a different order and still achieve desirable results. In some cases, multitasking and parallel processing may be advantageous. [Explanation of symbols]
[0120] 102 Computing Systems 103, 108 memory 104 processors 105 Transceiver 107 Antenna 110 Display 112 Sensors 124 Speaker / Microphone 126 Input Devices 134 Power supply 136 GPS chipset 137 Peripheral Equipment 138 screens 150 Laser 200 Stadiums 202 Golf Simulation Area 204 Real Golf Area 220 Putting Area 206 Tee Box 208 Fairway Area 210 Rough Area 212 Sand Area 214 holes 226 Sand Trap 228 golf holes 500 Shuttle mechanism 700 System 702 Controller 704 Ball Position Engine 706 Lighting Selection Engine 708 Lighting Engine 710 Green Configuration 714 Lighting Commands 716a~d Lighting 718 position 722 Hill 724 Player, Person 726 Area
Claims
1. providing a golf simulator comprising a computing system having a golf course stored in a memory, a projector, and a screen; using the computing system to project a simulation of a golf hole of the golf course stored in memory onto the screen to provide a simulated golf hole that simulates the golf hole; determining a location of a golf ball struck from a tee box on the simulated golf hole based on one or more sensors; determining whether the determined location is on a putting surface; adjusting the putting surface to represent a putting surface associated with the golf hole; responsive to the determined location being on the putting surface, selecting a set of lights to indicate the determined location on the putting surface; providing instructions to activate the selected set of lights; A method comprising:
2. The method of claim 1 , wherein the golf simulator and the putting surface are located within an arena.
3. The method of claim 1 or 2, comprising determining whether the location of the golf ball is one of a fairway location, a rough location, or a fairway bunker location.
4. The method of claim 3 , including providing a golf ball simulation tee box comprising a tee box area, a fairway area, a rough area, and a sand area.
5. If the determined golf ball location is the fairway location, placing the golf ball in the fairway area; If the golf ball location is determined to be the rough location, placing the golf ball in the rough location; If the golf ball location is determined to be the fairway bunker location, placing the golf ball in the sand area; The method of claim 4 , comprising one of:
6. 10. The method of claim 1, further comprising adjusting a chipping surface to represent a chipping surface associated with the golf hole of the golf course stored in memory.
7. The method of claim 6 , wherein the tipping surface is located within an arena.
8. (i) determining that the position of the golf ball is less than a threshold distance from the green, and (ii) that the position of the golf ball is not on the putting surface; (i) in response to determining that the position of the golf ball is less than the threshold distance from the green, and (ii) that the position of the golf ball is not on the putting surface, selecting a set of lights to indicate the determined position on the chipping surface; providing instructions to activate the selected set of lights to illuminate a portion of the chipping surface; The method of claim 6, comprising:
9. The method of claim 1 or 2, comprising streaming digital media content of players using the simulator and the putting surface to a television or computing device.
10. 3. The method of claim 1 or 2, wherein the golf ball hit from the tee box on the simulated golf hole is hit from a distance of more than 20 yards from the screen.
11. The method of claim 10, including determining a ball location indicating where the golf ball struck from the tee box struck the screen.
12. providing a golf simulator comprising a computing system having a golf course stored in a memory, a projector, and a screen; providing a tee box area, a fairway area, a rough area, and a sand area for hitting a golf ball adjacent to said screen; providing a shuttle mechanism coupled to the computing system for moving the tee box area, the fairway area, the rough area, and the sand area relative to the screen; using the computing system to project a simulation of a golf hole of the golf course stored in memory onto the screen to provide a simulated golf hole that simulates the golf hole; determining, based on one or more sensors, whether a simulated golf ball position after the golf ball is struck from a tee box is located on the fairway of the golf hole, in the rough, or in a fairway bunker; responsive to determining that the simulated golf ball location is located in a fairway, positioning the fairway area relative to the screen using the shuttle mechanism; responsive to determining that the simulated golf ball position is in the rough, positioning the rough area relative to the screen using the shuttle mechanism; responsive to determining that the simulated golf ball position is located in the fairway bunker, positioning the area of sand relative to the screen using the shuttle mechanism; A method comprising:
13. 13. The method of claim 12, including providing an option on a computing device to select the fairway area, the rough area, or the sand area, and selecting the fairway area, the rough area, or the sand area based on the determined position of the golf ball.
14. The method of claim 12 or 13, comprising determining whether the golf ball position is located on a putting surface.
15. The method of claim 14 , including providing instructions to illuminate a location on the putting surface that corresponds to the determined location on the putting surface.
16. 16. The method of claim 15, including adjusting the putting surface so that the putting surface simulates a putting surface associated with the golf hole of the golf course stored in memory.
17. The method of claim 12 , including setting, in the computing system, a threshold distance based on a distance from a putting surface.
18. determining whether the golf ball position is less than the threshold distance or greater than the threshold distance, and selecting one or more lights to indicate the golf ball position if the determined position is less than the threshold distance; activating the one or more lights to illuminate a portion of the chipping area corresponding to the golf ball location; 18. The method of claim 17, comprising:
19. 20. The method of claim 18, comprising, in response to determining that the golf ball location is greater than the threshold distance, selecting one of the fairway area, the rough area, or the sand area corresponding to the golf ball location.
20. The method of claim 16 , comprising streaming digital media content of a player using the simulator and the putting surface to a television or computing device.
21. 1. A system for the game of golf, comprising: a first golf area for hitting a golf ball, the first golf area comprising one or more of a tee box area, a fairway area, a rough area, or a sand area; a second golf area including a chipping area and a putting area; at least one sensor for determining the location of a golf ball struck from the first golf area; a shuttle mechanism coupled to a computing system, the tee box area, the fairway area, the rough area, and the sand area, the shuttle mechanism for moving the tee box area, the fairway area, the rough area, and the sand area based on the determined position of the golf ball; a light for irradiating light into the second golf area; a projector for projecting an image and the location of the golf ball struck from the first golf area; a screen at the first golf area for displaying the projected image and for receiving golf balls hit at the first golf area; Equipped with The computing system includes one or more computers and one or more storage devices having instructions stored thereon, the instructions, when executed by the one or more computers, causing the one or more computers to: using said projector to display on said screen an image of a golf course stored in memory; determining a position of a golf ball struck in the first golf area on the simulated golf hole projected on the screen based on the at least one sensor; determining whether the determined golf ball location is one of a fairway, rough, fairway bunker, chipping, or putting; if the determined location is a fairway, using the shuttle mechanism to position the fairway area relative to the screen; if the determined location is rough, using the shuttle mechanism to position the rough area relative to the screen; if the determined location is a fairway bunker, using the shuttle mechanism to position the area of sand relative to the screen; and illuminating the second golf area with the light in correspondence with the determined location of the golf ball within the second golf area; The system is operable to cause an operation including
22. determining a position of a golf ball on a golf playing surface, the golf playing surface including a configurable putting surface and a chipping surface surrounding at least a portion of the configurable putting surface; identifying one or more light sources that are unobstructed from the location on the golf playing surface; activating the one or more light sources to direct light toward the location on the golf playing surface; A method comprising:
23. 23. The method of claim 22, wherein the configurable putting surface comprises one or more actuators for adjusting the contour of the configurable putting surface to mimic the contour of a golf putting surface.
24. identifying the one or more light sources that are unobstructed from the location on the golf playing surface; determining a current configuration of the configurable patting surface; using the current configuration of the configurable putting surface to identify the one or more light sources that are unobstructed from the location on the golf playing surface; 24. The method of claim 22 or 23, comprising:
25. identifying the one or more light sources that are unobstructed from the location on the golf playing surface; predicting the positions of one or more players, indicating where the one or more players are likely to be standing on the golf playing surface; (i) using the predicted positions of one or more of the players and (ii) the position of a hole on the configurable putting surface to identify the one or more light sources that are unobstructed from the positions on the golf playing surface; 24. The method of claim 22 or 23, comprising:
26. identifying the one or more light sources that are unobstructed from the location on the golf playing surface; determining a current configuration of the configurable putting surface; querying a database using the current configuration of the configurable putting surface; identifying the one or more light sources that are unobstructed from the location on the golf playing surface based on data obtained from the query of the database; 24. The method of claim 22 or 23, comprising:
27. identifying the one or more light sources that are unobstructed from the location on the golf playing surface; activating a first light source; acquiring reflectance data of the first light source; 24. The method of claim 22 or 23, comprising:
28. using the reflectance data to determine that the first light source is unobstructed from the location on the golf playing surface; identifying the first light source as one of the one or more light sources that is unobstructed from the location on the golf playing surface; 28. The method of claim 27, comprising:
29. using the reflectance data to determine when the first light source is obstructed from the location on the golf playing surface; identifying another light source as one of the one or more light sources that is unobstructed from the location on the golf playing surface; 28. The method of claim 27, comprising:
30. activating the one or more light sources to direct light to the location on the golf playing surface; (i) moving one or more of the one or more light sources; and (ii) generating commands configured to, after moving one or more of the one or more light sources, activate the one or more light sources to direct light toward the location on the golf playing surface.
24. The method of claim 22 or 23, comprising:
31. determining a second location of a second golf ball on the golf playing surface; identifying one or more light sources that are unobstructed from the second location on the golf playing surface; and identifying one or more additional light sources that are unobstructed from the location on the golf playing surface; and (i) activating the one or more light sources to direct light toward the second location on the golf playing surface; and (ii) activating the one or more other light sources to direct light toward the second location on the golf playing surface.
24. The method of claim 22 or 23, comprising:
32. 32. The method of claim 31, comprising determining that the one or more light sources are the only one or more light sources from a set of two or more light sources that are unobstructed from the second location on the golf playing surface.
33. determining a second location of a second golf ball on the golf playing surface; identifying a second set of one or more light sources that are unobstructed from the second location on the golf playing surface; activating a second set of one or more light sources to direct light toward the second location on the golf playing surface; 24. The method of claim 22 or 23, comprising:
34. 34. The method of claim 33, wherein the second set of one or more light sources is different from the one or more light sources.
35. Determining the position of the golf ball on the golf playing surface obtaining data indicative of a simulated location of a struck golf ball using a golf simulator; determining the position of the golf ball on the golf playing surface according to the simulated position of the golf ball; 24. The method of claim 22 or 23, comprising:
36. 24. The method of claim 22 or 23, wherein the one or more light sources are mounted on a wall surrounding the configurable putting surface.
37. 37. The method of claim 36, wherein the one or more light sources are mounted to the wall surrounding the configurable putting surface at a height of less than 50 feet.
38. 24. The method of claim 22 or 23, wherein the light source comprises a device for light amplification by stimulated emission of radiation.
39. 26. One or more non-transitory computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform the method of claim 1, 12, or 22.
40. 26. A system comprising one or more computers and one or more storage devices having stored thereon instructions operable, when executed by the one or more computers, to cause the one or more computers to perform the method of claim 1, 12, or 22.