Sendrato TraXYZ

TraXYZ UWB Performer Tracking White paper

 min. read
April 29, 2020
Sendrato TraXYZ

Sendrato TraXYZ

The fundamental building blocks of the Sendrato TraXYZ Ultra Wide Band (UWB) system are anchors and tags. Anchors are fixed location UWB nodes, containing at least one so-called master anchor that is responsible for collecting all the data (wirelessly or wired) from the other anchors. Multiple master anchors are required for large areas, since each anchor should be able to reach a master and the maximum distance between two anchors is +/- 200m. Tags are mobile UWB nodes for which the 2D/3D position needs to be calculated. Optionally, a tag can be fitted with 3 buttons and an 1.4” LCD screen. Anchors send/receive messages to/from mobile tags. These messages are used in the localisation process as well as for communicating so called user payloads. These payloads can include e.g. data from sensors (IMU) attached to the tags or messages sent to the tags that can be displayed on the LCD screen. 

The Location System 

The TraXYZ system uses UWB-based geometrical localisation. Geometrical localisation is generally composed of two steps: ranging and localisation. The ranging process is an action of estimating the distance. The most common ranging techniques are Time of Arrival (ToA), Angle of Arrival (AoA), Received Signal Strength Information (RSSI), Time Difference of Arrival (TDoA) and Two Way Ranging (TWR). Localisation is the mechanism of finding the exact location of a given (mobile) tag by utilising the range estimates between the tag and the anchors. 

Each ranging method has its pros and cons. RSSI is the least accurate of all the ranging techniques. It exploits the fact that signal strengths decrease quadratically in distance. However, this quadratic relation is subject to noise, multi-path, fading and other attenuating factors that are present in real-world setups. The other techniques do not suffer from this, but they have other pros and cons. AoA is based on the angle of the received signal. At least 2 separate radios, but preferably four need to be built into every anchor. The other remaining techniques only require a single (UWB) radio. ToA requires fully synchronised clocks between anchors and tags. TDoA relaxes this constraint by only requiring the clocks of the anchors to be fully synchronised. Lastly, TWR does not require any synchronisation of the clocks at all, however this comes at the expense of having to communicate at least two messages between tag and the anchors before the range can be determined. This means that with TWR less tags can be tracked in a certain amount of time compared to T(D)oA. Still, the TraXYZ system uses TWR and supports 1,000 location updates per second. For example, 1,000 tags can be ranged simultaneously running at an update rate of 1 Hz, 10 tags at an update rate of 100 Hz or 50 tags at 20 Hz. 

The next step in the process is localisation. Localisation calculates the position based on the distances (calculated during the ranging phase) between the tag and the (visible) anchors. The position is calculated using a method called multilateration (when AoA is used, the location is calculated using triangulation). Since the accuracy of the DWM1000 UWB chip is ± 10 cm in LOS (Line of Sight) conditions and ± 30 cm in NLOS (Non Line of Sight) conditions, there is always additive (white) noise present in the calculated distances. Therefore, an exact (closed form) solution of the multilateration problem is not possible. One has to reside to an optimisation procedure to calculate the location. Typically a non-linear least square (NLLS) method is used. In case of not just localisation, but also tracking a moving object, additional methods are used. Jitter in the calculated track is usually mitigated using some smoothing or filtering method. In our case we are using either an Extended Kalman Filter (EKF) or an Extended Finite Impulse Response (EFIR) in combination with an NLOS detection and mitigation method. These methods result in low jitter while still having acceptable latencies (~50ms in case of a 20 Hz update rate). 

System Architecture 

TraXYZ consists of a number of components. The total system setup is comprised of anchors, tags, a network router, a network switch and a server running the location engine and configuration software. A browser is used to setup and monitor the system which can run on a PC, a tablet or a smart phone. 

The TraXYZ Location Engine (TLE) runs on any Linux server. The server is connected to the same Local Area Network as the master anchor(s). The software running on the server receives the tag distances from the master anchor via UDP messages. Subsequently the TraXYZ TLE calculates the position of the tag using a selected localisation algorithm, either NLLS, EKF or EFIR. The position of the tag can be visualised on the browser together with a floor plan of the environment. In addition, the calculated positions can be “published” using several predefined message protocols or a user defined method. Currently TraXYZ supports PSN, PSN+prediction, OSC, JSON messages over MQTT or a HTTP REST endpoint. The MQTT server and REST endpoint can be dynamically configured using the TraXYZ configuration software running in the browser. 

