Systems and Methods for Sports Training

20250288887 ยท 2025-09-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A sports training system can include a target board and a controller configured to control operations of the target board. The target board can be configured to be hit by a ball that is struck by a player, and rebound the ball to the player. The target board can include a plurality of board zones and vibration sensors respectively corresponding to the board zones. Each vibration sensor can sense vibration of a respective board zone. The controller can control illumination of a light source to designate one of the board zones as a target board zone for the player to hit with the ball, and determine whether the ball has hit the target board zone based on whether a vibration signal characteristic of the target board zone being hit by the ball is received from the vibration sensor corresponding to the target board zone.

Claims

1. A sports training system, comprising: a controller; a target board including at least one board zone configured to be impacted by a sports implement; and at least one vibration sensor and at least one light source, each vibration sensor among the at least one vibration sensor and each light source among the at least one light source being operatively coupled to the controller and respectively operably coupled to a corresponding board zone among the at least one board zone, wherein each vibration sensor is configured to generate a vibration signal in response to vibration of the corresponding board zone, and wherein the controller is configured to select a board zone among the at least one board zone as a target to be hit by the sports implement, place the light source operatively coupled to the selected board zone in an illumination state indicating that the selected board zone is the target, and determine whether the sports implement has hit the selected board zone based on whether the controller receives the vibration signal generated by the vibration sensor operatively coupled to the selected board zone.

2. The sports training system of claim 1, wherein the controller is further configured to determine that the sports implement has hit the selected board zone, in response to a combination of: 1) the controller receiving the vibration signal generated by the vibration sensor operatively coupled to the selected board zone; and 2) the vibration signal generated by the vibration sensor operatively coupled to the selected board zone having an amplitude greater than a threshold amplitude.

3. The sports training system of claim 2, wherein the vibration sensor operatively coupled to the selected board zone is configured to generate the vibration signal having the amplitude greater than the threshold amplitude, in response to any one or more of a pickleball, a tennis ball, a baseball, and a football hitting the selected board zone.

4. The sports training system of claim 1, wherein the controller is further configured to place the light source in an illumination state indicating that the sports implement has hit the selected board zone, in response to the controller determining that the sports implement has hit the selected board zone.

5. The sports training system of claim 1, further comprising: at least one sensing panel respectively mounted on the at least one board zone, wherein the vibration sensor operably coupled to the corresponding board zone is operably coupled to a corresponding sensing panel, among the at least one sensing panel, that is mounted on the corresponding board zone, and wherein the corresponding sensing panel is configured to vibrate in response to the vibration of the corresponding board zone.

6. The sports training system of claim 5, wherein said at least one board zone comprises a plurality of board zones, said at least one vibration sensor comprises a plurality of vibration sensors, said at least one light source comprises a plurality of light sources, and said at least one sensing panel comprises a plurality of sensing panels.

7. The sports training system of claim 6, wherein said at least one sensing panel comprises a plurality of sensing panels that are positioned relative to one another, and wherein each of the sensing panels is vibrationally isolated relative to a remainder of the sensing panels.

8. The sports training system of claim 5, wherein the controller is disposed on a master sensing panel among the at least one sensing panel.

9. The sports training system of claim 1, further comprising: at least one audio output device operably coupled to the controller, wherein the at least one audio output device is configured to generate an audio output in response to the controller determining that the sports implement has hit the selected board zone.

10. The sports training system of claim 1, wherein the target board is configured to extend substantially perpendicular to a ground surface.

11. The sports training system of claim 1, wherein the target board is configured to extend substantially parallel to a ground surface.

12. The sports training system of claim 1, wherein the sports implement is a ball, and the at least one board zone extends substantially perpendicular to a ground surface and is configured to cause the ball to rebound off the at least one board zone after the ball hits the at least board zone.

13. The sports training system of claim 1, wherein the controller is further configured to determine a score for a user of the sports implement based on an outcome of the step of determining whether the sports implement has hit the selected board zone.

14. A sports training system, comprising: a first controller; a first target board including at least one first board zone configured to be impacted by a first sports implement; at least one first vibration sensor and at least one first light source, each first vibration sensor among the at least one first vibration sensor and each first light source among the at least one first light source being operatively coupled to the first controller and respectively operably coupled to a corresponding first board zone among the at least one first board zone, and each first vibration sensor being configured to generate a first vibration signal in response to vibration of the corresponding first board zone; and a first user device in communication with the first controller, said first user device being operated by a first user of the first sports implement, wherein the first controller is configured to implement a first training session including one or more first scoring intervals and, in each first scoring interval, select a first board zone among the at least one first board zone as a first target to be hit by the first sports implement, place the first light source operatively coupled to the selected first board zone in an illumination state indicating that the selected first board zone is the first target, and determine whether the first sports implement has hit the first selected board zone based on whether the first controller receives the first vibration signal generated by the first vibration sensor operatively coupled to the selected first board zone, wherein either one of the first controller and the first user device is configured to determine first scoring information of the first training session, based on an outcome of the step of determining whether the first sports implement has hit the first selected board zone, and wherein the first user device is configured to execute a software application to display the first scoring information in one or more first graphic user interfaces (GUIs).

15. The sports training system of claim 14, wherein the first controller is further configured to determine that the first sports implement has hit the selected first board zone, in response to a combination of: 1) the first controller receiving the first vibration signal generated by the first vibration sensor operatively coupled to the selected first board zone; and 2) the first vibration signal generated by the first vibration sensor operatively coupled to the first selected board zone having an amplitude greater than a threshold amplitude.

16. The sports training system of claim 14, wherein the first controller is configured to determine the first scoring information and send the first scoring information to the first user device.

17. The sports training system of claim 14, wherein the first user device is configured to: receive, from the first controller, information about the outcome of the step of determining whether the first sports implement has hit the first selected board zone; and determine the first scoring information.

18. The sports training system of claim 16, wherein the first user device is further configured to determine the first scoring information by executing the software application to calculate the first scoring information.

19. The sports training system of claim 16, further comprising: a server in communication with either one or both of the first controller and the first user device, wherein the server is configured to store the first scoring information and profile information of the first user that is entered into the software application through the first user device.

