Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2020 Jun 21;20(12):3514. doi: 10.3390/s20123514

A Federated Derivative Cubature Kalman Filter for IMU-UWB Indoor Positioning

Chengyang He 1,2,*, Chao Tang 1,2, Chengpu Yu 1,2
PMCID: PMC7349536  PMID: 32575892

Abstract

The inertial measurement unit and ultra-wide band signal (IMU-UWB) combined indoor positioning system has a nonlinear state equation and a linear measurement equation. In order to improve the computational efficiency and the localization performance in terms of the estimation accuracy, the federated derivative cubature Kalman filtering (FDCKF) method is proposed by combining the traditional Kalman filtering and the cubature Kalman filtering. By implementing the proposed FDCKF method, the observations of the UWB and the IMU can be effectively fused; particularly, the IMU can be continuously calibrated by UWB so that it does not generate cumulative errors. Finally, the effectiveness of the proposed algorithm is demonstrated through numerical simulations, in which FDCKF was compared with the federated cubature Kalman filter (FCKF) and the federated unscented Kalman filter (FUKF), respectively.

Keywords: federated derivative cubature Kalman filtering, information fusion, indoor positioning

1. Introduction

With the development of science and society, more and more intelligent products have entered in people’s lives, and the most representative of them are intelligent robots, such as cleaning robots, storage robots, and service robots. Most intelligent robots are mainly used in indoor scenarios such as home services, factory logistics, and business services. Therefore, it is of great significance to study high-precision indoor positioning techniques.

The current indoor positioning solutions include WiFi [1], Bluetooth [2], ultra-wide band (UWB) [3,4,5], ZigBee [6], inertial measurement unit (IMU) [7,8,9], and so on. The inertial navigation system is a self-contained system that calculates the position, velocity, and attitude of a vehicle from the outputs of inertial measurement units (IMUs). However, IMUs have drift errors, and their positioning errors increase unrestrictedly with time [10]. Therefore, the IMU as a positioning sensor alone is only effective for a short time. If it needs to work for a long time, other sensors need to be introduced to continuously correct the accumulated error of the IMU. Compared with other indoor positioning solutions, UWB signals have the characteristics of strong anti-multipath effect, low energy consumption, low power consumption, and comparatively high positioning accuracy. Therefore, it is a popular indoor positioning solution with high comprehensive performance. Thanks to the miniature of single chip transceiver [11], UWB positioning system has been adopted to provide accurate location information for multi-agent systems [12,13]. The disadvantage of UWB is that this solution cannot obtain accurate bearing information in an indoor environment. Due to the fact that IMU information and UWB information are complementary [14,15], the fusion of IMU and UWB information can overcome the shortcomings of two independent systems, such as the lack of bearing information of UWB and the long-term drift error of IMU. It also enables to sufficiently exploit the advantages of both stand alone systems, such as UWB’s positioning accuracy does not change over time, and IMU’s short time positioning accuracy is extremely high [16]. Fusion of multiple sensors information and complete real-time fault diagnosis is currently the most popular solution [17].

There are many algorithms for information fusion in the literature such as the filtering based method [18,19,20], the statistical inference method [21,22], and the artificial intelligence method [23]. Among them, Extended Kalman Filter (EKF) is the most commonly used state estimation algorithm for nonlinear systems [24]. This algorithm uses an approximate idea to transform a nonlinear system into a linear system through Taylor expansion [25]. However, when the system’s non-linearity is high, EKF will produce a large truncation error, resulting in inaccurate fusion results. The Unscented Kalman Filter (UKF) uses a finite number of sigma points to propagate the probability density function of state distribution through the nonlinear dynamics of a system [26]. Therefore, UKF is one of the most commonly used methods for attitude estimation [27] and multi-sensor information fusion [28]. In high-dimensional systems, UKF needs to adjust parameters reasonably to obtain better filtering effects, which turns out to be difficult in practice. Ienkaran Arasaratnam and Simon Haykin recently proposed the cubature Kalman filter (CKF) [29] which has been the closest approximation until now to Bayesian filtering in theory. A prominent advantage of CKF is that it is mathematically rigorous, which is reflected in the fact that CKF is based on the third-degree spherical-radial cubature rule. A unique characteristic of the CKF is that the spherical radial cubature rule leads to an even number of equally weighted cubature points. These cubature points are distributed on a sphere centered on the real point [30,31]. The state estimation and target tracking based on cubature Kalman have gradually received more and more attention from scholars [32]. Large-scale system will lead to the problem of high calculation complexity and large calculation burden [33]. It is an efficient solution to decompose the large system into multiple subsystems for distributed and decentralized calculation [34,35]. In order to improve system performance, it is necessary to adopt a framework of decentralized Kalman filtering [36]. The federated filter uses a two-stage filtering structure, which reduces the amount of calculation and improves the system’s fault tolerance [37]. To sum up, a distributed framework for federated filtering shall be proposed in this paper, where the derivative CKFs are used as sub-filters to fuse UWB and IMU information.

The rest of the paper is organized as follows. In Section 2, we introduce practical systems with both UWB and IMU sensors [38]. Section 3 proposes an estimation fusion algorithm based on the derivative CKF in the federated filtering framework which is called the federated derivative cubature Kalman filter (FDCKF). The derivative CKF uses KF to simplify the calculation of the measurement update without reducing the estimation accuracy. In addition, inspired by [39,40], this paper also applies Singular Value Decomposition (SVD) decomposition to the DCKF algorithm to improve the convergence of the algorithm and avoid ill-posed problems [41,42] during the Cholesky decomposition. In Section 4, the proposed algorithm is verified through numerical examples on the odometer based motion system. Finally, conclusions are made in Section 5.

The terms of the filtering algorithm appearing in this section will be explained respectively in Table 1.

Table 1.

Shorthand table of filtering algorithms.

