Advanced tools for an object tracking system

A method and software product display 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. For each locate received from the tracking system, a symbol indicative of the locate is plotted on a display graphically depicting 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. Another 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. A graphical representation of the surrounding area, the tracking area, and receiver sensitivities indicate the predicted receiver coverage of the tracking area.

BACKGROUND

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.

SUMMARY OF THE INVENTION

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.

DETAILED DESCRIPTION OF THE EMBODIMENTS

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.

FIG. 1shows a tracking system100configured for a tracking area102(e.g., a football field for playing American football, an ice rink used for playing ice hockey, and so on) and an optimization tool150that is used to optimize performance of tracking system100, in embodiments. Tracking area102may represent any area desired to be tracked, such as any sports field, and is not limited in scope to the football field or ice rink expressly mentioned herein. Tracking system100includes four receivers104positioned around tracking area102(also known as an operational area) that are each communicatively coupled with a hub110. Within tracking area102a tracking tag106is configured to periodically transmit a wireless signal (ping)108. As each ping108is received by receivers104, receiver104generates a receiver event105that includes arrival time, data content, as well as other data, of ping108, and sends receiver event105to hub110, from where it is optionally recorded by a record/replay tool112as tracking data120and/or delivered to tracking computer140for immediate processing. Record/replay tool112may comprise a processor and associated memory storing software that, when executed by the processor, implements the recording and replay functionality of tool112discussed herein. Optionally, where tracking data120has been recorded by tool112, tool112may replay all or part of tracking data120(i.e., receiver events105corresponding to certain receivers and/or a certain period) to tracking computer140. Tool112may replay tracking data120at a desired speed, such as one of real-time (i.e., at the rate it was received), at slow speed (e.g., at a reduced rate as compared to the recording rate), and at a fast speed (e.g., at a rate faster than received). For example, tool112may replay receiver events105of tracking data120at a rate that matches the processing speed of tracking computer140.

Tracking computer140includes a memory and a processor that executes software (machine readable instructions store in the memory) to process receiver events105, either as received from hub110or as replayed by tool112from tracking data120, and to generate a locate142for each ping108received by three or more receivers104. Each locate142defines the determined location of tag106with respect to tracking area102at the time that the ping108was transmitted. Tracking computer140sends locates142, as they are determined, to optimization tool150.

It should be appreciated that the memory and processor of tracking computer140may be the same as, or separate from, that of record/replay tool112, 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 tool150is a computer that includes a display156, a memory, a processor, and software151(i.e., machine readable instructions stored in the memory and executed by the processor) to control display156to display a graphical representation156of tracking area102(e.g., of the ice rink) to illustrate operation of tracking system100. Software151includes a plotter152that invokes a symbol generator154to display each locate142on display156in relation to representation156.

The accuracy and quality of the determined location in each locate142is based upon ping108being detected by receivers104, and thus accuracy and quality of each locate142may vary due to unpredictable environmental conditions that result in degraded reception of ping108by one or more receivers104. Symbol generator154generates symbols160(illustratively shown as circles) to represent each locate142with respect to representation158. Symbols160may also indicate other errors and information corresponding to locate142, such as by displaying symbol160in an alternative color to indicate an error (e.g. too few receivers, no convergence, etc.) or missing locate. Spacing of symbols160on display156is based upon at least the periodicity of ping108and the movement (speed) of tag106. Where tag106is moving slowly or is stationary, symbols160are plotted closer together.

Symbol generator154may determine one or more of shape, color, and size of symbol160based upon information within locate142, such as one or more of accuracy, errors, or other status of locate142. In the example ofFIG. 1, symbol160(A) is shown in heavy line to indicate a reduced accuracy (e.g., due to poor reception of ping108, etc.) of the corresponding locate142.

Although using different symbols to indicate certain aspects of each locate142provides some indication of potential problems in the configuration and operation of tracking system100, these symbols do not visualize all issues with locates142. For example, as shown inFIG. 1, based upon the position of symbols160on display156, locates142appear to accurately track the movement of tag106within tracking area102. However, where errors in locate142are large, the symbol may not be shown on display156, and thus the error is not noticed by the viewer.

FIG. 2shows tracking system100ofFIG. 1configured with an improved optimization tool250that is similar to tool150ofFIG. 1, including a display256, software251with a plotter252and a symbol generator254, and further includes, within software251, a vector generator255.FIG. 3shows display256ofFIG. 2in further example detail.FIGS. 2 and 3are best viewed together with the following description.