20. The sports training system of claim 19, further comprising: a second controller; a second target board including at least one second board zone configured to be impacted by a second sports implement; at least one second vibration sensor and at least one second light source, each second vibration sensor among the at least one second vibration sensor and each second light source among the at least one second light source being operatively coupled to the second controller and respectively operably coupled to a corresponding second board zone among the at least one second board zone, and each second vibration sensor being configured to generate a second vibration signal in response to vibration of the corresponding second board zone; and a second user device in communication with the second controller, said second user device being operated by a second user of the second sports implement, wherein the second controller is configured to implement a second training session including one or more second scoring intervals and, in each second scoring interval, select a second board zone among the at least one second board zone as a second target to be hit by the second sports implement, place the second light source operatively coupled to the selected second board zone in an illumination state indicating that the selected second board zone is the second target, and determine whether the second sports implement has hit the second selected board zone based on whether the second controller receives the second vibration signal generated by the second vibration sensor operatively coupled to the selected second board zone, wherein either one of the second controller and the second user device is configured to determine second scoring information of the second training session, based on an outcome of the step of determining whether the second sports implement has hit the second selected board zone, wherein the second user device is configured to execute the software application to display the second scoring information in one or more second GUIs, and wherein the server is in communication with either one or both of the second controller and the second user device, and is further configured to store the second scoring information and profile information of the second user that is entered into the software application through the second user device.

Description

BRIEF DESCRIPTION OF DRAWINGS

[0028] FIG. 1 is a diagram illustrating sports training apparatus, according to an embodiment.

[0029] FIG. 2 is a diagram illustrating a sensing panel of the sports training apparatus of FIG. 1, according to an embodiment.

[0030] FIG. 3 is a flow chart illustrating a sports training method, according to an embodiment.

[0031] FIG. 4 is a diagram illustrating a master sensing panel for a sports training apparatus, according to an embodiment.

[0032] FIG. 5 is a schematic diagram of a sports training system, according to an embodiment.

[0033] FIG. 6 is a schematic diagram of an electronic device of the sports training system of FIG. 5, according to an embodiment.

[0034] FIGS. 7A to 7J are diagrams of graphic user interfaces (GUIs) of a software program implemented by the electronic device of FIG. 6, according to embodiments.

[0035] FIG. 8 is a schematic diagram of a sports training system, according to an embodiment.

[0036] Throughout the drawings and the detailed description, the same reference numerals refer to the same elements. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.

DETAILED DESCRIPTION

[0037] The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. However, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be apparent after an understanding of the disclosure of this application. For example, the sequences of operations described herein are merely examples, and are not limited to those set forth herein, but may be changed as will be apparent after an understanding of the disclosure of this application, with the exception of operations necessarily occurring in a certain order. Also, descriptions of features that are known in the art may be omitted for increased clarity and conciseness.

[0038] The features described herein may be embodied in different forms, and are not to be construed as being limited to the examples described herein. Rather, the examples described herein have been provided merely to illustrate some of the many possible ways of implementing the methods, apparatuses, and/or systems described herein that will be apparent after an understanding of the disclosure of this application.

[0039] Throughout the specification, when an element, such as a layer, region, or substrate, is described as being on, connected to, or coupled to another element, it may be directly on, connected to, or coupled to the other element, or there may be one or more other elements intervening therebetween. In contrast, when an element is described as being directly on, directly connected to, or directly coupled to another element, there can be no other elements intervening therebetween.

[0040] As used herein, the term and/or includes any one and any combination of any two or more of the associated listed items.

[0041] Although terms such as first, second, and third may be used herein to describe various members, components, regions, layers, or sections, these members, components, regions, layers, or sections are not to be limited by these terms. Rather, these terms are only used to distinguish one member, component, region, layer, or section from another member, component, region, layer, or section. Thus, a first member, component, region, layer, or section referred to in examples described herein may also be referred to as a second member, component, region, layer, or section without departing from the teachings of the examples.

[0042] Spatially relative terms such as above, upper, below, and lower may be used herein for ease of description to describe one element's relationship to another element as shown in the figures. Such spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, an element described as being above or upper relative to another element will then be below or lower relative to the other element. Thus, the term above encompasses both the above and below orientations depending on the spatial orientation of the device. The device may also be oriented in other ways (for example, rotated 90 degrees or at other orientations), and the spatially relative terms used herein are to be interpreted accordingly.

[0043] The terminology used herein is for describing various examples only, and is not to be used to limit the disclosure. The articles a, an, and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms comprises, includes, and has specify the presence of stated features, numbers, operations, members, elements, and/or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, members, elements, and/or combinations thereof.

[0044] Due to manufacturing techniques and/or tolerances, variations of the shapes shown in the drawings may occur. Thus, the examples described herein are not limited to the specific shapes shown in the drawings, but include changes in shape that occur during manufacturing.

[0045] The features of the examples described herein may be combined in various ways as will be apparent after an understanding of the disclosure of this application. Further, although the examples described herein have a variety of configurations, other configurations are possible as will be apparent after an understanding of the disclosure of this application.

[0046] The following description is related to embodiments of a sports training apparatus and systems implementing the sports training apparatus. The embodiments disclosed herein are particularly applicable for use with pickleball equipment (i.e., a pickleball paddle and ball) to conduct pickleball training and pickleball-related gameplay. However, the embodiments disclosed herein can also be applicable to other sports in which a ball or other sports implement is hit or thrown by a player, such as tennis, racquetball, squash, and handball.

[0047] FIGS. 1 and 2 illustrate a sports training apparatus 100, according to an embodiment. The sports training apparatus 100 can function as a training system or game system for one or more players (e.g., people) P participating in a sports game. For example, the sports game may be a modified pickleball game played with a pickleball ball (hereinafter, ball) 2 and pickleball paddle (hereinafter, paddle) 4 used by a player P to strike the ball 2. In some embodiments, the sports training apparatus 100 can be implemented in a training exercise or game in which the player P attempts to hit designated board zones 144 of a target board 140 with the ball 2 by striking the ball 2 with the paddle 4. For example, the player P can repeatedly strike the ball 2 against the target board 140, attempting to hit a designated board zone 144, and the target board 140 can deflect the ball 2 toward the player P when hit with the ball 2.

[0048] Although the description herein specifically describes a paddle 4 and a ball 2, it is to be understood that this disclosure is not limited to a paddle and a ball. That is, other sports equipment (e.g., a racquet, a bat, a club, or the human hand) for striking or throwing can be used instead of the paddle 4, and other sports implements (e.g., any projectile) can be used instead of the ball 2.