Shorthand Explanation
KF A method for state estimation of linear systems.
CKF A method for state estimation of nonlinear systems.
DCKF Aiming at the system introduced in this article, a derivative algorithm is proposed by combining the KF and CKF algorithms. The KF algorithm is used for the linear part of the system, and the CKF algorithm is used for the nonlinear part of the system.
SVDDCKF The Cholesky decomposition for solving cubature points in the DCKF algorithm is replaced with SVD decomposition.
Federatedfilter An information fusion framework.
SVDFDCKF Apply SVD-DCKF as a sub-filter to the federated filter.

The relationship between these filtering algorithms is shown in Figure 1.

Figure 1.

Figure 1

Relationship between filtering algorithms.

This article proposes a new IMU-UWB fusion scheme called Singular Value Decomposition (SVD)-FDCKF, which continuously corrects the IMU through UWB positioning information to avoid the accumulation of IMU drift errors. With the assistance of UWB, the high positioning accuracy of the IMU in a short time can be fully utilized.

2. IMU-UWB Mobile Robot System Model

As shown in Figure 2, the system used in this paper is a mobile robot system equipped with UWB sensors and IMU sensors. For a mobile robot running in an indoor environment, precise position information is necessary for performing complex mobile tasks. The IMU information can provide accurate position information and direction information of the mobile robot in a short time. Over time, accelerometer errors in the IMU can lead to accumulation of drift errors. Although UWB information cannot provide complete pose information, its positioning results are relatively stable, indicating that the positioning accuracy will not change with time. The mobile robot considered in this article is a wheeled mobile robot, so it is also equipped with an odometer, which can obtain the speed, acceleration, and posture information of the mobile robot by recording the driving mileage of the driving wheels.

Figure 2.

Figure 2

Inertial measurement unit and ultra-wide band signal (IMU-UWB) indoor positioning via the Singular Value Decomposition (SVD)-federated derivative cubature Kalman filter (FDCKF).

The specification of simulated sensors and mobile robot are shown in Figure 3. (a) The UWB sensors are commercial products provided by the company of YCHIOT, and its modole is Mini3s; (b) we chose a very popular spatial motion sensor chip MPU6050 as the IMU sensor; (c) the odometer is constructed by the DC gear motors MG513 with encoder; (d) the wheeled mobile robot platform realizes accurate positioning by carrying the above sensors. The specific applications and mathematical expressions of these sensors will be described in detail below.

Figure 3.

Figure 3

The sensors and mobile robot involved in this article.

2.1. Description of System State Equation

The position change of the mobile robot system is based on the odometer, so we choose the odometer model to describe the current system state. Assuming that the indoor environment is an ideal plane environment, the position of the mobile robot can be expressed as (x,y,θ), where x and y represent the position coordinates of the robot in the Cartesian coordinate system, and θ represents the yaw angle of the robot. Based on this state information, the mobile robot can be navigated. The system state vector Xk is defined as follows:

Xk=[xk,yk,θk]T (1)

where the subscript k indicates the value of the state at time k. According to the characteristics of the odometer, state-space model for the mobile robot is given as:

Xk+1=xk+Mk/γkcos(θk+γkcosθk)yk+Mk/γksin(θk+γksinθk)θk+γk+wk (2)

where Mk is the distance recorded by odometer, γk is the change amount of the yaw angle of the mobile robot, which can be obtained by the odometer based on the difference between the left and right wheel movement distances. The wk is the Gaussian white noise with its variance Qk being expressed by:

E[wkwkT]=Qk (3)

The variables Mk and γk included in the above state equation do not belong to the state variable Xk of the system; instead, they are used as inputs uk in this state equation. For wheeled mobile robots, the odometer’s change value of the left wheel Ml,k and right wheel Mr,k can be obtained separately. The input of the state equation can be obtained by the following formula:

Mk=(Mr,k+Ml,k)/2γk=(Mr,kMl,k)/L (4)

where L is the distance between the driving wheels of the wheeled mobile robot. Consequently, it can be seen from Equation (2) that the system’s state equation is a nonlinear equation with inputs.

2.2. Description of System Measurement Equations

The measurement equations considered in this paper are obtained according to the UWB module and the IMU module, respectively. The UWB module can calculate the position of the mobile robot based on the ranging information, and the IMU module can obtain the position information based on the acceleration integral. Next, it will be described in detail.

2.2.1. IMU Measurement Equation

The IMU consists of a gyroscope and an accelerometer, which are used to measure acceleration and angular velocity, respectively. Integrating the acceleration twice can yield the position information, and similarly integrating the angular velocity can achieve the yaw angle information. However, the measurement results of low-cost commercial accelerometers are of low accuracy, and the acceleration deviation is seriously affected by the working time, i.e., the positioning results will have a large drift error as the working time increases. The data can be collected from the IMU including the position (xk,yk) and the yaw angle (θk) of the mobile robot.

The measurement equation of the system based on the IMU is shown as follows:

Zx,kZy,kZθ,k=100010001xkykθk+v1x,k×T22v1y,k×T22v1θ,k (5)

where the v1x,k, v1y,k, v1θ,k are measurement noise with variance R1,k, and T denotes the signal sampling period.

E[v1x,kv1x,kT]=R1,k (6)

2.2.2. UWB Measurement Equation

In the set up of the UWB positioning system, three UWB sensors are deployed as anchors. We establish a Cartesian coordinate system by accurately measuring the distance and angle between these anchors. A UWB sensor is deployed on the mobile robot as a tag, and the time of arrival (TOA) method is used for distance measurement between the tag and the anchors. The coordinates of the tag are calculated using the distance measurement information and the coordinates of the anchors. Typical TOA based algorithms include trilateration, weighted least square, second order cone programming (SOCP), etc. Since the UWB sensor’s refresh frequency can reach 200 Hz, it can be considered that the UWB positioning result can reflect the mobile robot’s position information (x,y) in real time.

The measurement equation of the UWB localization system is shown as follows:

Zx,kZy,k=100010xkykθk+v2,k (7)

where the υ2,k is the measurement noise and its variance R2,k is expressed as:

E[v2,kv2,kT]=R2,k (8)

3. The Federated Derivative Cubature Kalman Filter

3.1. Problem Statement

