EVALUATION OF DYNAMIC AD-HOC UWB INDOOR POSITIONING SYSTEM

Ultra-wideband (UWB) technology has witnessed tremendous development and advancement in the past few years. Currently available UWB transceivers can provide high-precision time-of-flight measurements which corresponds to range measurements with theoretical accuracy of few centimetres. Position estimation using range measurement is determined by measuring the ranges from a rover or a dynamic node, to a set of anchor points with known positions. However, building a flexible and accurate indoor positioning system requires more than just accurate range measurements. The performance of indoor positioning system is affected by the number and the configuration of the anchor points used, along with the accuracy of the anchor positions. This paper introduces LocSpeck, a dynamic ad-hoc positioning system based on the DW1000 UWB transceiver from Decawave. LocSpeck is composed of a set of identical nodes communicating on a common RF channel, forming a fully or partially connected network where the positioning algorithm run on each node. Each LocSpeck node could act as an anchor or a rover, and the role could change dynamically during the same session. The number of nodes in the network could change dynamically, since the firmware of LocSpeck supports adding and removing nodes on-the-fly. The paper compares the performance of the LocSpeck system with commercially available off-the-shelf UWB positioning system. Different operating scenarios are considered when evaluating the performance of the system, including cases where collaboration between the two systems is considered.


INTRODUCTION
Indoor positioning and navigation technologies have the potential of transforming users' experience and creating new opportunities for businesses, in the same way the Global Navigation Satellite Systems (GNSS) had changed the outdoor navigation experience and created the consumer navigation industry.The demand for more location-based services (LBS) and the real-time location systems (RTLS) is pushing researchers and system designers into developing novel indoor localization and positioning technologies to achieve higher accuracy, while ensuring the availability and reliability of the positioning solution.Different technologies are available for indoor positioning, including: dead-reckoning using inertial sensors, proximity detection using Bluetooth beacons, Wi-Fi received signal strength (RSS) measurements coupled with either fingerprinting or trilateration, or ultra-wideband (UWB) ranging-based trilateration (Davidson and Piché, 2017).However, the massive diversity of the indoor environments means that a single solution will not be valid for every location, and a combination of different technologies are required to fully cover a certain place.
UWB transceivers have very large bandwidths, allowing them to distinguish between events in time with very fine resolution, allowing them to separate line-of-sight and non-line-of-sight signals (Bensky, 2008).One implementation of the physical layer of a UWB transceiver that can support precise ranging functionality is described by the IEEE 802.15.4-2011 standard.The standard defines the synchronization pattern of the receiver as well.The DW1000 from Decawave is a single chip transceiver compatible with the IEEE 802.15.4-2011 standard.The DW1000 is available as single chip, or in a module integrated with an antenna and the required power circuitry.The module configuration makes it easier to integrate the UWB functionality with different processing platforms.
The aim of this paper is to evaluate the performance of a dynamic ad-hoc UWB-based positioning system, named LocSpeck, based on the DW1000 single chip transceiver from Decawave (Decawave, 2018).LocSpeck system is benchmarked against a commercial of-the-shelf UWB system, specifically the Pozyx UWB positioning devices (Masiero et al., 2018;Pozyx Labs, 2018).The major difference between the two systems is the supported network topologies.LocSpeck system supports dynamic and varying network architecture, with variable numbers of nodes, moving in and out the operating range.The ad-hoc system supports dynamic role allocation to the different nodes-allowing each node to act as an anchor or a tag, thus supporting peer-to-peer ranging capabilities.Pozyx system supports a fixed network structure, with the nodes having a fixed, pre-determined role in the network, whether an anchor or a tag.The number of nodes in the network should be known beforehand and configured to the network devices.The Pozyx system uses Time Division Multiple Access (TDMA) method for radio channel access (Figueiras and Frattasi, 2010).Figure 1 shows the hardware of the Pozyx anchor node.
Section 2 gives an overview of different wireless localization approaches, and gives an overview of the related work.Section 3 describes in some details the system architecture of the LocSpeck system, including the hardware and software components of the system.The different positioning algorithms are described in this section, as well.The experimental setup, the different test scenarios, and the corresponding results are described in Section 4. Finally, the conclusions are presented in Section 5.

