Localization in Structured Environments with UWB Devices without Acceleration Measurements, and Velocity Estimation Using a Kalman–Bucy Filter

In this work, a novel scheme for velocity and position estimation in a UWB range-based localization system is proposed. The suggested estimation strategy allows to overcome two main problems typically encountered in the localization systems. The first one is that it can be suitable for use in environments where the GPS signal is not present or where it might fail. The second one is that no accelerometer measurements are needed for the localization task. Moreover, to deal with the velocity estimation problem, a suitable Kalman–Bucy filter is designed and it is compared, experimentally, with a particle filter by showing the features of the two algorithms in order to be used in a localization context. Additionally, further experimental tests are carried out on a suitable developed test setup in order to confirm the goodness of the proposed approach.


Introduction
Real-time localization of mobile objects and people has gained increasing interest and popularity because of the growing demand of location-based services such as in smart industries, warehouse management, healthcare industry, transportation and logistics, defense, mobile robot guidance, and autonomous drive and flight. For these reasons, the localization estimation problem is a challenge in the academic communities and industrial sectors, especially for those involved in autonomous flight applications design [1][2][3] where the controller, in order to implement real-time state-feedback control laws, has to know the position, linear and angular speed of the object, and its attitude. Since the position and velocity vectors, estimated by means of integrations of the accelerations measured by IMU, suffer uncertainties and disturbances introduced by the sensor itself, the aim of this paper is the estimation of the position of a moving point P and that of the velocity without acceleration measurements. In outdoor environments, where geostationary satellites are in LOS (line-of-sight) condition, the GPS signal is used to obtain information about position and velocity of a mobile object (see, for example, [4][5][6][7][8][9]), together with a data fusion system [10] which is able to handle the different nature and frequency of IMU measures and GPS signals. In other contexts, where the GPS signal becomes unreliable, for example, in indoor environments [11,12] or outdoor scenarios such as forests or urban canyons [13], it is necessary to use alternative sensor devices and methods to face the localization problem [14][15][16][17]. A common way to approach this kind of problem is to perform the navigation task in a structured environment where it is possible to take information about the distance between the moving object and some fixed reference points. This can be achieved, for example, by installing some UWB radio transceivers both on the mobile device and in correspondence of the fixed reference points, which are called anchors.
The localization method is based on the measurement of the distances between the onboard module and the anchors, and makes use of a suitable algorithm to extract the position of the center of gravity of the moving object [18][19][20]. Starting from n ≥ 3 distance measurements and applying a trilateration algorithm [21][22][23][24], it is possible to obtain an estimation of the position vector. With regards to the implementation of the trilateration algorithm, in order to calculate the best approximation of the mobile object position, some recursive procedures have been explored and proposed in the literature, generally based on linear and nonlinear least-square technique [25,26], or the use of Cayley-Menger determinant [27,28]. Other approaches based on Kalman filtering have also been investigated. For example, in [29], a Kalman filter based on data fusion algorithm was designed to improve the localization performance in an indoor scenario. In [30], a multi-sensor fusion algorithm for underwater vehicle localization was presented, making use of neural network and obtaining better navigation and localization results with respect to the classic implementation based on the error-state Kalman filter. In [31], a deep learning framework with multiple long short-term memory modules combined with an extended Kalman filter was proposed to predict the increment of the vehicle position in a localization task during GPS outages.
This paper represents an extension of the work presented in [32], where a localization scheme derived from the parallel robot context and based on the estimation of the direct kinematics is illustrated. In particular, assuming the gravity center of the mobile object as the end effector of a parallel robot and its distances from n anchors as the prismatic links, the estimation of the position vector is obtained by means of inversion of the known inverse kinematics. The distances from the anchors are measured at low frequency using the UWB radio transceivers DWM1000 integrated circuit (IC) from Decawave manufacturer [33]. The estimator consists of a closed-loop control scheme based on a PI action driven by the error between the measured distance vector and the estimated one, and affected by the distance vector derivative acting as a disturbance. Since this disturbance is calculated by means of IMU integration and a projection through the online-computed inverse kinematics, it is affected by errors due to drift caused by IMU biases. In order to cope with this effect, high values of the estimator gains have to be employed, as suggested in [34].
Since this solution appears to be unsatisfactory, in this paper, the estimator presented in [32] is modified, replacing the derivative of the distance vector with an estimation of this derivative carried out by means of an exact first-order Levant's differentiator [35]. In this work, it is shown that it is possible to eliminate the accelerometer and all problems connected to it, such as systematic errors given by imprecise scaling factors, axes misalignments, non-uniform cross-axis sensitivities, non-zero biases, and temperature dependence. Moreover, from the theoretical point of view, it is possible to ensure the convergence to zero of the position estimation error in the case with three anchors, while if more than three anchors are employed, the convergence can be proved only locally. Finally, with the aim of also estimating the velocity of the mobile object, a Kalman-Bucy filter, driven by the estimated position, is introduced. It is important to highlight that the Kalman-Bucy filter input variables are computed by the proposed localization algorithm and, consequently, that they do not present drift problems caused by the double integration of the accelerometer measurement.
Experimental results show the effectiveness of the proposed localization scheme. In particular, it is shown that it is possible to approximate the first derivatives of the distances by using a suitable developed differentiator. This leads to a slightly noisier estimate, but allows to eliminate the accelerometer. Moreover, the Kalman-Bucy filter is compared with the particle filter, and it is shown that the best results are obtained using the differentiator and the Kalman-Bucy filter for velocity estimation, both in term of amplitude and variance of the estimation error.
The structure of the paper is as follows. In Section 2, the localization scheme for the position estimation without accelerometer measurements is illustrated by differentiating the case with three anchors (Section 2.3) and with more than three anchors (Section 2.4). The experimental results for this scheme are given in Section 2.5. In Section 3, we discuss three different schemes to estimate the velocity, also showing the experimental results and giving a comparison among them in Section 3.3. Finally, conclusions are given in Section 4. Additionally, the experimental setup implemented to prove the effectiveness of the proposed architectures is described in Appendix A.