[0049] As shown in FIGS. 1 and 2, the sports training apparatus 100 includes a control box 110 and a target structure 130. The target structure 130 includes a target board 140 and one or more sensing panels 150 mounted to the target board 140. The target board 140 has a front surface 142, a rear surface 146, and one or more board zones 144 for the player P to attempt to hit with the ball 2. Optionally, the target structure 130 can include containment boards 170 respectively positioned on or near opposite end portions of the target board 140 and extending transversely (e.g., perpendicularly) to the target board 140 to deflect the ball 2 when the player P strikes the ball 2 such that the ball travels on a path that is off-target from the target board 140, or to deflect the ball 2 when player P strikes the ball 2 such that the ball 2 impacts the front surface 142 of the target board 140 and is deflected by the target board 140 at an excessively wide angle. The target board 140 and the containment boards 170 are made of a material that has a hardness suitable for deflecting the ball 2 back toward the player P upon the player P hitting the ball 2 against the target board 140 or the containment boards 170. As will be discussed later in more detail, the target board 140 can also function as a display and, therefore, can be made of a transparent material or can include portions made of a transparent material.

[0050] The target structure 130 can be mounted on legs 174, as shown in FIG. 1. Optionally, the legs 174 can include wheels that enable the target structure 130 to be moved. Alternatively, in some embodiments, the target structure 130 can be mounted on a wall or a different type of freestanding structure.

[0051] Referring to FIGS. 1 and 2, the target structure 130 includes a plurality of sensing panels 150 mounted on the rear surface 146 of the target board 140. The sensing panels 150 are spaced apart and vibrationally isolated from other adjacent panels by spaces S. The spaces S may be air gaps or a vibration absorbing material, such as a foam or elastomeric material, may be disposed in the spaces S. The one or more sensing panels 150 define the one or more board zones 144 for the player P to strike with the pickleball ball 2. Each board zone 144 can be defined by a respective sensing panel 150 that is mounted thereon. More specifically, each board zone 144 can be an area of the target board 140 that overlaps a respective sensing panel 150 and, when impacted by the ball 2, vibrates and transmits vibration waves generated therein to the sensing panel 150. The size of the board zones 144 can be determined by the mounting areas of the sensing panels 150, the sensitivity of vibration sensors 164 provided for each sensing panel 150, and an algorithm implemented by a controller 112 for processing the signals generated by the vibration sensors 164.

[0052] In the illustrated embodiment, the sensing panels 150 are arranged in a plurality of rows and columns. However, the illustrated arrangement of the sensing panels 150 is merely an example, and one or more sensing panels 150 can be arranged in many different configurations. Additionally, although the target board 140 and the sensing panels 150 are illustrated as having rectangular shapes, the target board 140 and the sensing panels 150 can have other shapes, such as, but not limited to, square, circular, oval, hexagonal, and triangular shapes.

[0053] The target board 140 includes a plurality of sensor and light modules 160. Each of the sensor and light modules 160 can correspond to a respective sensing panel 150. For example, each of the sensor and light modules 160 can be mounted to a respective sensing panel 150. Each of the sensor and light modules 160 can include a light source 162 and the vibration sensor 164 associated with the respective sensing panel 150.

[0054] In some embodiments, the light source 162 can be configured to emit light of one or more colors. The light source 162 can include, for example, one or more LEDs or one or more incandescent lights. As will be discussed later in more detail, the light source 162 can be configured to change its state. For example, the light source 162 can be selectively controlled to change a color of the light emitted therefrom, turn off and thereby not emit light, turn on and thereby emit light, emit light in one or more flashing patterns, and/or emit a constant light.

[0055] The light emitted by the light source 162 can be visible to the player P through the corresponding board zone 144. The light emitted by the light source 162 can illuminate at least a portion of the corresponding board zone 144. In some embodiments, the light emitted by the light source 162 can illuminate a central portion of the corresponding board zone 144 including the center of the corresponding board zone 144. However, in some embodiments, the light emitted by the light source 162 can illuminate the entire board zone 144 or a perimeter of the board zone 144.

[0056] For example, the light source 162 can have a first illumination state indicating that the corresponding board zone 144 is not a target for the player P to attempt to hit with the ball 2 and a second illumination state different from the first illumination state, and indicating that the corresponding board zone 144 is a target for the player P to attempt to hit with the ball 2. In some embodiments, the first illumination state can be an off state in which the light source 162 does not emit light, and the second illumination state can be an on state in which the light source 162 emits light. In some embodiments, the first illumination state can be an on state and the second illumination state can be an on state in which the light source 162 emits a light of a color and/or flashing pattern (including constant/non-flashing) that is different than a color and/or flashing pattern of the first illumination state.

[0057] Additionally, in some embodiments, the light source 162 can have a third illumination state indicating that the ball 2 has hit the corresponding board zone 144. The third illumination state can be different from the first and second illumination states. For example, in some embodiments in which the first and second illumination states are on states in which the light source 162 emits light, the third illumination state can be an off state in which the light source 162 does not emit light. In some embodiments in which the first illumination state is an off state and the second illumination state is an on state, the third illumination state can be an on state in which the light source 162 emits light of a color and/or flashing pattern (including constant/non-flashing) that is different than a color and/or flashing pattern of the second illumination state.

[0058] The vibration sensor 164 can be connected to the respective sensing panel 150 and configured to sense vibration of the respective sensing panel 150. That is, when a board zone 144 corresponding to the respective sensing panel 150 is hit by the ball 2, the board zone 144 vibrates in response to the impact of the ball 2 on the board zone 144, and the respective sensing panel 150 vibrates in response to the vibration of the board zone 144. The vibration sensor 164 connected to the respective sensing panel 150 measures the vibration of the respective sensing panel 150, and generates an electrical signal based on the measured vibration. More specifically, in some embodiments, the vibration sensor 164 can be configured to measure an amplitude and frequency of the vibration of the respective sensing panel 150 and generate an electrical signal indicating the measured amplitude and frequency of the vibration. For example, the vibration sensor 164 can be an accelerometer, a strain gauge or an eddy-current sensor.

[0059] The control box 110 includes a controller 112 that is configured to control operations of the target board 140. The controller 112 is operatively connected to the sensing panels 150. More specifically, the controller 112 is operatively connected to the sensor and light modules 160 (i.e., the light sources 162 and the vibration sensors 164), and is configured to control operation (e.g., the states) of the light sources 162 and receive and process the electrical signals generated by the vibration sensors 164.

[0060] In some embodiments, the controller 112 can be connected to the sensor and light modules 160 by wired connections. In some embodiments, the sensor and light modules 160 can be wired to the controller 112 in series. In some embodiments, the sensor and light modules 160 can be wired to the controller 112 in parallel. However, in some embodiments, groups of the sensor and light modules 160 can have sensor and light modules 160 wired to each other in series, and the groups can be separately wired to the controller 112.

[0061] In some embodiments, the sensor and light modules 160 can be wirelessly connected to the controller 112. Additionally, in some embodiments, groups of the sensor and light modules 160 can have sensor and light modules 160 wired to each other, and the groups can be wirelessly connected to the controller 112.

