The disclosure belongs to the field of navigation, and more particularly, to a centralized cooperative positioning method based on joint time-space processing.
Real-time, high-precision location information is essential for many wireless networks such as wireless sensor networks, intelligent transportation systems and unmanned aerial vehicle (UAV) networks. Generally, a conventional positioning system such as a global navigation satellite system (GNSS) may provide these networks with high-precision location information. However, it is impractical to install a GNSS receiver for each node in the network due to cost and power consumption considerations. In addition, GNSS signals are susceptible to interference under harsh environments such as urban canyons, forests and tunnels. In this condition, the location information provided by GNSS differs greatly from the real location, which greatly reduces the positioning performance of GNSS. Cooperative positioning can effectively improve the positioning performance by employing cooperation among nodes in the network. In a cooperative positioning system, all nodes may be grouped into two categories: (1) reference nodes, which can obtain the prior knowledge of their positions via GNSS or other methods; (2) user nodes, whose prior position information is not available because of no GNSS receiver or obstacle blocking or other reasons. The performance of cooperative positioning is closely related to a data fusion method used. The extended Kalman filter algorithm and the belief propagation algorithm are commonly used cooperative positioning methods. Other methods include the least squares algorithm and the maximum likelihood estimation algorithm. The cooperative positioning algorithm based on the extended Kalman filter algorithm has the low complexity, so it has been widely applied. It uses a linear system to approximate a nonlinear cooperative positioning system. The mismatch between the linear system and the original nonlinear system may greatly reduce the positioning performance of the system. The belief propagation algorithm based on factor graphs such as SPAWN (sum-product algorithm over a wireless network) algorithm is also widely applied. This algorithm may not take into account mobility constraints of nodes and is more sensitive to the accuracy of initial location information. Therefore, this algorithm may provide the higher positioning accuracy in a static or quasi-static network. However, when the algorithm is used in a high-mobility environment, errors of the initial location information may be relatively large, so its final positioning accuracy is also relatively low. The least squares algorithm or the maximum likelihood algorithm is asymptotically optimal under Gaussian white noise conditions. However, they cannot be directly applied because the objective problems are non-convex.
The aforementioned cooperative positioning methods may be roughly grouped into two categories: centralized methods and distributed methods. There is a central processing node in a centralized cooperative positioning system, which first collects available measurements of all nodes in the network and then localizes these nodes. In a distributed cooperative positioning system, each node collects measurements of neighboring nodes and localizes itself based on these measurements. In general, centralized algorithms have better positioning accuracy than distributed algorithms. However, when the centralized algorithms are applied to large networks, they may incur greater communication burden and computational complexity. At this time, the distributed algorithms may effectively reduce the communication burden and computational complexity at the expense of a certain positioning accuracy degradation. In addition, the aforementioned cooperative positioning algorithms only consider the measurements in the current time slice in each time slice. When the node has the relatively large velocity or the number of neighboring nodes is insufficient, the positioning accuracy of these algorithms is relatively poor and the positioning results are easy to diverge.
The purpose of the disclosure is to provide a centralized cooperative positioning system and method based on joint time-space processing, for a situation that under harsh environments, some nodes in a high-mobility small wireless network may not be localized through the conventional positioning method such as GNSS and there may be insufficient node connections.
One aspect of the disclosure provides a centralized cooperative positioning system based on joint time-space processing. There are nodes and a central processing node in the system, and the central processing node is responsible for localizing all nodes. The central processing node has a multi-slice measurement cache module, a trajectory calculation module, an initial state estimation module and a joint time-space processing module; measurements are used as input of the multi-slice measurement cache module and the initial state estimation module, a state variable of each node in a current time slice is used as input of the trajectory calculation module, and output of the multi-slice measurement cache module, the trajectory calculation module and the initial state estimation module are used as input of the joint time-space processing module, and output of the joint time-space processing module is used as result.
Another aspect of the disclosure provides a centralized cooperative positioning method based on joint time-space processing, including the following:
(1) during each time slice, caching, by the multi-slice measurement cache module which is used as a data cache module, all measurements of all nodes in the system in multiple time slices up to the current time slice, and sending these measurements into the joint time-space processing module;
(2) calculating, by the trajectory calculation module, location information of all the nodes in the system in the multiple time slices based on state variables of all the nodes in the system in the current time slice to obtain trajectory information of all the nodes in the multiple time slices, and sending the trajectory information of all the nodes into the joint time-space processing module;
(3) performing, by the initial state estimation module, initial state estimations of all the nodes in the system based on the measurements of a single time slice; sending the initial state estimations to the joint time-space processing module;
(4) using, by the joint time-space processing module, the initial state estimations provided by the initial state estimation module, as initial solution values, performing the joint time-space processing on the measurements of all the nodes in the system in the multiple time slices based on trajectory constraints, to obtain a state estimation of each node at the current time slice, in which the state estimation includes an estimated value of a location of each node.
The disclosure is based on the trajectory constraint of each node in the system and uses the central processing node to perform joint time-space processing on the measurements of all the nodes in the multiple time slices. By adding the time domain cooperation, the positioning accuracy of the node may be effectively improved. In addition, the disclosure may effectively improve the stability of the positioning result under harsh environments such as high velocity or few connection conditions.
The disclosure designs a centralized cooperative positioning system and method. The system aims to the problem that some nodes in the small mobile network may not complete self-positioning. The system uses location information of reference nodes and relative distance measurements among all nodes to complete positioning of all the nodes in the network. The proposed centralized cooperative positioning method, based on state information of each node at the current time slice, calculates trajectory information of the nodes in multiple time slices up to the current time slice. The joint time-space processing is performed on the measurements of all the nodes in the multiple time slices by using trajectory constraints of all the nodes, to obtain the location estimations of all the nodes at the current time slice. This method may effectively improve the positioning accuracy of nodes and the stability of the positioning results.
The central processing node in the centralized cooperative positioning system based on joint time-space processing includes the following four modules: a multi-slice measurement cache module, a trajectory calculation module, an initial state estimation module and a joint time-space processing module. The centralized cooperative positioning method designed for this system includes the following.
(1) A state model of the system is established and a measurement equation of the system is determined, as:
{tilde over (x)}
m
t
=x
m
t
+b
m
t;
r
mn
t
=∥x
m
t
−x
n
t∥30 μmnt;
where xmt represents a location of node m at time slice t, {tilde over (x)}mt represents a location measurement of a reference node, bmt represents a location measurement error; rmnt represents a relative distance measurement between node m and node n, ∥xmt−xnt∥ represents a true distance, and μmnt represents a relative distance measurement error.
(2) During the current time slice k, location measurements of reference nodes and relative distance measurements among all the nodes in recent K time slices from time slice τ=k−K+1 to the current time slice k may be cached as:
where ={τ, τ+1, . . . , k}, Na represents the number of the reference nodes, M represents the number of all the nodes, rmt represents a set of relative distance measurements between node m and all neighboring nodes of node m. The measurements may be sent to the joint time-space processing module.
(3) Location information of all the nodes in previous K−1 time slices may be calculated based on state variables of all the nodes in the current time slice and mobility state variables of all the nodes such as velocity, acceleration. A velocity variable of node m in the current time slice k is defined as vmk and an acceleration of node m in the current time slice k is defined as amk. In a case that a number of the considered multiple consecutive time slices is small, it is reasonable to assume that each node moves along a straight line with a constant acceleration in K time slices. At this time, based on the mobility state variable of the node in the current time slice k , location information of node m at time slice t∈, is defined as:
where, ΔTt=(t−k)ΔT, ΔT represents a length of the time slice. All the location information of node m from time slice τ to the current time slice k represents the trajectory of the node during the K time slices. The state variable of the node is defined as:
z
m
k=[(xmk)T, (vmk)T, (amk)T]T.
The trajectory of node m is expressed as:
The trajectories of all the nodes are sent to the joint time-space processing module.
(4) Initial state estimations of all the nodes may be calculated by the initial state estimation module, using the conventional cooperative positioning method based on the measurements in a single time slice such as extended Kalman filter algorithm and unscented Kalman filter algorithm. The initial state estimations of all the nodes may be used as initial solution values of the joint processing on the measurements in the multiple time slices. The initial state estimations of all the nodes may be sent to the joint time-space processing module.
(5) The joint time-space processing module may fuse the measurements of the multiple time slices based on the initial state estimations of all the nodes provided by the initial state estimation module and using trajectory constraints of all the nodes to obtain a state estimation of each node at the current time slice. In detail, k=[z,341k, 2k, . . . , Mk] is defined and a maximum likelihood estimation of k is obtained based the measurements and in the multiple time slices as:
(6) The result of the joint time-space processing module is output, that is, a final state estimation each node at the current time slice may be obtained, which includes the estimated value of the location of each node.
The system block diagram of the cooperative positioning system is shown in
For an example, the extended Kalman filter algorithm is used as an initial estimation algorithm for node state information, measurements in K=3 time slices may be fused based on the maximum likelihood criterion, and SQP algorithm is used to solve the objective problem. It is set that there are 33 nodes in a mobile network, of which 13 nodes may obtain their own location information through GNSS. There is a certain error in the location information obtained through GNSS. The remaining nodes may not complete self-positioning. All nodes may be distributed randomly in an area of 2000 m×2000 m firstly. Due to the limitation of distance and power consumption and the presence of obstacles, each node may only communicate with a subset of the nodes in the network. The communication radius of each node is set to be 800 m herein. The relative distance information with neighboring nodes and the location information of neighboring nodes may be obtained through communication links. In addition, an initial velocity of all the nodes is set to 40 m/s and an acceleration meets a Gaussian distribution with a mean value of 0 m/s2 and a standard deviation of 0.2 m/s2. The standard deviation of the location error of the reference node, obtained through GNSS, is 4 m. The standard deviation of the relative distance estimation error between nodes is 1 m.
The central processing node in the centralized cooperative positioning system based on joint time-space processing includes the following four modules: a multi-slice measurement cache module, a trajectory calculation module, an initial state estimation module and a joint time-space processing module. The centralized cooperative positioning method designed for this system includes the following.
(1) A state model of the system is established and a measurement equation of the system is determined, as:
{tilde over (x)}
m
t
=x
m
t
+b
m
t;
r
mn
t
=h(xmt, xnt)+μmnt=∥xmt−xnt∥+μmnt;
where xmt represents a location of node m at time slice t, {tilde over (x)}mt represents a GNSS measurement of a reference node, bmt represents a location estimation error at time slice t and has a mean value of zero and a covariance matrix Umt; rmnt represents a relative distance measurement between node m and node n, h(xmt, xnt)=∥xmt−xnt∥ represents a true distance, and μmnt represents a relative distance measurement error and has a mean value of zero and a covariance matrix (σmnt)2.
(2) During the current time slice k, location measurements of reference nodes and relative distance measurements among all the nodes in recent K time slices from time slice τ=k−K+1 to the current time slice k may be cached as:
where ={τ, τ+1, . . . , k}, Na represents the number of the reference nodes, M represents the number of all the nodes, rmt represents a set of relative distance measurements between node m and all neighboring nodes of node M . The measurements may be sent to the joint time-space processing module.
(3) The measurements in the recent K time slices from the time slice τ to the current time slice k is related to the location of each node at the current time slice k and also related to the location of each node in the previous K−1 time slices. Therefore, location information of all the nodes in the previous K−1 time slices may be calculated based on state variables of all the nodes in the current time slice and mobility state variables of all the nodes such as velocity, acceleration. A velocity variable of node m in the current time slice k is defined as vmk and an acceleration of node m in the current time slice k is defined as amk. Considering that the measurements before a large number of time slices from the current time slice has little contribution to the positioning performance of the node at the current time slice, K is set to a small value, K=3. In this case, it is reasonable to assume that each node moves along a straight line with a constant acceleration in the K time slices. At this time, based on the mobility state of the node in the time slice k, location information of node m at time slice t∈, is defined as:
where, ΔTt=(t−k)ΔT, ΔT represents a length of the time slice. All the location information of node m from time slice τ to time slice k represents the trajectory of the node during the recent K time slices. The state variable of the node is defined as:
The trajectory of node m is expressed as:
xmt=F, m∈, t∈;
where matrix Ft is expressed as:
where I2 represents a 2×2 unit matrix and the trajectory information of all the nodes are sent to the joint time-space processing module.
(4) In order to improve the efficiency of fusing the measurements in the multiple time slices, the initial state estimation module uses the extended Kalman filter algorithm to calculate initial state estimations of all the nodes based on the measurements in a single time slice, as initial solution values of trajectories of all the nodes during the information joint processing. A to-be-estimated variable at the current time slice is defined as Xmk=[(xmk)T, (vmk)T]T, where xmk=[xmk, ymk]T, vmk=[{dot over (x)}mk, {dot over (y)}mk]T. Xmk at the current time slice is predicted based on a posterior estimator {circumflex over (X)}mk−1 at time slice k−1 as:
{circumflex over (X)}mk|k−1=F{circumflex over (X)}mk−1;
{circumflex over (P)}
m
k|k−1
=F{circumflex over (P)}
m
k−1
F
T
+Q
m
k;
where matrix F is denoted as:
02 represents a 2×2 all-zero matrix. {circumflex over (P)}mk−1 represents a covariance matrix of estimator {circumflex over (X)}mk−1, and Qmk represents a covariance matrix of system modeling noise. A Jacobian matrix of the measurements rmk about Xmk as:
a measurement residual and a covariance matrix of the measurement residual are calculated as:
n1, n2, . . . , nN
R
m
k=diag{(σmn
A Kalman gain is calculated as:
K
m
k
={circumflex over (P)}
m
k≡1k−1(Hmk)T(Smk)−1;
a posterior estimation and a covariance matrix of Xmk is calculated as:
{circumflex over (X)}
m
k
={circumflex over (X)}
m
k|k−1
+K
m
k
Δr
m
k;
{circumflex over (P)}
m
k
={circumflex over (P)}
m
k|k−1
−K
m
k
S
m
k(Kmk)T).
The estimations are used as the initial state estimations of the nodes and sent to the joint time-space processing module.
(5) The joint time-space processing module fuses the measurements in the multiple time slices using the trajectory constraints of all the nodes, based on the initial state estimations provided by the initial state estimation module, to obtain the state estimation of each node at the current time slice. In detail, k=[1k, 2k, . . . , Mk] is defined as state of all the nodes at the current time slice k . A maximum likelihood estimation of k is obtained based the measurements and in the multiple time slices as:
Under the assumption of Gaussian white noise, the above equation is equivalent to a nonlinear least squares problem as:
M represents the number of all the nodes in the network. cmnt=1 represents that node m and node n are connected, otherwise cmnt=0.
(6) The above problem may be solved by using MATLAB's SQP algorithm to obtain a final state estimation of each node at the current time slice which includes the location estimation of each node.
e(xmk)=∥{circumflex over (x)}mk−xmk∥ is defined as the positioning error of node m at time slice t, where {circumflex over (x)}mk is the estimated value and xmk is the real location.
It can be seen from
Number | Date | Country | Kind |
---|---|---|---|
201910349624.7 | Apr 2019 | CN | national |
This application is a continuation of International Application No. PCT/CN2020/085733, filed on Apr. 20, 2020, which claims priority to Chinese Patent Application No. 201910349624.7, filed on Apr. 28, 2019, the entire disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2020/085733 | Apr 2020 | US |
Child | 17513221 | US |