Localization without Accelerometers
A trilateration algorithm, in both indoor and outdoor environments, allows to extract the information about the coordinates of a point P in a chosen reference frame by measuring the distances of P from some fixed devices whose coordinates A i , i = 1, . . . , n are a priori known. Since the aim of this paper is to propose a method for the localization of a point of a mobile moving object in indoor environments, where the GPS signals do not arrive, the electronic devices chosen to perform range-based measurements are ultra-wideband radio transceivers (see Section 1). The proposed method is based on the kinematics inversion algorithm highlighted in the parallel robotics field. In this context, differently from the one for serial robots, the structure of the inverse kinematics in a closed form is known, so it is necessary to determine the direct kinematics. Due to the nonlinear nature of the problem, this computation does not exist in a closed form. As already stated, the principal objective is that of performing the localization algorithm without any knowledge of accelerometer signals.
The inverse kinematics structure describing the relationship between the range measures q i and the coordinates p is given by the following equation: where the generic component of K −1 (p), q i , is given by: where x i , y i , and z i denote, respectively, the components of the position of the ith anchor A i referred to the reference frame; p x , p y , and p z denote the coordinates of the mobile point P; q i are the distance between P and the ith anchor; and S = {1, 2, · · · n} denotes the discrete set of integer numbers representing the anchors. In the case under study, n ≥ 3.
In (1), the components of q and p represent, respectively, the prismatic link lengths and the coordinates of the reference point P of the parallel robot end-effector. If these coordinates (p x , p y , and p z ) are known, it is possible to obtain q by means of (2). However, the aim of this paper is to estimate the components of P by measuring the distances between P itself and the A i , i = 1, . . . , n anchors, and then the relationship to be used is the following one: where K is not known and has to be determined.
In [22], it is shown that by using three anchors located on the ground plane, it is possible to obtain a closed-form solution of the direct kinematics problem with an uncertainty on the sign of the component along the z-axis. This uncertainty can be eliminated if the motion of the mobile object is restricted to one side of the plane on which the three anchors lie.