[0062] The controller 112 can have one or more communication channels for communications with the sensor and light modules 160. In some embodiments, the controller 112 can include one or more dedicated communication channels for each of the sensor and light modules 160.

[0063] In a game or training session, the controller 112 can repeatedly implement targeting intervals for preset lengths of time. During each targeting interval, the controller 112 can select a board zone 144 (indicated by shading in FIG. 1) as a target board zone for the player P to attempt to hit with the ball 2. The target board zone 144 can be selected randomly or based on a predetermined script. When the target board zone 144 is selected, the controller 112 controls the light source 162 of the corresponding sensor module (target sensor module) 160 to be in the second illumination state providing a visual target indication T (shown in FIG. 1) indicating that the target board zone 144 is a target for the player P to hit with the ball 2, and performs, for the targeting interval, a scoring assessment for scoring (i.e., determining the quality of) an attempt by the player P to hit the target board zone 144 with the ball 2. In some embodiments, the apparatus 100 can include an audio output device (e.g., speaker) 190 that emits a sound to indicate the beginning of the targeting interval.

[0064] In the scoring assessment, the controller 112 monitors a communication channel assigned to the target sensor module 160 for a vibration signal generated by the vibration sensor 164 of the target sensor module 160, to determine whether the ball 2 has hit the selected target board zone 144. In some embodiments, the controller 112 also monitors the communication channels assigned to other sensor modules 160 corresponding to the remaining board zones 144, or a portion of the remaining board zones 144 within a predetermined proximity of the target board zone 144, for vibration signals generated by the vibration sensors 164 of the other sensor modules 160, to determine whether the ball 2 has hit one of the remaining board zones 144.

[0065] In the scoring assessment, the controller 112 can determine whether the ball 2 has hit the target board zone 144 or one of the other board zones 144, based on whether the controller 112 receives a vibration signal from the target board zone 144 or one of the other board zones 144 that is characteristic of the ball 2 hitting the target board zone 144 or the one of the other board zones 144. In some embodiments, the controller 112 can determine whether the ball 2 has hit the target board zone 144 or one of the other board zones 144 based on the measured amplitude and frequency indicated by the vibration signal generated by the target sensor module 160 or the measured amplitude and frequency indicated by the vibration signal generated by the corresponding one of the other sensor modules 160, respectively. For example, the controller 112 can determine that the ball 2 has hit the target board zone 144 when the measured amplitude indicated by the vibration signal generated by the target sensor module 160 exceeds a threshold amplitude and, optionally, when the measured frequency indicated by the vibration signal generated by the target sensor module 160 sufficiently matches a reference frequency. Similarly, the controller 112 can determine that the ball 2 has hit one of the other board zones 144 when the measured amplitude indicated by the vibration signal generated by the corresponding sensor module 160 of the one of the other board zones 144 exceeds the threshold amplitude and, optionally, when the measured frequency indicated by the vibration signal generated by the corresponding one of the other sensor modules 160 sufficiently matches a reference frequency.

[0066] Further, in some embodiments, the controller 112 can determine the impact force of the ball 2 hitting the target board zone 144 or one of the other board zones 144 based on the measured amplitude indicated by the vibration signal generated by the target sensor module 160 or the measured amplitude indicated by the vibration signal generated by the corresponding one of the other sensor modules 160, respectively.

[0067] In the scoring assessment, the controller 112 can determine that the ball 2 does not hit the target board zone 144 when the measured amplitude indicated by the vibration signal generated by the target sensor module 160 does not exceed the threshold amplitude and/or when the measured frequency indicated by the vibration signal generated by the target sensor module 160 does not sufficiently match a reference frequency. Likewise, the controller 112 can determine that the ball 2 does not hit one of the other board zones 144 when the measured amplitude indicated by the vibration signal generated by the corresponding sensor module 160 of the one of the other board zones 144 does not exceed the threshold amplitude and/or when the measured frequency indicated by the vibration signal generated by the corresponding one of the other sensor modules 160 does not sufficiently match a reference frequency.

[0068] Further in the scoring assessment, the controller 112 can assign and output a targeting interval score (e.g., a number of points) to the player P for an attempt by the player P to hit the target board zone 144 with the ball 2, based on the determination of whether the ball 2 has hit the target board zone 144 and, optionally, the determination of whether the ball 2 has hit one of the other board zones 144. In some embodiments, the controller 112 can only assign a point (or points) to the targeting interval score when the controller 112 determines that the ball 2 has hit the target board zone 144. In such embodiments, the controller can assign zero points to the targeting interval score when the controller 112 determines that the ball 2 has not hit the target board zone 144 or any other board zone 144.

[0069] In some embodiments, the controller 112 can assign different amounts of points to the targeting interval score based on the proximity to the target board zone 144 of a location of the target board 140 that is determined to be hit by the ball 2. For example, in such embodiments, the controller 112 can assign a greater number of points to the targeting interval score when the controller 112 determines that the ball 2 has hit the target board zone 144, and can assign a lesser number of points when the controller 112 determines that the ball 2 has hit one of the other board zones 144, based on the proximity of the one of the other board zones 144 to the target board zone (e.g., a number of board zones 144 disposed between the one of the other board zones 144 and the target board zone 144). That is, the closer the one of the other board zones 144 is to the target board zone 144, the greater the number of points that are assigned when the controller 112 determines that the one of the other board zones 144 has been hit by the ball 2. Further in such embodiments, the controller 112 can assign zero points to the targeting interval score when the controller 112 determines that the one of the other board zones 144 hit by the ball 2 is outside a threshold proximity to the target board zone 144, or when the controller determines that the ball 2 has not hit the target board zone 144 or any other board zone 144.

[0070] Further, in some embodiments, the controller 112 can assign additional points to the targeting interval score based on the determined impact force of the ball 2 hitting the target board zone 144 or the one of the other board zones 144.

[0071] In some embodiments, when the controller 112 determines that the ball 2 has hit the target board zone 144 or one of the other board zones 144 during the targeting interval, the controller 112 can configure the light source 162 corresponding to the target board zone 144 to be in the third illumination state for a brief amount of time, to indicate that the ball 2 has hit the target board zone 144 or the one of the other board zones 144. However, in some embodiments, the controller 112 may not configure the light source 162 corresponding to the target board zone 144 or the one of the other board zones 144 to be in the third illumination state.