In the previous section, we have shown the state equations of the moving system to be located and the measurement equations of the IMU-UWB. It is not difficult to see that the system’s state equation is nonlinear, while the measurement equation is linear. Due to the linear nature of the measurement equation, if a combination of federated filtering and CKF filtering is used, a volume of redundant calculations will be generated when the cubature points are propagated through the measurement equation. Meanwhile, the Cholesky decomposition used in CKF requires the matrix to be a positive definite matrix, which has strong limitations. The SVD decomposition can decompose any form of matrix, and can be transformed into the form required by CKF. Therefore, the problem of interest is to design a SVD-FDCKF method so as to improve the computational efficiency and the localization performance in terms of estimation accuracy.

The SVD-FDCKF method developed in this section uses derivative CKF and the distributed framework of federated filtering to excute distributed information fusion. The main framework of the SVD-FDCKF algorithm is shown in Algorithm 1. Further detailed steps and related proofs will be explained in the sequel.

Algorithm 1 A Cycle of SVD-FDCKF Algorithm to Estimate System State.
Input:Mk, γk, X^k, Pk, Zk+11, Zk+12
Output:X^k+1, Pk+1
CKF-Time Update
  • 1:

    Initialize state estimate X^k and the error covariance matrix Pk.

  • 2:

    Calculate the state cubature points Xkj by SVD decomposition.

  • 3:

    Propagating the cubature points Xkj through the nonlinear state equation.

  • 4:

    Calculate the predicted state X^k+1|kj and the error covariance Pk+1|k.

KF-MeasurementUpdate
  • 5:

    Calculate the predicted measurements of two sub-filters Z^k+11&Z^k+12 at the same time according to KF.

  • 6:

    The state estimates X^k+11,X^k+12 and error covariance matrices Pk+11,Pk+12 of the two sub-filters are updated separately.

  • 7:

    return Fuse two local filters to obtain a better estimation by reset federated filter and return X^k+1, Pk+1.

3.2. Algorithm Description

The considered nonlinear discrete-time system is represented by:

Xk+1=f(Xk,uk)+wkZk1=H1Xk+v1,kZk2=H2Xk+v2,k (9)

where XkRn and ZkiRim(i=1,2) denote respectively the state and measurement vector at time k. The state Xk=[xk,yk,θk]T, f(·) is the nonlinear n-dimensional vector function, and Hi is the measurement matrix. wk and vi,k are the uncorrelated zero-mean Gaussian white noise processes with covariances as:

E[wkwkT]=QkE[vi,kvi,kT]=Ri,ki=1,2 (10)

The optimal Bayesian filter (BF) is an ideal tool for state estimation. For nonlinear system state models, Bayesian filtering requires an approximate analysis in practice. When the density functions of the state and the measurement variables conforms to the Gaussian distribution, CKF is an approximate non-linear filtering algorithm closest to BF. The procedure of the proposed SVD decomposition based federated cubature Kalman filter (SVD-FDCKF) is elaborated as follows:

  • Step 1. Initialize state estimate X^k and the error covariance matrix Pk.

  • Step 2. Since the error covariance matrix Pk is a positive definite matrix, the state cubature points are calculated by SVD decomposition, and its weight as follows:
    Pk=UΣUT=(UΣ)(UΣ)T=SkSkTXkj=Skξj+X^kj=1,2,,m (11)
    where m is the total number of cubature points. According to Spherical–Radial Cubature law, we have m=2n where n is the dimension of the state quantity. Σ=diag(λ1,,λn) is a diagonal matrix composed of eigenvalues. ξj is the cubature point which is set to:
    ξj=nIjj=1,,nnIjj=n+1,,2n (12)
    where Ij represents the jth column of the identity matrix. The cubature points’ weights are set to:
    ωj=1m (13)
  • Step 3. Evaluate the propagated cubature points. The transformed cubature points yielded through the nonlinear state model are given as follows:
    Xk+1|kj=f(Xkj,uk)j=1,2,,m (14)
  • Step 4. Calculate the predicted state and the error covariance as follows:
    X^k+1|k=j=12nωjXk+1|kjPk+1|k=j=12nωjXk+1|kj(Xk+1|kj)TX^k+1|k(X^k+1|k)T+Qk (15)

    After the time update, the measurement update is then performed.

  • Step 5. As the system measurement equation is linear, the KF method is used for the measurement update and the Kalman gain calculation. The predicted measurement can be computed as follows:
    Z^k+1i=HiX^k+1|k (16)
  • Step 6. The state estimate X^k+1i and the corresponding error covariance matrix Pk+1i can be updated by:
    X^k+1i=E(Xk+1|Zk+1i)=X^k+1|k+Kk+1i(Zk+1iZ^k+1i) (17)
    Pk+1i=cov(X˜k+1i)=Pk+1|kPk+1|kHiT(HiPk+1|kHiT+Rk+1)1HiPk+1|k (18)
    where X˜k+1i=Xk+1X^k+1i is filtering error. The Kalman gain at time k can be obtained as follows:
    Kk+1i=Pk+1|kHiT(HiPk+1|kHiT+Rk+1)1 (19)
  • Step 7. Adopt the federated filtering framework to fuse the local estimation information of two local filters to obtain a better estimation:
    Pk+1g=[(Pk+11)1+(Pk+12)1]1X^k+1g=Pk+1g[(Pk+11)1X^k+11+(Pk+12)1X^k+12] (20)
    where Pk+1g and X^k+1g in the above formula are used respectively to re-initialize Pk and Xk^ in Step 1, and then repeat Step 1 to Step 7 for the next sample.

In the process of state estimation, the proposed SVD-FDCKF algorithm was updated by adopting a simple and effective KF method to replace the CKF method which uses extra cubature points to approximate the state mean and covariance for the linear measurement equation. Compared with the CKF method, the proposed algorithm reduces the redundant computation load.

In addition to the applicability of the system proposed in this article, the proposed method can be modified to deal with systems where the state equation is a linear equation and the measurement equation is a nonlinear equation.

Lemma 1.