Determination of the Direct Kinematics for n ≥ 3 Anchors
When more than three anchors are used, Equation (1) consists of n equations and three unknown quantities that are the coordinates of P. In this case, the problem is solved by means of the left pseudo-inverse algorithm. More precisely, deriving with respect to the time Equation (1), the following can be obtained: where J K −1 (p) ∈ R n×3 is the Jacobian matrix of the vectorial function K −1 (p), given by: In order to obtainṗ from (4), for n = 3 it is sufficient to apply the relationshiṗ p = J −1 K −1 (p)q because the Jacobian matrix is invertible, whereas for n > 3, it is common practice to minimize the 2-norm of the difference of the first and the second term of (4). This leads to an optimal solutionṗ opt , given by: where which exists because the Jacobian matrix J K −1 (p) is full-rank column.

A New Closed-Loop Localization Algorithm
Equation (6) suggests to determine the position vector by means of the following iterative algorithm:˙p where e = (q −q). The corresponding closed-loop block scheme of the localization method is given in Figure 1. This algorithm differs from that shown in [32] for the presence of the derivative of the computed feedback distance vector,q, instead of the derivative of the true distances,q. While the computed feedback distance vector is a continuous function, and consequently numerically derivable, the measured distance vector is a vector whose elements are piecewise constant functions, and consequently cannot be numerically derivable. For this reason, the computation ofq requires the use of accelerometers, as discussed in [32]. In order to compute a numeric derivative ofq it is possible to use the robust first-order Levant's differentiator [35], given by:˙q where sgn denotes the signum function.

Using Three Anchors
When the localization is performed using three anchors, it is easy to prove the following theorem. Theorem 1. Given a mobile object, let the point P be the center of gravity. Assume that three anchors are employed for the localization of the mobile object, i.e., q ∈ R 3 . Then (8) is an estimator of the coordinates of the point P, where J # (4)), (8) becomes: (11) implies that: It follows that e(t) converges asymptotically to zero when t diverges to infinity, provided that k I k P > 0. This implies thatq converges to q and, consequently,p = K(q) converges to p = K(q).

Using n > 3 Anchors
When n > 3 anchors are employed for the localization task, the left pseudo-inverse J # K −1 (p) is a 3 × n matrix having rank three. In this case (8) does not imply the convergence of e(t) to zero; in fact, since the n columns of J # K −1 (p) are linearly dependent, Equation (8) can be also satisfied for e i , i = 1, . . . , n different from zero. However, since the elements of the the Jacobian matrix J K −1 (p) are bounded, the elements of J # K −1 (p) are bounded as well, and, consequently, e 2 is bounded. This implies that K −1 (p) − K −1 (p) 2 is bounded and, since K −1 (p) is a continuous function in R 3 , p − p 2 is bounded.

Experimental Results Using Four Anchors
For the localization experimental tests, the setup described in the Appendix A was used. In this case, where only position estimation was addressed (no speed estimation), the results were compared with the previous results obtained with the algorithm proposed in [32]. In order to highlight the differences between the two estimators, the tests were named as shown in Table 1. Table 1. Experimental tests for the localization without speed estimation.

Test Name
Estimation Algorithm