BACKGROUND AND RELATED WORK
UWB ranging uses two-way ranging method, in order to measure the propagation time or the time-of-flight (ToF) for a series of messages between the nodes and determines the distance between them (Bensky, 2008).The DW 1000 chip can achieve 10 cm ranging accuracy, and it can operate using two different ranging schemes: the two-way ranging ToF, or the one-way time difference of arrival (TDOA) approaches.
The potential of achieving centimetre level accuracy in ranging has been a driving force for the adoption of UWB-based positioning systems for indoor applications.UWB positioning and localization systems were used for assets tracking (Fontana et al., 2003), personnel tracking in construction sites and in dangerous or hazardous sites (Banerjee et al., 2017;Li et al., 2016), soldiers and emergency responders tracking and localization in hostile environment (Rantakokko et al., 2011), or in low-cost mapping applications (Masiero et al., 2018).
UWB uses a high-bandwidth pulses to predict the time-of-flight between two nodes.The common configuration of nodes contains a group of anchors located in well surveyed positions, and a mobile node, with unknown position.By continuously measuring the range between the mobile node and the anchors, the location of the node can be determined by using the trilateration method (Alarifi et al., 2016;Bensky, 2008;Masiero et al., 2018).
The time-of-flight between two DW1000 nodes can be determined by different methods; single-sided and double-sided range measurement (Decawave, 2016).In the case of the singlesided two-way ranging the time-of-flight between two nodes is computed Equation 1: The round-trip time (  ) is the time between sending the ranging frame and receiving the response from the second node, and it is measured with the initiating node clock.The reply time (  ) is the time between receiving the ranging message and replying to it, and it is measured with the receiving node clock.The advantage of using the single-sided approach is that it requires only one message exchange between the two nodes.However, the different clock offset between nodes can cause the accuracy of the range estimate to deteriorate as the reply time increases, since each term in Equation 1is measured with the local clock of each node.
For double-sided two-way ranging, the propagation time is calculated using Equation 2 In this case the error due to clock offset is reduced significantly, rendering other sources of errors-other than the clock induced errors-the limiting factor in the range measurement accuracy (Decawave, 2016;Soganci et al., 2011).The DW1000 provides the capability to add a precise time-tag to different events relating to the ranging messages; such as the time of receiving a message or the time of transmitting a message.Additionally, the chip provides means to control the time of transmission of a specific message.These capabilities are used by a higher-level application-running on a host processor-to implement the complete ranging exchange.In Section 3, the specific implementation for the LocSpeck ranging application will be described in some details.

AD-HOC UWB INDOOR POSITIONING SYSTEM
The LocSpeck system is composed of a set of identical nodes that communicate together over a common UWB channel, to exchange range measurement messages.The LocSpeck system comprises the hardware component, the software component, and the run-time positioning algorithms.

Software Component
The LocSpeck system supports the ad-hoc network topology (Ferreira et al., 2017), allowing the dynamic inclusion and removal of mobile nodes, as they enter or exit the range of operation.The dynamic ranging is supported on the firmware level, by implementing a medium access protocol to regulate the access to the RF channel, and to detect any interference or collisions resulting from two nodes trying to send frames at the same time.
Each LocSpeck node in the network implements a random-access protocol to control the channel access; specifically, pure ALOHA protocol (Kleinrock and Tobagi, 1975;Rajandekar and Sikdar, 2015;Roberts, 1975).The main disadvantage of this approach is the reduced channel throughput, because of the frame collisions.
In pure ALOHA implementation the lower limit of the channel throughput is reduced to 18%.This makes the Pozyx system more efficient in terms of medium utilization.Since Pozyx system utilizes a time-division multiple-access or TDMA approach which eliminates the collisions in the network and results in higher ranging rate.Albeit, the network should be static, and the role and number of node should be assigned before starting the system operation, which could be a limitation in a dynamic environment.On the other hand, the ad-hoc architecture provides flexibility in the number of nodes and the configuration of the network, as it will adapt automatically allowing newly added nodes to initiate ranging requests to existing nodes-or receive thereof-without the need to alter the configuration of the operating device.