[0072] In some embodiments, when the controller 112 determines that that the ball 2 has hit the target board zone 144 or one of the other board zones 144, the controller 112 can control the audio output device 190 to cause the audio output device 112 to output a sound indicating that the ball 2 has hit the target board zone 144 or the one of the other board zones 144. Additionally, in some embodiments, the controller 112 can cause the audio output device 190 to output different respective sounds indicating that the target board zone 144 or the one of the other board zones 144 has been hit by the ball 2. Further, in some embodiments, the controller 112 can cause the audio output device 112 to output a sound indicating that the ball 2 has hit the target board zone 144, but may not cause the audio output device 112 to output a sound indicating that the ball 2 has hit the one of the other target board zones 144.

[0073] When a targeting interval ends, the controller 112 can configure the light source 162 corresponding to the target board zone 144 to be in the first illumination state. Also, in a case in which one of the other board zones 144 was hit by the ball 2 and the light source 162 corresponding to the one of the other board zones is in the third illumination state, the controller 112 can control the light source 162 of the one of the other target board zones 144 to be in the first illumination state. Optionally, the controller 112 can cause the audio output device 190 to output a sound indicating the end of the targeting interval. Additionally, the controller 112 can compute the targeting interval score for the attempt by the player P to hit the target board zone 144, as discussed above. Additionally, the controller 112 can add the targeting interval score to any previous targeting interval score(s) computed for the player P to compute a total current score for the player P.

[0074] After the targeting interval ends, the controller 112 can then start a new targeting interval in which another target board zone 144 is selected. The controller 112 can implement a prescribed number of targeting intervals until the game or training session is complete. Once the game or training session is complete, the controller 112 can compute a final score for the player P by summing the targeting interval scores for each targeting interval.

[0075] Although the description above describes the targeting interval having a duration of a preset length of time, in some embodiments, the targeting interval can have a duration that is the shorter of a preset length of time and a time at which the controller 112 determines that the ball 2 has hit the target board zone 144. That is, in some embodiments, the end of one targeting interval and the beginning of a subsequent targeting interval can be triggered by the controller 112 determining that the ball 2 has hit the target board zone 144 before the preset length of time for the targeting interval. In some embodiments, the preset length of time for the targeting interval can correspond to a preset length of time for the game session or training session.

[0076] Alternatively, the targeting interval can have a duration that is the shorter of a preset length of time and a time at which the controller 112 determines that the ball 2 has hit either the target board zone 144 or one of the other board zones 144. That is, in some embodiments, the end of one targeting interval and the beginning of a subsequent targeting interval can be triggered by the controller 112 determining that the ball 2 has hit the target board zone 144 or one of the other board zones before the preset length of time for the targeting interval. In some embodiments, the preset length of time for the targeting interval can correspond to a preset length of time for the game session or training session.

[0077] In some embodiments, the sports training apparatus 100 can include a display 194 that can be controlled by the controller 112 to display player information and statistics received from the controller 112, such as the player's name, a score for a targeting interval, a current total score, and a final score.

[0078] Although the sports training apparatus 100 is shown and described as including a single target structure 130, in some embodiments, multiple target structures 130 can be provided at different positions in a common space. Thus, multiple players P can train or participate in games at the same time, with each player P using a respective target structure 130. In such embodiments, a control box 110 and a controller 112 can be provided for each target structure 130 and the controllers 112 can communicate with each other through wired or wireless connections for sharing and displaying player information and game/training statistics for the respective players P. Alternatively, a common control box 110 and a common controller 112 can be provided for all of the target boards 130 in the common space.

[0079] FIG. 3 illustrates a sports training method, according to an embodiment. For example, the sports training method can be implemented in a training or game session using the sports training apparatus 100. Although the method of FIG. 3 can be implemented in different types of systems, the method is described below with respect to components of the sports training apparatus 100 to facilitate understanding of the description.

[0080] Referring to FIG. 3, in operation 300, the controller 300 can initiate a targeting interval.

[0081] In operation 302, the controller 112 can select a target board zone 144 among the board zones 144 of the target board 140. In operation 304, the controller 112 can control the light source 162 of the sensor module (target sensor module) 160 corresponding to the target board zone 144 to provide a visual target indication indicating that the target board zone 144 is a target for the player P to hit with the ball 2 and, in operation 306, can perform a scoring assessment for scoring an attempt by the player P to hit the target board zone 144 with the ball 2.

[0082] In the scoring assessment, the controller 112 can monitor a communication channel assigned to the target sensor module 160 for a vibration signal generated by the vibration sensor 164 of the target sensor module 160, to determine whether the ball 2 has hit the selected target board zone 144. The controller 112 can also monitor communication channels assigned to other sensor modules 160 corresponding to the remaining board zones 144, or a portion of the remaining board zones 144 within a predetermined proximity of the target board zone 144, for vibration signals generated by the vibration sensors 164 of the other sensor modules 160. The controller 112 can determine and output a score for the player P based a result of determining whether the ball 2 has hit the target board zone 144 and, optionally, a result of determining whether the ball 2 has hit one of the other board zones 144. If the controller determines that the ball 2 has hit the target board zone 144 or one of the other board zones 144, the controller 112 can also determine an impact force of the ball 2 hitting the target board zone 144 or the one of the other board zones 144, and further determine the score based on a determined impact force. The controller 112 can determine and output a current total score by adding the targeting interval score to the score(s) of any previous targeting interval(s).

[0083] Operations 300, 302, 304, and 306 can be performed sequentially or simultaneously.

[0084] Next, in operation 308, the controller 112 can end the targeting interval. The controller 112 can end the targeting interval after a prescribed length of time for the targeting interval has expired, or in response to detecting that the ball 2 has hit the target board zone 144 or detecting that the ball 2 has hit either the target board zone 144 or one of the other board zones 144. In operation 310, the controller 112 can determine whether a prescribed number of targeting intervals have been executed or, alternatively, whether a prescribed session time has elapsed. If, in operation 310, the controller 112 determines that a prescribed number of targeting intervals have not been performed or, alternatively, that the prescribed session time has not elapsed, the controller 112 repeats operations 300 through 308.

[0085] If, in operation 310, the controller 112 determines that a prescribed number of targeting intervals have been performed or, alternatively, that the prescribed session time has elapsed, the controller 112 ends the training or game session in operation 312. Further, in operation 312, the controller 112 can output the current total score as a final score for the player P.

[0086] FIG. 4 illustrates a master sensing panel 450 for a sports training system, according to an embodiment. In some embodiments, the control box 110 and controller 112 of FIG. 1 can be eliminated and the master sensing panel 450 can replace any one of the sensing panels 150 in the target structure 130 described above with respect to FIG. 1. A controller 412 can be provided on or in the master control panel 450. The controller 412 can have features and functions corresponding to those described above with respect to the controller 112 in the embodiment of FIG. 1. The controller 412 can be connected to each of the sensor and light modules 160 by wireless and/or wired connections as described above with respect to the controller 112.