Test 1
The one already proposed in [32].
In particular, the reference motion of the point P, corresponding to the onboard mobile anchor, is that depicted in Figure 2. This motion occurs in a scenario in which four fixed anchors are placed in positions A 1 = (4.58, 4.58, 1.60), A 2 = (4.58, 0, 2.20), A 3 = (0, 0, 1), and A 4 = (0, 4.58, 2.80), referred to a conventional Cartesian reference frame. The distances q i , i = 1, . . . , 4 are measured at a frequency rate of 12 Hz from the onboard mobile anchor and these four fixed anchors A i , i = 1, . . . , 4. These measured distances represent the components of the distances vector q applied as input to the closed loop localization scheme of Figure 1. In this localization scheme, the measured distances q are staircase waveforms, whereas the feedback distancesq are continuous, and then differentiable waveforms, which track, on average, the input distance vector components.
The parameters of the localization scheme are k P = 10 and k I = 25. The components of the closed-loop localization scheme output vector, i.e., the coordinates of the point P, are given in Figure 3 together with the components of the reference trajectory of P during the motion. In the same figure, the corresponding tracking errors for both Test 1 and Test 2 are given together with a zoom relative to the initial transient. For both Test 1 and Test 2, the measured distances are reported in Figure 4 in black color. Examination of these figures shows that the new closed loop localization scheme is able to estimate the components of the point P with an error that, after a transient, presents a maximum value of 15 cm. The estimated position error for the new algorithm Test 2, obtained without the use of acceleration measurement, appears to be a little bit noisier than the one obtained with the previous localization algorithm Test 1. The estimated distancesq for both tests are given in Figure 4. Note that, from Figure 4, it is evident that the two algorithms produce almost the same output and for this reason there is an overlap between the two waveforms (Test 1 and Test 2).  In Table 2, the mean value and the variance of the norm of the position estimation error for both Test 1 and Test 2 are reported. Data in Table 1 highlight that mean and variance of the errors relative to Test 2 are greater than those in Test 1. This confirms that using the differentiator instead of the acceleration measurements leads to a small loss of performance which, in turn, is insignificant with respect to the advantage connected to the elimination of the accelerometer itself.

Remark 1.
Note that when the accelerometer is removed from the observer scheme, the algorithm workload is a little bit higher because of the additional computational power needed to implement the differentiator. However, the removal of the accelerometer gives some advantages. In fact, even if accelerometers are very common and not expensive, they are generally affected by systematic errors given by imprecise scaling factors, axes misalignments, non-uniform cross-axis sensitivities, non-zero biases, and temperature dependence that decrease accuracy in the measurements. For these reasons, a system that makes use of accelerometers needs to be initialized with a calibration procedure before use.

Velocity Estimation
In order to obtain information about the velocity of P, a Kalman-Bucy filter is designed with the aim of obtaining the state estimation of the model, i.e., the position and velocity of P.
The strap-down model is given by: where a is the acceleration vector, p and v are the position and velocity vectors, and y is the output vector. The state space model corresponding to (13)-(15) is given by: where x = [p T v T ] T is the state vector, and the matrices appearing in (16)-(17) are given by: where 0 3 and I 3 are the null and identity 3 × 3 matrices. It easy to verify that model (16)-(17) is observable and, consequently, it is possible to employ an observer to obtain the state variables. Due to the linearity of the model (16)- (17) and taking into account that the acceleration, measured by the accelerometers, is affected by a large amount of noise, it is convenient to design a continuous-time Kalman-Bucy filter (KBF) estimator. Moreover, a particle filter is considered for comparison reasons. With regard to the velocity estimation, three different implementation schemes were considered, as reported in Table 3. In all the three schemes, it is assumed that the position estimation is that given by the localization scheme of Figure 1. In particular, in Figure 5, a Kalman-Bucy filter is added to the localization scheme of Figure 1 with the aim of obtaining the velocity estimation. In Figure 6, the estimated velocity is used for estimatinġq without the use of the differentiator. In Figure 7, a particle filter is used instead of the Kalman-Bucy filter together with the differentiator. Table 3. Experimental tests for the localization with speed estimation.

Test 4
Estimation ofq by Kalman-Bucy filter (cf. Figure 6). Test 5 Differentiator and particle filter (cf. Figure 7). Figure 5. Test 3 estimator scheme with Kalman filter and differentiator. Figure 6. Test 4 estimator scheme with Kalman filter and velocity feedback. Figure 7. Test 5 estimator scheme with particle filter and differentiator.