The set of cubature points have the same sample mean and covariance as the distribution of the system Xk in (9).

Proof. 

Cubature points are of equal weights about X^k. Meanwhile, they are symmetrically selected. From the rules of cubature points’ selection which can be obtain in Formula (11) and (12), it is clear that the sample mean is X^k.

Suppose that the sample covariance is P. We can conclude

P=j=12nwj{XkjX^k}{XkjX^k}T=j=12n1m{Skξj}{Skξj}T=j=12n12n{SkξjξjTSkT}=Skj=12n12n{ξjξjT}SkT (21)

From the known conditions (12), we can obtain that j=12n12nξjξjT is a identity matrix and the equation SkSkT=Pk. Therefore, we can get P=Pk from the above formula. □

Theorem 1.

For the system given in Section 2, the proposed DCKF algorithm has the same estimation error covariance as CKF.

Proof. 

In order to facilitate the distinction, the symbols used by the CKF algorithm are superscripted with ‘c’.

For non-linear state equations, the state prediction X^k+1|k and the error covariance prediction Pk+1|k can be obtained after time updates. Factorize the error covariance and calculate the measurement cubature point as follows:

Pk+1|k=Sk+1|kcSk+1|kcTXk+1|k*,j,c=Sk+1|kcξjc+X^k+1|k (22)

where ξjc is the measurement cubature point which is expressed as:

ξjc=nIjj=1,,nnIjj=n+1,,2n (23)

Cubature points are propagated through the linear observation equation:

Zk+1j,c=HXk+1|k*,j,c (24)

From this, the predicted measurement can be obtained by:

Z^k+1c=12ni=12nZk+1j,c=12nHi=12nXk+1|k*,j,c=HX^k+1|k (25)

By the result in Lemma 1, the measurement covariance of CKF can be derived as:

Pk+1Z,c=12nj=12nZk+1j,c(Zk+1j,c)TZ^k+1c(Z^k+1c)T+Rk+1=12nj=12nHXk+1|k*,j,c(Xk+1|k*,j,c)THTHX^k+1|k(X^k+1|k)THT+Rk+1=H[j=12n12nXk+1|k*,j,c(Xk+1|k*,j,c)TX^k+1|kj=12n(Xk+1|k*,j,c)Tj=12nXk+1|k*,j,c(X^k+1|k)T+X^k+1|k(X^k+1|k)T]HT+Rk+1=H[j=12n12n(Xk+1|k*,j,cX^k+1|k)(Xk+1|k*,j,cX^k+1|k)T]HT+Rk+1=HPk+1|kHT+Rk+1 (26)

Using the same proof method as (26), we can get the cross-correlation matrix between the predicted state and measurement:

Pk+1XZ,c=12nj=12nXk+1|k*,j,c(Zk+1j,c)TX^k+1|k(Z^k+1c)T=12nj=12nXk+1|k*,j,c(Xk+1|k*,j,c)TX^k+1|k(X^k+1|k)THT=[12nj=12nXk+1|k*,j,c(Xk+1|k*,j,c)TX^k+1|k(X^k+1|k)T]HT=Pk+1|kHT (27)

The Kalman gain of CKF can be obtained by the following formula:

Kk+1c=Pk+1XZ,c(Pk+1Z,c)1=Pk+1|kHT(HPk+1|kHT+Rk+1)1 (28)

From (19) and (28), we can get Kk+1ckf=Kk+1i, i.e., DCKF and CKF can get the same Kalman gain in the system used in this paper. After getting Kalman gain, we can update the state prediction by:

X^k+1c=X^k+1|k+Kk+1c(Zk+1Z^k+1c) (29)

According to formula (16) and (24), we have Zk+1j,c=Z^k+1i. It can be found that (17) and (29) are equivalent. Therefore, both the CKF algorithm and the DCKF algorithm proposed in this paper have the comparative estimation accuracy. □

Theorem 2.

The SVD-FDCKF fusion algorithm proposed in this paper yields an optimal estimate of the system state in the sense of minimum variance.

Proof. 

The centralized fusion estimation is the optimal estimation of the system state in the sense of minimum variance. Therefore, it is sufficient to prove that the algorithm proposed in this paper is equivalent to the centralized fusion algorithm. Consider the time update first. In the time update part, the algorithm is not performed independently, i.e., Pk+1|k=Pk+1|kg and X^k+1|k=X^k+1|kg. Therefore, it is only necessary to prove that the measurement update part is equivalent to the centralized fusion.

Define the centralized fusion measurement equation:

Zk=HXk+vk (30)

where Zk=[Zk1,Zk2]T, H=[H1T,H2T]T, vk=[v1,kT,v2,kT]T and Rk=diag(R1,k,R2,k). The measurement update of centralized fusion can be described as:

(Pk+1global)1=(Pk+1|kg)1+HTRk+11H (31)
(Pk+1global)1X^k+1global=(Pk+1|kg)1X^k+1g+HTRk+11Zk+1 (32)

According to (20), we can obtain that:

(Pk+1g)1=(Pk+11)1+(Pk+12)1=i=12[(Pk+1|ki)1+HiTRk+1iHi]=(Pk+1|kg)1+(H1T,H2T)×diag((Rk+11)1,(Rk+12)1)×(H1T,H2T)T=(Pk+1|kg)1+HTRk+11H=(Pk+1global)1 (33)

In addition, it can be derived that:

(Pk+1g)1X^k+1g=(Pk+11)1X^k+11+(Pk+12)1X^k+12=i=12[(Pk+1|ki)1X^k+1i+HiT(Rk+1i)1HiX^k+1i]=(Pk+1|kg)1X^k+1g+HTRk+11Zk+1=(Pk+1global)1X^k+1global (34)

Then it can be seen from Equations (33) and (34) that the algorithm proposed in this paper is equivalent to the centralized fusion algorithm, implying that the proposed method can achieve the optimal estimation of the system state in the sense of minimum variance. □

3.3. Computational Burden Analysis