Similar to tool150, plotter252and symbol generator254cooperate to generate a graphical representation on display256of tracking area102and symbols260,262corresponding to locates142. For each pair of chronologically consecutive locates142, vector generator255generates a straight line264between locations defined by the chronologically consecutive locates, and shows line264on display256. Where the pair of chronologically consecutive locates142are shown as symbols260on display256, the line appears to connect the symbols. Thus, where tracking system100optimally detects each ping108and correctly determines the location for each locate142, lines264are short since chronologically consecutive symbols260are close to one another. However, where the determined location of at least one of the pair of chronologically consecutive locates142is erroneous, the length of line264is greater such that line264becomes more visible (and there error more obvious) to the viewer. As noted above, symbols160of display156ofFIG. 1appear to correctly track the location of tag106. However, as shown in the enhanced display256ofFIGS. 2 and 3, lines264indicate that symbol362, and thus the location defined by the corresponding locates142, are erroneous.

FIG. 4shows a further example of display256showing lines264generated by vector generator255when the erroneous location of several locates142cannot be shown on display256. That is, symbols260corresponding to these erroneous locates142cannot be generated by symbol generator254since they fall outside the area represented by display256. However, as shown inFIG. 4, even when symbols260cannot be shown in display256, at least part of lines264generated by vector generator255are visible on display256, and the possible configuration error of tracking system100becomes visible to the viewer.

In the example ofFIG. 4, even though symbols corresponding to the erroneous locates142cannot be displayed, convergence of lines264provide additional information to indicate the locations of these erroneous locates142. As known in the art, certain materials reflect radio waves, resulting in the erroneous locations of some locates142. By visually displaying lines264on display256, the viewer gains valuable insight into possible causes of the error.

FIG. 5is a flowchart illustrating one example method500for visually evaluating and optimizing installation of tracking system100ofFIGS. 1 and 2. At least steps510and512of method500are for example implemented within software251of optimization tool250ofFIG. 2.

In step502, method500positions at least three receivers around a tracking area. In one example of step502, at least three receivers104are positioned around tracking area102. In step504, method500moves a tracking tag configured to periodically transmit a ping within the tracking area. In one example of step504, tracking tag106is configured to periodically transmit ping108and is moved within tracking area102in a particular pattern. In one embodiment, tracking tag106is positioned on a remote controlled vehicle that is controlled by optimization tool250to move in a predefined pattern at a constant speed within tracking area102. In step506, method500generates, within each receiver, a receiver event for each ping received by the receiver. In one example of step506, for each received ping108, receivers104are configured to generate and send receiver event105to hub110, where receiver event105identifies tag106and indicates a time of arrival of ping108at receiver104.

In step508, method500processes the receiver events to determine a location of the tracking tag for each ping. In one example of step508, tracking computer140processes receiver events105and generates locates142, where each locate142defines a location of tag106within tracking area102. In step510, method500plots a symbol corresponding to each determined location on a graphical representation of the tracking area. In one example of step510, plotter252and symbol generator254cooperate to generate symbols260,262, on display256corresponding to each locate142.

In step512, method500generates a vector on the graphical representation connecting each chronologically consecutive pair of determined locations. In one example of step512, plotter252and vector generator255cooperate to generates lines264on display256between locations of chronologically adjacent locates142. In step514, method500identifies areas of the graphical display where the vectors indicate location errors. In one example of step514, lines264on display256highlight errors in determined locations (locates142), thereby identifying areas270within tracking area102where ping108is not optimally received by receivers104. Since lines264are longer where the location error is greatest, an engineer or operator easily sees where the error is occurring.

In step518, method500adjust configuration of the tracking system. In one example of step518, alignment of one or more receivers104is adjusted (either manually and/or automatically) to improve reception of ping108from identified areas of tracking area102. Steps504through518repeat to reevaluate tracking system100and further adjust if optimization is still necessary.

FIGS. 6, 7 and 8show exemplary screen shots600,700, and800, of display256of optimization tool250ofFIG. 2, for an initial test, a subsequent test, and a final test, respectively, of tracking system100configured at an ice rink. As with the above examples, a single tracking tag was tracked as it moved systematically (e.g., over a predetermined pattern and at a constant speed) within the ice rink. Screen shot600shows severe degradation of tracking system100through reflection of the pings from the tracking tag. Upon analysis of screen shot600, the system configuration was modified and the subsequent test made, resulting in screen shot700. Although significant improvement was made to subsequent results from tracking system100, lines generated by vector generator255indicate areas where reflections still occurred. Through analysis of these lines by the installation engineers, the configuration of tracking system100was further modified and then a further test performed, resulting in screen shot800. As seen from screen shot800, the number of tracking errors has been significantly reduced such that use of tracking system100is optimal.

FIG. 9shows one example tracking area902(e.g., an American football field) within a surrounding area904(e.g., a stadium) that is to be fitted with a tracking system900that includes a plurality of receivers906to be optimally positioned and aligned within surrounding area904to track objects within tracking area902. To facilitate positioning of receivers906within surrounding area904, an optimization tool950generates a graphic representation970of receivers906, surrounding area904and tracking area902on a display956. Optimization tool950is a computer that includes software951that provides a user interface952, a model953, and a sensitivity graphic generator954that cooperate to generate graphic representation970to illustrate coverage of tracking area902by receivers906. More particularly, user interface952allows a user to manipulate model953to change one or both of position and orientation of modelled receivers906with respect to tracking area902. Sensitivity graphic generator954generates graphic representation970based upon model953to illustrate expected sensitivity of one or more of modelled receivers906with respect to modelled tracking area902. Optimization tool950thereby allows the user (e.g., an installer of tracking system900) to determine optimal position and/or orientation of receivers906within surrounding area904to provide optimal operation of tracking system100.

FIG. 10is a plan view illustrating an example sensitivity area1002of one receiver906ofFIG. 9to receiving transmissions (pings) from one or more tracking tags (not shown). Such sensitivity is dependent upon an antenna used with receiver906, an orientation (pan and tilt) of receiver906, and an elevation of receiver906above tracking area902. Receiver906is facing in a direction indicated by arrow1002, and in this example, is configured with an antenna that receives signals within a sixty-degree wide reception area, where sensitivity decreases with distance from receiver906. Sensitivity of receiver906is determined by experimentation, measurement, and use of optimization tool150ofFIG. 1, for example.

As shown in the example ofFIG. 10, sensitivity of receiver904is generated as a sector1010that defines an area having a first sensitivity level, an annular sector1012adjacent to sector1010and defining an area having a second sensitivity level, an annular sector1014adjacent to sector1012and defining an area having a third sensitivity level, and an annular sector1016adjacent to sector1014and defining an area having a fourth sensitivity level. The first sensitivity level is the greatest (most sensitive), the fourth sensitivity level is the least sensitive, the third sensitivity level is between the first and the fourth sensitivity level. In general, for a constant signal strength of a transmission, the further location of the transmitter from receiver906, the less the sensitivity of receiver906is to the transmission. However, in the case of annular segment1012, the transmitted signal is cancelled out due to a ground effect, known in the art, such that the second sensitivity level is less that the third sensitivity level. This ground effect may be based upon elevation of receiver906above tracking area902. Such variation in sensitivity of receiver904complicates configuration of a tracking system that uses receiver906. In an alternate embodiment, the modeled receiver sensitivity is generated as a graduated representation where a density of the graduation indicates the modeled sensitivity of the receiver.

FIG. 11is a schematic illustrating graphic representation970ofFIG. 9in further detail.FIGS. 9, 10 and 11are best viewed together with the following description.

For correct operation of tracking system900, at least three, preferably four or more, receivers906are required to simultaneously receive a wireless transmission (ping) from a tracking tag attached to an object located within tracking area902. Thus, receivers906are positioned and oriented such that their sensitivity areas1102overlap within tracking area902. In the example ofFIGS. 9, 10 and 11, each receiver906is assumed to have similar sensitivity areas1002. However, where different receivers and/or antennae are used, model953may be adapted to model the appropriate sensitivity area without departing from the scope hereof. In certain embodiments of tracking system900, one or more receivers906are configured with selectable antennae. Accordingly, model953may be adapted to selectively display multiple sensitivity areas for each receiver, thereby allowing the user to see the effect of each selectable antenna. In one embodiment, the sensitivity area of each receiver is displayed in a different color to allow the user to easily discerning the overlapping areas of the receiver sensitivities.

In the example ofFIG. 11, the user has, through interaction with user interface952of optimization tool950, enabled modelled sensitivity areas1108(6) and1108(8) of modelled receivers1106(6) and1106(8) to show expected overlap areas of ping reception of receivers906(6) and906(8), respectively. The user interactively, via user interface952, adjusts one or both of angles1107(6) and1107(8) of modelled receivers1106(6) and1106(8), respectively, to position corresponding sensitivity areas1108relative to tracking area1102and to other sensitivity areas in real-time. Angles1107may be defined relative to a defined reference orientation (e.g., true north, magnetic north, a building orientation reference, and so on), such that when the user determines optimal angles1107, corresponding receivers906may be correctly configured.

FIG. 11also shows an interactive dialog1180of optimizing tool950that allows the user to interactively enable and disable display of modelled receivers1106using selectable toggles1182, one per modelled receiver1106, and define an orientation angle1184for each modelled receiver1106. Other controls of optimizing tool950may be similarly implemented, such as for defining tracking area1102, surrounding area1104, and positioning of modelled receivers1106relative to modeled tracking area102and/or modelled surrounding area1104.

Optimizing tool950facilitates installation of tracking system900to optimally track objects (e.g., players, balls, officials) configured with tracking tags when within tracking area902.