Kalman-Bucy Filter
In order to design the KBF corresponding to the acceleration model, it is necessary to associate with the deterministic model (16)-(17) a stochastic model which takes into account the noise generated by the accelerometer w a together with the true accelerationā and the measurement noise w p at the output of the localization schemep. Then, the stochastic model of the accelerometer is given by: where w a and w p are uncorrelated Gaussian white noises,ā is the true acceleration, and y is the output, having, respectively, covariance matrices Q and R. The optimal KBF estimator is therefore given by:˙x where K F (t) = P(t)C T R −1 and P(t) is the covariance matrix of the estimation error given by To better clarify how the Kalman-Bucy filter is implemented for the velocity estimation, in Figure 8, the corresponding block diagram is reported.
Eq.21v R, Q P(t)x In this way, the localization is performed without using the accelerometers, whereas the velocity estimation requires to employ the signals generated by the accelerometers and a Kalman-Bucy filter. Now, it is interesting to evaluate the use of the estimated velocity for determining the feedback variableq, with the aim of eliminating the differentiator.
Observing (4), it is possible to obtain an estimation ofq starting from the estimation of v given by the Kalman-Bucy filter. Obviously, this approach should imply the use of the accelerometer signals also for the localization of the point P. It is assumed to again use the position estimated by means of the localization system for obtaining the feedback distance vectorq.

Particle Filter as Alternative to the Kalman-Bucy Filter
In this subsection, the opportunity of using a particle filter instead of a Kalman-Bucy filter is evaluated for velocity estimation of the point P. The particle filter is tuned according to the discrete-time model associated with the strap-down model given by (13) and (14). This model is obtained by integrating Equation (14) and, successively, Equation (13) from t 0 to t, starting from the initial conditions p(t 0 ) and v(t 0 ), and assuming p(t) = p(kT s ), v(t) = v(kT s ) and a k = a(kT s ) for t ∈ [kT s , (k + 1)T s ). Then, the discrete-time model is obtained, placing t 0 = kT s and t = (k + 1)T s where k = 1, 2, . . .. The model in question is represented as follows [24]: where a k =ā k + w a,k , withā k the true acceleration and w a,k the superimposed accelerometer noise, and Placing = B d w a,k , the covariance matrix Q = E{ T } is given by: where Σ 3 = diag(σ 2 x , σ 2 y , σ 2 z ) and σ x , σ y , and σ z are standard deviations of the accelerometer noise along the axes (x, y, and z).
The particle filter considered here is shown in [36] (the one available in the MATLAB environment). It requires the deterministic discrete-time plant model (22)-(23) without noises w a,k and w p,k , and with a k instead ofā k , and the construction of two functions, the state transition and the likelihood function.
The state transition function computes a 6 × N p matrix where N p is the particles number, and the jth column is the state value corresponding to the jth particle. The likelihood function computes the likelihood of each particle, starting from the output error given by the difference of the measured output and the output computed with the state associated to the particle itself. The output is then computed starting from the state of the particle having the maximum likelihood.

Experimental Results for the Velocity Estimation Schemes
To properly design the KBF it is necessary to obtain the covariance matrices Q and R. To determine Q, the following procedure is performed. The three components of the acceleration vector, referred to in the conventional frame of Figure 2 and acquired during the experiment described in the previous section, are passed offline through three anticausal filters in order to split each acceleration component into the true acceleration and the noise signal superimposed to them. The anticausal filters are based on a continuoustime third-order Butterworth filter, having different bandwidths so that the mean value of the three noise signals is almost the same and is as low as possible. Then, the three matrix elements of Q, chosen diagonal, are computed as the covariances of the above noise signals. The covariance matrix, computed assuming the three elements of Q equal to the maximum value of the covariance along the three axes, is given by Q = diag(0.2244, 0.2244, 0.2244). The covariance matrix R is chosen equal to I 3 .
To design the particle filter, the distribution function is assumed Gaussian with a null mean and covariance 0.0001 0.0001 0.0001 0.2244 0.2244 0.2244 T , and the particle number is assumed to be N p = 10000. The first three components of the covariance vector represent the covariances of the position component of P, whereas the remaining three components represent the covariances of the three acceleration components. The sample time is that corresponding to the frequency of 100 Hz, as in the previous experimental results. In Figure 9, the estimated position, relative to Test 3, 4 and 5, is reported while the experimental results relative to the velocity estimation are given in Figure 10. Examination of this figure shows that the KBF is able to give an acceptable estimation of the velocity of point P in both cases of presence of the differentiator (cf. Figure 5), and direct feedback of the estimated velocity (cf. Figure 6). Instead, the particle filter is not able to estimate the velocity of P or considerably increase the number of particles. Examination of this figure shows that the effects of the velocity feedback on the localization are those of introducing noise in the estimated position of P together with a variation of the mean value of the estimation error and its variance, as is confirmed by Table 4. On the other end, even if the particle filter is able to reproduce the position with an acceptable mean error (greater than the one obtained using the KBF), the variance is four times higher.  Finally, in Figure 11, the norm of the distance estimation error is shown for Test 3 and 4. It appears that results from Test 4 present a better performance in terms of mean value and variance with respect to the one in Test 3. In conclusion, from the experimental tests, it is possible to affirm that the best results are obtained using the differentiator and the Kalman-Bucy filter for velocity estimation, as shown in Figure 5, Test 3. In fact, this structure allows to obtain, especially in the position estimation task, a lower mean and variance for the position estimation error (see Table 4) while it behaves in a similar way to Test 4 and Test 5 for the velocity estimation (see Table 5). Alternatively, it is possible to use the Kalman-Bucy filter alone, and feed back the velocity estimated by the filter, avoiding the use of the differentiator, accepting an increasing of the mean value and the variance of the position estimation error. The scheme with the particle filter, Test 5, is instead to be excluded because in both cases (position and speed estimation) it behaves worse than the other two solutions proposed in Test 3 and Test 4.