To evaluate the computational burden of the identification algorithm, we will count the number of multiplication and addition operations of the algorithm. Each multiplication or addition operation is called a flop and the total number of flops represents the computational burden.

For the considered system, the computational burden of the derivative cubature Kalman filter (DCKF) is significantly reduced compared with CKF. For CKF, it is necessary to select the cubature point set to derive the nonlinear system during the time update and measurement update. However, the measurement equation of the system considered in this article is a linear equation, and choosing this method obviously increases the computational burden. The DCKF method uses KF in the linear part of the system, avoiding redundant calculations for measurement updates. Table 2 shows the detailed analysis for the computational cost of the derivative cubature Kalman filter.

Table 2.

Comparison of cubature Kalman filter (CKF) and derivative cubature Kalman filter (DCKF) computational burden.

Step CKF DCKF Flops Difference
Calculate the measurement cubature point Pk+1|k=Sk+1|kckfSk+1|kckfT none 133n3+n2
Xk+1|k*,j,ckf=Sk+1|kckfξjckf+X^k+1|k
Estimate the predicted measurement Zk+1j,ckf=HXk+1|k*,j,ckf Z^k+1=HXk+1|k 4n32n2
Z^k+1ckf=12nj=12nZk+1j,ckf
Calculate Kalman gain Kk+1=Pk+1XZ,ckf(Pk+1Z,ckf)1 Kk+1=Pk+1|kHTHPk+1|kHT+Rk+1 6n3+14n2+4n
See (26) and (27) for details
Update states X^k+1ckf=X^k+1|k X^k+1=X^k+1|k ×
+Kk+1ckf(Zk+1Z^k+1ckf) +Kk+1(Zk+1Z^k+1)
Update error covariance Pk+1ckf=Pk+1|kKk+1ckfPk+1Z,ckfKk+1ckfT Pk+1=Pk+1|kKk+1HPk+1|k ×

Based on the above analysis, Table 2 compares the computational costs of CKF and DCKF in detail. As a result that CKF and DCKF are identical in the time update step, only the measurement update part is compared. Through the analysis of the computational cost, we can conclude that in each cycle, the CKF algorithm requires 433n3+13n2+4n flops more calculations than DCKF, while they have the comparative estimation accuracy.

Remark 1.

The “flops difference” in Table 2 refers to the number of CKF flops minus the number of DCKF flops.

3.4. Improvement of the Stability of the DCKF

For the DCKF algorithm, there are two main problems that may cause the filtering results to diverge. The first is that the Kalman filtering related algorithms are sensitive to some parameters. Improper parameter selection may lead to divergent estimation results. Second, the Cholesky decomposition used in the CKF algorithm requires that the decomposed error covariance matrix be a positive definite matrix. However, due to the rounding error generated by the computer during calculation, the covariance matrix may not be strictly positive definite, which will also cause the estimation result to diverge.

When the DCKF algorithm is used to calculate cubature points, it is necessary to perform Cholesky decomposition on the sample covariance matrix. Due to the randomness of the covariance matrix, ill-posed problems [41,42] are often encountered during the decomposition process, which affects the filtering performance and even causes the filtering results to diverge. Using SVD decomposition instead of Cholesky decomposition can avoid the problem of unstable filter values due to calculation errors, improve calculation efficiency, and enhance the numerical stability during calculation methods such as iterative update of the state covariance matrix. The SVD decomposition was introduced into the EKF algorithm, and a good covariance matrix iterative stability was obtained [31]. In addition, the SVD decomposition was introduced to the UKF algorithm to yield better stability [32]. The SVD decomposition is not sensitive to disturbance, and it is applied to the DCKF algorithm proposed in this paper. Compared with the CKF algorithm, the proposed SVD-FDCKF algorithm can effectively avoid the ill-posed problem of computing the square root of a covariance matrix which makes the algorithm have better stability and robustness, and obtain better filtering performance.

4. Simulations

Simulations are conducted in this section to comprehensively evaluate the performance of the proposed singular value decomposition-derivative CKF. The simulations are carried out in the Matlab program on a x86 Core i7 PC with 2.5-GHz CPU and 2-GB memory. The comparisons of the proposed SVD-FDCKF with the FCKF and FUKF will be made below.

4.1. Comparison Test of SVD-FDCKF and FCKF

In this sub-section, the state of the mobile robot system described in Section 2 is estimated using the proposed SVD-FDCKF algorithm and FCKF algorithm respectively. By comparing the simulation time and positioning results, the advantages generated by the SVD decomposition and the proposed derivative algorithm are quantitatively analyzed.

In Figure 4, the data is collected from 1000 times Monte Carlo experiments, from which we can find that the computation time of the proposed SVD-FDCKF algorithm is significantly less than that of the FCKF algorithm. The reason for the reduction in calculation time is that the SVD-FDCKF algorithm uses the characteristic that the measurement equations of the system are linear equations, avoiding complex calculations, such as the selection of cubature point sets and the propagation of cubature points. This result is consistent with the analysis of the calculation burden in Section 3, and the decrease in calculation burden leads to a reduction in calculation time. The average calculation time of the SVD-FDCKF algorithm proposed in this paper is 0.0435 s, which is 29.26% shorter than the FCKF algorithm of 0.0615 s.

Figure 4.

Figure 4

The simulation time in 1000 times Monte Carlo by the SVD-FDCKF and FCKF.

This set of simulations includes 200 path points. The distance L between the two driving wheels of the wheeled mobile robot is selected as 2 dm, which means that the width of the mobile robot is 2 dm. At the beginning of the simulation, we set the left wheel odometer change value Ml,k=1.1, the right wheel odometer change value Mr,k=1, and as the movement of the mobile robot, Mr,k becomes 1.1 and Ml,k becomes 1. In subsequent movements, Ml,k and Mr,k change periodically. Figure 5 shows the estimated paths of the three algorithms SVD-FDCKF, FDCKF, and FCKF. This set of simulations observes the performance of the combination of SVD decomposition and the derivative CKF by the closeness of the estimated path and the actual path. By comparing with the actual path, we can see that the three methods have similar performance in terms of positioning accuracy, which is consistent with Theorem 1 in Section 3. A part of the trajectory in Figure 5 has been randomly selected to enlarge, which is convenient to observe the path more clearly.

