Method for checking ball position according to 3D position change of swing plate and golf simulator device using the same
Patent Information
- Application Number
- KR1020240078848
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-06-18
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2044-06-18
Smart Images

Figure 112024065604001-PAT00028_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a method for determining the position of a ball based on a three-dimensional position change of a swing plate and a golf simulator device using the same. More specifically, the present disclosure relates to a method for determining the relative position of a ball using a virtual three-dimensional coordinate system on a swing plate having a three-dimensional position change to correspond to various ground shapes, such as a field of an actual golf course, and a golf simulator device using the same. Background Technology
[0002] The number of users of indoor golf facilities, such as screen golf, has been increasing rapidly recently due to advantages such as not requiring a large area like outdoor golf courses, easy accessibility as they can be installed close to users in residential areas, and affordable costs compared to golf courses.
[0003] Indoor golf facilities, such as screen golf, are implemented by a golf simulator device that senses the direction, speed, and spin of a golf ball placed on a swing plate when a user swings a golf club to strike the ball, calculates the ball's trajectory, and outputs the calculated trajectory as an image on a screen along with a virtual golf course composed of 3D graphics. On the surface of the swing plate, there are submats that reflect the environments of the fairway, rough, and bunker of the virtual golf course, and a tee is located on the fairway mat. The user strikes the ball after placing it on the submat corresponding to the virtual golf course environment, and the golf simulator device checks the position of the golf ball on the swing plate before the user strikes the ball; at this time, it is important to accurately check the position of the golf ball, including the submat on which the ball is located.
[0004] According to the conventional method, the position of each submat on the surface of the swing plate is set as a 2D coordinate, and after obtaining the 2D coordinate of the ball from an image output from a video sensor such as a camera, the ball's coordinate is compared with the coordinates of each submat to calculate which mat the ball is on. Since the conventional method does not automatically update the coordinates of each submat, there was a problem in that it was difficult to calculate the accurate position of the ball when the shape of the swing plate changed or the camera's position shifted.
[0005] Recently, swing plates equipped with inclined plates and the like to allow for three-dimensional positional changes to match various ground shapes such as actual golf course fields have been introduced. However, when there is a three-dimensional positional change, such as when the angle of inclination of the swing plate is adjusted, the submat placed on the swing plate also undergoes a three-dimensional positional change, which makes it difficult to determine the exact position of the golf ball.
[0006] The present disclosure is intended to solve such problems and to provide a method for confirming the accurate position of a golf ball even when the orientation of a sensor, such as a camera, is distorted or the three-dimensional position of a swing plate changes during system operation, and a golf simulator device using the same. The problem to be solved
[0007] One embodiment of the present disclosure is intended to provide a golf simulator device and a method of operating the same by implementing an incline on a swing plate in a golf simulator or the like to create an environment similar to an actual field.
[0008] In addition, one embodiment of the present disclosure is intended to accurately recognize the position of a ball placed on a swing plate even with a three-dimensional change in the position of the swing plate.
[0009] In addition, one embodiment of the present disclosure is intended to accurately recognize the position of a ball placed on a swing plate even when the position of the sensor in a golf simulator is misaligned.
[0010] In addition, one embodiment of the present disclosure is for accurately recognizing a submat on which a ball is placed on a swing plate. means of solving the problem
[0011] One embodiment of the present disclosure aims to provide a method for determining the position of a ball according to a three-dimensional position change of a swing plate and a golf simulator device using the same. The golf simulator may include: a swing plate comprising at least one inclined plate and at least one submat, and controlling the inclination angle of the at least one inclined plate based on an input control signal; at least one sensor unit for sensing the position of a ball placed on the swing plate; and a calculation unit that defines a three-dimensional coordinate system with one point of the golf simulator device as the origin, calculates three-dimensional coordinates for at least one reference point regarding the swing plate based on the control signal for the swing plate, and calculates the relative position of the ball based on the three-dimensional coordinates of the at least one reference point and the position of the ball sensed by the sensor unit.
[0012] In one embodiment, the inclined plate may be a polygon or a shape in which at least one side of the polygon is replaced by an arc.
[0013] In one embodiment, the reference points may include the vertices of the at least one inclined plate or the at least one submat.
[0014] In one embodiment, the device may further include: one or more lifting modules installed below the at least one inclined plate and driving a motion axis up and down according to the control signal to adjust the inclination angle of the inclined plate; and a control unit that outputs the control signal to control the one or more lifting modules so that the inclined plate rotates to a preset inclination angle.
[0015] In one embodiment, the operation unit determines the initial coordinates of the reference points of the swing plate based on information regarding the swing plate, and can calculate the changed coordinates of the reference points based on the amount of change in height of the motion axis according to the control signal.
[0016] In one embodiment, information regarding the swing plate may include at least one of the specifications of the swing plate, the shape and position of the inclined plate, the position of the movement axis, the position of the submat, and the position of the tee.
[0017] In one embodiment, the relative position of the ball may be determined by the first inclined plate and / or first submat where the ball is located.
[0018] In one embodiment, the reference points include the vertices of the first inclined plate or the first submat, and the cross products of a first vector connecting the next vertex in a clockwise or counterclockwise direction from each vertex of the first inclined plate or the first submat and a second vector connecting the coordinates of the ball from each vertex are calculated, and if the sign of the cross product of the first vector and the second vector is the same at all vertices of the first inclined plate or the first submat, it can be determined that the ball is located on the first inclined plate or the first submat.
[0019] In one embodiment, the position and orientation of the sensor unit are stored as a first parameter, information sensed by the sensor unit in the first parameter is stored as first sensing information, and information sensed by the sensor unit is compared with the first sensing information to determine whether to update the first parameter.
[0020] In one embodiment, the first sensing information may be location information of at least one feature point of the swing plate.
[0021] In one embodiment, a first parameter can be updated and stored based on the information sensed by the sensor unit and the amount of change of the first sensing information.
[0022] One embodiment of the present disclosure aims to provide a virtual golf simulation method. The virtual golf simulation method may include: a step of controlling the inclination angle of at least one inclined plate based on a control signal input to a swing plate comprising at least one inclined plate and at least one submat; a step of a sensor unit sensing the position of a ball placed on the swing plate; a step of receiving the control signal input to the swing plate and the position of the ball sensed by the sensor unit; a step of calculating three-dimensional coordinates for at least one reference point regarding the swing plate based on the control signal for the swing plate, based on a three-dimensional coordinate system with one point of the golf simulator device as the origin; and a step of calculating the relative position of the ball based on the three-dimensional coordinates of the at least one reference point and the position of the ball sensed by the sensor unit.
[0023] In one embodiment, the reference points may include the vertices of the at least one inclined plate or the at least one submat.
[0024] In one embodiment, the step of calculating three-dimensional coordinates for at least one reference point regarding the swing plate based on the control signal regarding the swing plate may determine the initial coordinates of the reference points of the swing plate based on information regarding the swing plate, and calculate the changed coordinates of the reference points based on the amount of height change of the motion axis according to the control signal.
[0025] In one embodiment, the step of calculating the relative position of the ball may calculate the first inclined plate and / or first submat where the ball is located as the relative position of the ball.
[0026] In one embodiment, the reference points include vertices of the first inclined plate or the first submat, and the step of calculating the relative position of the ball may include calculating the cross products of a first vector connecting the next vertex in a clockwise or counterclockwise direction from each vertex of the first inclined plate or the first submat and a second vector connecting the coordinates of the ball from each vertex, and determining that the ball is located on the first inclined plate or the first submat if the sign of the cross product of the first vector and the second vector is the same at all vertices of the first inclined plate or the first submat.
[0027] In one embodiment, the method may further include the step of storing the position and orientation of the sensor unit as a first parameter; the step of storing information sensed by the sensor unit in the first parameter as first sensing information; and the step of comparing the information sensed by the sensor unit with the first sensing information to determine whether to update the first parameter.
[0028] In one embodiment, the first sensing information may be location information of at least one feature point of the swing plate.
[0029] In one embodiment, the method may further include the step of updating and storing a first parameter based on the information sensed by the sensor unit and the amount of change of the first sensing information.
[0030] One embodiment of the present disclosure includes a program stored on a recording medium to execute a method according to one embodiment of the present disclosure on a computer.
[0031] One embodiment of the present disclosure includes a computer-readable recording medium having a program for executing a method according to one embodiment of the present disclosure on a computer.
[0032] One embodiment of the present disclosure includes a computer-readable recording medium that records a database used in one embodiment of the present disclosure. Effects of the invention
[0033] According to one embodiment of the present disclosure, a slope is implemented on the swing plate in a golf simulator or the like, so that a golf simulation can be performed in an environment similar to an actual field.
[0034] In addition, according to the present disclosure, the position of a golf ball placed on a swing plate can be accurately recognized even with a three-dimensional change in the position of the swing plate.
[0035] In addition, according to the present disclosure, the position of the ball placed on the swing plate can be accurately recognized even when the position of the sensor in the golf simulator is misaligned.
[0036] In addition, according to the present disclosure, an inclined plate and / or submat on which a ball is placed on a swing plate can be accurately recognized. Brief explanation of the drawing
[0037] FIG. 1 is a drawing illustrating the configuration of a golf simulator device according to one embodiment of the present disclosure. FIG. 2 is a drawing showing the configuration of a swing plate according to one embodiment of the present disclosure. FIGS. 3 and 4 are drawings showing the shape of an inclined plate according to one embodiment of the present disclosure. FIG. 5 is a drawing showing the configuration of a submat in a golf simulator device according to one embodiment of the present disclosure. FIG. 6 is a drawing showing the change in the inclination angle of a swing plate according to one embodiment of the present disclosure. FIG. 7 is a drawing showing the change in the inclination angle of a swing plate according to one embodiment of the present disclosure. FIG. 8 is a diagram showing the three-dimensional coordinate change of a reference point according to the change in the motion axis of a lifting module according to one embodiment of the present disclosure. FIG. 9 is a drawing illustrating a method for determining the relative position of a ball on a swing plate according to one embodiment of the present disclosure. FIG. 10 is a flowchart illustrating a method for verifying the ball position according to a three-dimensional position change of a swing plate according to one embodiment of the present disclosure. FIG. 11 is a flowchart illustrating a method for verifying the ball position according to a three-dimensional position change of a swing plate, including parameter correction of a sensor unit according to one embodiment of the present disclosure. Specific details for implementing the invention
[0038] To clarify the technical concept of the present disclosure, embodiments of the present disclosure will be described in detail with reference to the attached drawings. In describing the present disclosure, detailed descriptions of related known functions or components will be omitted if it is determined that such detailed descriptions would unnecessarily obscure the essence of the present disclosure. Components having substantially the same functional configuration among the drawings have been assigned the same reference numerals and symbols as much as possible, even if they are shown in different drawings. For convenience of explanation, devices and methods will be described together where necessary. Each operation of the present disclosure does not necessarily have to be performed in the order described and may be performed in parallel, selectively, or individually.
[0039] The terms used in the embodiments of this disclosure have been selected to be as widely used and general as possible, taking into account the functions of this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been selected at the applicant's discretion, and in such cases, their meanings will be described in detail in the description of the relevant embodiments. Therefore, terms used in this specification should be defined not merely by their names, but based on their meanings and the overall content of this disclosure.
[0040] Throughout this disclosure, singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms such as "comprising" or "having" are intended to specify the existence of features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof. That is, throughout this disclosure, when a part is described as "comprising" a certain component, it means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0041] Expressions such as "at least one" modify the entire list of components and do not modify the components of the list individually. For example, "at least one of A, B, and C" and "at least one of A, B, or C" refer to only A, only B, only C, both A and B, both B and C, both A and C, all of A, B, and C, or any combination thereof.
[0042] Terms including ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, the first component may be named the second component, and similarly, the second component may be named the first component.
[0043] Additionally, terms such as "...part," "...module," etc., as described in this disclosure refer to a unit that processes at least one function or operation, and may be implemented in hardware or software, or as a combination of hardware and software.
[0044] Throughout the entire disclosure, when a part is described as being "connected" to another part, this includes not only cases where they are "directly connected," but also cases where they are "electrically connected" with other elements interposed between them. Furthermore, when a part is described as "including" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0045] Throughout this disclosure, the expression “configured to” may be replaced, depending on the context, with, for example, “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” may not necessarily mean only “specifically designed to” in hardware. Instead, in some situations, the expression “system configured to” may mean that the system is “capable of” in conjunction with other devices or components. For example, the phrase “processor configured to perform A, B, and C” may mean a dedicated processor for performing the said operations (e.g., an embedded processor) or a generic-purpose processor (e.g., a CPU or an application processor) capable of performing said operations by executing one or more software programs stored in memory.
[0047] The present disclosure relates to a method for determining the position of a ball based on a three-dimensional position change of a swing plate and a golf simulator device using the same. More specifically, the present disclosure relates to a method for determining the relative position of a ball using three-dimensional coordinates on a swing plate having a three-dimensional position change to correspond to various ground shapes, such as a field of an actual golf course, and a golf simulator device using the same.
[0049] FIG. 1 is a drawing illustrating the configuration of a golf simulator device according to one embodiment of the present disclosure.
[0050] A golf simulator device according to one embodiment of the present disclosure may include a swing plate (100), a sensor unit (200), a calculation unit (300), an image output unit (400), and a screen (500).
[0051] The swing plate (100) is a part that forms a hitting area where a user stands and strikes a golf ball placed on it. According to one embodiment, the swing plate (100) includes at least one inclined plate and can adjust the angle of the inclined plate by reflecting a virtual golf terrain. For example, the swing plate (100) includes a plurality of inclined plates and adjusts the angle of each inclined plate according to the virtual golf terrain so that a user standing on the swing plate (100) can experience the slope of terrain similar to the virtual golf terrain. In one embodiment, the swing plate (100) may include a lifting module that operates to rotate the inclined plate to a preset angle of inclination according to an input control signal. For example, one or more lifting modules are installed below the inclined plate, and the movement axis of the lifting module can move up and down to adjust the angle of inclination of the inclined plate.
[0052] The sensor unit (200) can sense the swing plate (100) and / or the ball placed on the swing plate (100). In one embodiment, the sensor unit (200) may include one or more cameras. For example, the sensor unit (200) may be configured as a stereo camera that operates in a stereo manner by including two or more cameras. As another example, the sensor unit (200) may be configured as a 3D camera capable of recognizing a two-dimensional image of the ball in three dimensions. For convenience of explanation in this disclosure, the sensor unit (200) is described as a camera device, but is not limited thereto, and any technical means capable of obtaining position information of the swing plate and / or the ball may be used. For example, the sensor unit (200) may include a lidar, radar, ultrasonic sensor, etc.
[0053] In one embodiment, the operation unit (300) defines a three-dimensional coordinate system with one point of the golf simulator device as the origin, defines the shape of the swing plate (300) in a three-dimensional virtual space based on information regarding the swing plate (300), simulates the change of the swing plate (300) according to the control input for the swing plate (300) in a three-dimensional virtual space, and can accurately determine the position of the ball on the swing plate (300) in a three-dimensional virtual space based on the position of the ball input from the sensor unit (200).
[0054] In one embodiment, the computation unit (300) may operate as a swing plate simulator that simulates the operation of the swing plate (100). For example, the computation unit (300) may simulate the change of the swing plate (100), including the inclination angle of each inclined plate of the swing plate (100), in a virtual three-dimensional space based on a control signal for the amount of change of each motion axis (of each lifting module) input to the swing plate (100).
[0055] In one embodiment, the calculation unit (300) can define three-dimensional coordinates (spatial coordinates) with one point of the golf simulator device as the origin, and based thereon, can define a swing plate (300) in a virtual space. In one embodiment, the calculation unit (300) can define a swing plate in a virtual three-dimensional space based on information of the swing plate (300), and the information of the swing plate (300) may include the specifications of the swing plate, the position of the movement axis, the position of the sub-mat, the position of the tee, etc. For example, the information of the swing plate (300) may include the overall specifications including the width, length, and height of the swing plate (300), the shape and specifications of the inclined plate, the position of the movement axis of the lifting module provided under the inclined plate, the position of the sub-mat (fairway, rough, bunker mat), and the position of the tee.
[0056] In one embodiment, the calculation unit (300) can simulate a change in the swing plate (300) in a virtual three-dimensional space based on the amount of change in each motion axis according to a control signal input to the swing plate (300). For example, the change in the inclination angle of each inclination plate according to the amount of change in the motion axis of each lifting module under each inclination plate of the swing plate (300) can be simulated in a virtual three-dimensional coordinate space.
[0057] In one embodiment, to represent the shape of the swing plate on a three-dimensional coordinate system, the vertices of each inclined plate and / or submat of the swing plate (100) may be selected as reference points. For example, the calculation unit (300) may set a point on the swing plate as the origin and calculate three-dimensional coordinates for the vertices of each inclined plate of the swing plate (100), and based on this, represent the shape of the swing plate (100) on a three-dimensional coordinate system. For example, when the calculation unit (300) receives the amount of change in the motion axis of each lifting module of the swing plate (100), it may calculate three-dimensional coordinates for the vertices of each inclined plate of the swing plate (100) based on this and simulate the change of the swing plate (100).
[0058] In one embodiment, the calculation unit (300) receives the position of the ball from the sensor unit (200), converts it into three-dimensional coordinates corresponding to the position of the ball in a virtual space, and can determine the relative position of the ball by comparing it with the simulated swing plate (300). For example, the calculation unit (300) can determine information regarding the ball, including the position of the ball existing on the swing plate (300) and the type of submat on which the ball is located, and provide it to the golf simulator device.
[0059] In one embodiment, the operation unit (300) can represent the position and orientation of the sensor unit (200) in a virtual three-dimensional space as a three-dimensional coordinate system based on information regarding the position and orientation of the sensor unit (200). In one embodiment, the operation unit (300) receives the position and orientation of the sensor unit (200) as initial parameters, and subsequently compares the sensing information of the swing plate (100) input from the sensor unit (200) with the information obtained from the initial parameters to check whether the position and orientation of the sensor unit (200) have changed. If the position and orientation of the sensor unit (200) have changed from the initial parameters, the sensing information obtained from the initial parameters can be compared with the sensing information input from the current sensor unit (200) to update it. In one embodiment, the operation unit (200) can store the sensing information obtained from the initial parameters for updating the parameters.
[0060] In another embodiment, the updating of parameters (position and attitude information) of the sensor unit (200) may be performed in a preprocessing unit separate from the computation unit (200). The preprocessing unit stores initial values of three-dimensional coordinates for feature points of the swing plate (100), calculates three-dimensional coordinates of at least one feature point according to the position of the swing plate (100) sensed by the sensor unit (200), and if there is a difference compared with the stored initial values, corrects and updates the parameters by reflecting this. For example, the feature points of the swing plate (100) may be characteristic configurations such as submats or tees.
[0061] In one embodiment, the sensor unit (200) can sense the position of the swing plate (100) under the same conditions as when the initial coordinate values of the feature points were obtained. For example, the sensor unit (200) can sense the position of the swing plate (100) after controlling the inclined plates with the same angle of inclination as when the initial coordinate values of the feature points were obtained.
[0062] In another embodiment, the preprocessing unit can compare the three-dimensional coordinates of at least one feature point based on the position of the swing plate (100) sensed by the sensor unit (200) with the initial coordinate values obtained after converting them based on conditions. For example, the preprocessing unit can compare the three-dimensional coordinates of the feature point of the swing plate (100) sensed by the sensor unit (200) with the inclination angle of the inclination plate based on the initial coordinate values obtained. Even if the position of the sensor unit (200) changes or the posture changes, such as rotation, the accurate position of the ball can be calculated by correcting the three-dimensional coordinates of the swing plate (100) and / or the ball based on the initial coordinate values.
[0063] According to one embodiment of the present disclosure, the golf simulator device may further include a control unit. The control unit is a means for outputting a control signal to control a lifting module so that an inclined plate rotates at an angle of inclination set according to an input signal.
[0064] In one embodiment, the operation unit (300), the control unit, and the preprocessing unit may be implemented as a single device. In one embodiment, the operation unit (300), the control unit, and the preprocessing unit may be implemented as a single computing device. In another embodiment, the operation unit (300), the control unit, and the preprocessing unit may be implemented by including a plurality of computing devices.
[0066] FIG. 2 is a drawing showing the configuration of a swing plate according to one embodiment of the present disclosure.
[0067] Referring to FIG. 2, a swing plate (100) according to one embodiment of the present disclosure may include at least one submat (110) and at least one inclined plate (120).
[0068] In one embodiment, each submat (110) that may be included in the swing plate (100) may correspond to various environments of a golf field, such as a fairway, rough, and bunker. For example, referring to FIG. 2, the submat (110) may include a fairway mat (112), a rough mat (113), and a bunker mat (114). As another example, the submat (110) may include a plurality of rough mats (113) depending on the type of rough.
[0069] In one embodiment, the inclined plate (120) may be provided below the submat (110) so as to be inclined according to a predetermined angle of inclination. In one embodiment, the angle of inclination of the inclined plate (120) may be determined in correspondence with the virtual terrain of the virtual golf simulation device.
[0070] In one embodiment, the lifting module (130) may be positioned below the inclined plate, and the movement axis (135) of the lifting module (130) may be driven up and down to press the inclined plate (120) and adjust the inclination angle of each inclined plate (120). In one embodiment, a control signal corresponding to the inclination angle of each inclined plate (120) may be input to the lifting module (130), and the lifting module (130) may control the lifting drive of the movement axis (135) according to the input control signal. In one embodiment, the swing plate (100) may include a structure on which the lifting module (130) can be installed, and may include a ball feeder that supplies golf balls to the upper part of the swing plate (100) (not shown). In one embodiment, a lifting module (130) may be installed at the lower part of the boundary position of two or more inclined plates (120) to simultaneously press each adjacent inclined plate. For example, referring to FIG. 2, in a swing plate (100) in which eight inclined plates (120) are arranged radially, a lifting module (130) located at the center of the swing plate (100) may be positioned to simultaneously lift the corners of the eight inclined plates (120), and another lifting module (130) may be positioned to lift two adjacent inclined plates (120) at once.
[0072] FIGS. 3 and 4 are drawings showing the shape of an inclined plate according to one embodiment of the present disclosure.
[0073] In one embodiment, the shape of the inclined plate (120) may be a polygon or a shape in which at least one side of the polygon is replaced by an arc. The number of inclined plates (120) to be arranged may be appropriately selected considering the required shape of the swing plate (100) and the number of submats (110). In one embodiment, the swing plate (100) may be composed of a single inclined plate (120). Referring to FIG. 3(a), the inclined plate (120) may be a shape divided into two parts based on the center of the swing plate (100). Referring to FIG. 3(b) through (e), the inclined plate (120) may be a polygon or a shape in which at least one side of the polygon is replaced by an arc, divided radially based on the center of the swing plate (100). For example, the inclined plate (120) may be composed of triangles divided radially based on the center, as shown in FIG. 3(c).
[0074] In one embodiment, the inclined plates (120) constituting a single swing plate (100) may all have the same shape and size. For example, referring to FIGS. 3(a) through 3(e), the inclined plates (120) may be identical polygons or shapes in which at least one side of a polygon is replaced by an arc, which are radially divided based on the center of the swing plate (100). In another embodiment, the inclined plates (120) constituting a single swing plate (100) may have different shapes or sizes. For example, referring to FIGS. 4(a) through 4(e), the inclined plates (120) may be polygons or shapes in which at least one side of a polygon is replaced by an arc, which are radially divided based on a point away from the center of the swing plate (100).
[0075] Referring to FIGS. 3 and 4 in one embodiment, the vertex of the submat (110) and / or the inclined plate (120) of the swing plate (100) can be selected as the reference point (10).
[0076] Referring to FIGS. 3 and 4, as shown in FIGS. 3(a) and 4(a), it may be composed of two rectangular inclined plates, and there may be six reference points (10) with the vertices as reference points. As shown in FIGS. 3(b) and 4(b), four rectangular inclined plates may be combined, and there may be nine reference points (10) with the vertices of each inclined plate as reference points (10). As shown in FIGS. 3(c) and 4(c), eight triangular inclined plates may be combined, and there may be nine reference points (10) with the vertices of each inclined plate as reference points (10). As shown in FIGS. 3(d) and 4(d), eight triangular inclined plates may be combined, and there may be nine reference points (10) with the vertices of each inclined plate as reference points (10). As shown in FIGS. 3(e) and FIGS. 4(e), eight fan-shaped inclined plates can be combined to form a circle, and there may be nine reference points (10).
[0078] FIG. 5 is a drawing showing the configuration of a submat in a golf simulator device according to one embodiment of the present disclosure.
[0079] A swing plate (100) of a golf simulator system according to one embodiment of the present disclosure may include one or more submats (110). For example, referring to FIG. 5, the swing plate (100) may include a fairway mat (112), a rough mat (113), and a bunker mat (114). In one embodiment, the fairway mat (112) may include a tee (111) for a tee shot.
[0080] According to one embodiment, the golf simulator device may specify a submat (110) to be used by the user when hitting according to the virtual terrain, and the user may place a ball on it and hit it. The golf simulator device may sense physical elements such as the speed, direction, and rotation of the ball hit by the user to calculate the flight trajectory of the ball, and based on this, express the movement of the ball on the screen (500) and calculate the position of the ball's movement on the virtual terrain.
[0081] In one embodiment, if the user does not use the submat (110) designated by the golf simulator device, this can be reflected in the process of calculating the flight trajectory of the ball struck by the user. For example, if the user is supposed to use the bunker mat (114) but uses the fairway mat (112), the distance of the ball can be reduced by a predetermined ratio (e.g., 40%). As another example, if the user is supposed to use the fairway mat (112) but uses the rough mat (113), the distance of the ball can be increased by a predetermined ratio (e.g., 130%).
[0082] A golf simulation device according to one embodiment must recognize the position of a ball on a submat (110) and can perform a golf simulation based on the position of the ball. The ball may be placed on a specific submat (110) or on a tee (111). Since the golf simulation device can perform different golf simulations depending on the position of the ball, it is necessary to accurately recognize the position of the ball on the submat.
[0084] FIG. 6 is a drawing showing the change in the inclination angle of a swing plate according to one embodiment of the present disclosure.
[0085] FIG. 6(a) is a drawing showing a swing plate in an initial state where the inclination angles of all the inclined plates are 0, and FIG. 6(b) is a drawing showing a swing plate in a state where the inclined plates have inclination angles according to one embodiment of the present disclosure. In one embodiment, when the inclined plates of the swing plate have inclination angles as in FIG. 6(b), the submat (110) located on the upper surface of the swing plate is also positioned along the inclined upper surface of the swing plate.
[0086] In one embodiment, the golf simulator device can recognize the position of a ball placed on the swing plate (100) and compare it with the position of the submat (110) to recognize which submat (110) the ball is placed on. As shown in FIG. 6(a), when the swing plate (100) is flat with the inclination angle of the inclined plate all being 0, the position of the submat (110) does not change, so the relative position of the ball and the submat (110) can be easily derived by comparing the position of the ball with the position of the submat (110). For example, the position (coordinates) of the submat (110) when the swing plate (100) is flat can be stored in advance, and the position (coordinates) of the ball sensed by the sensor unit (200) can be compared with the stored position (coordinates) of the submat (110) to recognize which submat (110) the ball is located on.
[0087] When the inclined plates of the swing plate (100) have an angle of inclination, the submat (110) is positioned along the inclined upper surface of the swing plate (100), so the position of the submat (110) changes three-dimensionally, and it is not easy to recognize this and compare it with the position of the ball. For example, it is not easy to recognize the three-dimensional position change of the submat (110) and compare it with the position of the ball using a sensor unit (200) composed of a camera.
[0088] A calculation unit (300) of a golf simulator device according to one embodiment of the present disclosure defines a three-dimensional coordinate system with one point as the origin, defines the shape of the swing plate (100) in a three-dimensional virtual space based on information regarding the swing plate (100), simulates the change of the swing plate (100) in the three-dimensional virtual space according to the control input for the swing plate (100), and can accurately determine the relative position of the ball on the upper surface of the swing plate (100) based on the position of the ball input from the sensor unit (200).
[0089] In one embodiment, to represent the shape of the swing plate on a three-dimensional coordinate system, the vertex of the inclined plate (120) and / or submat (110) of the swing plate (100) can be set as a reference point (10). In one embodiment, the golf simulator device calculates the change in three-dimensional coordinates of each reference point (10) according to the angle of inclination of the inclined plates (120) based on the amount of change in the axis of motion according to the control input of the swing plate (100), and can determine the relative position of the ball by comparing it with the position of the ball based on this. For example, the three-dimensional coordinates of the reference point (10), which is the vertex of the submat (110), are calculated according to the angle of inclination of the inclined plates (120) of the swing plate (100), and can be recognized which submat (110) the ball is placed on by comparing it with the three-dimensional coordinates of the ball sensed by the sensor unit (200).
[0090] In one embodiment, the computation unit (300) can define the shape of the swing plate (300) in a three-dimensional virtual space based on the initial three-dimensional coordinates of the reference points (10) in an initial state where the inclination angle of all inclined plates (120) is 0, based on information regarding the swing plate (300). The computation unit (300) can calculate the change in the three-dimensional coordinates of the reference points (10) based on the amount of change in the axis of motion according to the control input for the swing plate (300), and can simulate the change of the swing plate (100) using this. When the computation unit (300) receives the position of the ball from the sensor unit (200), it can accurately determine the relative position of the ball on the upper surface of the swing plate (100) based on the three-dimensional coordinates of the reference points (10). For example, the computation unit (300) can check the inclined plate and / or submat of the swing plate (100) where the ball is located.
[0092] FIG. 7 is a drawing showing the change in the inclination angle of a swing plate according to one embodiment of the present disclosure.
[0093] FIG. 7(a) illustrates the reference points (10) of the inclination plate (120) and submat (110) in an initial state where the inclination angle of all inclination plates (120) is 0. FIG. 7(b) illustrates the reference points (10) of the inclination plate (120) and submat (110) after the inclination angle of the inclination plate (120) has changed as the movement axis (135) moves up and down according to the control signal of the swing plate (100). Compared to the reference point (10') in the initial state, the position (3D coordinate) of the reference point (10) changes according to the change in inclination angle.
[0094] In one embodiment, the computation unit (300) may define a swing plate (100) in a virtual three-dimensional space by setting the vertices of the inclined plate (120) and / or submat (110) as reference points (10). For example, the computation unit (300) may calculate the three-dimensional coordinates of the reference points of the swing plate (100) using information of the swing plate (100) and simulate the operation of the swing plate (100) based thereon. For example, in FIGS. 7(a) and 7(b), the center of the radially divided inclined plates (120) may be set as the origin, and the three-dimensional coordinates of the reference points (10) may be expressed.
[0095] FIG. 7(b) is a drawing showing a swing plate (100) in a state where the axis of motion (135) moves up and down according to the control input of the swing plate (100), and accordingly, the inclined plates have an angle of inclination. When the inclined plates (120) of the swing plate (100) have an angle of inclination as in FIG. 7(b), the submat (110) located on the upper surface of the swing plate (100) also moves along the inclined upper surface of the swing plate (100). In one embodiment, the calculation unit (300) can simulate the change of the swing plate (100) by calculating the three-dimensional coordinate change of the reference points (10) of the swing plate (100) according to the amount of change (height) of the axis of motion (135) according to the control signal.
[0097] FIG. 8 is a diagram showing the three-dimensional coordinate change of a reference point according to the change in the motion axis of a lifting module according to one embodiment of the present disclosure.
[0098] Referring to FIG. 8, the calculation unit (300) can express the change in the inclined plate (120) according to the vertical movement of the movement axis (135) of the lifting module (130) as a change in the coordinates of the vertices of the inclined plate (120). In one embodiment, the calculation unit (300) defines three vertices A, B, and C of the inclined plate (120) as reference points (10) and can calculate the change in the inclined plate (120) according to the height change of the movement axis (135). For example, when the movement axis (135) rises from position D to position D', vertices A and C of the inclined plate (120) do not change position, and vertex B moves to position B'.
[0099] In one embodiment, the length of line segment AD where the axis of motion (135) is located and angle ∠BAC are given as information regarding the swing plate (100), and since the length of line segment DD' can be known by calculating the height change of the axis of motion (135) from the control signal, the calculation unit (300) can calculate angle ∠DAD' from the lengths of line segment AD and line segment DD'. For example, if A is the origin (0,0,0), angle ∠DAD' is θ, angle ∠BAC is Φ, and the length of line segment AC is d, then the coordinates of B are (-d·cosΦ, d·sinΦ, 0), and the coordinates of B' can be calculated as (-d·cosΦ·cosθ, d·sinΦ·cosθ, d·sinθ) by applying a 3D rotation transformation.
[0101] FIG. 9 is a drawing illustrating a method for determining the relative position of a ball on a swing plate according to one embodiment of the present disclosure.
[0102] In one embodiment, whether a ball is located on each incline plate or submat can be determined by using the cross product of vectors between the reference points of each incline plate or submat and the position of the ball. In one embodiment, whether point P is inside a polygon can be determined by using the cross product of the vectors of each side of the polygon and the vectors formed at point P. For example, since a point inside a polygon is located in the same direction for all the vectors of each side of the polygon, whether clockwise or counterclockwise, the cross product of the vectors of each side of the polygon and the vectors formed at point P will have the same sign.
[0103] Referring to Fig. 9(a), the vectors of the three sides forming the triangle , and and the vector from the three vertices of the triangle to point P , and We can check if point P is inside the triangle using the cross product. That is , and If all signs are the same, it can be confirmed that point P is inside the triangle.
[0104] Referring to Fig. 9(b), the vectors of the four sides forming the rectangle , , , and and the vector from the four vertices of the rectangle to point P , , and We can check if point P is inside the triangle using the cross product. That is, , , and If all signs are the same, it can be confirmed that point P is inside the rectangle.
[0105] In one embodiment, the calculation unit (300) simulates the change of reference points set at each vertex of the inclined plate and / or submat in a three-dimensional virtual space to calculate the three-dimensional coordinates of each reference point, and calculates the three-dimensional coordinates of the ball based on the position of the ball input from the sensor unit (200), and can recognize the inclined plate and / or submat where the ball is located by using a vector between each reference point and the three-dimensional coordinates of the ball. For example, the inclined plate and / or submat where the ball is located can be recognized by checking the sign of the cross products of the vectors between each reference point and the three-dimensional coordinates of the ball.
[0107] FIG. 10 is a flowchart illustrating a method for verifying the ball position according to a three-dimensional position change of a swing plate according to one embodiment of the present disclosure.
[0108] According to one embodiment of the present invention, the calculation unit (300) may receive a control signal of the swing plate (100) and sensing information regarding the position of the ball from the sensor unit (200) (S110). For example, the control signal of the swing plate (100) may include a change in height of the movement axis (135) of each lifting module (130) under each inclined plate (120), and the sensing information regarding the position of the ball received from the sensor unit (200) may include three-dimensional position information of the ball recognized by the sensor unit (200). In one embodiment, the calculation unit (300) may calculate the three-dimensional coordinates of the ball in a three-dimensional virtual space from the position sensing information of the ball, taking into account the three-dimensional position of the sensor unit (200).
[0109] In one embodiment, the calculation unit (300) can simulate a change in the swing plate (100) based on a control signal including a change in height of each movement axis (135). For example, the calculation unit (300) can calculate the coordinates of reference points (10) according to the change in height of each movement axis (135) (S130).
[0110] In one embodiment, if there is no change in the height of the movement axis (135) in the control signal of the swing plate (100), the calculation unit (300) may omit the step of calculating the coordinates of the reference points (10) according to the amount of change in height of each movement axis (135) (S120).
[0111] In one embodiment, the calculation unit (300) can calculate the relative position of the ball based on the three-dimensional coordinates of each reference point of the swing plate (100) and the three-dimensional coordinates of the ball (S140). In one embodiment, the cross product between the vectors between each reference point and the position of the ball can be calculated and the sign can be checked to determine whether the ball is located on each inclined plate and / or submat. For example, the cross product between the vectors connecting the vertices of each inclined plate or submat in one direction and the vectors between each vertex and the position of the ball can be calculated respectively, and if the signs all match, it can be determined that the ball is located on the corresponding inclined plate or submat.
[0112] In one embodiment, the calculation unit (300) can transmit or store information about the inclined plate and / or submat where the ball is located so that it can be used in the golf simulation system (S150).
[0114] FIG. 11 is a flowchart illustrating a method for verifying the ball position according to a three-dimensional position change of a swing plate, including parameter correction of a sensor unit according to one embodiment of the present disclosure.
[0115] In one embodiment, the operation unit (300) can change the information regarding the position of the ball sensed from the sensor unit (200) into three-dimensional coordinates in a three-dimensional virtual space based on information regarding the position and orientation of the sensor unit (200) (hereinafter referred to as 'parameters'). If the initial parameters (position and orientation) of the sensor unit (200) change due to external stimuli, and the parameters are not updated to reflect this, the three-dimensional coordinates of the ball in the virtual space cannot be accurately calculated. To prevent this, the present disclosure may include a configuration that automatically recognizes changes in the position and orientation of the sensor unit (200) and updates the parameters.
[0116] In one embodiment, the shape of the swing plate (100) is projected onto a spatial coordinate system using the initial parameters of the sensor unit (200), and information regarding the feature points of the swing plate (100) in the projected image is stored as an initial value (initialization step, S210). For example, the feature points of the swing plate (100) may be characteristic configurations such as a submat or a tee, and the information regarding the feature points may be the location of a specific point recognized by the sensor unit (200).
[0117] In one embodiment, the golf simulator device can check whether there is a match with the information regarding the feature points of the swing plate (100) recognized by the sensor unit (200) at the beginning of operation, and check whether there is a correction of the parameters and update them (S220). In one embodiment, in the initialization step (S210), the information regarding the feature points stored as initial values is compared with the information regarding the feature points currently recognized by the sensor unit (200) to check whether the information regarding the feature points has been changed due to the existence of a difference between the two. For example, the calculation unit (300) can check whether there is a change in information by comparing the position of the tee recognized by the sensor unit (200) with the position of the tee stored as an initial value.
[0118] In one embodiment, if there is a change in the information regarding feature points stored as initial values in the initialization step (S210) and the information regarding feature points recognized by the current sensor unit (200), the operation unit (300) can calculate the amount of change compared to the initial value and update the parameters by reflecting this. For example, if the position of Tee recognized by the sensor unit (200) is different from the position of Tee stored as an initial value, the change in the parameter (position and attitude) of the sensor unit (200) corresponding to the change in the position of Tee can be calculated and the parameter of the sensor unit (200) can be updated.
[0119] According to one embodiment of the present disclosure, automatically updating the parameters of the sensor unit (200) has the effect of maximizing the maintenance and repair efficiency of the golf simulator device.
[0121] One embodiment of the present disclosure may also be implemented in the form of a recording medium comprising computer-executable instructions, such as program modules executed by a computer. A computer-readable medium may be any available medium accessible by a computer and includes both volatile and non-volatile media, and both removable and non-removable media. Additionally, a computer-readable medium may include both computer storage media and communication media. A computer storage medium includes both volatile and non-volatile, removable and non-removable media implemented by any method or technique for storing information, such as computer-readable instructions, data structures, program modules, or other data. A communication medium typically includes computer-readable instructions, data structures, or program modules and includes any information transmission medium.
[0122] The foregoing description of the present disclosure is for illustrative purposes only, and those skilled in the art will understand that modifications can be easily made to other specific forms without altering the technical spirit or essential features of the present invention. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, each component described as a single unit may be implemented in a distributed manner, and components described as distributed may likewise be implemented in a combined form.
[0123] The scope of the present disclosure is defined by the claims set forth below rather than by the detailed description above, and all modifications or variations derived from the meaning and scope of the claims and equivalent concepts thereof should be interpreted as being included within the scope of the present disclosure.
Claims
Claim 1 A golf simulator device comprising: a swing plate including at least one inclined plate and at least one submat, and controlling the inclination angle of the at least one inclined plate based on an input control signal; at least one sensor unit sensing the position of a ball placed on the swing plate; and a calculation unit defining a three-dimensional coordinate system with a preset point of the golf simulator device as the origin, determining initial three-dimensional coordinates of at least one reference point of the swing plate based on information regarding the swing plate, calculating the three-dimensional coordinates of the at least one reference point changed based on the inclination angle of the at least one inclined plate according to the control signal, and calculating the relative position of the ball based on the three-dimensional coordinates of the at least one reference point and the position of the ball sensed by the sensor unit. Claim 2 A golf simulator device according to claim 1, wherein the inclined plate is a polygon or a shape in which at least one side of the polygon is replaced by an arc. Claim 3 A golf simulator device according to claim 1, wherein the reference points include the vertices of the at least one inclined plate or the at least one submat. Claim 4 A golf simulator device according to claim 1, further comprising: one or more lifting modules installed at the lower portion of the at least one inclined plate and driving a motion axis up and down according to the control signal to adjust the inclination angle of the inclined plate; and a control unit that outputs the control signal to control the one or more lifting modules so that the inclined plate rotates to a preset inclination angle. Claim 5 A golf simulator device according to claim 4, wherein the calculation unit calculates changed three-dimensional coordinates of the reference points based on the amount of change in height of the motion axis according to the control signal. Claim 6 A golf simulator device according to claim 5, wherein information regarding the swing plate includes at least one of the specifications of the swing plate, the shape and position of the inclined plate, the position of the axis of motion, the position of the submat, and the position of the tee. Claim 7 A golf simulator device according to claim 1, wherein the relative position of the ball is determined by a first inclined plate and / or a first submat on which the ball is located. Claim 8 A golf simulator device according to claim 7, wherein the reference points include vertices of the first inclined plate or the first submat, and calculates the cross products of a first vector connecting the next vertex in a clockwise or counterclockwise direction from each vertex of the first inclined plate or the first submat and a second vector connecting the coordinates of the ball from each vertex, and determines that the ball is located on the first inclined plate or the first submat if the sign of the cross product of the first vector and the second vector is the same at all vertices of the first inclined plate or the first submat. Claim 9 A golf simulator device according to claim 1, wherein the position and attitude of the sensor unit are stored as a first parameter, information sensed by the sensor unit in the first parameter is stored as first sensing information, and information sensed by the sensor unit is compared with the first sensing information to determine whether to update the first parameter. Claim 10 A golf simulator device according to claim 9, wherein the first sensing information is position information of at least one feature point of the swing plate. Claim 11 A golf simulator device according to claim 9, which updates and stores a first parameter based on information sensed by the sensor unit and a change amount of the first sensing information. Claim 12 A method of operating a golf simulator device comprising a swing plate and a sensor unit, comprising: a step of controlling the inclination angle of at least one inclined plate based on a control signal input to a swing plate comprising at least one inclined plate and at least one submat; a step of sensing the position of a ball placed on the swing plate by a sensor unit; a step of receiving the control signal input to the swing plate and the position of the ball sensed by the sensor unit; a step of determining the initial three-dimensional coordinates of at least one reference point of the swing plate based on information regarding the swing plate based on a three-dimensional coordinate system with a preset point of the golf simulator device as the origin, and calculating the three-dimensional coordinates of the at least one reference point that have changed based on the inclination angle of the at least one inclined plate according to the control signal; and a step of calculating the relative position of the ball based on the three-dimensional coordinates of the at least one reference point and the position of the ball sensed by the sensor unit. Claim 13 A method of operating a golf simulator device according to claim 12, wherein the reference points include the vertices of the at least one inclined plate or the at least one submat. Claim 14 A method of operating a golf simulator device, wherein in claim 12, the step of calculating the three-dimensional coordinates of the at least one reference point changed based on the inclination angle of the at least one inclined plate according to the control signal is to calculate the changed three-dimensional coordinates of the reference point based on the amount of change in height of the motion axis according to the control signal. Claim 15 In claim 12, the step of calculating the relative position of the ball is to calculate the relative position of the ball on a first inclined plate and / or a first submat on which the ball is located. A method of operating a golf simulator device. Claim 16 A method of operating a golf simulator device according to claim 15, wherein the reference points include vertices of the first inclined plate or the first submat, and the step of calculating the relative position of the ball comprises calculating the cross products of a first vector connecting the next vertex in a clockwise or counterclockwise direction from each vertex of the first inclined plate or the first submat and a second vector connecting the coordinates of the ball from each vertex, and determining that the ball is located on the first inclined plate or the first submat if the sign of the cross product of the first vector and the second vector is the same at all vertices of the first inclined plate or the first submat. Claim 17 A method of operating a golf simulator device according to claim 12, further comprising: a step of storing the position and attitude of the sensor unit as a first parameter; a step of storing information sensed by the sensor unit in the first parameter as first sensing information; and a step of comparing the information sensed by the sensor unit with the first sensing information to determine whether to update the first parameter. Claim 18 A method of operating a golf simulator device, wherein, in paragraph 17, the first sensing information is position information of at least one feature point of the swing plate. Claim 19 A method of operating a golf simulator device according to claim 18, further comprising the step of updating and storing a first parameter based on information sensed by the sensor unit and a change amount of the first sensing information. Claim 20 A program stored on a computer-readable recording medium to execute the method of any one of paragraphs 12 through 19 on a computer.
Citation Information
Patent Citations
Swing plate of golf exercising machine
KR1020110058580A
Camera sensing device for obtaining three-dimensional information of object and virtual golf simulation apparatus using the same
KR1020170133730A
Apparatus for detecting an input location using 3D camera
KR1020180107487A