Conclusions
In this work, a novel observer for a range-based localization system is proposed for applications in environments where the GPS fails. Two aspects were developed. Firstly, a closed-loop localization scheme, which uses the measured distances as input variable, was designed. Secondly, a Kalman-Bucy filter was used to estimate the velocity components of P, and it was compared with the particle filter. Experimental results show the effectiveness of the proposed localization scheme. In particular, it was shown that it is possible to approximate the first derivatives of the distances by using a suitable developed differentiator. This leads to a slightly noisier estimate, but allows to eliminate the accelerometer and all problems connected to it. Moreover, the Kalman-Bucy filter results as the best-performing filter for estimating the velocity of point P, compared with the particle filter. Finally, it was shown that the velocity estimated by the Kalman-Bucy filter can be fed back to estimate the derivative of the distance vector, avoiding the use of a differentiator to implement the proposed localization algorithm.

Conflicts of Interest:
The authors declare no conflict of interest.

Appendix A. Description of the Experimental Setup
The experimental tests were conducted by bringing the equipment on a plate mounted on the end effector of a Smart Six-1.4 industrial robot Comau that serves as ground-truth reference. The plate is equipped with a 9-axis IMU LSM9DSI from STMicroelectronics (used only for Tests 3, 4, and 5 defined later in the paper, where the velocity estimation was also performed), a Raspberry Pi3 SBC, which runs the compiled code generated by means of Matlab/Simulink environment at a frequency of 100 Hz, and an anchor device built on top of a Decawave DWM1000 radio transceiver. The robot motion is controlled by means of the Comau C4G controller, which is also able to exchange data with the Raspberry SBC via a WiFi connection. In this way, it is possible to impose the highly accurate and a priori known desired motion to the plate, and to have accurate trajectory references for both point P and the distances between the onboard anchor and the fixed ones. Figure A1 shows a photo of the experimental setup. The UWB ranging system is composed of four fixed devices placed on the scene and a mobile device placed on the object to be tracked. The beacon hardware is based on DW1000 IC from Decawave, a singlechip IEEE802.15.4-2011UWB compliant device with internal high-precision counter (each LSB of the timestamp timer is 15.65 pS, which leads to maximum theoretical accuracy of ±5 mm) for time-of-flight (ToF) measurement. Since a two-way ranging technique was used to perform ToF measurements, more time captures are needed to compute a single distance measurement. This led to a measurement accuracy, as indicated on the DW1000 manufacturer website, of ±10 cm instead of the maximum theoretical accuracy of ±5 mm. Moreover, each beacon is equipped with an external microcontroller. The range measurement system has an actual equivalent refresh rate of up to 12 Hz.