Golf simulator system and method
By combining simulation and real-life golf areas, using computing systems and sensors to adjust the putter and the cutting rod surface, the problem that the existing golf simulator system cannot effectively simulate the real-life cutting rod and putter experience, achieving a more realistic and rich golf experience.
Patent Information
- Application Number
- CN202380060909.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-22
- Filing Date
- 2023-08-22
- Publication Date
- 2025-04-11
AI Technical Summary
The existing golf simulator system has shortcomings in simulating the rod and putting, and it is impossible to effectively simulate the real-life rod and putting experience.
By combining simulated golf areas and real-life golf areas, a computing system, projector and screen is used to simulate golf holes, and the golf ball position is determined through sensors, adjusting the real-life putter and cutter surfaces to match the simulated putter and cutter surfaces.
A seamless transition between simulated and real-life golf areas is achieved, enhancing the authenticity and fun of cutting and putting, providing a richer golf experience.
Smart Images

Figure CN119816884A_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Provisional Application No. 63,399,840, filed on August 22, 2022, the contents of which are incorporated herein by reference. Technical Field
[0002] The field of the invention generally relates to golf simulator systems and methods for playing golf using, in part, a simulator and in part, a real-life adjustable chipping and putting area. The real-life chipping and putting area can be adjusted to mimic the chipping positions and / or putting greens of a simulated golf hole so that a player can hit longer shots on a simulated or partially simulated golf course and chip and putt on the real-life chipping and putting area. The simulated golf area can include various golf lies. Background Art
[0003] Historically, golf has been played outdoors on an 18-hole course. Golf simulators have been developed that include a screen, a projector, and sensors for sensing the movement of a golf ball. Simulations of actual golf courses and virtual golf courses around the world can be generated and projected on a screen. Players can play golf on a simulated golf course by hitting a golf ball into the projection of the simulated golf course on the screen. The sensors sense the movement of the golf ball, and a computing system determines where the golf ball will land, bounce, and roll on the simulated golf course. The player can hit the next shot from the determined stopping point of the golf ball.
[0004] A method of 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 green conditions and hole locations is disclosed in KR20180098924A. A golf practice facility is disclosed in KR100647498. A virtual golf simulation device is disclosed in U.S. Patent Application Publication No. 2014 / 0004969A1. However, these disclosures have disadvantages in terms of chipping and putting, including competition.
[0005] An adjustable putting surface is described in U.S. Published Patent Application No. 2011 / 0192096A1. A configurable, 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 that can be used as an artificial putting green is disclosed in U.S. Patent Application Publication No. 2011 / 0192096, which has components for vertically changing the contour of the floor. A screen golf system with a "real green" is described in KR101868584B1.
[0006] The invention described herein includes an improved method and system for playing golf by combining playing golf on a simulated golf area and a real-life golf area. Summary of the invention
[0007] A method may include: providing a golf simulator, the golf simulator including a computing system having real-life and / or fictional golf courses stored in memory, a projector, and a screen; projecting a simulation of a real-life or fictional golf hole stored in memory onto the screen using the computing system to provide a simulated golf hole that simulates the real-life or fictional golf hole; determining a location of a golf ball struck from a tee on the simulated golf hole based on one or more sensors; determining whether the golf ball location is a putting surface; adjusting the real-life putting surface so that the real-life putting surface simulates a putting surface associated with the real-life or fictional golf hole; and placing the golf ball on the real-life putting surface at the determined location if it is determined that the golf ball position for the determined location is a putting surface.
[0008] The method may include having a golf simulator and a real-life putting surface in an arena, wherein spectators in the arena may watch and listen to a player playing golf using the golf simulator and the real-life putting surface.
[0009] The method may include determining whether a golf ball position is one of a fairway position, a rough position, and a sandy position. The ball position may include a real or synthetic ball position. The golf ball position may include a ball position on real or artificial grass at different heights. The ball position may include a ball position on sand. The ball position may include an indoor or outdoor ball position.
[0010] The method may include providing a golf simulation teeing station having a teeing 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 golf ball lie is determined to be a fairway location, placing the golf ball in a rough location if the golf ball lie is determined to be a rough location, and / or placing the golf ball in a sand area if the golf ball lie is determined to be in a sand location. The method may include a player hitting a next shot on a golf simulator from a golf simulation area corresponding to the ball lie from a previous golf shot taken by the player.
[0012] The method may include adjusting the real-life chipping surface so that the real-life chipping surface simulates a chipping surface associated with a real-life or fictional golf hole. The real-life chipping area may be in an arena. The method may include the player hitting a next shot from the real-life chipping surface if the ball lie of the last shot was determined to correspond to the real-life chipping surface area.
[0013] The method may include determining whether the golf ball lie is on a chipping surface associated with a real-life or fictional golf hole, and placing the golf ball on the real-life chipping surface at a location indicative of the chipping surface associated with the real-life or fictional golf hole.
[0014] The method may include distributing digital media content of players using the simulator, real-life putting surfaces, and / or real-life chipping areas so that viewers can watch and listen to the players using the simulator, real-life putting surfaces, and / or real-life chipping areas via a television or computing device.
[0015] A method may include: providing a golf simulator including a computing system having real-life golf courses and fictional golf courses stored in memory, a projector, and a screen; providing a tee area, a fairway area, a rough area, and a sand area for hitting a golf ball near the screen; providing a shuttle mechanism coupled to the computing system to move the tee area, the fairway area, the rough area, and the sand area relative to the screen; projecting a simulation of a real-life or fictional golf hole stored in the memory onto the screen using the computing system to provide a simulated golf hole that simulates the real-life or fictional golf hole; determining based on one or more sensors whether the location of a golf ball hit from a tee on the simulated golf hole is a fairway, rough, or fairway bunker; 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 the rough, using the shuttle mechanism to position the rough area relative to the screen; and if the determined location is a fairway bunker, using the shuttle mechanism to position the sand area relative to the screen.
[0016] The method may include providing, on a computing device, a choice of selecting 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 a putting surface.
[0018] The method may include positioning a golf ball on a real-life putting surface based on a determined position on the putting surface or chipping area or sand area, etc. (e.g., x, y, and z coordinates), and shining a light (such as a laser or spotlight, etc.) on the putting surface at a location corresponding to the determined position on the putting surface.
[0019] The method may include illuminating a light that travels along a path in a real-world golf course area, stopping at a final resting point of the golf ball, such a path being 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 in the simulator environment.
[0020] A method may include setting a chipping area distance in a computing system based on a distance from a green. The method may include determining whether a determined position of a golf ball struck from a simulation 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 positioning the golf ball on a real-life 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 using a selection mechanism to select one of a fairway area, a rough area, and a sand area corresponding to the determined position.
[0021] Generally, one aspect of the subject matter described in this specification can be embodied in a method comprising the following actions: providing a golf simulator comprising a computing system having a golf course stored in a memory, a projector, and a screen; projecting a simulation of a golf hole of the golf course stored in the memory onto a screen using the computing system to provide a simulated golf hole; determining a position of a golf ball hit from a tee 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 a putting surface associated with the golf hole; 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 for activating the selected set of lights.
[0022] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method. A system of one or more computers may be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which software, firmware, hardware, or a combination thereof causes the system to perform actions in operation. One or more computer programs may be configured to perform specific operations or actions by including instructions that cause the device to perform actions when executed by a data processing device.
[0023] The foregoing and other implementations may each optionally include one or more of the following features, alone or in combination. In some implementations, the golf simulator and the real-life putting surface are in an arena. In some implementations, the action includes determining whether the position of the golf ball is one of a fairway position, a rough position, and a fairway bunker position. In some implementations, the action includes providing a golf simulation tee, which includes a tee area, a fairway area, a rough area, and a sand area. In some implementations, the action includes: if the determined golf ball position is a fairway position, placing the golf ball in the fairway area; if the golf ball position is determined to be a rough position, placing the golf ball in the rough area; and if the golf ball position is determined to be a fairway bunker position, placing the golf ball in the sand area.
[0024] In some implementations, the actions include adjusting the chipping surface to represent a chipping surface associated with a golf hole of a golf course stored in the memory. In some implementations, the chipping surface is located within an arena. In some implementations, the actions include: determining that (i) the location of the golf ball is less than a threshold distance from a putting green, and (ii) the location of the golf ball is not on the putting surface; in response to determining that (i) the location of the golf ball is less than a threshold distance from the putting green and (ii) the location of the golf ball is not on the putting surface, selecting a set of lights to indicate the determined location on the chipping surface; and providing instructions for activating the selected set of lights to illuminate a portion of the chipping surface.
[0025] In some implementations, the actions include distributing digital media content of a player using the simulator and a real-life putting surface to a television or computing device. In some implementations, a golf ball hit from a tee on a simulated golf hole is hit from a distance greater than twenty yards from a screen. In some implementations, the actions include determining a ball location indicating a location where the golf ball hit from the tee hits the screen.
[0026] Generally, another aspect of the subject matter described in this specification can be embodied in a method comprising the following actions: providing a golf simulator, the golf simulator comprising a computing system having a golf course stored in memory, a projector, and a screen; providing a tee area, a fairway area, a rough area, and a sand area for hitting a golf ball near the screen; providing a shuttle mechanism coupled to the computing system to move the tee area, the fairway area, the rough area, and the sand area relative to the screen; and projecting a simulation of a golf hole of the golf course stored in memory onto the screen using the computing system to provide a simulation for hitting a golf ball. a simulated golf hole of a golf hole; determining based on one or more sensors whether the simulated golf ball position after the golf ball is hit from the tee is located on the fairway of the golf hole, in the rough of the golf hole, or in a fairway bunker of the golf hole; in response to determining that the simulated golf ball position is on the fairway, using the shuttle mechanism to position the fairway area relative to the screen; in response to determining that the simulated golf ball position is in the rough, using the shuttle mechanism to position the rough area relative to the screen; and in response to determining that the simulated golf ball position is in the fairway bunker, using the shuttle mechanism to position the sand area relative to the screen.
[0027] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method. A system of one or more computers may be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which software, firmware, hardware, or a combination thereof causes the system to perform actions in operation. One or more computer programs may be configured to perform specific operations or actions by including instructions that cause the device to perform actions when executed by a data processing device.
[0028] The foregoing and other implementations may each optionally include one or more of the following features, alone or in combination. In some implementations, the action includes providing a choice 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 location of the golf ball. In some implementations, the action includes determining whether the golf ball location is located on a putting surface. In some implementations, the action includes providing instructions for illuminating a laser on the putting surface at a location corresponding to the determined location on the putting surface. In some implementations, the action includes adjusting the putting surface so that the putting surface simulates a putting surface associated with a golf hole of a golf course stored in a memory.
[0029] In some implementations, the actions include setting a threshold distance in a computing system based on a distance from a putting surface. In some implementations, the actions include determining whether the golf ball position is less than 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 a chipping area corresponding to the golf ball position. In some implementations, the actions include: in response to determining that the golf ball position is greater than the threshold distance, selecting one of a fairway area, a rough area, and a sand area that corresponds to the golf ball position. In some implementations, the actions include distributing digital media content of a player using a simulator and a real-life putting surface to a television or computing device.
[0030] Another aspect of the subject matter described in this specification can be embodied in a system comprising: a first golf area for hitting a golf ball, wherein the golf area includes one or more of a tee area, a fairway area, a rough area, and a sand area; a second golf area including 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 the computing system, the tee area, the fairway area, the rough area, and the sand area for moving the tee area, the fairway area, the rough area, and the sand area based on the determined position of the golf ball; a laser for irradiating light in the second golf area; a projector for projecting an image and a position of a golf ball hit from the first golf area; a screen in the first golf area for displaying the projected image and for receiving a golf ball hit in a golf simulation area; a computing system including one or more computers and a One or more storage devices having instructions stored thereon, the instructions being operable when executed by one or more computers to cause the one or more computers to perform operations including: using a projector to display an image of a golf course stored in a memory on a screen; determining, based on at least one sensor, that a position of a golf ball hit in a first golf area on a simulated golf hole is being projected on the screen; determining whether the determined golf ball position is one of a fairway, rough, a fairway bunker, a chip, and a putt; if the determined position is a fairway, using a shuttle mechanism to position the fairway area relative to the screen; if the determined position is rough, using a shuttle mechanism to position the rough area relative to the screen; if the determined position is a fairway bunker, using a shuttle mechanism to position the sand area relative to the screen; and irradiating light on a second golf area corresponding to the determined position of the golf ball in the second golf area.
[0031] In general, another aspect of the subject matter described herein can be embodied in a method comprising the acts of determining a location of a golf ball on a golf playing surface, wherein the golf playing surface includes 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 relative to the location on the golf playing surface; and activating the one or more light sources to direct light to the location on the golf playing surface.
[0032] Other implementations of this aspect include corresponding computer systems, devices, computer program products, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method. A system of one or more computers may be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which software, firmware, hardware, or a combination thereof causes the system to perform actions in operation. One or more computer programs may be configured to perform specific operations or actions by including instructions that cause the device to perform actions when executed by a data processing device.
[0033] The foregoing and other implementations may each optionally include one or more of the following features, alone or in combination. In some implementations, the configurable putting surface includes one or more actuators for adjusting a profile of the configurable putting surface to simulate a profile of a golf putting surface. In some implementations, identifying one or more light sources that are unobstructed relative to a location 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 relative to the location on the golf playing surface.
[0034] In some implementations, identifying the one or more light sources that are unobstructed relative to the location on the golf playing surface includes: predicting locations of one or more players, the one or more player locations indicating where the one or more players may stand on the golf playing surface; and using (i) the predicted locations of the one or more players and (ii) the location of the hole on the configurable putting surface to identify the one or more light sources that are unobstructed relative to the location on the golf playing surface. In some implementations, identifying the one or more light sources that are unobstructed relative to the location 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 the one or more light sources that are unobstructed relative to the location on the golf playing surface based on data obtained from querying the database.
[0035] In some implementations, identifying one or more light sources that are unobstructed relative to the location on the golf playing surface includes: activating a first light source; and obtaining reflectance data for the first light source. In some implementations, the actions include: using the reflectance data to determine that the first light source is unobstructed relative to 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 relative to the location on the golf playing surface. In some implementations, the actions include: using the reflectance data to determine that the first light source is obstructed relative to the location on the golf playing surface; and identifying another light source as one of the one or more light sources that are unobstructed relative to the location on the golf playing surface.
[0036] In some implementations, activating the one or more light sources to direct light to the location on the golf playing surface includes: generating a command configured to (i) move one or more of the one or more light sources, and (ii) after moving the one or more of the one or more light sources, activate the one or more light sources to direct light to the location on the golf playing surface. In some implementations, the actions include: determining a second location of a second golf ball on the golf playing surface; identifying that the one or more light sources are unobstructed relative to the second location on the golf playing surface; identifying one or more different light sources that are unobstructed relative to the location on the golf playing surface; and activating (i) the one or more light sources to direct light to the second location on the golf playing surface, and activating (ii) the one or more different light sources to direct light to the second location on the golf playing surface. In some implementations, the action includes determining that the one or more light sources is only one or more light sources in a group of two or more light sources that is unobstructed relative to a second location on the golf playing surface.
[0037] In some implementations, the actions include: determining a second location of a second golf ball on a golf playing surface; identifying a second set of one or more light sources that are unobstructed relative to the second location on the golf playing surface; and activating the second set of one or more light sources to direct light at the second location on the golf playing surface. In some implementations, the second set of one or more light sources is different from the one or more light sources. In some implementations, determining the location of the golf ball on the golf playing surface includes: obtaining data indicating a simulated location of a golf ball struck using a golf simulator; and determining the location of the golf ball on the golf playing surface as the simulated location of the golf ball.
[0038] In some implementations, one or more light sources are mounted on a wall surrounding the configurable putting surface. In some implementations, 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 means for light amplification by stimulated emission of radiation.
[0039] The subject matter described in this specification can be implemented in various implementations and can obtain one or more of the following advantages. For example, by using two or more light sources to indicate the ball position, the user can more easily identify the indicated position and throw the ball correctly to continue playing. The dual light method can reduce the beam expansion that may occur when a single light is focused on a point at a certain angle (for example, when the angle causes the point to be projected as an inaccurate ellipse).
[0040] Other advantages include the ability to detect occlusion to allow use in areas where ceiling mounting is not possible (e.g., for inflatable covers). Inflatable covers for sporting events can be significantly more efficient from a manufacturing and setup standpoint. One of the benefits of such a design is the lightweight material used, which does not require a large amount of time to set up and can be easily replaced if damaged. One of the disadvantages is that it is difficult to mount items such as lights on such materials. The technology described in this document solves the problem of illuminating the location of a ball drop in areas where roof mounting is not possible (e.g., due to the materials used). Since there may be a greater risk of occlusion if the lights are mounted lower (e.g., from players on the playing surface or undulations in a configurable green, etc.), the technology described in this document determines which of one or more lights are unobstructed so that the light used to indicate the location of the ball accurately illuminates the location on the playing surface and is not temporarily stopped by obstructions (such as undulations of the green or players, etc.).
[0041] The details of one or more implementations of the subject matter described in this specification 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 DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 is an example of a computer system.
[0043] Figure 2 are examples of simulator golf areas and real life golf areas.
[0044] Figure 3 is a second example of a simulator golf area and a real life golf area.
[0045] Figure 4 yes Figure 3Another view of the simulator golf area and the real-life golf area.
[0046] Figure 5 is a schematic diagram of a simulator golf area with different hitting surfaces.
[0047] Fig. 6A is an example of a flowchart of a method of playing golf.
[0048] Figure 6B is an example of a flowchart of a method of playing golf.
[0049] Figure 7 is an example of a system for accurate object positioning within a golf simulator system.
[0050] Figure 8 is a flow diagram of an example process 800 for accurate object localization. DETAILED DESCRIPTION
[0052] Figure 1 A computing system 102 is depicted with a processor 104, non-removable computer memory 103, removable computer memory 108, display 110, input device 126 (e.g., keypad, keyboard, mouse, etc.), speaker / microphone 124, power supply 134, GPS chipset 136, and peripherals 137. Peripheral 137 may be a screen for projecting images. Peripheral 137 may also be a laser for illuminating lasers. The computer memory may have a real-life golf course stored in memory 103 or 108 for the projector to project onto peripheral screen 138. The computing system 102 may have a transceiver 105 and antenna 107 for sending and receiving communications. The computing system 102 may be connected to a digital distribution network for distributing 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 a golf ball and determines the stopping point of a golf ball struck in a simulated golf area. Since systems of this type for storing a real life golf course and projecting it onto a screen are known to those of ordinary skill in the art, they will not be described in further detail.
[0053] Figure 2 An area or stadium 200 is depicted having a golf simulation area 202 and a real-life golf area 204 . Figure 2Screen 138 is shown. In some implementations, screen 138 is a large screen configured to show one or more of the course, the ball path within the simulator, and the calculated path of the ball, for example, based on flight and spin characteristics. In some cases, the large screen is configured to allow tee shots farther from the screen. Allowing tee shots farther from the screen can increase the accuracy of subsequent tracking methods used to determine the location of a second shot after the tee shot on the course. The large screen can also be configured to allow spectators, such as those watching the players in a stadium, to view details of the shots, the players, the course, the entire game, and other details.
[0054] In some implementations, golf simulation area 202 includes a shuttle mechanism to allow multiple different surfaces to be matched to the ball location indicated by the simulation. Figure 2 A putting area 220 is shown. In some implementations, the putting area 220 is programmable. For example, the putting area 220 may include a dial configured to change the characteristics of the putting area 220, wherein the characteristics of the putting area 220 include elevation, texture, layout, etc. The course elements surrounding the putting area 220 may include hazard areas that are covered or uncovered to provide a unique layout for each hole.
[0055] Figure 3 and Figure 4 Two perspective views of another example of a stadium 200 having a golf simulation area 202 and a real-life golf area 204 are provided.
[0056] Figure 5 A schematic diagram of a golf simulation area 202 is depicted. The golf simulation area 202 may have a tee 206, a fairway area 208, a rough area 210, and a sand area 212. The tee 206 has a relatively short length, whether it is a real grass or an artificial grass, which has a length similar to the length of the grass used for a real-life golf tee. The tee area 206 has a hole 214 for placing a golf tee so that a golfer can hit the ball from the golf tee. Alternatively, a player can hit a golf shot from the tee area grass from the tee area 206 without a tee. The fairway area 208 has a relatively short length of grass, whether it is a natural grass or an artificial grass, which is similar to the length of the grass on the fairway of a real-life golf course. The rough area 210 has a natural or artificial grass, which is similar to the length of the long grass grass on a real-life golf course. The sand area 212 has sand similar to the sand found in the fairway bunkers on a real-life golf course.
[0057] The shuttle mechanism 500 can be used to move the tee area 206, the fairway area 208, the rough area 210, and the sand area 212 relative to the screen 138 so that one of the tee area 206, the fairway area 208, the rough area 210, and the sand area 212 is positioned in a desired position relative to the screen. Typically, the desired position is substantially centered in front of the screen. The shuttle mechanism 500 can be electronically coupled to the computing system 102 (e.g., Figure 1 138 ) and is controlled by a touch screen or other input device 126 from the computing system 102. In some implementations, the shuttle mechanism 500 automatically adjusts based on the determined resting location of the ball in the simulator. For example, the shuttle mechanism may be equipped with one or more processors, or in communication with the simulator, that determine the resting location of the ball and adjust the location of the tee or tee surface to match the location of the ball in the simulator. The computing system's keypad or other input device 126 may be used after a golf shot to select one of the tee area 206, the fairway area 208, the rough area 210, and the sand area 212. By selecting the tee area 206, the fairway area 208, the rough area 210, and / or the sand area 212, the selected area is positioned in a predetermined location relative to the screen 138. The predetermined location is preferably centered (e.g., substantially centered) relative to the screen 138.
[0058] The golf simulation area 202 may have a screen 138 for receiving hole-by-hole image projections from a projector of a real-life golf course. The golf simulation area 202 may have a sensor 112 for sensing the movement of a golf ball struck into the screen 138. The sensor 112 is connected to the computing system 102. The computing system processor may determine the location of a golf ball struck from the golf simulation area 202 on the real-life golf course based on the sensor input and the ball position corresponding to the ball position where the golf ball stopped moving after the last shot.
[0059] The real-life golf area 204 may have a putting area 220 (e.g., a putting green), a chipping area 224, and one or more sand traps 226. The putting area 220 is adjustable to move the contour of the putting area to mimic the contour of a real-life golf hole. The putting area has a golf hole 228. Such a system is known in the art and can be found in, for example, U.S. Patent No. 10,596,442. The putting area 220 may have a plurality of golf holes. The golf hole in the real-life golf area that most closely corresponds to the golf hole being simulated may be selected for playing. Golf holes that are not selected for playing may be covered with artificial or natural grass. The chipping area 224 may also be adjustable to mimic the contour of a real-life golf hole. The chipping area 224 preferably has natural or artificial grass of different lengths corresponding to the length of a real-life golf hole. For example, the real-life chipping area may have long grass corresponding to long grass, fairway length grass, and other areas of different grass lengths. The chipping area 224 may also have one or more sand traps 226 .
[0060] The shuttle mechanism 500 can be used to move the tee area 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 the hole, the shuttle mechanism positions the tee area 206 in front of the screen 138, preferably substantially centered in front of the screen 138. If the location of the golf ball is determined to be in the fairway, the shuttle mechanism 500 positions the fairway area 208 in front of the screen 138, preferably substantially centered in front of the screen 138. If the location of the golf ball is determined to be in the rough, the shuttle mechanism 500 positions the rough area 210 in front of the screen 138, preferably substantially centered in front of the screen 138. If the location of the golf ball is determined to be in the fairway bunker, the shuttle mechanism 500 positions the sand area 212 in front of the screen 138, preferably substantially centered in front of the screen 138. If the player completes the golf hole in the real-life area, the shuttle mechanism 500 positions the tee area 206 in front of the screen 138, preferably centered in front of the screen 138, for the player's next shot.
[0061] The shuttle mechanism 500 moves the tee 206, the fairway area 208, the rough area 210, and the sand area 212 in response to the computer processor. For example, the computer processor can send a signal to the shuttle mechanism to move the tee 206, the fairway area 208, the rough area 210, and the sand area 212. The computer processor can move the tee 104, the fairway area 208, the rough area 210, and the sand area 212 in response to the position of the golf ball determined based on the sensor.
[0062] FIG. 6A to FIG. 6B A flow chart of at least some of the methods described herein is depicted. Unless otherwise limited herein, the steps may be performed in a different order and be within the scope of the invention described herein. A method is disclosed that includes playing a game of golf by placing a golf ball in a real-life area at a ball position corresponding to the ball position of the 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-life golf area based on the last golf shot in the simulated golf area. The laser 150 can be positioned by computer software based on the stopping point of the last golf shot to illuminate the laser (or other lights can be used) on an area on the real-life golf area that corresponds to the stationary location of the last golf shot in the simulated area.
[0063] The computing system processor can utilize Fig. 6A and Figure 6B 1. The method of playing golf with the golf simulation area 202 and the real-life golf area 204 using the computing system 102 may include storing (600) a plurality of real-life or simulated golf courses in the computer memory 103 and / or 108. The simulated real-life golf courses include real-life golf courses and / or one or more golf holes from real-life golf courses, which are combined together to play a combination of golf holes. Alternatively, the stored golf courses may be fictional golf courses and / or a combination of real and fictional golf courses. At step 601, the computing system 102 provides a plurality of golf courses simulated for playing golf to a user on the screen 138 and / or computer display. The user may select (602) one of the stored real-life golf courses for playing golf using the input device 126 and input the selection to the processor. At step 604, one or more users may select the settings of the game (such as the tee box for hitting the ball, the handicap, the chipping distance and / or the order of playing the ball, etc.) and input these selections to the processor. A hole (typically, a first hole) from a real-life golf course is displayed by the processor (606) and projected onto the screen 138 by the computing system 102 and / or on a display.
[0064] At 608, the player may hit a golf ball from a real-life golf course (preferably, tee area 206) into the screen. At 610, the sensor may sense the movement of the hit golf ball and provide this information to the computing system processor. At step 612, the computing system processor determines the location of the golf ball after the player hits the shot on the simulated golf course based on the sensor input.
[0065] At step 614, the computing system processor determines whether the golf ball position (e.g., from the hole of the green or the center of the green) is greater than or less than a threshold distance. If the computing system processor determines that the golf ball position is greater than the threshold distance (e.g., a distance indicating a maximum chipping distance) (616), the computing system processor determines at 618 whether the determined position is a fairway lie, a rough lie, or a fairway bunker lie (e.g., a sand lie that is farther from the golf hole than the chipping distance). The flowchart follows at 620 from FIG. 6A to FIG. 6B At step 622, the computing system processor uses the shuttle mechanism to center the fairway area relative to the screen if the determined golf ball location is the fairway, to center the rough area relative to the screen if the determined golf ball location is the rough, and to center the sand area relative to the screen if the determined golf ball location is in a fairway bunker. The player hits the next shot from the selected fairway area, sand area, or rough area (624). At 631 and causing the flow chart to follow from FIG. 6B to FIG. 6A , the sensor senses the movement of the golf ball (e.g., speed and acceleration in various directions, rotation, rotation along various axes), and provides the sensed information (e.g., speed relative to different axes (e.g., x, y, z), acceleration relative to different axes (e.g., x, y, z), rotation about various axes (e.g., x, y, z)) to the processor, and steps are repeated starting from 612.
[0066] If the computing system processor determines that the golf ball position is less than or equal to the threshold distance (614, 626) (following the flow at 630 Fig. 6A To the process Figure 6B ), the computing system processor determines at 632 whether the determined location is on a putting surface. If the determined location is a putting surface 632, then at 634 (e.g., by the processor) a real-life putting area is positioned to simulate the contour of the putting area of the hole being played and / or a hole on the real-life putting area that best corresponds to the hole being played is selected based on the location and / or contour. If the determined location is a putting surface, the computing system processor moves the laser (636) and illuminates the laser so that the laser corresponds to the location of the golf ball on the putting surface.
[0067] In some implementations, illuminating the laser so that the laser corresponds to the position of the golf ball on the putting surface or other surfaces in the playing area (including chipping surfaces, sand traps, etc.) includes determining one or more occlusions. For example, the computing system processor can determine that one or more lights will be occluded or blocked relative to a particular location (e.g., the position of the golf ball on the putting surface). The occlusions can include: a player walking between the light and the particular location, a reconfigurable green being shaped so that the green blocks the light from the particular location, and other features or objects (e.g., in stadium 200).
[0068] In some implementations, determining that one or more lights are obscured relative to a particular location includes obtaining feedback data from one or more lights. For example, the lights may include light detection and ranging (LIDAR). For example, the computing system processor may use feedback from reflected light to determine whether the lights are obscured. In some implementations, the computing system processor determines that the distance covered by the lights does not match the expected distance. For example, the computing system processor may determine that the distance covered by the lights is less than the expected distance at which the indicator light is obscured.
[0069] In some implementations, in response to determining that one or more lights are to be blocked or obscured relative to 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 to be blocked or obscured relative to a shining light at a particular location on the putter surface, the computing system processor may activate a second light to illuminate the particular location.
[0070] In some implementations, determining that one or more lights will be obscured relative to a particular location includes obtaining data of a configurable green. 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 such that lights in the stadium 200 may not illuminate a particular location on the putting area 220. The computing system processor may determine whether a given light will be obscured relative to a particular location based on (i) the geometry of a line from a first light to a particular location on the putting area 220 and (ii) the configuration of the undulations on the putting area 220. The computing system processor may obtain the particular location on the putting area 220 from a simulation and use a model of the stadium (including the location of the one or more lights) to determine whether the one or more lights are obscured relative to the particular location. The computing system processor may obtain data indicating the undulations of the putting area 220, for example, from a system for controlling the undulations and other changes of the putting area 220.
[0071] Additionally, some occlusions may be known based on the shape of the green even before any positioning of the player comes into play. Increased active occlusions where the player moves may be displaced. Some may be expected, such as where the player may need to stand to hit the next shot (e.g., putt or chip), while others may be based on a partner, teammate, opponent, etc. playing a ball. During the play of a hole, the occlusion may change several times. For example, based on calculations, hole locations, etc., a combination of any number of lights may be most suitable for a hole at a given time. During the play of a hole, the combination of lights that is most suitable for the hole (e.g., not obstructed relative to a specific location to be illuminated) may change. In some implementations, when occlusion occurs, the system actively updates the activated lights. In some implementations, the system activates lights (e.g., 3 lights) to ensure or increase the possibility that non-obstructed lights are active (e.g., robust to players walking between a light source and a specific location to be illuminated) during the play of a hole.
[0072] The player places the golf ball on the illuminated location (638). The player putts or chips on the real-life playing area (648) until the ball is in the golf hole and the score is recorded (640). The step of locating the putting area 634 can be performed at various times, including before or after the golfer tees off for a particular hole.
[0073] If the computing system processor determines that the golf ball position is less than the chipping distance and the determined position is not on the putting surface (639), the golf ball is determined to be in the real-life chipping area (639). The real-life chipping area is positioned (642) by the processor to simulate the contour of the chipping area of the golf hole being played, and the real-life putting area is positioned by the processor to simulate the contour of the golf hole being played from the perspective of the chipping position, and / or the golf hole in the real-life putting area that best corresponds to the simulated golf hole is selected based on the position and / or contour. The computing system processor moves a light such as a laser or a spotlight beam and illuminates the light (644) so that the laser corresponds to the position of the golf ball on the real-life chipping area. The player places or drops the golf ball on the illuminated position (646). The computing system processor can optionally automatically extinguish the light (647) after the ball is placed or dropped. In some implementations, the computing system processor determines when the ball is within a threshold distance from the illuminated position 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, etc.), the computing system processor can extinguish the lights. The player putts or chips on the real-life chipping area (648) until the ball is holed and the score is recorded (640). Step 642 can be performed at various times, including before or after the golfer tees off for a hole.
[0074] After playing a golf hole, the computing system processor may display (650) the next golf hole to be displayed on the screen from the perspective of the next tee (648). The tee area may be positioned (652) using the shuttle mechanism 500 so that the tee area is moved relative to the screen (e.g., preferably centered). The player may then play the next hole (following the sequence from the previous hole at 654). FIG. 6B to FIG. 6A ). Steps 608 to 654 may be repeated for the desired number of holes or courses to be played. Scoring may be kept in accordance with the rules of golf (such as USGA or PGA rules, etc.), which are modified to accommodate the combination of real-life golf and simulation, including, for example, not penalizing the ball for placing it in the real-life golf area or the simulated area. Local golf rules may be adopted and used. For example, if a player hits a golf ball from the real-life golf area to outside the real-life golf area (e.g., into the stadium stands), a stroke and distance penalty may be assessed by the player dropping the ball at the last shot location and hitting the next shot from that location.
[0075] Describing a player Fig. 6A and Figure 6B Method and system. However, multiple players can play in sequence. For multiple players, steps 608-612 can be repeated for each player. When it is the next player's turn, steps 614, 616, 618, 620, 622, 624, 631, 610, 612 are performed for the second shot of the player from the fairway area, the rough area, and the sand area in the simulation area. Steps 614, 626, 628, 630, 632-654 can be performed. The method can include players taking turns after each player hits the ball, so that the player's turn stops at 638 or 648, and the players take turns chipping and / or putting until the ball goes into the hole and the score is recorded. Other variations of player turns can be used. For example, the player can putt into the hole. Player turns can be based on the distance from the hole and / or based on published golf rules or local rules.
[0076] The systems and methods disclosed herein may also include a system for broadcasting and / or streaming a golf game being played. For example, a player playing a golf game may be viewed on live broadcast television or live streaming using distribution network 106. Network 106 may include digital or analog broadcast television. Broadcasting using network 106 includes over-the-air broadcasting and broadcasting by electronic means, such as via a wired network, Wi-Fi, cellular, high-definition television, digital television, and other content distribution systems known in the art.
[0077] The computing system 102 as described herein may be one or more than one computing system. For example, computing functions may be divided between a processor and a computer / server. Memory may be integral or non-integrated with the computing system. Cloud services are included within the term computing system 102 as described herein.
[0078] Figure 7 is an example of a system 700 for accurate object positioning within a golf simulator system. System 700 includes a controller 702 for controlling one or more lights (including lights 716a-716d) in area 726. The lights may be fixed or movable - for example, moved on tracks, wires, or other suitable methods of movement by one or more control signals from controller 702. Area 726 may be similar to stadium 200 and used to play a hybrid simulator and real-life game of golf.
[0079] In some implementations, light selection and activation is important for the inflatable arena structure. For example, Figure 2 As shown, the arena can include stands without a hard roof. In lieu of a hard roof, an inflatable roof can be used - for example, a material held in the air by a pressure differential between the inside of the arena and the outside, or by guide rods, or both. An inflatable roof can reduce construction costs. One disadvantage of an inflatable roof is that the roof may not be rigid enough to allow for the installation of lights. Instead, the lights can be mounted along the edge of a stand (e.g., stand 232). A lower installation may create the possibility of being blocked by various objects (such as the undulations of a configurable green, players, etc.). This document and references Figure 7 The described technology addresses this particular problem and enables the use of a soft shell roof to reduce the construction cost of an arena for hybrid simulated and real-world golf play, where the simulated golf can include at least partially simulated ball trajectories and the real-world golf play can include ball trajectories that occur in the real world without the need for computer simulation.
[0080] exist Figure 7 In the embodiment, the controller 702 is equipped with a ball position engine 704, a light selector engine 706, and a light activation engine 708. The ball position engine 704, the light selector engine 706, and the light activation engine 708 can be configured as one or more software modules running on one or more processors of the controller 702. The controller 702 may include, for example, one or more wired or wireless connections connected for reference. Figure 7 The operations described and one or more computers of the operations discussed with reference to the systems and processors as described in this document.
[0081] In general, the controller 702 determines one or more lights to be activated in the area 726. The controller 702 can determine which of the one or more lights are not obstructed, for example, by features of the green (such as hill 722, etc.) or other objects (such as players 724, etc.). The controller 702 can determine a specific location in the area 726 to be illuminated by the one or more lights. The specific location can represent the location of a golf ball that one or more of the players 724 will hit in a subsequent shot. For example, one of the players 724 can drive a golf ball in a virtual simulation. Based on the simulated ball path, the controller 702 can determine the location of the subsequent shot. In some implementations, as shown in the area 726, the location of the subsequent shot is on the green.
[0082] For ease of illustration, the following are described in stages A to C. Figure 7 Although described in order from stages A to C, in some implementations, the stages occur partially simultaneously (e.g., on parallel processors or multiple computers) or in a different order.
[0083] In phase A, the ball position engine 704 of the controller 702 obtains the ball position. Figure 7 In the example of , ball position engine 704 obtains data indicating that the ball position is position 718 shown in area 726 .
[0084] In some implementations, the ball position engine 704 obtains the ball position from a golf shot simulator. For example, the ball position engine 704 can obtain the ball position from a simulation of a shot hit from the tee 206. In some implementations, the controller 702 simulates the ball path. In some implementations, the controller 702 communicates with one or more computers that perform one or more simulations to simulate a golf ball path and golf ball position (e.g., on a putting green as shown in area 726).
[0085] In stage B, the controller 702 obtains a green configuration 710. In some implementations, the controller 702 obtains the green configuration in response to one or more determinations (e.g., the controller 702 determines that there is a new active hole in the game, the controller 702 determines that one or more shots indicate that the player's next shot will be from the green). The green configuration 710 may include data indicating the configuration of the green shown in the area 726 (e.g., hill 722) and other features. In some implementations, the green configuration 710 is sent by a green configuration system 712. For example, the green configuration system 712 may include one or more computers for controlling the configuration of the green shown in the area 726. In some implementations, the controller 702 controls the configuration of the green shown in the area 726. For example, the green configuration system 712 may be included as one or more processors of the controller 702.
[0086] The light selector engine 706 may determine which of one or more lights (including lights 716a-716d) in the selection area 726 to activate. Activation may include shining and positioning the light to illuminate or illuminate a spot in the area 726. The spot may indicate where the next shot will be made.
[0087] exist Figure 7 In the example of FIG. 7 , the light selector engine 706 determines that light 716 c is blocked relative to position 718 determined by the ball position engine 704. In particular, the light selector engine 706 determines that hill 722 (using green configuration 710) is a feature that blocks light from light 716 c from reaching position 718.
[0088] In some implementations, where one or more of the lights shown in area 726 are movable, the controller 702 sends one or more signals to the obstructed lights. For example, the controller 702 may move the lights until they are not obstructed, or may determine a location where the lights are not obstructed and move the lights to the determined location.
[0089] In some implementations, the light selector engine 706 determines that light 716c is blocked using the three-dimensional information of the green configuration 710. For example, the green configuration 710 may include three-dimensional information indicating the outline of the green shown in the area 726. By determining the line from light 716c to position 718, the light selector engine 706 can determine whether any feature of the green configuration 710 intersects with and therefore blocks light from light 716c. In some implementations, such potential blockages can be determined in advance of a game or competition so that during play on some holes of the course, based on the known three-dimensional shape of the green configuration 710 and the locations (e.g., heights and angles) of the lights 716a-716d, in combination with a particular hole or flagpole location and / or ball location, it can be known that certain lights will be blocked. If the ball is determined to be in a particular blocking position of one or more of the lights 716a-716d, the light selector engine 706 can determine that the particular light should not be used.
[0090] In some implementations, the light selector engine 706 uses feedback from the light 716c to determine that the light 716c is blocked. For example, the light 716c can be configured with one or more sensors to detect feedback from light emitted by the light 716c (e.g., LIDAR). In some cases, the system 700 includes one or more cameras. The one or more cameras can provide image data to the controller 702. The controller 702 can operate one or more vision processing algorithms to determine one or more occlusions. The one or more cameras can provide real-time images of the green or other playing surface.
[0091] The light selector engine 706 may also obtain data from other sensors used to obtain feedback data from the light 716c. Using the feedback data obtained from one or more sensors, the light selector engine 706 may determine whether the light emitted from the light 716c has traveled a distance corresponding to the expected distance. For example, using a LIDAR approach, the light selector engine 706 may compare the distance of the detected light with the distance from the light 716c to the location 718. Based on the comparison satisfying a threshold (e.g., being small or differing by a specific amount), the light selector engine 706 may determine that the light 716c is obscured relative to the location 718. In response, the light selector engine 706 may select one or more other lights to emit light for marking the location 718. In some implementations, it is preferred to use a model to preemptively detect whether a light is obscured to reduce the waiting time between a location determined to be illuminated and a location being illuminated by an unobstructed light.
[0092] exist Figure 7In the example of , the light selector engine 706 determines that light 716b is blocked by someone in person 724. In some implementations, the light selector engine 706 determines that light 716b is blocked by predicting the location of the person in person 724. For example, the light selector engine 706 can predict the location of a person approaching to make a shot at position 718. In some implementations, the light selector engine 706 obtains details of a player for determining the location of the player. For example, the light selector engine 706 can obtain details of the player's dominant hand - for example, determining that the light may be blocked if the light is positioned so that the player is ready to make a shot on that side. For example, at a particular location, a normal putting stroke posture and position of a right-handed player may not cause an obstruction problem for a particular hole. However, if a left-handed player uses their normal putting stroke posture and position from the same particular ball location, an obstruction may occur.
[0093] In some implementations, the light selector 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 can affect where a player stands and potentially affect which of the lights 716a-716d are blocked relative to the position 718.
[0094] In some implementations, the light selector engine 706 determines that light 716b is blocked by detecting feedback from light emitted by light 716b, and uses feedback from light emitted by light 716b to determine that light 716b is blocked. For example, the light selector engine 706 may determine that light emitted by light 716b has not traveled the determined distance. The light selector engine 706 may determine an expected distance that indicates the distance that light from light 716b will travel from light 716b to position 718. If the light selector engine 706 determines that the light distance does not meet a threshold (e.g., is less than the expected distance) based on data from one or more sensors configured to sense light feedback from light emitted by light 716b, the light selector engine 706 may determine that light 716b is blocked. In response, the light selector engine 706 may select one or more other lights for light emission.
[0095] In some implementations, lights at different heights are used to provide additional opportunities to use non-obstructed lights. In some implementations, the controller 702 is communicatively connected to a database indicating predetermined light selections for specific locations. For example, lights 716a and 716d can be used at any location in the first zone of the green shown in area 726, and lights 716b and lights 716a can be used at any location within the second location. Other light combinations can be stored for other zones. In some implementations, all zones of a green configuration are associated with specific lights. For example, the light selector engine 706 can use the green configuration data to query a stored database to determine one or more lights to be selected for activation.
[0096] In stage C, controller 702 generates lighting commands 714. In some implementations, light activation engine 708 provides lighting commands 714 to green configuration system 712. As depicted, green configuration system 712 can be a separate processing system that controls the green shown in configuration area 726, or can be part of controller 702.
[0097] In some implementations, the light activation engine 708 obtains data from the light selector engine 706. For example, the light activation engine 708 may obtain data from the light selector engine 706 indicating an identifier of one or more lights to be activated. Figure 7 In the example of FIG. 7 , the light selector engine 706 selects lights 716a and 716d after determining that lights 716b and 716c are blocked from emitting light to illuminate position 718. In some implementations, the light selector engine 706 provides an identifier of one or more selected lights. For example, the light selector engine 706 can provide an identifier of light 716a and an identifier of light 716d.
[0098] In some implementations, the light activation engine 708 generates a lighting command 714 using the one or more identifiers determined by the light selector engine 706. The lighting command 714 can indicate the light to be emitted by the light selected by the light selector engine 706. The lighting command 714 can indicate the angle or position of the selected light so that the light emitted from the selected light accurately illuminates the location 718.
[0099] In response to providing the illumination command 714, lights 716a and 716d may be activated to illuminate the location 718. In some implementations, the controller 702 provides an indication that the ball has been successfully placed at the location 718 indicated by the selected light. For example, after the player successfully places the ball at the location 718, the controller 702 may change the color of the emitted light (e.g., from red to green) or turn on or off the light (e.g., flash the light), among other indications. Successfully placing the ball may include placing the ball within a threshold distance (e.g., one centimeter) from the location 718, which is determined by the simulator after the player makes one or more shots in the area 726.
[0100] In some implementations, the light from lamps 716a-716d is a laser. In some implementations, the light from lamps 716a-716d is a three-dimensional projection. These are merely examples, and the light may include other forms of light to indicate light at a given location (e.g., location 718).
[0101] In some implementations, the controller 702 obtains sensor data after the player places the ball at location 718. For example, the controller 702 obtains image data from an image sensor such as a camera. The controller 702 can use the image data to detect a placed golf ball in the image and compare the location of the placed golf ball with the expected location of the golf ball. For example, the controller 702 can convert the detected location of the placed golf ball to a location in the three-dimensional model of the area 726. The controller 702 can compare the location of the location 718 with the detected location of the placed golf ball. If the distance between the location 718 and the detected location of the placed golf ball meets the distance threshold, the controller 702 can activate an indication of a successful ball placement (e.g., changing a light color, sending a notification to a visual display, flashing a light, turning off a light, etc.). If the distance between the location 718 and the detected location of the placed golf ball does not meet the distance threshold, the controller 702 can activate an indication of an unsuccessful ball placement (e.g., changing a light color, sending a notification to a visual display, flashing a light, etc.). If controller 702 determines that the distance between location 718 and the detected golf ball placement location satisfies a distance threshold, controller 702 may generate and send a signal to extinguish a light, e.g., to one or more of lights 716a - 716d that are emitting light projected onto location 718 .
[0102] In some implementations, the occlusion is known (e.g., based on the location of the green, or even based on possible locations of where the ball may be). For example, if there is a ball in a spot, a system (such as controller 702, etc.) configured to activate one or more lights can determine from where a player can view or approach the shot and where the player can stand. In some implementations, the system determines the current or predicted location of one or more persons. 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 the one or more players. The prediction of the location of the one or more players can be based on the handedness of the person (e.g., left-handed swing or right-handed swing).
[0103] In some implementations, the light selector engine 706 may be communicatively connected to a stored green database. For example, the light selector engine 706 may determine which locations are best suited for vacuuming and then adjust one or more selections based on secondary determinations (e.g., where a person is or feedback from one or more lights).
[0104] In some implementations, the system 100 is used to indicate multiple locations of ball positions, such as for different players or teams competing and / or competing against each other. For example, in addition to location 718, the controller 702 can also be used to indicate additional locations, such as additional locations of other virtual balls after one or more simulated golf shots by different competitors and / or different teams. In some implementations, different groups of lights or lights of different colors are used to indicate different balls. For example, for a first ball position (e.g., shown as location 718), a first group 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 group of lights (e.g., a second group of lights that are not obscured relative to 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 the lights 716a-716d has multiple lights or multiple colors, so that the lights 716a-716d can illuminate two or more locations at the same time. The process described with reference to a single location 718 may be used for multiple locations.
[0105] In some implementations, a set of lights illuminates the ball positions of two players. The system 700 can determine the occlusion of two lights to be able to successfully illuminate at the same time. In some implementations, the first ball tracked from the teeing area to the playing area (e.g., the chipping surface, the putting surface, etc.) is illuminated. When the second ball enters the playing area, the second light can be used to illuminate the second ball to avoid occlusion. In some cases, multiple lights may not be blocked. If the first light is used for the first ball, but the first light is only the light that is not blocked for the second ball, the system 700 can determine a different second light for the first ball (e.g., when the different second light is not blocked relative to the position of the first ball like the first light). In this way, the system 700 can maintain separate lighting for different balls to help distinguish. In some implementations, the ball is distinguished using the color of the light or other features of the light. For example, the first ball can be located using a first color of light (e.g., blue light). The second ball can be located using a second color of light (e.g., red light).
[0106] Figure 8 is a flow chart of an example process 800 for precise object localization. Process 800 may be used by controller 702 from system 700, for example.
[0107] Process 800 includes determining a location of a golf ball on a golf playing surface (802). Figure 7 As described, ball position engine 704 may determine the ball position from a golf playing simulator. The golf playing simulator may have tracked a real golf ball that was hit (e.g., into a screen) from tee 206. The golf playing simulator may estimate the location of the golf ball within the golf playing surface.
[0108] In some implementations, the controller 702 determines the location of the golf ball after the initial putt or chip. For example, when the player picks up their ball from the green, one or more indicator lights may be used instead of or in addition to coins, poker chips, or other ball markers used in golf. Instead of placing ball markers, the controller 702 may identify the ball location, and after the player removes the ball, the determined location may be used to identify and activate the lights for the player to resume playing. Light indication may be used for the first or subsequent shots in a real-world playing environment following the shot tracked by the simulator (e.g., shots after the initial chip or putt or after the player picks up the ball on the putting green surface).
[0109] In some implementations, the controller 702 activates lights to indicate ball locations for players who pick up their balls, for example, in place of physical ball markers placed on the putting green. For example, the controller 702 may activate lights to indicate a location determined to be the last location of the ball before the player picked up the ball. The controller 702 may operate one or more visual detection algorithms to detect the location of the ball or obtain internal ball tracking data (e.g., from a ball with a tracking chip enabled or other methods for obtaining the location of the ball). The controller 702 may activate lights at a specific time to coincide with the player's next shot (e.g., after another player has completed the hole or made a shot). In some implementations, the controller 702 obtains a signal provided by a user to indicate when to activate one or more lights for a given ball or player. For example, a user may watch a game or be a player and request a light indication for a specific ball or a specific player using a signal configured to control the controller 702 and sent to the controller 702 using a device via one or more networks.
[0110] In some implementations, the golf playing surface includes a configurable putting surface and a chipping surface. For example, Figure 7 The area 726 shown in the figure may include grass, artificial turf and other surface types. Area 726 may include a part for putting and a part for approaching a ball (such as chipping or putting and other approaching shots from the long grass). The chipping surface including the part of the surface around the configurable putting surface may include a surface on which a player can hit a realistic golf ball. Golf can be hit using chipping shots, putting shots and other shots. Usually, the area 726 in which the ball position can be indicated by one or more than one light may include both configurable surfaces (such as configurable putting surfaces, etc.) and non-configurable surfaces (such as non-configurable chipping surfaces, etc.). In some implementations, the chipping surface is configurable. For example, area 726 may include a movable part that simulates real-world terrain (e.g., a mound or elevation change) to add realistic quality to the playing surface.
[0111] Process 800 includes identifying one or more light sources that are unobstructed relative to a location on a golf ball playing surface (804). For example, light selector engine 706 can determine which of one or more lights (including lights 716a-716d) in area 726 to select for activation. Light selector engine 706 can generally select lights to avoid obstructions. Obstructions can be determined using data indicating a current green configuration, feedback from the light source indicating obstructions, or manual user control, etc. Controller 702 can process a data stream for determining obstructions and use the data stream to identify one or more light sources that are unobstructed relative to the location on the golf ball playing surface. In some implementations, controller 702 identifies at least two light sources. At least two light sources (as shown by light sources 716a and 716d) can be used to accurately determine the location of the ball to be hit (e.g., location 718).
[0112] Process 800 includes activating one or more light sources to direct light to a location on a golf ball striking surface (806). For example, light activation engine 708 of controller 702 may activate the light identified by light selector engine 706. Light activation engine 708 may activate the light until a golf ball is dropped within a threshold distance from an illuminated location (e.g., location 718). For example, controller 702 may obtain an indication of the drop, such as from light feedback from a reflective surface of the dropped ball, manual control, a processed image stream representing a portion of the dropped ball, and the like. In some implementations, controller 702 determines a distance between the dropped ball and the indicated location. For example, controller 702 may use one or more data streams (e.g., visual data to be processed by one or more machine learning image detection algorithms, light feedback data, and the like) to identify the location of the drop of the golf ball.
[0113] Controller 702 may compare the detected location of the ball drop to the location indicated as location 718. If the detected location of the ball drop meets a distance threshold from location 718 (e.g., within a threshold distance such as 1 inch, etc.), controller 702 may send a signal to light activation engine 708 to deactivate one or more activated lights, change a light, or flash a light to indicate that the ball has been placed, etc. If the detected location of the ball drop does meet one or more distance thresholds, similar light indications may be used, e.g., changing a light color, flashing a light, notifying a user using a text prompt on a device or visible screen, etc.
[0114] The order of operations in process 800 described above is merely illustrative and may be performed in a different order. In some implementations, process 800 may include additional operations, fewer operations, or some of the operations may be divided into multiple operations.
[0115] Many implementations have been described. However, it should be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. For example, various forms of the processes shown above may be used, with operations reordered, added, or removed.
[0116] The implementation of the subject matter and functional operations described in this specification can be implemented in digital electronic circuits, in tangibly embodied computer software or firmware, in computer hardware (including the structures disclosed in this specification and their structural equivalents), or in a combination of one or more of them. The implementation of the subject matter described in this specification can be implemented as one or more computer programs, that is, one or more modules of computer program instructions encoded on a tangible non-transitory program carrier for execution by a data processing device or for controlling the operation of a data processing device. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagation signal (e.g., a machine-generated electrical, optical or electromagnetic signal) that is generated to encode information for transmission to a suitable receiver device for execution by a data processing device. The computer storage medium can 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 them.
[0117] The term "data processing equipment" refers to data processing hardware and covers all kinds of equipment, devices and machines for processing data, including, for example, a programmable processor, a computer or a plurality of processors or computers. The equipment may also be or further include special-purpose logic circuits, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the equipment may optionally include code that creates an execution environment for a computer program, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0118] A computer program (which may also be referred to or described as a program, software, software application, module, software module, script, or code) 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 as a stand-alone program or as a 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 in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions). A computer program may be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
[0119] 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 the apparatus may be implemented as, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)).
[0120] For example, a computer suitable for executing a computer program includes a general-purpose microprocessor or a special-purpose microprocessor or both, or a central processing unit of any other kind. Typically, the central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The basic element of a computer is a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (such as disks, magneto-optical disks, or optical disks) for storing data, or be operably coupled to receive data from the one or more mass storage devices or to transmit data thereto or to perform both. However, a computer does not need to have such a device. In addition, a computer can be embedded in another device, such as a mobile phone, a smart phone, 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.
[0121] Computer-readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media, and memory devices, including, for example: 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 memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0122] To provide interaction with a user, implementations of the subject matter described in this specification may be implemented on a computer having a display device (e.g., an LCD (liquid crystal display), an OLED (organic light emitting diode), or other monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) that the user can use to provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, voice, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user (e.g., by sending a web page to a web browser on a user's device in response to a request received from the web browser).
[0123] Implementations of the subject matter described in this specification may be implemented in a computing system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described in this specification), or includes any combination of one or more such back-end components, middleware components, or front-end components. The components of the system may 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), such as the Internet.
[0124] A computing system may include a client and a server. The client and the server are usually remote from each other and typically interact through a communication network. The relationship between the client and the server is generated by means of computer programs that run on respective computers and have a client-server relationship with each other. In some implementations, the server transmits data (e.g., a hypertext markup language (HTML) page) to a user device, such as for the purpose of displaying data to a user interacting with a user device used as a client and receiving user input from the user. Data generated at the user device (e.g., the result of the user interaction) can be received from the user device at the server.
[0125] Although this specification contains many specific implementation details, these should not be interpreted as limitations on the scope of protection that can be claimed, but rather as descriptions of features that can be specific to a particular implementation. Certain features described in this specification in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented in multiple implementations individually or in any suitable sub-combination. In addition, although features may be described above as working in certain combinations and even initially claimed as such, one or more features from the claimed combination may be deleted from the combination in some cases, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination.
[0126] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring that the operations be performed in the particular order shown or in a sequential order, or that all illustrated operations be performed to achieve the desired results. In some cases, multitasking and parallel processing can be advantageous. In addition, the separation of various system modules and components in the above implementations should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0127] 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 XML, JSON, plain text, or other types of files. Additionally, where a table or hash table is mentioned, other data structures (such as a spreadsheet, a relational database, or a structured file, etc.) may be used.
[0128] Specific implementations of the present invention have been described. Other implementations are within the scope of the appended claims. For example, the operations recited in the claims, described in the specification, or depicted in the drawings may be performed in a different order and still achieve the desired results. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. A method comprising: providing a golf simulator comprising a computing system having a golf course stored in a memory, a projector, and a screen; projecting, using the computing system, a simulation of a golf hole of the golf course stored in a memory onto the screen to provide a simulated golf hole simulating the golf hole; determining a position of a golf ball struck from a tee 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 a putting surface associated with the golf hole; In response to the determined location being on the putting surface, selecting a set of lights to indicate the determined location on the putting surface; and Instructions are provided to activate a selected group of lights.
2. The method according to claim 1, wherein: The golf simulator and the putting surface are in an arena.
3. The method according to claim 1 or 2, comprising: It is determined whether the position of the golf ball is one of a fairway position, a rough position, and a fairway bunker position.
4. The method according to claim 3, comprising: A golf simulation teeing station is provided, which comprises a teeing station area, a fairway area, a rough area and a sand area.
5. The method according to claim 4, comprising one of the following operations: If the determined golf ball position is a fairway position, placing the golf ball in the fairway area; When the golf ball position is determined to be the rough position, placing the golf ball in the rough area; as well as In a case where the golf ball position is determined to be the fairway bunker position, the golf ball is placed in the sand area.
6. The method according to claim 1, comprising: The chipping surface is adjusted to represent a chipping surface associated with the golf hole of the golf course stored in memory.
7. The method according to claim 6, wherein: The chipping surface is located within the arena.
8. The method according to claim 6, comprising: Determined as (i) the location of the golf ball is less than a threshold distance from a putting green and (ii) the location of the golf ball is not on the putting surface; In response to determining that (i) the location of the golf ball is less than the threshold distance from the putting green and (ii) the location of the golf ball is not on the putting surface, selecting a set of lights to indicate the determined location on the chipping surface; and Instructions are provided to activate a selected set of lights to illuminate a portion of the chipping surface.
9. The method according to claim 1 or 2, comprising: Digital media content of a player using the simulator and the putting surface is distributed to a television or computing device.
10. The method according to claim 1 or 2, wherein: A golf ball hit from a tee on the simulated golf hole is hit from a distance greater than twenty yards from the screen.
11. The method according to claim 10, comprising: A ball spot is determined, the ball spot being used to indicate where a golf ball hit from the tee hits the screen.
12. A method comprising: providing a golf simulator comprising a computing system having a golf course stored in a memory, a projector, and a screen; providing a tee area, a fairway area, a rough area, and a sand area for hitting a golf ball near the screen; providing a shuttle mechanism coupled to the computing system to move the tee area, the fairway area, the rough area, and the sand area relative to the screen; projecting, using the computing system, a simulation of a golf hole of the golf course stored in a memory onto the screen to provide a simulated golf hole for simulating the golf hole; determining, based on one or more sensors, whether a simulated golf ball position after the golf ball is hit from a tee is located on the fairway of the golf hole, in the rough of the golf hole, or in a fairway bunker of the golf hole; In response to determining that the simulated golf ball position is located on a fairway, using the shuttle mechanism to position the fairway area relative to the screen; in response to determining that the simulated golf ball position is in the rough, using the shuttle mechanism to position the rough area relative to the screen; as well as In response to determining that the simulated golf ball position is located over a fairway bunker, the shuttle mechanism is used to position the bunker area relative to the screen.
13. The method according to claim 12, comprising: A choice of selecting the fairway area, the rough area, or the sand area is provided on a computing device, and the fairway area, the rough area, or the sand area is selected based on the determined position of the golf ball.
14. The method according to claim 12 or 13, comprising: A determination is made as to whether the golf ball position is on a putting surface.
15. The method according to claim 14, comprising: Instructions are provided to illuminate light on the putter surface at a location corresponding to the determined location on the putter surface.
16. The method according to claim 15, comprising: The putting surface is adjusted so that the putting surface simulates a putting surface associated with the golf hole of the golf course stored in memory.
17. The method according to claim 12, comprising: A threshold distance is set in the computing system based on the distance from the putting surface.
18. The method according to claim 17, comprising: determining whether the golf ball position is less than 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; as well as The one or more lights are activated to illuminate a portion of the chipping area corresponding to the golf ball position.
19. The method according to claim 18, comprising: In response to determining that the golf ball position is greater than the threshold distance, an area corresponding to the golf ball position is selected from among the fairway area, the rough area, and the sand area.
20. The method according to claim 16, comprising: Digital media content of a player using the simulator and the putting surface is distributed to a television or computing device.
21. A system for a golf game, comprising: a first golf area for hitting a golf ball, wherein the first golf area includes one or more of a tee area, a fairway area, a rough area, and a sand area; a second golf area including a chipping area and a putting area; at least one sensor for determining a location of a golf ball struck from said first golf area; a shuttling mechanism coupled to a computing system, the tee area, the fairway area, the rough area, and the sand area for moving the tee area, the fairway area, the rough area, and the sand area based on the determined position of the golf ball; a light for illuminating light in the second golf area; a projector for projecting an image and a position of the golf ball hit from the first golf area; A screen located in the first golf area for displaying the projected image and for receiving golf balls hit in the first golf area; The computing system includes one or more computers and one or more storage devices, wherein the one or more storage devices have instructions stored thereon, and the instructions, when executed by the one or more computers, are operable to cause the one or more computers to perform operations, the operations comprising: using the projector to display an image of a golf course stored in memory on the screen; a position of a golf ball struck in the first golf area on the simulated golf hole determined to be being projected on the screen based on the at least one sensor; determining whether the determined golf ball position is one of the fairway, rough, fairway bunker, chipping, and putting; where the determined location is a lane, using the shuttle mechanism to position the lane area relative to the screen; In the event that the determined location is rough, using the shuttle mechanism to position the rough area relative to the screen; In the event that the determined location is a fairway bunker, using the shuttle mechanism to position the sand area relative to the screen; and Light is irradiated on the second golf ball area corresponding to the determined position of the golf ball in the second golf ball area.
22. A method comprising: determining a location of a golf ball on a golf playing surface, wherein the golf playing surface includes 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 relative to the location on the golf playing surface; and The one or more light sources are activated to direct light to the location on the golf playing surface.
23. The method according to claim 22, wherein: The configurable putting surface includes one or more actuators to adjust a profile of the configurable putting surface to simulate a profile of a golf putting surface.
24. The method according to claim 22 or 23, wherein: Identifying the one or more light sources that are unobstructed relative to the location on the golf playing surface includes: determining a current configuration of the configurable putting surface; and The one or more light sources that are unobstructed relative to the location on the golf playing surface are identified using the current configuration of the configurable putting surface.
25. The method according to claim 22 or 23, wherein: Identifying the one or more light sources that are unobstructed relative to the location on the golf playing surface includes: predicting a location of one or more players, the location of the one or more players being indicative of where the one or more players can stand on the golf playing surface; and The one or more light sources that are unobstructed relative to the location on the golf playing surface are identified using (i) a predicted location of one or more of the players and (ii) a location of a hole on the configurable putting surface.
26. The method according to claim 22 or 23, wherein: Identifying the one or more light sources that are unobstructed relative to the location 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 The one or more light sources that are unobstructed relative to the location on the golf playing surface are identified based on the data obtained from querying the database.
27. The method according to claim 22 or 23, wherein: Identifying the one or more light sources that are unobstructed relative to the location on the golf playing surface includes: activating the first light source; and Reflection data of the first light source is obtained.
28. The method according to claim 27, comprising: using the reflectance data to determine that the first light source is unobstructed relative to the location on the golf ball playing surface; as well as The first light source is identified as one of the one or more light sources that is unobstructed relative to the location on the golf playing surface.
29. The method according to claim 27, comprising: using the reflectance data to determine that the first light source is obscured relative to the location on the golf ball playing surface; as well as Another light source is identified as one of the one or more light sources that is unobstructed relative to the location on the golf playing surface.
30. The method according to claim 22 or 23, wherein: Activating the one or more light sources to direct light to the location on the golf playing surface includes: Generating commands configured to: (i) move one or more of the one or more light sources, and (ii) after moving the one or more of the one or more light sources, activate the one or more light sources to direct light to the location on the golf playing surface.
31. The method according to claim 22 or 23, comprising: determining a second location of a second golf ball on the golf playing surface; identifying that the one or more light sources are unobstructed relative to the second location on the golf playing surface; identifying one or more different light sources that are unobstructed relative to the second location on the golf playing surface; as well as (i) the one or more light sources are activated to direct light to the second location on the golf playing surface, and (ii) the one or more different light sources are activated to direct light to the second location on the golf playing surface.
32. The method according to claim 31, comprising: The one or more light sources are determined to be only one or more light sources in a group of two or more light sources that are not obstructed relative to the second location on the golf ball playing surface.
33. The method according to claim 22 or 23, comprising: 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 relative to the second location on the golf playing surface; as well as The second set of one or more light sources is activated to direct light to the second location on the golf playing surface.
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. The method according to claim 22 or 23, wherein: Determining the location of the golf ball on the golf playing surface includes: obtaining data indicating a simulated position of a golf ball hit using a golf simulator; and The location of the golf ball on the golf playing surface is determined as the simulated position of the golf ball.
36. The method according to claim 22 or 23, wherein: The one or more light sources are mounted on a wall surrounding the configurable putter surface.
37. The method of claim 36, wherein: The one or more light sources are mounted on the wall surrounding the configurable putting surface at a height of less than 50 feet.
38. The method according to claim 22 or 23, wherein: The light source comprises means for light amplification by stimulated emission of radiation.
39. 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 any one of claims 1, 12, and 22.
40. A system comprising one or more computers and one or more storage devices having instructions stored thereon, the instructions being operable, when executed by the one or more computers, to cause the one or more computers to perform the method according to any one of claims 1, 12 and 22.
Citation Information
Patent Citations
Golf exercising facilities capable of providingsimulation of far-distance swing and real exercisingof putting
KR100647498B1
Screen golf game system having true golf green
KR101868584B1
Method and apparatus for controlling green simulator based on green state and holecup position
KR1020180098924A
Golf simulation system
US10596442B2
Sports match refereeing system
US10596444B2