[0087] FIG. 5 is a schematic illustration of a sports gaming system 500, according to an embodiment. The sports gaming system 500 includes the sports training apparatus 100, one or more servers 510, and a first electronic device 520 possessed and operated by the player P.

[0088] The server 510 can be a computer device including one or more processors and one or more memories. In some embodiments the server 510 can be located remotely from the sports training apparatus 100. However, in some embodiments, the server 510 can be co-located with the sports training apparatus 100.

[0089] The electronic device 520 can be a portable electronic device, such as a mobile phone, a smart watch, a tablet, a laptop computer, or a portable game console. Alternatively, the electronic device 520 can be a non-portable electronic device, such as a game console, a game terminal, or a desktop computer.

[0090] The controller 112 of the sports training apparatus 100 and the server 510 can communicate with each other by a wireless connection. For example, the controller 112 and the server 510 can communicate with each other over the internet or other network by a wireless network connection. The controller 112 and the electronic device 520 can communicate with each other by a wireless connection, such as a Wi-Fi or Bluetooth connection. Additionally, the electronic device 520 and the server 510 can communicate with each other over the internet or other network by a wireless network connection.

[0091] The electronic device 520 can include a software program installed thereon and can implement the software program to interact with the controller 112 to implement a game session or training session using the sports training apparatus 100.

[0092] FIG. 6 is a schematic diagram of the electronic device 520, according to an embodiment. As shown in FIG. 6, the electronic device 520 can include one or more processors 522, one or more memories 524, a display 526, one or more input devices 528, and an audio output device 529. The one or more memories 524 can store processor-executable instructions (e.g., program code) of the software application and information applied by the executable instructions, including game performance data (e.g., recorded hits of the target board zone, the scoring information, and/or impact force information for scoring intervals) of the player P and personal information of player P. The one or more processors 522 can be configured to execute the processor-instructions stored in the one or more memories 524.

[0093] Still referring to FIG. 6, the display 526 can display one or more graphic user interfaces (GUIs) 527 and, in some embodiments, can include a touchscreen for operating the GUIs 527. Additionally, the one or more input devices 528 can be operated by a user (e.g., the player P) for operating the one or more GUIs 527. For example, the one or more input devices 528 can include any one or more of a keyboard, physical buttons, a touchpad, a mouse, a trackball, and a microphone.

[0094] The audio output device 529 can include one or more speakers configured to output various sounds corresponding to inputs applied through the one or more GUIs 527, and various sounds corresponding to events in the game session or training session as prescribed by the software program, such as the ball 2 successfully hitting the target board zone 144, the ball 2 failing to hit the target board zone 144, the ball 2 hitting a board zone 144 other than the target board zone, the beginning and ending of a targeting interval, and the beginning and ending of the game session or training session.

[0095] Using an input device 528 or the touchscreen of the display 526, a user (e.g., the player P) can enter personal information of the player P, such as the name, location, nationality, height, weight, age, and gender of the player P though the one or more GUIs 527. The entered personal information can be stored in the one or more memories 528.

[0096] Referring to FIGS. 5 and 6, the electronic device 520 can implement the software program to communicate with the controller 112, and thereby control certain operations and parameters of the sports training apparatus 130. For example, by using the touchscreen or an input device 128 to operate the one or more GUIs 527, a user (e.g., the player P) can control starting and ending of a game session or training session, a length of the game session or training session (e.g., the length of time or number of targeting intervals to be executed), settings determining the characteristics of the first, second, and third illumination states of the light sources 162, and settings determining the characteristics of various sounds output by the speaker 190.

[0097] In some embodiments, the electronic device 520 can implement the software program to receive information from the controller 112 indicating whether the ball 2 has hit a target board zone 144 or one of the other board zones 144 during a targeting interval and, in some embodiments, can further receive information from the controller 112 about the impact force of the ball 2 hitting the target board zone 144 or one of the other board zones 144. Thus, in some embodiments, instead of the controller 112 calculating scoring information (e.g., the targeting interval score, the total current score, the final score) of the gaming/training session for the player P, the software program can calculate the scoring information in the manner described above with respect to the controller 112, and can display the scoring information, and optionally impact force information, in the one or more GUIs 527. However, in some embodiments, the controller 112 can calculate the scoring information, and the electronic device 520 can receive the scoring information and the impact force information from the controller 112, and the software program can display the scoring information and the impact force information in the one or more GUIs 527. Additionally, the software program can store the scoring information and the impact force information in the one or more memories 524.

[0098] Further still, the software program or the controller 112 can calculate historical scoring information and historical impact force information for the player P, and the software program can store this historical information in the one or more memories 524.

[0099] Additionally, the software program or the controller 112 can calculate scoring accuracy information (e.g., a percentage of attempts that resulted in the ball hitting the target board zone 144) of the player P for a game session/training session and/or historical scoring accuracy information for the player P, and the software program can store the scoring accuracy information and the historical scoring accuracy information in the one or more memories 524, and display this accuracy scoring information in the one or more GUIs 527.

[0100] The electronic device 520 and/or the controller 112 can send the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, and the historical accuracy information to the server 510, and the server 510 can store all of this information and the personal information of the player P, indexed to the player P, in a database of the server 510. Alternatively, in some embodiments, to reduce usage of processing and memory resources of the electronic device 520, the historical scoring information, the historical impact force information, and the historical accuracy information can be calculated and stored by the server 510 instead of the electronic device 510, and the software program can retrieve this historical information from the server 510 for presentation to the player P in the one or more GUIs 527.

[0101] Additionally, the server 510 can store the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, the historical accuracy information, and the personal information of other players, respectively indexed to the other players, in the database of the server 510. Further, the server 510 can determine rankings of all players stored in the database based on the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, the historical accuracy information, and the personal information of each of the players stored in the database. The software program can retrieve some or all of this stored information and rankings for presentation to the player P in the one or more GUIs 527.

[0102] Additionally, the server 510 can receive and store software update information, such as software patches and additional software modules, that can be downloaded by the electronic device 520 to update the software program.

