Installation, configuration, and calibration of an RF tag based object tracking system for use in a sports environment is a labor intensive and iterative process that requires expert knowledge. Receivers are first installed around a perimeter of the sports environment and each receiver is manually aimed, by eye, at a predetermined location within the sporting environment such that uniform coverage of a specific region of the sports environment (e.g., a portion of a playing surface) is achieved. An initial system performance evaluation is completed by recording and manually analyzing location data determined by the object tracking system for an RF tag placed on a technician as he/she walks a predetermined path within the sports environment. The predetermined path is designed to establish receiver coverage of the sports environment by the object tracking system.
This recording and manual analysis process is iteratively repeated, typically using three different paths of increasing granularity. After analyzing the location data from a current path, the technician will either manually adjust one or both of pan and tilt of one or more receivers and repeat the current path, or continue the process by performing the next path.
This approach requires that the technician has a system expert's intimate knowledge of receiver characteristics and associated skill to extract information from the location data recorded for each test path. The expert knowledge required is at a very high premium and the application of the knowledge varies from technician to technician,
Thus, installation of an RF tag based object tracking system (a) requires highly specific expert knowledge, (b) is time intensive, (c) is a labor intensive incremental adjustment process, (d) may result in the RE tag based object tracking system operating at adequate but not optimal performance, and (e) result in inconsistent performance from installation to installation.
In an embodiment, an optimization method displays errors of a tracking system that utilizes a plurality of receivers positioned around a tracking area to receive pings periodically transmitted by a tracking tag within the tracking area. A plurality of locates are received in chronological order from the tracking system, each locate defining a location of the tracking tag calculated by the tracking system from one of the pings received by at least two of the receivers. For each locate, a symbol is plotted on a display graphically depicting the tracking area, the symbol being indicative of the location relative to the tracking area. A vector connecting each pair of chronologically consecutive symbols is plotted on the display, the vector visually indicating an error within the locates that would otherwise not be visible on the display.
In another embodiment, a software product includes instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a computer, perform steps for displaying errors of a tracking system that utilizes a plurality of receivers positioned around a tracking area to receive pings periodically transmitted by a tracking tag within a tracking area. The software product includes instructions for receiving, from the tracking system, a plurality of locates in chronological order, each locate defining a location of the tracking tag calculated by the tracking system from one of the pings received by at least two of the receivers. The software product also includes instructions for plotting, for each locate, a symbol on a display graphically depicting the tracking area, the symbol being indicative of the location relative to the tracking area. The software product also includes instructions for plotting, on the display, a vector connecting each pair of chronologically consecutive symbols, the vector visually indicating an error within the locates that would otherwise not be visible on the display.
In another embodiment, a method concurrently displays predicted sensitivity for each of at least two receivers of a tracking system that locates tracking tags within a tracking area, the receivers being positioned within a surrounding area of the tracking area to receive pings transmitted from the tracking tags. A graphical representation of the surrounding area and the tracking area is generated on a display. A position of each of the two receivers relative to the tracking area, and an orientation of each of the two receivers relative to a reference direction are interactively received. Each of the at least two receivers are modeled to determine sensitivity of the receiver to the pings based upon the receiver position and the receiver orientation. A graphical representation of the sensitivity of each of the two receivers is generated on the display relative to the graphical representation of the surrounding area and the tracking area. The graphical representation of the surrounding area, the tracking area, and the receiver sensitivities indicate the predicted receiver coverage of the tracking area by the at least two receivers.
PCT patent application publication WO 2014/197600, filed Dec. 11, 2014, and incorporated herein in its entirety and attached as Appendix A, illustrates tools used to configure and optimize an object tracking system. The functionality described herein enhances these tools to visualize problems in deployment of the tracking system, and to visualize the resolution of these problems.
Tracking computer 140 includes a memory and a processor that executes software (machine readable instructions store in the memory) to process receiver events 105, either as received from hub 110 or as replayed by tool 112 from tracking data 120, and to generate a locate 142 for each ping 108 received by three or more receivers 104. Each locate 142 defines the determined location of tag 106 with respect to tracking area 102 at the time that the ping 108 was transmitted. Tracking computer 140 sends locates 142, as they are determined, to optimization tool 150.
It should be appreciated that the memory and processor of tracking computer 140 may be the same as, or separate from, that of record/replay tool 112, or any other device herein that includes a processor or memory. In otherwords, each processor and memory discussed herein may be the same processor and memory that stores various software instructions for implementing the functionality of the elements of the advanced tools for an object tracking system discussed herein. Alternatively, each of the elements of the tools herein may be separate elements in that they each have respective processor(s) and memory for implementing a given functionality.
Optimization tool 150 is a computer that includes a display 156, a memory, a processor, and software 151 (i.e., machine readable instructions stored in the memory and executed by the processor) to control display 156 to display a graphical representation 156 of tracking area 102 (e.g., of the ice rink) to illustrate operation of tracking system 100. Software 151 includes a plotter 152 that invokes a symbol generator 154 to display each locate 142 on display 156 in relation to representation 156,
The accuracy and quality of the determined location in each locate 142 is based upon ping 108 being detected by receivers 104, and thus accuracy and quality of each locate 142 may vary due to unpredictable environmental conditions that result in degraded reception of ping 108 by one or more receivers 104. Symbol generator 154 generates symbols 160 (illustratively shown as circles) to represent each locate 142 with respect to representation 158. Symbols 160 may also indicate other errors and information corresponding to locate 142, such as by displaying symbol 160 in an alternative color to indicate an error (e.g. too few receivers, no convergence, etc.) or missing locate. Spacing of symbols 160 on display 156 is based upon at least the periodicity of ping 108 and the movement (speed) of tag 106. Where tag 106 is moving slowly or is stationary, symbols 160 are plotted closer together.
Symbol generator 154 may determine one or more of shape, color, and size of symbol 160 based upon information within locate 142, such as one or more of accuracy, errors, or other status of locate 142. In the example of
Although using different symbols to indicate certain aspects of each locate 142 provides some indication of potential problems in the configuration and operation of tracking system 100, these symbols do not visualize all issues with locates 142. For example, as shown in
Similar to tool 150, plotter 252 and symbol generator 254 cooperate to generate a graphical representation on display 256 of tracking area 102 and symbols 260, 262 corresponding to locates 142. For each pair of chronologically consecutive locates 142, vector generator 255 generates a straight line 264 between locations defined by the chronologically consecutive locates, and shows line 264 on display 256. Where the pair of chronologically consecutive locates 142 are shown as symbols 260 on display 256, the line appears to connect the symbols. Thus, where tracking system 100 optimally detects each ping 108 and correctly determines the location for each locate 142, lines 264 are short since chronologically consecutive symbols 260 are close to one another. However, where the determined location of at least one of the pair of chronologically consecutive locates 142 is erroneous, the length of line 264 is greater such that line 264 becomes more visible (and there error more obvious) to the viewer. As noted above, symbols 160 of display 156 of
In the example of
In step 502, method 500 positions at least three receivers around a tracking area. In one example of step 502, at least three receivers 104 are positioned around tracking area 102. In step 504, method 500 moves a tracking tag configured to periodically transmit a ping within the tracking area. In one example of step 504, tracking tag 106 is configured to periodically transmit ping 108 and is moved within tracking area 102 in a particular pattern. In one embodiment, tracking tag 106 is positioned on a remote controlled vehicle that is controlled by optimization tool 250 to move in a predefined pattern at a constant speed within tracking area 102. In step 506, method 500 generates, within each receiver, a receiver event for each ping received by the receiver. In one example of step 506, for each received ping 108, receivers 104 are configured to generate and send receiver event 105 to hub 110, where receiver event 105 identifies tag 106 and indicates a time of arrival of ping 108 at receiver 104.
In step 508, method 500 processes the receiver events to determine a location of the tracking tag for each ping. In one example of step 508, tracking computer 140 processes receiver events 105 and generates locates 142, where each locate 142 defines a location of tag 106 within tracking area 102. In step 510, method 500 plots a symbol corresponding to each determined location on a graphical representation of the tracking area. In one example of step 510, plotter 252 and symbol generator 254 cooperate to generate symbols 260, 262, on display 256 corresponding to each locate 142.
In step 512, method 500 generates a vector on the graphical representation connecting each chronologically consecutive pair of determined locations. In one example of step 512, plotter 252 and vector generator 255 cooperate to generates lines 264 on display 256 between locations of chronologically adjacent locates 142. In step 514, method 500 identifies areas of the graphical display where the vectors indicate location errors. In one example of step 514, lines 264 on display 256 highlight errors in determined locations (locates 142), thereby identifying areas 270 within tracking area 102 where ping 108 is not optimally received by receivers 104. Since lines 264 are longer where the location error is greatest, an engineer or operator easily sees where the error is occurring.
Step 516 is a decision. If, in step 516, method 500 determines that optimization is required, method continues with step 518; otherwise, method 500 terminates.
In step 518, method 500 adjust configuration of the tracking system. In one example of step 518, alignment of one or more receivers 104 is adjusted (either manually and/or automatically) to improve reception of ping 108 from identified areas of tracking area 102. Steps 504 through 518 repeat to reevaluate tracking system 100 and further adjust if optimization is still necessary.
As shown in the example of
For correct operation of tracking system 900, at least three, preferably four or more, receivers 906 are required to simultaneously receive a wireless transmission (ping) from a tracking tag attached to an object located within tracking area 902. Thus, receivers 906 are positioned and oriented such that their sensitivity areas 1102 overlap within tracking area 902. In the example of
In the example of
Optimizing tool 950 facilitates installation of tracking system 900 to optimally track objects (e.g., players, balls, officials) configured with tracking tags when within tracking area 902.
Changes may be made in the above methods and systems without departing from the scope hereof. It should thus be noted that the matter contained in the above description or shown in the accompanying drawings should be interpreted as illustrative and not in a limiting sense. The following claims are intended to cover all generic and specific features described herein, as well as all statements of the scope of the present method and system, which, as a matter of language, might be said to fall therebetween.