Figure 5.

Figure 5

The comparison of the real trajectory of the mobile robot with the SVD-FDCKF estimated trajectory and FCKF estimated trajectory.

Although it is difficult to get the specific positioning error by observing Figure 5, the scale of the estimated bias seems reasonable. Therefore, we analyze the positioning errors of FCKF, FDCKF, and SVD-FDCKF in Figure 6 and Figure 7. Among them, Figure 6 shows the attitude error of the mobile robot, including x coordinate error, y coordinate error, and yaw angle error; Figure 7 shows the error of the position estimated by the three algorithms. Combining these two figures with Theorems 1 and 2, none of the algorithms have significantly higher performance than the other two algorithms. Therefore, the derivative CKF proposed in this paper reduces the computational burden of CKF without reducing the positioning error.

Figure 6.

Figure 6

The attitude errors of mobile robots, including x coordinate, y coordinate, and yaw angle θ, are estimated by FCKF, FDCKF, and SVD-FDCKF algorithms at 200 path points, respectively.

Figure 7.

Figure 7

The error between the positioning result estimated by FCKF, FDCKF, SVD-FDCKF, and the actual position.

From Table 3, we can find that the average error and error variance of the proposed SVD-FDCKF algorithm in this paper are lower than the corresponding values of FCKF algorithm and FDCKF algorithm. It is because the process of generating cubature points requires Cholesky decomposition of the sample covariance matrix to find the square root of the matrix. If the matrix Pk is a singular matrix, the Cholesky decomposition cannot be performed, which will cause the iterative calculation cannot continue; in addition, the Cholesky decomposition is too sensitive to the calculation error, and the small rounding error caused by the finite word length during the operation often makes the matrix Pk loses its symmetry or positive definiteness, which results in unstable filtering results and reduces the filtering algorithm accuracy.

Table 3.

The average error and variance of SVD-FDCKF, FDCKF, and FCKF.

Method Average Error/dm Variance/dm2
SVD-FDCKF 0.1721 0.0119
FDCKF 0.1919 0.0138
FCKF 0.2006 0.0146

4.2. Comparison Test of SVD-FDCKF and FUKF

The unscented Kalman filter (UKF) is currently the most widely used state estimation algorithm, so it is very meaningful to compare with its performance. This sub-section uses the SVD-FDCKF and FUKF algorithms respectively for the described system to show the advantages of the proposed SVD-FDCKF algorithm through comparative experiments. The simulation results are shown in the following figures.

In this group of simulations compared with the FUKF algorithm, the UKF algorithm needs to be parameterized. This group of parameters is selected based on the previous simulation experience of filtering other models. The parameter α that determines the degree of the sigma points spread is 1; the parameter β used to describe the distribution information of the state X takes 1. Through these parameters, the weight wi(m) of the sigma points and the weight wi(c) of the covariance can be solved separately.

From the 1000 Monte Carlo experiments in Figure 8, it can be concluded that the calculation time of the SVD-FDCKF algorithm (0.0435 s) and the FCKF algorithm (0.0615 s) is lower than that of the FUKF algorithm (0.0750 s). FCKF calculation time is shorter than FUKF, it is because FUKF needs to generate 4n+2 sigma points, while FCKF only needs 4n cubature points. The reason for the short calculation time of FDCKF has been elaborated in the previous section, so it will not be repeated here.

Figure 8.

Figure 8

The simulation time in 1000 times Monte Carlo by the SVD-FDCKF, FCKF, and FUKF.

As shown in Figure 9, the simulation locates 200 path points. The positioning results of FUKF algorithm sometimes have large deviations, but the estimated trajectory of SVD-FDCKF algorithm is basically the consistent as the actual path. This is because the FUKF uses sigma points to approximate the probability distribution, and the cubature points used in FCKF are calculated using the third-order spherical-cubature rule, which has better stability.

Figure 9.

Figure 9

The comparison of the real trajectory of the mobile robot with the SVD-FDCKF estimated trajectory and FUKF estimated trajectory.

It can be drawn from Figure 10 and Figure 11 that for the specific mobile robot model proposed in this paper, the attitude error and overall error estimated by FUKF are significantly larger than the method proposed in this paper. Combining Table 4 and Figure 10, observe the difference of variance and the trend of attitude error. It is not difficult to find that the main reason for the larger FUKF positioning error is the poor stability of the algorithm, and the divergence of individual points affects the overall performance. The main reason for this phenomenon is that, unlike FUKF, SVD-FDCKF does not need any parameters in the state estimation process. Secondly, the weight value is positive, and finally the SVD decomposition is introduced to enhance the stability of the algorithm, thereby ensuring that the filter can run stably. Therefore, for the odometer system proposed in this paper, SVD-FDCKF has more advantages in overall accuracy and stability.

Figure 10.

Figure 10

The attitude errors of mobile robots, including x coordinate, y coordinate, and yaw angle θ, are estimated by FUKF and SVD-FDCKF algorithms at 200 path points, respectively.

Figure 11.

Figure 11

The error between the positioning result estimated by FUKF, SVD-FDCKF, and the actual position.

Table 4.

The average error and variance of SVD-FDCKF and FUKF.

Method Average Error/dm Variance/dm2
SVD-FDCKF 0.1721 0.0119
FUKF 0.2344 0.0171

5. Conclusions

Based on the combination of traditional Kalman and the cubature Kalman filters under the federated filtering framework, this paper has proposed a computationally efficient Singular Value Decomposition-federated derivative cubature Kalman filtering (SVD-FDCKF) method which makes use of the ultra-wide band and inertial measurement unit information fusion to achieve high-precision indoor positioning. This algorithm can make full use of the characteristics, that the system state equation is non-linear and the observation equation is linear, to reduce the computational burden while guaranteeing the positioning accuracy. In addition, the singular value decomposition has been incorporated to the federated derivative cubature Kalman filtering method to deal with the convergence problem caused by computer rounding errors. Numerical simulations show that the proposed SVD-FDCKF method performs better than the federated cubature Kalman filter and federated unscented Kalman filter in terms of computational burden and the positioning accuracy.