[0103] FIGS. 7A to 7J are diagrams of GUIs of the software program implemented by the electronic device 520, according to embodiments. The GUIs in FIGS. 7A to 7J can correspond to the one or more GUIs 527 described above with respect to FIGS. 5 and 6. FIG. 7A is a diagram of a first GUI 700 (hereinafter, main menu GUI 700) including a main menu 701 that can also be selectively launched in each of the other GUIs. FIG. 7B is a diagram of a second GUI 710 (hereinafter, profile information GUI 710) for presenting player profile information of the player P. FIG. 7C is a diagram of a third GUI 720 (hereinafter, index information GUI 720) for presenting player index information of the player P. FIG. 7D is a diagram of a fourth GUI 730 (hereinafter, profile information editing GUI 730) for editing the player profile information of the player P. FIG. 7E is a diagram of a fifth GUI 740 (hereinafter, player settings GUI 740) for presenting and editing player settings of the player P. FIG. 7F is a diagram of a sixth GUI 750 (hereinafter, performance analysis GUI 750) for presenting performance analysis information of the player P. FIG. 7G is a diagram of a seventh GUI 760 (hereinafter, global leaderboard GUI 760) for presenting global leaderboard information. FIG. 7H is another diagram illustrating the first GUI 700. FIG. 7I is a diagram of an eighth GUI 770 (hereinafter, friends list GUI 770) for presenting and editing a list of friends of the player P. FIG. 7J is a diagram of a ninth GUI 780 (hereinafter, notifications GUI 780) for presenting notification information for the player P.

[0104] Referring to FIG. 7A, the main menu 701 of the main menu GUI 700 can include a first menu tab 702 (player information menu tab 702) that is selectable for opening a first drop-down menu 703 (player information drop-down menu 703). The player information drop-down menu 703 can include a first sub-menu tab 703a that is selectable to launch the profile information GUI 710 of FIG. 7B, a second sub-menu tab 703b that is selectable to launch the index information GUI 720 of FIG. 7C, a third sub-menu tab 703c that is selectable to launch the profile information editing information GUI 730 of FIG. 7D, and a fourth sub-menu tab 703d that is selectable to launch the settings GUI 740 of FIG. 7E.

[0105] Referring to FIG. 7B, the profile information GUI 710 can include a profile picture 712 of the player P, biographical information 714 of the player P, and historical game/training session information 716 of the player P. For example, the biographical information 714 can include the name, age, and nationality of the player P. In some embodiments, the historical game/training session information can include a total number of game/training sessions the player P has participated in, first and last session dates and times of the player P, a total number of passes (successful attempts to hit the target board zone 144) made by the player P, and a pass accuracy of the player P.

[0106] Referring to FIG. 7C, the index information GUI 720 can include the profile picture 712, a circular performance attribute graph 722 indicating a passing rating and a vision rating for the player P, and a passing rating bar graph 724 indicating the passing rating, and a vision rating bar graph 726 indicating the vision rating. The vision rating can be a rating of a reaction time of the player P. For example, the vision rating can be based on how quickly the player P hits a target board zone 144, or, in a case in which multiple target board zones 144 are presented at the same time, how quickly the player hits the target board zones 144.

[0107] Referring to FIG. 7D, the profile information editing GUI 730 can include several editable fields for inputting the profile information of the player P. For example, the profile information editing GUI 730 can include the profile picture 712 and a profile picture tab 733 that is selectable to enable input of a new profile picture from a connected camera or storage. The profile information editing GUI 730 can further include a first name field 734 and a last name field 735 in which the first name of the player P and the last name of the player P, respectively, can be input. The GUI 730 can also include gender tabs 736 that are selectable to indicate a gender of the player P, a nationality field 737 in which the nationality of the player P can be input, and birth date field 738 in which the birth date of the player P can be input.

[0108] As shown in FIG. 7E, the player settings GUI 740 can include an e-mail address field 742 for inputting an e-mail address of the player P, a password filed 744 for inputting a password for the player P to access the software application, a country field 746 for imputing a residence country of the player P, and a username field 748 for inputting a username by which the player P can be identified when using the software application.

[0109] Referring back to FIG. 7A, the main menu 701 can include a second menu tab 704 (performance analysis menu tab 704) that is selectable to launch the performance analysis GUI 750. As shown in FIG. 7F, the performance analysis GUI 750 can include a refresh tab 752 that is selectable to refresh the contents displayed in the performance analysis GUI 750, and a filter tab 754 for filtering the contents displayed in the performance analysis GUI 750. Additionally, the performance analysis GUI 750 can include a session scoring chart 756 indicating game/training sessions and corresponding scores over a timeframe specified through selection of one of score timeframe tabs 757. The performance analysis GUI 750 can further include fields 758 displaying a date, a time, a game/training session mode, a score, a number of misses, and a pass percentage for respective game/training sessions indicated in the session scoring chart 756.

[0110] Referring to FIG. 7A again, the main menu 701 can further include a third menu tab 705 (global leaderboard menu tab 705) that is selectable to launch the global leaderboard GUI 760. Referring to FIG. 7G, the global leaderboard GUI 760 can include a refresh tab 762 that is selectable to refresh the contents displayed in the global leaderboard GUI 760, and a filter tab 764 for filtering the contents displayed in the global leaderboard GUI 760. The global leaderboard GUI 760 can include a leaderboard field 766 that includes a ranking of the player P and other players that have used the software application. The metrics for the ranking in the leaderboard field 766 can be, for example, historical scoring, historical pass accuracy, scoring in a particular game/training session, and/or pass accuracy in a particular game/training session, as determined by one or more filters applied via the filter tab 764.

[0111] Referring to FIG. 7H, the main menu 701 can further include a fourth menu tab 706 (friend information tab 706) that is selectable for opening a second drop-down menu 707 (friend information drop-down menu 707). The friend information drop-down menu 707 can include: a first sub-menu tab 707a that is selectable to launch the friends list GUI 770 of FIG. 7I; a second sub-menu tab 707b that is selectable to launch a GUI (not shown) presenting a leaderboard ranking friends of the player P based on metrics such as historical scoring, historical pass accuracy, scoring in a particular game/training session, and/or pass accuracy; and a third sub-menu tab 707c that is selectable to launch a GUI (not shown) presenting friend invitations from other players requesting the player P to become a friend of the other players.

[0112] As shown in FIG. 7I, the friends list GUI 770 can include a friends list 772 that lists all designated friends of the player P that are using the software application, and a friend addition tab 774 that is selectable for the player P to select other players to request to add as friends.

[0113] Turning back to FIG. 7A, the main menu 701 can further include a fifth menu tab 708 (notifications tab 708) that is selectable to launch the notifications GUI 780 of FIG. 7J. As shown in FIG. 7J, the notifications GUI 780 can include a notifications list 782 including notifications, such as notifications related to the software program and notifications concerning activities and accomplishments of the player P and/or of friends of the player P with respect to game/training sessions. Additionally, the notifications GUI 780 can include a notification deletion tab 784 that is selectable to delete the notifications in the notifications GUI 780.