Hardware Platform
Figure 2 shows the hardware structure of a LocSpeck node.The node is composed of the processor board, the DWM1000 module-which integrates the DW1000 chip, on-board antenna, and power circuitry, a battery, and some switches.
The LocSpeck node is built around the CC2640R2 wireless microcontroller from TI (TI, 2016).The main processor of the system is a 32-bit ARM® Cortex®-M3 processor, clocked at 48MHz.This platform uses Bluetooth low energy (BLE) to connect with a host smartphone, and send the range data to the smartphone for storage and further processing using a custom data logging application.Additionally, the application can control different setting of the UWB transceiver and the processing module.

Positioning Algorithms
3.3.1 Self-Positioning: Self-positioning is the process of finding the coordinates of the anchor points.In the test scenariodescribed later in more details-three LocSpeck nodes, acting as anchors, are used as basis of localization for the mobile node.The location of the anchor points is calculated using relative range measurements among the three of them.
The range measurements are used in a least squares estimator to determine the relative locations of the anchor points.The coordinate system of the mapped area is taken so that one of the anchors will fall in the origin, and the horizontal axis will pass through the second anchor, and the second axis of the 2D system is perpendicular to the horizontal axis.

Mobile-Node Localization:
The localization of the mobile node is done using an Extended Kalman Filter (EKF), which uses the range measurements as updates to the state of the filter.In this case the state of the filter is taken to be the horizontal position of the mobile node, in the local level frame, as described in the previous section.
The dynamic model of the filter is taken to be position random walk.The selection of this model is for simplicity, while the available sensor data-from inertial, magnetic, and Wi-Fi signal strength-could be used to enhance the accuracy of the position estimate, the selection of a simple dynamic model is mainly to test the performance of a system based on pure range measurements using the ad-hoc technique described in this paper.
where   ,   = coordinates of the dynamic node at time    = discrete-time process noise The measurement model is presented by the following equations: The estimated position, along with the state covariance, of the dynamic node is calculated using the standard EKF equations.In order to filter out any spurious measurements, a 5 th order median filter is applied to the raw measurements before they are used inside the filter.In real-time implementation, the median filter will add 5 samples latency to the output.

Experimental Setup
The experiment is done in the main floor of the MacEwan Student Centre in the University of Calgary.The test area is an open lobby covering 300 m 2 (20 m x 15 m), with no obstructions in the middle of the lobby.The duration of the experiment is 24 minutes.The experiment venue is open for the students, so there were several students moving around in the vicinity of the experiment.The purpose of selecting this location is to test the system under realistic operational conditions.Figure 3 shows the floorplan of the experiment venue.
The experiment setup consists of two separate UWB positioning systems, operating at the same time.The first system is LocSpeck-the ad-hoc system under test-and the other is the Pozyx system which is used as a reference for comparison.
LocSpeck system is composed of four ranging devices.Three of them are fixed at the limits of the test area to act as anchor points, and a forth device is used as a mobile node.Although these three devices are used as anchors in this experiment, they are functionally identical to the mobile node.The Pozyx system is composed of six anchor nodes, distributed along the perimeter of the test area, in addition to a mobile tag.The area is covered with 25 test points, used to calculate the error in the trajectory.These test points, along with the anchor points from the two systems, where surveyed to establish the ground truth.

Figure 3. Floorplan of the test area
The experiment is divided into two stages: the static selfpositioning stage, and the dynamic stage.In the first stage the measurements between the anchors were collected and used to estimate the positions of the anchors.This process was done for the two systems separately.
During the second stage, the two mobile nodes-or tags-are attached to the test subject at the hip level.The dynamic test is performed with the test subject moving between the reference points and stopping at a random reference point briefly.The difference between the actual position of the reference point and the estimated position using the two systems is recorded.The maximum, mean and the root mean square error of the positioning error is calculated for different system configurations.