System Setup 

After the anchors are installed in their proper location and everything is powered and running, the TraXYZ system needs to be configured. Configuration is done by pointing a browser to a URL hosted on the server. The server also runs a web server to configure and monitor the entire system. The following phases need to be completed before the system is fully functional:

• Anchor localisation

• Coordinate alignment 

The position of the anchors can be determined either by manual entry (1), by using the Leica S910 Disto (2) or automatically (3). The first method speaks for itself. The second method uses an integration with a Leica S910 device. Positions measured using the Leica are automatically transferred to the TraXYZ anchor configuration. 

The automatic positioning method exploits the distance matrix that includes distances between all anchors. Based on the distance matrix, the anchors’ positions can be calculated automatically using an optimisation procedure. This procedure minimises the error between the measured and the calculated distances. The calculated distances are derived by applying the Euclidean distance formula that takes the estimated positions as input. The optimisation of the positions can take a couple of minutes. It is worth highlighting that the anchors’ positions are expressed according to a relative reference system that depends on the optimisation algorithm and its initial parameters. 

After the anchors’ positions are determined, the reference system set by the optimisation algorithm can be aligned according to a user defined reference system. This step is not mandatory, but it helps in reasoning about the tracked tags as visualised on the screen. The coordinate alignment works by marking three known points in the area, typically the origin (0, 0) and two other points. These points can be measured using a (laser) measurement tool. After the coordinates of the marked points are measured, the values can be entered into the alignment tool offered by the web interface. Subsequently, three tags need to be positioned on the three points at a fixed height (z-axis). The system will figure out automatically which tags correspond to which three entered positions. Subsequently, the initial coordinate system (determined by the optimisation procedure) will be levelled to the user defined coordinate system. 

The result of the anchor positions after the optimisation procedure is shown in the figure below. As it can be observed, there is a symmetric matrix reporting the distances between the anchors while the colour reflects the distance error calculated as the difference between the measured and the calculated distances. More specifically, a bright green colour means that the distance error is smaller than 2 cm, an orange color means that the error is larger than 20 cm and red colour error indicates errors larger than 50 cm. 

Location Engine 

After the anchors have been positioned correctly, the Location Engine can be configured using various parameters. The specific configuration depends on characteristics of both the object that is tracked and its surroundings. Tracking a human is different than tracking a forklift. Or tracking for controlling a spotlight is different than tracking for knowing the location of a patient in a hospital. The former requires more accuracy and lower latencies compared to the latter. Therefore, several “stages” and parameters can be configured in the LocationEngine (LE). 

In case an actor or object is almost standing still, high frequency moving by fixtures should be prevented. A small motion filter, that uses a combination of stance (derived from IMU) and minimum movement radius, can be enabled to prevent annoying movement of fixtures. Several parameters of the small motion filter can be tuned to optimise specific use cases. 

The default settings of the Location Engine are tuned for a typical stage performance situation. 

Settings of the LE can be associated to a so called Performance Profile which in turn can be associated with a specific object. This means that objects of different characteristics can be tracked using their own optimal Location Engine settings. 

Object Tracking 

TraXYZ supports multi-tag object tracking. This means that a single object (or person) can be equipped with more than 1 UWB tag. The tracking algorithm utilises all combined tags for improved accuracy. A Performance Profile is assigned to an object, not to a tag. The TraXYZ software includes a 3D visualisation of the area in which the objects are moving. Object traces and various statistics about position, ranging accuracy and NLOS detection can be visualised as well. This visualisation screen is typically used during system setup, diagnostics or trouble shooting. The screenshot shows an example of a non moving object and the an overview of the measured and calculated distances to all anchors (15). 

Location publication and prediction 

The calculated location of each defined object can be published using a variety of different protocols. Each of these so called location publication options can be configured dynamically. Currently TraXYZ supports PSN, PSN+prediction (TraXYZ extension on PSN), OSC, JSON/UDP. Using location publication third party equipment that supports 3D tracking can be integrated easily. 

TraXYZ also supports prediction. Prediction can be used to circumvent the latency of fixtures, thus preventing slow fixtures from moving behind an actor. TraXYZ can publish discrete prediction steps at a resolution that is equal to the tracking sample rate, e.g. at 20Hz prediction increases with steps of 50ms. Since standard PSN does not support multiple prediction steps we have extended PSN to support this.