The algorithm described in this article is a state estimation algorithm applied to a specific system. After a simple change of the algorithm, it can be applied to another kind of system which have linear state equation and nonlinear observation equation. The future work will be devoted to explore the robustness and stability of the proposed SVD-FDCKF. For instance, a consensus-based distributed derivative cubature Kalman filtering method will be developed to yield robust state estimation against the external disturbances.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (NSFC) under Grant 61991414, Grant 61873301 and the National Defense Pre-Research Foundation of China under Grant 61403120304.

Author Contributions

Conceptualization, C.H.; data curation, C.T.; writing—original draft preparation, C.H.; writing—review and editing, C.T.; supervision, C.Y.; funding acquisition, C.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  • 1.Ismail M.B., Fathi A., Boud A., Nurdiana W., Ibrahim W. Implementation of location determination in a wireless local area network (WLAN) environment; Proceedings of the 10th International Conference on Advanced Communication Technology; Phoenix Park, Korea. 17–20 February 2008; pp. 894–899. [Google Scholar]
  • 2.Iglesias H.J.P., Barral V., Escudero C.J. Indoor person localization system through RSSI Bluetooth fingerprinting; Proceedings of the 2012 International Conference on Systems, Signals and Image Processing (IWSSIP); Vienna, Austria. 11–13 April 2012; pp. 40–43. [Google Scholar]
  • 3.Li Z., Dehaene W., Gielen G. System Design for Ultra-Low-Power UWB-based Indoor Localization; Proceedings of the 2007 IEEE International Conference on Ultra-Wideband (ICUWB 2007); Singapore. 24–26 September 2007; pp. 159–164. [Google Scholar]
  • 4.Denis B., Pierrot J.B., Abou-Rjeily C. Joint distributed synchronization and positioning in UWB ad hoc networks using TOA. IEEE Trans. Microw. Theory Tech. 2006;54:1896–1911. doi: 10.1109/TMTT.2006.872082. [DOI] [Google Scholar]
  • 5.Li H.B., Wang J., Wang C.Y. Discussion on affection factors of UWB indoor kinematic positioning. J. Navig. Position. 2018;6:45–48. [Google Scholar]
  • 6.Hevrdejs K., Knoll J., Miah S. A ZigBee-based framework for approximating sensor range and bearing; Proceedings of the 30th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE); Windsor, ON, Canada. 30 April–3 May 2017. [Google Scholar]
  • 7.Jwo D.J., Weng T.P. An Adaptive Sensor Fusion Method with Applications in Integrated Navigation. J. Navig. 2008;61:705–722. doi: 10.1017/S0373463308004827. [DOI] [Google Scholar]
  • 8.Kim J., Lee S. A vehicular positioning with GPS/IMU using adaptive control of filter noise covariance. ICT Express. 2016;2:41–46. doi: 10.1016/j.icte.2016.03.001. [DOI] [Google Scholar]
  • 9.Shen F., Cheong J.W., Dempster A.G. A DSRC Doppler/IMU/GNSS Tightly-coupled Cooperative Positioning Method for Relative Positioning in VANETs. J. Navig. 2017;70:120–136. doi: 10.1017/S0373463316000436. [DOI] [Google Scholar]
  • 10.Ruotsalainen L., Kirkko-Jaakkola M., Rantanen J., Maija M. Error Modelling for Multi-Sensor Measurements in Infrastructure-Free Indoor Navigation. Sensors. 2018;18:590. doi: 10.3390/s18020590. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 11.decaWave. [(accessed on 15 January 2020)]; Available online: https://www.decawave.com/
  • 12.Krishnan S., Sharma P., Guoping Z., Woon O.H. A UWB based Localization System for Indoor Robot Navigation; Proceedings of the 2007 IEEE International Conference on Ultra-Wideband (ICUWB 2007); Singapore. 24–26 September 2007; pp. 77–82. [Google Scholar]
  • 13.Jiao H., Shen C., Feng G., Ling P. Research on multi-tag anti-collision algorithm based on UWB real-time positioning system; Proceedings of the IEEE Conference on Wireless Sensors (ICWiSE); Langkawi, Malaysia. 10–12 October 2016; pp. 54–58. [Google Scholar]
  • 14.Li J., Bi Y., Li K., Wang K., Lin F., Chen B.M. Accurate 3D Localization for MAV Swarms by UWB and IMU Fusion; Proceedings of the 2018 IEEE 14th International Conference on Control and Automation (ICCA); Anchorage, AK, USA. 12–15 June 2018; pp. 100–105. [Google Scholar]
  • 15.Corrales J.A., Candelas F.A., Torres F. Hybrid tracking of human operators using IMU/UWB data fusion by a Kalman filter; Proceedings of the 2008 3rd ACM/IEEE International Conference on Human-Robot Interaction (HRI 2008); Amsterdam, The Netherlands. 12–15 March 2008; pp. 193–200. [Google Scholar]
  • 16.Zihajehzadeh S., Yoon P.K., Park E.J. A magnetometer-free indoor human localization based on loosely coupled IMU/UWB fusion; Proceedings of the 37th Annual International Conference of the IEEE-Engineering-in-Medicine-and-Biology-Society (EMBC); Milan, Italy. 25–29 August 2015; pp. 3141–3144. [DOI] [PubMed] [Google Scholar]
  • 17.Wan Y., Keviczky T. Real-time fault-tolerant moving horizon air data estimation for the RECONFIGURE benchmark. IEEE Trans. Control Syst. Technol. 2019;27:997–1011. doi: 10.1109/TCST.2018.2804332. [DOI] [Google Scholar]
  • 18.Alspach D., Sorenson H. Nonlinear Bayesian estimation using Gaussian sum approximations. IEEE Trans. Autom. Control. 1972;17:439–448. doi: 10.1109/TAC.1972.1100034. [DOI] [Google Scholar]
  • 19.Djuric P.M., Chun J.H. An MCMC sampling approach to estimation of nonstationary hidden Markov models. IEEE Trans. Signal Process. 2002;50:1113–1123. doi: 10.1109/78.995067. [DOI] [Google Scholar]
  • 20.Doucet A., Logothetis A., Krishnamurthy V. Stochastic sampling algorithms for state estimation of jump Markov linear systems. IEEE Trans. Autom. Control. 2000;45:188–202. doi: 10.1109/9.839943. [DOI] [Google Scholar]
  • 21.Murphy R.R. Dempster-Shafer theory for sensor fusion in autonomous mobile robots. IEEE Trans. Robot. Autom. 1998;14:197–206. doi: 10.1109/70.681240. [DOI] [Google Scholar]
  • 22.Bloch I. Information combination operators for data fusion: A comparative review with classification. IEEE Trans. Syst. Man Cybern. 1996;26:52–67. doi: 10.1109/3468.477860. [DOI] [Google Scholar]
  • 23.Peers S.M.C. A blackboard system approach to electromagnetic sensor data interpretation. Expert Syst. 2008;15:197–215. doi: 10.1111/1468-0394.00077. [DOI] [Google Scholar]
  • 24.Ljung L. Asymptotic behavior of the extended Kalman filter as a parameter estimator for linear systems. IEEE Trans. Autom. Control. 1979;24:36–50. doi: 10.1109/TAC.1979.1101943. [DOI] [Google Scholar]
  • 25.Sabatini A.M. Variable-State-Dimension Kalman-Based Filter for Orientation Determination Using Inertial and Magnetic Sensors. Sensors. 2012;12:8491–8506. doi: 10.3390/s120708491. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 26.Julier S.J. Unscented filtering and nonlinear estimation. IEEE Proc. 2004;92:401–422. doi: 10.1109/JPROC.2003.823141. [DOI] [Google Scholar]
  • 27.Carlos S., de Marina H.G., Felipe E. Adaptive UAV Attitude Estimation Employing Unscented Kalman Filter, FOAM and Low-Cost MEMS Sensors. Sensors. 2012;12:9566–9585. doi: 10.3390/s120709566. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 28.Guoliang C., Xiaolin M., Yunjia W., Yanzhe Z., Peng T., Huachao Y. Integrated WiFi/PDR/Smartphone Using an Unscented Kalman Filter Algorithm for 3D Indoor Localization. Sensors. 2015;15:24595–24614. doi: 10.3390/s150924595. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 29.Arasaratnam I., Haykin S. Cubature Kalman Filters. IEEE Trans. Autom. Control. 2009;54:1254–1269. doi: 10.1109/TAC.2009.2019800. [DOI] [Google Scholar]
  • 30.Arasaratnam I., Haykin S. Cubature Kalman smoothers. Automatica. 2011;47:2245–2250. doi: 10.1016/j.automatica.2011.08.005. [DOI] [Google Scholar]
  • 31.Arasaratnam I., Haykin S., Hurd T.R. Cubature Kalman Filtering for Continuous-Discrete Systems: Theory and Simulations. IEEE Trans. Signal Process. 2010;58:4977–4993. doi: 10.1109/TSP.2010.2056923. [DOI] [Google Scholar]
  • 32.Wei Z., Wei W., Gannan Y. An Improved Interacting Multiple Model Filtering Algorithm Based on the Cubature Kalman Filter for Maneuvering Target Tracking. Sensors. 2016;16:805. doi: 10.3390/s16060805. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 33.Yu C., Chen J., Verhaegen M. Subspace Identification of Individual Systems in a Large-Scale Heterogeneous Network. Automatica. 2019;109:108517. doi: 10.1016/j.automatica.2019.108517. [DOI] [Google Scholar]
  • 34.Yu C., Ljung L., Wills A., Verhaegen M. Constrained Subspace Method for the Identification of Structured State-Space Models. IEEE Trans. Autom. Control. 2019 doi: 10.1109/TAC.2019.2957703. [DOI] [Google Scholar]
  • 35.Li S., Yang L., Gao Z. Distributed optimal control for multiple high-speed train movement: An alternating direction method of multipliers. Automatica. 2020;112:108646. doi: 10.1016/j.automatica.2019.108646. [DOI] [Google Scholar]
  • 36.Carlson N.A. Information-sharing approach to federated Kalman filtering; Proceedings of the IEEE 1988 National Aerospace and Electronics Conference: NAECON 1988; Dayton, OH, USA. 23–28 May 1988; p. 1581. [Google Scholar]
  • 37.Wang G., Li N., Zhang Y. Diffusion distributed Kalman filter over sensor networks without exchanging raw measurements. Signal Process. 2017;132:1–7. doi: 10.1016/j.sigpro.2016.07.033. [DOI] [Google Scholar]
  • 38.Xu Z.Z., Zhuang Y.B. Comparative study of methods for mobile robot localization. J. Syst. Simul. 2009;21:1891–1896. [Google Scholar]
  • 39.Hajiyev C., Cilden D., Somov Y. Integrated SVD/EKF for Small Satellite Attitude Determination and Rate Gyro Bias Estimation. IFAC Pap. Online. 2015;48:233–238. doi: 10.1016/j.ifacol.2015.08.089. [DOI] [Google Scholar]
  • 40.Sun L., Huang G., Li Y. Exploration of improved strong tracking SVD-UKF used in BDS/INS integrated navigation. Comput. Eng. Appl. 2017;53:225–229. [Google Scholar]
  • 41.Crassidis J.L., Markley F.L. Unscented filtering for spacecraft attitude estimation. J. Guid. Control Dyn. 2003;26:536–542. doi: 10.2514/2.5102. [DOI] [Google Scholar]
  • 42.Merwe R.V.D., Wan E.A. The square-root unscented Kalman filter for state and parameter-estimation; Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing; Salt Lake City, UT, USA. 7–11 May 2001; pp. 3461–3464. [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES