Pacing systems use lights to provide electronic pacing for athletes. For example, a running track may have a series of LED lights installed around an inner circumference of the track. These lights may be turned on and off sequentially around the track at a selected timing. A runner may select the timing to match a particular training goal. Similar systems may be used in a straight line for agility training or swimming.
Systems and methods for tracking performance of a player on a sporting field may use an ultra-wideband (UWB) tracking tag positioned on the player, as described in U.S. Pat. No. 9,950,238, titled “Object Tracking System Optimization and Tools.” Wireless tracking tags may be positioned on an athlete's clothing or equipment. A variety of receivers may be installed around a perimeter of the sporting field to receive pings and other data from tracking tags. Players can be tracked as they move around the sporting field, and performance metrics may be measured and displayed. The data may be displayed and/or used in a variety of ways.
Tracking tags may be used in any sporting field or environment with defined boundaries. As described in U.S. Pat. No. 10,433,113, titled “System and Method of Determining Split-times in a Relay Race,” batons carried by runners in a relay race may be outfitted with wireless tracking tags that periodically transmit a wireless signal. Wireless receivers positioned around a track receive the wireless signals and calculate an instantaneous position of a baton. Tracking signals may be used to determine split times during a relay race, for example, or identify other performance metrics such as when an athlete accelerates or decelerates during their leg of the race or the speed of each racer during a baton handoff.
The present embodiments feature systems and methods that facilitate real-time competition between athletes in geographically separated venues. At each venue, athletes wear tracking tags that are monitored by a local tracking system to generate tracking data indicating the location of the athletes in real-time (e.g., every 25 ms). This data is then transmitted to the other venues. The tracking data local to one venue can be combined with the tracking data received from remote venues to drive a local pacing system or ribbon board display so that the performance of athletes in different venues may be observed in real time (e.g., by the athletes while they compete). Alternatively or additionally, the data can be displayed (e.g., on a large-screen display, scoreboard, webcast, television feed, etc.) so that attendees can watch the competition as it occurs.
For athletes to remotely compete in real-time, the present embodiments may take advantage of high-bandwidth, reduced-latency computing networks across large geographic areas. Amazon Web Services (AWS) Local Zones is an example of low-latency networks, each implemented within a metropolitan area. Marketed for real-time gaming and other applications, AWS Local Zones can achieve latencies below 10 ms. One aspect of the present embodiments is the realization that these low latencies can be used to implement real-time competitions between athletes that are geographically separated, or remote, from each other. These real-time competitions have some similarities to synchronous real-time online games (e.g., multiplayer online games, or MMOGs), except that the present embodiments use object tracking systems to track the motion of athletes and objects (e.g., balls, batons, etc.) in real physical space, as opposed to motion in a virtual world or computer-simulated environment.
The term “real-time” is used herein to mean that all athletes at all venues participate in one activity at the same time. However, due to network latency and differences in local timing, it may be challenging to ensure perfect synchronicity of the competition or activity at the different venues. For example, consider a race run by several athletes, each on a separate track. The recorded start time may vary by up to a few seconds across the venues. In some embodiments, each venue includes a GPS receiver that outputs a time-of-day signal. With these GPS receivers, the venues can ensure that the race starts synchronously at all venues, i.e., to within a level of uncertainty that can be ignored for the activity at hand (e.g., less than 1 ms variation in start times). This feature is more generally referred to as global synchronicity.
In other embodiments, the race starts asynchronously at the venues. All data recorded at one venue, and transmitted to the other venues, can be time-stamped relative to the local recorded start time, thereby indicating the elapsed time since the local start. At any given instant, the different local start times means that the race has elapsed for different durations at the different venues. For one venue, the elapsed time is the greatest, i.e., at this one venue, the race started earlier than all other venues. At this earliest venue, the pacing system or display may be controlled to reflect the locations of other participants, even though data for the other participants has not yet been received for the elapsed time. In this case, the data received at the earliest venue can be extrapolated in time to predict the locations of the other participants. At another venue, the elapsed time is the shortest, i.e., at this venue the race started later than all other venues. At this latest venue, data may have already been received, from the other venues, about the other participants at the shorter elapsed time. In this case, the data received at the latest venue is still used to determine locations of the other participants, but not via extrapolation.
More generally, a venue may receive data from one or more “earlier” venues, one or more “later” venues, or both. For each later venue, the received data may be extrapolated to temporally align the performance of the remote athlete to the local athlete. For each earlier venue, the received data need not be extrapolated, but may be interpolated to improve the synchronization between the local and remote athletes. Since extrapolations can lead to increased error, it may be beneficial to reduce the variation in start times across the different venues (e.g., by using global synchronicity, as described above). Improving the extrapolated locations makes the information displayed by the pacing system more accurate.
In one example of how the present embodiments may be used, consider several college track teams that wish to compete against each other in a meet. Each of these teams may install one of the present system embodiments at their own track, thereby allowing the meet to occur without any of the teams having to travel. By reducing travel, the present embodiments advantageously reduce costs for athletic teams, save time for the athletes and coaches, and reduce environmental emissions associated with travel. Furthermore, the present embodiments limit direct person-to-person contact, advantageously allowing sports competitions to occur while reducing the epidemiological concern of creating superspreader events.
The present embodiments can change the nature of the competition itself. For example, when each college track team competes on its own track, then all teams have a “home-track” or “home-field” advantage. Furthermore, by having teams compete more often on their home track, it is easier for friends, family, teachers, and others to attend and watch the competition. This increased attendance can help raise awareness of a sport among a community, foster involvement and interest, and provide a psychological “boost” to the athletes that may enhance the experience of competition and sportsmanship.
In the following discussion, the present embodiments are described for use with a running race around a stadium-shaped track. However, other types of activities are envisaged, such as car racing, track cycling, swimming, horse racing, and rowing. The activity may be indoor (e.g., an indoor running track) or outdoor (e.g., an outdoor running track). The present embodiments may also be integrated with fully automatic timing systems, such as starting guns, sensors (e.g., tactile touch pads), finish line cameras (e.g., line-scan cameras, full-frame cameras, etc.), and break-beam systems. In addition, the present embodiments are not limited to only one athlete at each venue. Rather, each venue can have multiple athletes competing against each other locally, in addition to competing against athletes that are remote.
The present embodiments include a method for real-time tracking of a plurality of athletes competing in an event across a plurality of geographically separated venues. The method is performed during the event at a local venue of the plurality of geographically separated venues. The method includes generating a local start signal at a local start time that indicates when the event started at the local venue. The method also includes receiving, from a remote venue of the geographically remote venues, a remote start time and remote tracking data for a remote athlete of the plurality of athletes. The remote athlete is located at the remote venue. The remote start time indicates when the event started at the remote venue. The method also includes receiving local tracking data for a local athlete of the plurality of athletes. The local athlete is located at the local venue. The method also includes synchronizing, based on the local and remote start times, the remote tracking data to the local tracking data to generate synchronized remote tracking data.
Other embodiments include a system for real-time tracking of a plurality of athletes competing in an event across a plurality of geographically separated venues. The system includes a local starting system that generates a local start signal at a local start time to indicate when the event starts at a local venue of the plurality of geographically separated venues. The system also includes a local computing system in communication with the local starting system. The local computing system includes a processor and a memory communicably coupled to the processor. The memory stores machine-readable instructions that, when executed by the processor, control the local computing system to (i) receive local tracking data for a local athlete of the plurality of athletes, (ii) receive, from a remote venue of the plurality of geographically separated venues, a remote start time and remote tracking data for a remote athlete of the plurality of athletes, the remote start time indicating when the event started at the remote venue, and (iii) synchronize, based on the local and remote start times, the remote tracking data to the local tracking data to generate synchronized remote tracking data.
Track 102 includes a pacing system 104 around the innermost lane. Pacing system 104 has a number of lights 106 around the inner circumference of track 102 (e.g., adjacent to the inner-most lane of track 102). Pacing system 104 may be controlled by local tracking system 108 so that lights 106 are illuminated sequentially at a desired pace and appear to move around track 102. In this way, a runner on track 102 may set the desired pace and keep up with the lights to maintain the desired pace. Instead of pacing system 104, a ribbon board display may be lined around the innermost lane, and controlled to illuminate lights 106 sequentially. Additionally, a second ribbon board display may be lined around the outermost lane.
In a competition on track 102, participants may wear tracking tags, described in more detail below, that allow various parameters of the participant's performance to be tracked. These parameters may include location or aspects of motion such as those detected by an accelerometer in the tag. Tags emit pings representing digital tracking data that are detected by receivers 112(1), 112(2), 112(3), 112(4), 112(5), and 112(6). Receivers 112 send the digital tracking data to local tracking system 108.
Local tracking systems 108(A), 108(B), and 108(C) in venues A, B, and C, respectively, are connected to a communication network 114. This connection may be wired or wireless and any suitable communication protocol may be used. One or more servers 116 or other computing devices may be accessible to local tracking systems 108 over communications network 114. Although three venues are shown in
Venues A, B and C may host simultaneous events that allow participants at one venue to compete with participants at another venue in real time using pacing system 104. Each local tracking system 108 starts an event in the local venue using local electronic starting system 118. Local tracking system 108 saves the local starting time and sends local digital tracking data to the local tracking systems 108 of remote venues over communications network 114. Local tracking systems synchronize remote digital tracking data with the local starting time, then use the synchronized digital tracking data to drive pacing system 104, as described in more detail below. A participant in a venue remote from the local venue may be assigned a color, for example, and lights 106 may be set to sequentially turn on and off in the assigned color so the progress of the participant in the remote venue is visible to participants and spectators in the local venue.
Local tracking system 108 may also display digital tracking data on an output device 110, such as a display, TV graphics, live web results, or commentator information system. Both local and remote digital tracking data may be displayed in the local venue or sent to a remote viewing device.
System 100 may also provide for storing digital tracking data from one or more venues on server 116, which may store the data, combine it for a composite display and/or send it to other systems such as websites or broadcasters for further display. Digital tracking data may also be stored in local tracking system 108 and used, for example, to compare participant performance across multiple heats of an event so that cumulative standings may be generated in real time.
In embodiments, system 100 facilitates live competition between participants in different venues. To provide a meaningful comparison, individual venues manage a local event to provide a valid result, and also synchronize digital tracking data from remote venues to provide a valid composite race in real time. To synchronize digital tracking data, the local tracking system uses an understanding of how the local start time relates to start times in other venues.
The electronic starting system 118 in each of the venues A, B, and C generates a local start signal using any of several methods that may be generally categorized as automatic, manual, or hybrid. Automatic starting methods use electronic communication between the venues (e.g., via the communication network 114) to coordinate the simultaneous generation of start signals at all venues, and require little, if any, human involvement. By contrast, manual starting methods require human involvement, and may be as simple as an official or operator at each venue pressing a “start” button. Hybrid starting methods combine elements of automatic and manual methods, such as requiring an operator to manually confirm various statuses and states. Automatic methods advantageously improve synchronicity by coordinating the electronic starting systems 118 to generate the local start signals at similar times (e.g., within a 10 ms time window). Manual methods are simpler to implement than automatic methods, but may result in less synchronicity (i.e., a greater spread of local start times). Hybrid methods are a trade-off that combine the synchronicity of automatic methods with the simplicity of manual methods.
Each electronic starting system 118 may also be equipped to respond to a false start. This false-start functionality may be either automatic (i.e., based on sensors and electronics) or manual (i.e., requiring human involvement). Some examples of automatic false-start functionality are described in U.S. Pat. No. 6,002,336. As an example of manual false-start functionality, an operator who views a false start may press a button on the starting system 118 to indicate that a false start occurred. Another type of false-start functionality, either automatic or manual, may be used without departing from the scope hereof In any case, the starting system 118 communicates to all remote venues that a false start occurred. When a starting system 118 receives a communication from a remote venue that a false start occurred, the starting system 118 may indicate to the athletes that a false start occurred. For example, the starting system 118 may play an announcement on a public-address system or a similar type of audio system.
The method 200 begins with each starting system 118 in a “standby” state, as shown in block 201. In the block 202, an operator at each venue indicates to the local electronic starting system 118 that participants in the local venue are preparing to start. Thus, block 202 is performed at each venue. Here, “preparing” means that the runners are lining up, and that “on your marks” will soon be announced. The local starting system 118 then communicates to all other remote venues that the local participants are preparing by indicating that the local starting system 118 is in a “prepared” state. The local starting system 118 may also receive communications from remote venues indicating that the corresponding remote starting systems 118 are in the “prepared” state. Since a local starting system 118 may enter the “prepared” state after one or more remote starting systems 118, each starting system 118 may listen for communications from remote venues while in the “standby” state.
In block 204, once all starting systems 118 have indicated the “prepared” state, an “on your marks” announcement is made to the participants. Block 204 is performed at each venue (e.g., by each starting system 118). In one example of block 204, each starting system 118 controls a speaker to output “on your marks” at a first designated TOD in the near future.
In block 206, each venue confirms that “on your marks” was announced. In an example of block 206, the local starting system 118 confirms that it has successfully played the message at the first designated TOD. If confirmed, the local starting system 118 may then switch from the “prepared” state to a “ready” state. If unconfirmed, the local starting system 118 may transition to an “error” state. In either case, the local starting system 118 then communicates its current state to all other remote venues.
As part of block 206, the local starting system 118 receives a communication from each remote venue indicating the state of its remote starting system 118. If the local starting system 118 receives any communication indicating an “error” state, the local starting system 118 transitions to a “remote error” state. After transitioning to the “remote error” state, the local starting system 118 may automatically play an announcement to the participants to “stand up”. Alternatively, an operator may view an indication of the “remote error” state, and make the announcement. The “remote error” state may then be cleared by resetting each starting system 118 back to the “standby” state (see block 220), after which the method 200 may be restarted.
Alternatively in block 206, an operator may manually confirm that “on your marks” was announced. For example, the operator may press a button to transition the local starting system 118 to the “ready” state. Alternatively, the operator may manually indicate an error, thereby transitioning the local starting system 118 to the “error” state.
In block 208, once all participating venues have indicated the “ready” state, a “set” announcement is made to the participants. Block 208 is performed at each venue (e.g., by each starting system 118). In one example of block 208, each starting system 118 controls a speaker to output “set” at a second designated TOD in the near future.
In block 210, each venue confirms that “set” was announced. In an example of block 210, the local starting system 118 confirms that it has successfully played the message at the second designated TOD. If confirmed, the local starting system 118 may then switch from the “ready” state to a “set” state. If unconfirmed, the local starting system 118 may transition to the “error” state. The local starting system 118 then communicates its current state to the other venues.
As part of block 210, the local starting system 118 receives a communication from each remote venue indicating the state of its remote starting system 118. If the local starting system 118 receives any communication from a remote venue indicating an “error” state, the local starting system 118 transitions to the “remote error” state. After transitioning to the “remote error” state, the local starting system 118 may automatically play an announcement to the participants to “stand up”. Alternatively, an operator may view an indication of the “remote error” state, and make the announcement. The “remote error” state may be cleared by resetting each starting system 118 back to the “standby” state (see block 220), after which the method 200 may be restarted.
Alternatively in block 210, an operator may manually confirm that “set” was announced. For example, the operator may press a button to transition the local starting system 118 to the “set” state. Alternatively, the operator may manually indicate an error, thereby transitioning the local starting system 118 to the “error” state.
In block 212, once all participating venues have indicated the “set” state, a local start signal is generated. Block 212 is performed at each venue. In one example of block 212, each starting system 118 triggers a gun sound at a third designated TOD in the near future. Alternatively or additionally, each starting system 118 may trigger a stroboscopic flash at the third designated TOD. Each starting system 118 may generate the gun sound by firing a gun with a blank cartridge, or by firing an electronic “gun” that produces the gun sound over a speaker or public-address system. An acoustic sensor may be used to identify the sound, thereby confirming that the local start signal was generated. The output of the acoustic sensor may be communicated to the local tracking system 108 to determine the local start time at the venue, as based on when the local participants heard the gun sound.
In block 214, each venue confirms that the local start signal occurred. In one example of block 206, the local starting system 118 confirms that it successfully triggered the gun sound at the third designated TOD. If confirmed, the local starting system 118 may then switch from the “set” state to a “started” state (see block 218). If unconfirmed, the local starting system 118 may transition to the “error” state. In either case, the local starting system 118 then communicates its current state to all other venues.
As part of block 214, the local starting system 118 receives a communication from each remote venue indicating the state of its remote starting system 118. If the local starting system 118 receives any communication from a remote venue indicating an “error” state, the local starting system 118 transitions to the “remote error” state. After transitioning to the “remote error” state, the local starting system 118 may automatically play an announcement to the participants to “stand up”. Alternatively, an operator may view an indication of the “remote error” state, and make the announcement. The error may be cleared by resetting each starting system 118 back to the “standby” state (see block 220), after which the method 200 may be restarted.
Alternatively, an operator may manually indicate to the local starting system 118 that the gun sound occurred. For example, the operator may press a button to transition the local starting system 118 to the “started” state (see block 218). Alternatively, the operator may manually indicate an error, thereby transitioning the local starting system 118 to the “error” state.
Decision block 216 allows for false-start functionality, as described above. If a false start is detected at a venue, the local starting system 118 at the venue transitions to a “false start” state. This state is then communicated to all other venues to indicate that a false start occurred. Similarly, the local starting system 118 may receive a communication from a remote venue indicating that a false start occurred. In this case, the local starting system 118 may transition to a “remote false start” state and automatically play an announcement to the participants that a false start occurred. Alternatively, an operator may view an indication of the “remote false start” state and make the announcement. To restart the race, each starting system 118 may be reset back to the “standby” state (see block 220).
The embodiment of the method 200 described above is for a race with blocks (e.g., a sprint) in which the participants hear an “on your marks” announcement followed by a “set” announcement. In other embodiments, the method 200 is modified for a distance race in which there is only an “on your marks” announcement (i.e., there is no “set” announcement). Specifically, the method 200 may exclude blocks 208 and 210, and block 212 may begin after all the venues have confirmed that “on your marks” was announced.
Embodiments of the method 200 described above in which an operator manually confirms may be considered examples of hybrid starting methods. In another example of a hybrid starting method, the method 200 excludes the block 210. In this embodiment, the starting systems 118 do not communicate with each other when they transition to the “set” state. Instead, a local official or operator manually generates the local start signal (i.e., the block 212). Alternatively, the local starting system 118 generates the local start signal at a fixed duration after transitioning to the “set”. Since the local start times do not all occur at a designated TOD, this embodiment will likely result in a greater variety of local starting times. After the local start signals have occurred, the starting systems 118 may communicate the “started” state with each other so that it is known at each venue that the race properly started at all venues (e.g., the block 214).
As an example of a manual starting method, officials at the venues may agree to start the race at a pre-determined time (e.g., based on a wristwatch or smartphone). At the agreed-upon time, each official may start the race by either firing a blank in a gun or signaling to the local starting system 118 that it should generate the starting signal by playing a gun sound over a speaker. Since this method does not use electronic communication between the local starting systems 118 to synchronize start signals, it will likely lead to a greater variation in start times. Nevertheless, it is still possible for the start times to occur, for example, within a few seconds of each other. This variation is small enough that participants and viewers will likely still experience the race as occurring “simultaneously” at all venues.
It should be appreciated that the above-described starting methods are only some of the ways to coordinate the start of a race across the participating venues. Other starting methods may be used without departing from the scope hereof.
To improve accuracy, the distances covered by runners A and B can be estimated by extrapolating the data for these runners that has already been received at venue C. For example,
In many situations, it is unlikely that runners B and C will have data points at exactly the elapsed time TA (i.e., at an elapsed time for which runner A has a data point). Data points that do not occur at exactly the same elapsed time are referred to herein as “unsynchronized”. For example, in
To improve accuracy, data for runners B and C may be synchronized to the data for runner A using interpolation instead of nearest-point selection. For example,
The improved accuracy of interpolation, as compared to nearest-point selection, decreases with the tracking period (i.e., as the ping rate increases), and may be negligible for certain situations. Here, “negligible” means less than a target accuracy. For example, at a tracking period of 40 ms (i.e., a ping rate of 25 Hz), nearest-point selection may be sufficiently accurate (e.g., better than a target accuracy of 10 cm) for a running race. However, for other types of races in which participants move at faster speeds (e.g., automobile racing), each participant will cover a larger distance during each tracking period. In this case, the improved accuracy of extrapolation may be beneficial.
When venue B is the local venue, and venues A and C are remote, the local pacing system should be controlled to display the location of runners A and C at the local elapsed time of TB. In this case, the data received for runner A can be extrapolated to create a projected data point for runner A. Similarly, the nearest data point to TB can be selected for runner C. Alternatively, the data received for runner C can be used interpolated to obtain an interpolated data point that represents the distance for runner C at TB. The local pacing system at venue B can then be controlled according to the projected data point to indicate the location of runner A. Similarly, the local pacing system can be controlled according to the nearest data point or interpolated data point to indicate the location of runner C.
More generally, at a local venue, extrapolation can be used with any tracking data received from a remote venue whose start time occurred after the start time of the local venue. Similarly, selection of a nearest data point (or interpolation) can be used with any tracking data received from a remote venue whose start time occurred before the start time of the local venue. Therefore, a local venue may perform extrapolation on data from some venues, and nearest data-point selection (or interpolation) on data received from other venues.
Those trained in the art will recognize that extrapolation can sometimes result in inaccurate projections, especially for projections relatively far forward in time. An automatic starting method (e.g., the method 200 of
As described above, each venue also includes one or more output devices (110 of
When displaying locations of participants in a video stream, each participant may be represented by a symbol with characteristics that differentiate it from symbols representing other participants. The symbol characteristics may include color, size, shape, orientation, and texture. Each symbol may also include text, such as a participant name or team name. Symbol characteristics may be selected based on individual participants. For example, each participant may be represented by a symbol with a unique color or shape. Some participants may share certain symbol characteristics. For example, all participants on the same team may be represented by symbols of the same color, where the color is unique to the team. Otherwise, different shapes may be used to differentiate between participants on the same team.
One or more of the above symbol characteristics may change in time, for example, in response to changing situations during the race. For example, a first symbol corresponding to a first participant may be displayed in red to indicate that the first participant is in the lead, while a second symbol corresponding to a second participant may be displayed in a different color. When the second participant takes over the lead, the second symbol may switch to red and the first symbol may switch to blue (or another color). In this way, viewers can readily tell from the display when the race leader has changed.
Each symbol may be displayed such that it is centered at a particular (x,y) coordinate. Alternatively, each symbol may be extended and oriented to cross all lanes of the track (e.g., see lines 308, 310, and 312 in
In an embodiment, digital tracking data from each venue may be used to create avatars for selected participants. In a further embodiment, additional data from the tracking tag on each participant such as cadence (stride length) may be used to model avatars after a specific runner and give a more realistic appearance to the avatar.
In one embodiment, each pacing system or ribbon board display either includes, or is replaced by, a set of projection lights that project information on the track surface. The projection lights may be mounted above the pacing system or ribbon board display so that they project at a downward angle onto the track surface. The projection lights may be controlled to project the names of other athletes at their current locations. Alternatively, the lights may project colored lines or symbols, each indicating a different remote participant. These lines or symbols may be displayed on all lanes, or only some. Advantageously, projecting information onto the track surface may make it easier for local participants to see the locations of remote participants. For example, local participants will not need to look to the side of the track (i.e., at the pacing system or ribbon board display) to see the locations of remote participants.
Although
In the example of
In a 400-meter dash, each runner remains in one respective lane for the duration of the race. The runner may be thought of as being confined to a “fixed rail” defined by the respective lane, which allows the object tracking system to readily convert the runner's x-y coordinates into a linear distance run (e.g., see the distance in
Converting x-y coordinates to linear distances based on a fixed rail, and vice versa, is referred to herein as “snap-to-path” operation. Advantageously, snap-to-path allows athletes running on different-shaped tracks (e.g., radii of curvature at the turns, lengths of straights, etc.) to be displayed simultaneously on the graphical display 700 according to only one track geometry. The graphical display 700 is local to one venue, and therefore displays the portion 704 according to the geometry of the local running rack. Advantageously, snap-to-path can be bypassed for local tracking data since the x-y coordinates of athletes on the local running track can be directly plotted on the portion 704 without having to convert between different track geometries.
As another example, consider a race in which each venue has only one athlete, and all of the athletes run on the same lane of their respective track (e.g., lane 1, or the innermost lane). In this case, all of the icons 710 may be shown on the first lane in
In more mathematical terms, snap-to-path uses the fact that at a local running track, there is a one-to-one mathematical correspondence (i.e., a bijection) between the two-dimensional path representing a first lane and a one-dimensional linear distance of the two-dimensional path (i.e., the line-integral of the two-dimensional path). Similarly, there is a one-to-one mathematical correspondence between the one-dimensional linear distance and a different two-dimensional path of a second lane. Therefore, a one-to-one correspondence can be found between the x-y position of the runner in the first lane and the corresponding x-y position of where the runner would be if the runner was in the second lane.
An alternative to snap-to-path is “free-space” operation. Similar to snap-to-path, free-space operation converts the x-y coordinates of a runner from one track to x-y coordinates of the runner on a second track whose geometry is different than that of the first track. However, free-space operation does not assume that there is a bijection between x-y coordinates and a one-dimensional linear distance. Free-space operation may be used, for example, in longer track races where runners change lanes. For example, in races longer than 800 meters, it is common for racers to start in different lanes at staggered positions. After the first turn, runners are free to change lanes, and will typically congregate in the first lane, since this is the shortest. Since runners change lanes, and in unpredictable ways given crowding in the first and second lanes, all runners do not run the same linear distance. This means that linear distance cannot be used as a common metric for comparing the relative performance of runners.
One aspect of the present embodiments is the realization that a different type of distance can be used as a common metric for comparing the relative performance of remotely-competing athletes, given that the athletes may be competing on tracks of different geometries. Specifically, a distinction is made between a longitudinal distance in the direction parallel to the lanes, and a transverse distance in the direction perpendicular to the lanes. When a runner is confined to a lane, transverse distance can be ignored, and the resulting longitudinal distance is the same as the one-dimensional linear distance described above.
The first-lane coordinate 812(1) can be used to update a longitudinal distance 806 traveled by the runner had the runner been running solely in the first lane 814. The distance between the x-y coordinate 802(1) and the first-lane coordinate 812(1) equals a transverse distance 810(1), i.e., how far the runner is transversely located with respect to the first lane 814.
Longitudinal and transverse distances simplify how a runner's location is displayed (e.g., on the display 700) since they can be easily transformed to account for different track geometries. The longitudinal distance lies along a “fixed rail” of the first lane, and therefore can be readily transformed when switching between track geometries, which allows the runner's icon 710 to be correctly displayed relative to the inner circumference of the track. The transverse distance can then be used to place the runner's icon 710 at the correct location away from the inner circumference, thereby indicating the runner's position with greater accuracy.
While the above discussion refers to x-y coordinates of runners confined to a horizontal plane, it should be appreciated that the above concepts and embodiments can be extended to three spatial dimensions.
In embodiments, venues A, B and C of
As shown in
Processing hub 950 includes a communication interface 954 for communicating with receivers 904 to receive receiver events 910. Algorithms 952 process receiver events 910 from multiple receivers 904 to locate tags 901 and generate locate data 920. For example, based upon three or more receiver events 910 resulting from one ping 1202 from one tag 901, algorithms 952 generate locate data 920 to include tag ID 1008 and a determined location of tag 901. Application interface 956 communicates with one or more applications 930. For example, each application 930 receives locate data 920 from hub 950 and may further process this information to generate displays indicative of the location within an operation environment of objects (e.g., athletes) associated with tags 901 based upon tag ID 1008.
In one embodiment, optimizer 960 is a computer with at least one processor and memory containing machine readable instructions that, when executed by the processor, perform the functionality of optimizer 960 as described herein. In another embodiment, optimizer 960 is implemented within processing hub 950 and comprises machine readable instructions stored within a memory of hub 950 and executed by a processor of hub 950 to perform functionality of optimizer 960 as described herein. Optimizer 960 generates configuration data 970 that configures various properties of object tracking system 900, such as for example ping rate of tags 901, analog gain of each receiver 904, and parameters used within algorithms 952 of hub 950.
The process of locating an object associated with tag 901 begins when tag 901 generates ping 1202. As shown in
A successful calculation of a location of the tag 901 by processing hub 950 is called a “locate”. Locate data 920 corresponds to digital tracking data and contains many such locates as determined for each tag 901 within operational area 902. Locates, within locate data 920, are made available to applications 930 in real-time (i.e., almost instantaneously). Thus, applications 930 have real-time identification and location information of each tag 901 and its associated object within operational area 902.
In embodiments, venues A, B and C may use an object tracking system described in connection with
In
System 1500 includes at least three wireless receivers 1502 (e.g., six are shown in
Tracking computer 1504 is communicatively coupled (wired and/or wirelessly) with a timing computer 1506 that utilizes the periodically determined locations of tags 901 relative to track 1520 to calculate digital tracking data for participants running around track 1520. Without departing from the scope hereof, tracking computer 1504 and timing computer 1506 may be implemented within a single, common computer.
System 1500 may also determine other metrics of each athlete. For example, system 1500 may determine a speed of each tag 901, and thereby a speed of the athlete wearing the tag. Tag 901 may include an accelerometer, allowing stride frequency to be reported and associated length to be calculated based on baton speed.
In further embodiments, real-time positional data (digital tracking data) from multiple venues may be used to create a real-time broadcast of a race with animated participants (e.g., “in-venue” athletes with holograms of real athletes in other venues). The “record pace” athlete could be inserted via augmented reality as an animated image. The animated image may be that of the actual athlete that set the record.
The present embodiments include a method for real-time tracking of a plurality of participants competing in an event across a plurality of geographically separated venues. The event may be a sporting event, in which case the participants are athletes. The method is performed during the event and at a local venue of the plurality of geographically separated venues. Venues A, B, and C of
The method includes the step of generating a local start signal at a local start time that indicates when the event started at the local venue. In one example of this step, local electronic starting system 118 generates a local start signal. The local start signal may be generated at a predetermined local start time (e.g., according to a GNSS time-of-day signal). Alternatively, the local start signal may measure the local start signal (e.g., with an acoustic sensor).
The method also includes the step of receiving, from a remote venue, a remote start time and remote tracking data for a remote athlete of the plurality of athletes. The remote athlete is located at the remote venue. The remote start time indicates when the event started at the remote venue. In one example of this step, venue B of
The method also includes the step of receiving local tracking data for a local athlete of the plurality of athletes. The local athlete is located at the local venue. In one example of this step, local tracking system 108(B) tracks athletes local to venue B. In one embodiment, the local tracking system 108(B) generates the local tracking data by processing wireless signals (e.g., pings) transmitted by one or more tracking tags attached to each local athlete. As described above, the local tracking system 108(B) may process the pings using TDOA techniques. However, another type of tracking system or technique may be used without departing from the scope hereof
The method also includes the step of synchronizing, based on the local and remote start times, the remote tracking data to the local tracking data to generate synchronized remote tracking data. In one example of this step, the remote tracking data is extrapolated or interpolated to identify where a remote athlete would be located at the elapsed time of the local venue.
In some embodiments, the step of synchronizing includes extrapolating the remote tracking data when a local elapsed time at the local venue is greater than a remote elapsed time at the remote venue. This extrapolation generates a local projected data point of the remote athlete corresponding to the local elapsed time. The synchronized remote tracking data includes this local projected data point. In these embodiments, the step of synchronizing also includes selecting, when the local elapsed time is less than the remote elapsed time, a nearest data point of the remote tracking data closest to the local elapsed time. The synchronized remote tracking data includes the nearest data point.
In some embodiments, the method further includes the step of outputting the local tracking data and the synchronized remote tracking data. In some of these embodiments, the synchronized remote tracking data is used to drive a pacing system (e.g., see pacing system 104 in
In some embodiments, the method also includes generating a remote start signal at the remote venue. The remote start signal is generated at the remote start time, which is then transmitted (e.g., via communication network 114) to the local venue. The local and remote start signals may occur independently (i.e., without synchronization). Alternatively, the local and remote start signals may be synchronized to occur simultaneously (e.g., based on a time-of-day signal generated at each of the remote and local venues).
Other embodiments include a system for real-time tracking of a plurality of athletes competing in an event across a plurality of geographically separated venues. The system includes a local starting system that generates a local start signal at a local start time to indicate when the event starts at a local venue (e.g., see local starting systems 108 in
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.
This application claims priority to U.S. Provisional Patent Application No. 63/112,590, filed Nov. 11, 2020 and titled “Real-Time Tracking Between Participants in Remote Venues”, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63112590 | Nov 2020 | US |