Results and Discussion
4.2.1 Self-positioning results: Figure 5 and Table 1 show the results of the self-positioning step in the experiment.The reported errors are between the estimated positions and actual surveyed positions of the anchors.Figure 5 shows the 95% confidence ellipse of the estimated position.Node #3 was fixed to the origin of the 2D mapping frame.Node #2 was initialized to be of the same horizontal line as the origin.However, nodes #2 and #1 were allowed to move to minimize the square root error for the actual range measurements.
Although the UWB transceivers were calibrated, there is still a residual bias in the range measurements between the different nodes.These range biases result in anchor node position estimation biases.The bias in the range measurement could be explained by the power dependant bias error (Decawave, 2014) in the UWB transceiver, which was not compensated for.The only error compensated during the calibration process is the constant bias, and it was compensated for short ranges.Table 1 shows the errors in millimetre for the horizontal positions of the nodes, along with the Eigenvalues of the scaled covariance matrix, corresponding to the 95% confidence ellipse.4 shows the locations of the three LocSpeck nodes, the six Pozyx anchors, and the locations of the reference points used to evaluate the positioning performance of the different combination of anchor nodes.There are 25 unique reference points on the floor.The dynamic node is allowed to move freely between the nodes, and stop for a few seconds over one of the nodes, the position estimate at the reference point is compared with the surveyed position of the node, and the difference is the error in the estimated position.
The duration of the test scenario is 24 minutes, and total distance travelled is approximately 590 m.  Scenario# 7: This is the reference solution generated by the Pozyx system using the full set of Pozyx anchors.
The first two rows in Table 2 shows that the measurement update rate achieved using the LocSpeck system is approximately half the update rate attainable by the Pozyx system.This result is expected because of to the differences between the medium access protocol implemented in the two systems.The Pozyx system supports a time division multiple access protocol, while LocSpeck depends on a random-access protocol, which intrinsically lower the throughput of the system.
Figure 6 and Figure 7 show the estimated position of the dynamic node and the reference trajectory generated by the Pozyx system.Figure 6 shows the estimated and reference positions for Scenario #1, using the LocSpeck anchors only.In this figure, there is a significant error in the estimated position after 10 minutes of the beginning of the trajectory.By including two Pozyx nodes to support the LocSpeck system, the maximum error at this point is reduced significantly, as shown in Figure 7.
Table 2 shows that using three Pozyx anchors introduces 30% reduction in the RMS error and 15% reduction in the maximum positioning error, compared to using three LocSpeck nodes with similar geometrical configurations.
However, when using the LocSpeck anchors along with two Pozyx nodes, the maximum estimated error is reduced by 69.1% and the RMS error is reduced by 60% to reach 1.19 m.As expected the addition of more Pozyx anchors to the pool of active nodes reduces the positioning errors of the system.For example, when using the full set of anchors from the two systems, the RMS error reaches 0.45 m, which is equivalent to the reference performance achieved by the Pozyx system.
The last two lines in Table 2 shows the effect of using the dynamic-positioning algorithm on the positioning errors.When using the 6 Pozyx anchors without any LocSpeck nodes, the use of the LocSpeck dynamic-positioning algorithm introduces 24% error to the RMS error while increasing the maximum error to 1.94 m from 0.8 m in the reference solution. #

CONCLUSIONS
This paper presented LocSpeck, an ad-hoc UWB-based positioning systems that achieves comparable positioning performance to the Pozyx system-under similar operating conditions.The proposed system can provide much more flexibility, thanks to the random medium access protocol.
LocSpeck network can accommodate any arbitrary number of nodes operating in the same region, additionally it supports the dynamic inclusion or removal of nodes from the network.

Figure 4 .
Figure 4. Anchors and Reference Points Locations

Table 2
summarizes the results of the dynamic positioning algorithm, for different test scenarios.The first column in this table explains briefly the corresponding test scenario.The second and third columns give the number of the LocSpeck and Pozyx nodes used during the scenario.The following three columns show the maximum, mean, and the root mean squares errors of the horizontal position of the dynamic node.Finally, the last column gives the average range measurements update rate during the scenario.Use only the full set of Pozyx nodes.this scenario compares the performance of the Pozyx raw measurements, processed by the dynamic-positioning algorithm of the LocSpeck system to the reference solution, generated by the Pozyx system.

Table 2 .
Test Scenarios Description and Positioning Errors