[0114] Additionally, as shown in FIG. 7A, the main menu 701 can include a log in/log off tab 709 that is selectable for the player P to log into and log off of the software program.

[0115] FIG. 8 is a schematic illustration of a sports gaming system 800, according to an embodiment. The sports gaming system 800 enables an individual player or multiple players to participate in online training or game sessions. For example, in the embodiment illustrated in FIG. 5, the sports gaming system 800 includes one or more servers 810, a first electronic device 820-1 possessed and operated by a first player P1, a second electronic device 820-1 possessed and operated by a second player P2, a first sports training apparatus 900-1 for use by the first player P1, and a second sports training apparatus 900-2 for use by the second player P2. The server 810 can correspond to the server 510 of FIG. 5 and, therefore, can have the same features and functions described above with respect to the server 510. The first and second electronic devices 820-1 and 820-2 can correspond to the electronic device 520 of FIG. 5 and, thus, can have the same features and functions described above with respect to the electronic device 520. Furthermore, the first and second sports training apparatuses 900-1 and 900-2 can correspond to the sports training apparatus 100 of FIGS. 1 and 5 and, therefore, can have the same features and functions described above with respect to the sports training apparatus 100.

[0116] It is to be understood that the embodiment illustrated in FIG. 8 is merely an example, and a sports training system can include any number of sports training apparatuses to be used in connection with a corresponding number of players and electronic devices.

[0117] The sports gaming system 800 can implement a joint game session or joint training session in which the first and second players P1 and P2 compete against each other or play/train cooperatively at substantially the same time (e.g., in real time). Alternatively, the sports gaming system 800 can implement a solo game/training session for the first player P1 or the second player P2 that is not linked to a game session of another player.

[0118] In some embodiments, the first sports training apparatus 900-1, the first player P1, and the first electronic device 820-1 can be located in a same facility or venue as the second sports training apparatus 900-2, the second player P2, and the second electronic device 820-2. However, in some embodiments, the first sports training apparatus 900-1, the first player P1, and the first electronic device 820-1 can be located in a first facility or venue, and the second sports training apparatus 900-2, the second player P2, and the second electronic device 820-2 can be located in a second facility or venue that is remote from the first facility or venue.

[0119] The server 810 can communicate with a first controller 912-1 of the first sports training apparatus 900-1, a second controller 912-2 of the second sports training apparatus 900-2, the first electronic device 820-1, and the second electronic device 820-2 in the same manner described above with respect to the controller 112 and the electronic device 520 of FIG. 5. Thus, the server 810 can store the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, the historical accuracy information, and the personal information of the first and second players P1 and P2. Additionally, during a joint game session or at any other time, the server 810 can share the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, the historical accuracy information, and the personal information of the second player P2 to the first electronic device 820-1 for viewing by the first player P1, and can share the scoring information, the historical scoring information, the impact force information, the historical impact force information, the accuracy information, the historical accuracy information, and the personal information of the first player P1 to the second electronic device 820-2 for viewing by the second player P2.

[0120] Additionally, when the system 800 implements joint game session or training session for the first and second players P1 and P2, the server 810 can coordinate configurations and operations of the first and second controllers 912-1 and 912-2 for controlling the joint game session. Further, in the case of a competitive game session, the server 810 can compare scoring information of the first and second players P1 and P2 and rank the first and second players P1 and P2 relative to each other based on the result of the comparison. Additionally, the server 810 can rank the first and second players P1 and P2 in the joint game/training session relative to other players whose scoring information from other game/training sessions is stored in the database of the server 810.

[0121] The controllers, the processors, and the memories, such as the controllers 112, 912-1, and 912-2 in FIGS. 1, 5, and 8, the one or more processors 522 in FIG. 6, and the one or more memories 524 in FIG. 6 that perform the operations described in this application are implemented by hardware components configured to perform the operations described in this application that are performed by the hardware components. Examples of hardware components that may be used to perform the operations described in this application where appropriate include controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application. In other examples, one or more of the hardware components that perform the operations described in this application are implemented by computing hardware, for example, by one or more processors or computers. A processor or computer may be implemented by one or more processing elements, such as an array of logic gates, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a programmable logic controller, a field-programmable gate array, a programmable logic array, a microprocessor, or any other device or combination of devices that is configured to respond to and execute instructions in a defined manner to achieve a desired result. In one example, a processor or computer includes, or is connected to, one or more memories storing instructions or software that are executed by the processor or computer. Hardware components implemented by a processor or computer may execute instructions or software, such as an operating system (OS) and one or more software applications that run on the OS, to perform the operations described in this application. The hardware components may also access, manipulate, process, create, and store data in response to execution of the instructions or software. For simplicity, the singular term processor or computer may be used in the description of the examples described in this application, but in other examples multiple processors or computers may be used, or a processor or computer may include multiple processing elements, or multiple types of processing elements, or both. For example, a single hardware component or two or more hardware components may be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller, may implement a single hardware component, or two or more hardware components. A hardware component may have any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing.

[0122] The methods illustrated in FIG. 3 that perform the operations described in this application are performed by computing hardware, for example, by one or more processors or computers, implemented as described above executing instructions or software to perform the operations described in this application that are performed by the methods. For example, a single operation or two or more operations may be performed by a single processor, or two or more processors, or a processor and a controller. One or more operations may be performed by one or more processors, or a processor and a controller, and one or more other operations may be performed by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller, may perform a single operation, or two or more operations.

[0123] Instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above may be written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the one or more processors or computers to operate as a machine or special-purpose computer to perform the operations that are performed by the hardware components and the methods as described above. In one example, the instructions or software include machine code that is directly executed by the one or more processors or computers, such as machine code produced by a compiler. In another example, the instructions or software includes higher-level code that is executed by the one or more processors or computer using an interpreter. The instructions or software may be written using any programming language based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions in the specification, which disclose algorithms for performing the operations that are performed by the hardware components and the methods as described above.

[0124] The instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media. Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid-state disks, and any other device that is configured to store the instructions or software and any associated data, data files, and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files, and data structures to one or more processors or computers so that the one or more processors or computers can execute the instructions. In one example, the instructions or software and any associated data, data files, and data structures are distributed over network-coupled computer systems so that the instructions and software and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by the one or more processors or computers.

[0125] Although specific terminology has been used in this disclosure, for example, *, it will be apparent after an understanding of the disclosure of this application that different terminology may be used to describe the same features, and such different terminology may appear in other applications.

[0126] While this disclosure includes specific examples, it will be apparent after an understanding of the disclosure of this application that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner, and/or replaced or supplemented by other components or their equivalents. Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.