Distributed Joint Cooperative Self-Localization and Target Tracking Algorithm for Mobile Networks

Location information is a key issue for applications of the Internet of Things. In this paper, we focus on mobile wireless networks with moving agents and targets. The positioning process is divided into two phases based on the factor graph, i.e., a prediction phase and a joint self-location and tracking phase. In the prediction phase, we develop an adaptive prediction model by exploiting the correlation of trajectories within a short period to formulate the prediction message. In the joint positioning phase, agents calculate the cooperative messages according to variational message passing and locate themselves. Simultaneously, the average consensus algorithm is employed to realize distributed target tracking. The simulation results show that the proposed prediction model is adaptive to the random movement of nodes. The performance of the proposed joint self-location and tracking algorithm is better than the separate cooperative self-localization and tracking algorithms.


Introduction
With the development of the Internet of Things (IoT) and related new information technology, wireless sensor networks (WSNs) are expected to gradually penetrate various industries and applications [1][2][3][4], influencing all aspects of people's lives. WSNs connect the material world with the human world. Embedded in various "things", sensors sense the states of the "things" and transmit collected information to processing terminals via the Internet to achieve monitoring and management in real-time [5]. The information collected by sensors is meaningful only when combined with location information, which helps the administrators know what, when, and where "things" happened. Therefore, cooperative self-localization and target tracking are two key issues in location-based applications of WSNs.
In WSNs, there are a small number of anchors and thousands of agents. Anchors are equipped with Global Position System (GPS) receivers or other devices with known coordinates, while the agents use a cooperative self-localization algorithm to estimate their own positions. In addition, when a target enters the WSNs, anchors and agents work cooperatively to track and locate it. In static WSNs, anchors and agents are fixed and so their coordinates do not change with time, meaning agents only need to locate themselves once. In mobile WSNs, anchors and agents move with time. Therefore, agents need to locate themselves in a sequential manner. In contrast with static WSNs, mobile WSNs alleviate several issues, such as coverage optimization and target tracking. A plethora of localization systems are proposed in the literature. In [6], the authors provided a general overview of localization in WSNs and showed the importance of different localization approaches in modern IoT applications. In [7], the authors focused on mobile WSNs and analyzed localization algorithms in mobile WSNs.
Cooperative self-localization and target tracking are closely related because target tracking can only be carried out when the locations of agents are clear. In recent years, some researches combined self-localization with target tracking and proposed a series of joint location algorithms. In [8], a simultaneous localization and tracking algorithm was introduced to solve the problem of tracking a non-cooperative target while simultaneously localizing and calibrating the static nodes in the network. In [9], a Bayesian method based on belief propagation (BP) was proposed for the distributed sequential localization of mobile networks composed of both cooperative agents and non-cooperative targets. This provided a consistent combination of cooperative self-localization and distributed tracking. However, the motion parameters (such as velocity) and the state-transition probability density function (pdf) of each node were assumed to be available. In [10], a distributed variational filtering was presented to simultaneously localize the detecting sensors and track the target by exploiting a series of measurements generated in the sensors when the target moved through the network field.
Target tracking is divided into two categories, i.e., centralized and distributed. In centralized target tracking, the nodes that detect the target transmit their measurements related to the target to a central processing node in a hop-by-hop communication mode. Then, the central node determines the positioning of the target by uniformly processing all of the measurements. However, the communication overhead of multi-hop data transmission is very large and energy consumption is too high. In distributed target tracking, each node locates the target according to all measurements related to the target. Therefore, the key problem is how to make each node obtain all of the measurements. In [11], a scheme was proposed in which agents broadcasted their own measurements, identification numbers, and additional information, such as the ID of the target. They also received these from other nodes and updated the information. All of the agents repeated the process until each agent obtained all of the measurement information related to the target. In this way, each agent was a fusion center and could perform tracing tasks. However, much redundant information existed in the network, and the required storage space was also very large. Therefore, this method is suitable for a fully connected network with a large communication radius. Consensus algorithm [12][13][14] provides another way for each agent to communicate observations with the remaining agents engaged in the tracking. Consensus is a distributed iterative algorithm relying on communication links between neighboring nodes and can achieve entire network polymerization (such as sum, average, or maximum). This does not need a routing algorithm and is robust to changes in network topology and unreliable network environments. Therefore, consensus algorithm is widely used in distributed target tracking [15,16]. In [17], each node calculated the mean and variance of the local posterior by weighted sampling. Then, the average consensus algorithm was employed to calculate the approximation of the global posterior to complete distributed target tracking. In [18], the global likelihood function was approximated to a Gaussian distribution, and each node obtained the approximation through consensus iteration. Furthermore, a consensus algorithm, which is applicable to any exponential likelihood function, was proposed in [19].
As an implementation of approximate Bayesian inference, messaging passing algorithm is particularly well-suited to distributed calculation and has been applied to cooperative self-localization and tracking of WSNs [9,20,21]. In previous work [22], we proposed a distributed cooperative self-localization algorithm by employing variational message passing (VMP) on factor graphs for static WSNs. With regard to the non-Gaussian messages caused by the nonlinear ranging model, we approximated them to Gaussian messages by exploiting second-order Taylor expansion, which significantly reduced the computational complexity. Then, we further combined the VMP approach in [22] with BP and proposed a cooperative self-localization algorithm for mobile WSNs in [23]. In this paper, we focus on mobile networks with anchors, moving agents, and targets deployed in a two-dimensional plane. In particular, the anchors have perfect location information at all times, while the cooperative agents and the non-cooperative targets are at unknown positions and can move independently. We divide the positioning process into two phases, i.e., a prediction phase and a joint self-location and tracking phase. Firstly, an adaptive prediction model is proposed to calculate the prediction message from the previous time slot. Then, in the joint self-location and tracking phase, the agents locate themselves using the measurements from neighboring nodes (agents and anchors) and the detectable targets, and the average consensus algorithm is employed to achieve distributed positioning of the targets. The simulation results show that the proposed prediction model is more adaptive and accurate than instant prediction, linear prediction, or square prediction, and the proposed joint self-location and tracking algorithm is better than the separate cooperative self-localization and target tracking algorithms. This paper is organized as follows. In Section 2, we first describe the system model of cooperative self-localization, and tracking. Then, the corresponding probabilistic model and factor graph are analyzed. In Section 3, the proposed distributed joint self-location and tracking algorithm are described in detail, including a prediction phase and a joint self-location and tracking phase. The performance of the proposed prediction model and joint localization algorithm are evaluated in Section 4. Finally, conclusions are drawn in Section 5.
Notations: Boldface lowercase and uppercase letters denote vectors and matrices, respectively. Superscript ( ) T and symbol ||·|| stand for transposition and Euclidian norm, respectively. The probability density function (pdf) of a 1D Gaussian distribution with mean µ and variance σ 2 is represented by N x; µ, σ 2 while the pdf of a 2D Gaussian distribution with mean vector µ and covariance matrix V is represented by N (x; µ, V).

System Model and Factor Graph
We consider a network with anchors, moving agents, and targets deployed in a two-dimensional plane, which can be defined by a vertices set V and an edges set E, i.e., G = (V, E). Here, each vertex i ∈ V represents a node in the plane and each edge (i, j) ∈ E indicates a neighborhood structure between node i and node j. We divide set V into three parts: V = A ∪ M ∪ S, where A designates all anchors with perfect location information, M includes all agents at unknown positions, and S represents all non-cooperative targets. Moreover, the number of anchors, agents, and targets are denoted by N A , N M , and N O , respectively.
Time is slotted and we assume that all agents and targets move independently. At the kth time slot, the position variable of node i ∈ V is denoted by For simplicity of illustration, the communication link between cooperative neighbors is assumed to be symmetric, which means (i, j) ∈ E and ( j, i) ∈ E if |x k i − x k j |≤ R , where R is the communication radius. At the kth time slot, if (i, j) ∈ E, nodes i can obtain the current position of node j and a ranging measurement d k i←j with Gaussian noise ω k ij ∼ N ω k ij ; 0, σ k ij 2 . Consequently, the ranging measurement d k i← j can be formulated as and the likelihood function of the position variables of x k i and x k j is a Gaussian pdf, i.e., Furthermore, let X 0:K X k , k = 0 : K denote the position variables of all nodes from the 0th time slot to the kth time slot and Z 1:K Z k , k = 1 : K denote the ranging measurements from the 1st time slot to the Kth time slot, respectively.
According to Bayesian rules and the assumption that all nodes move independently, the joint a posteriori distribution of X 0:K with given observations Z 0:K can be formulated as where p x 0 i is the a prior distribution of node I, which is assumed to be a Gaussian pdf with mean µ 0 i and covariance matrix V 0 is the likelihood function of node i and node j, and p x k i x k−1 i is the probabilistic state-transition function.
For simplicity, we define f k|k−1 . Based on the factorization in (1), the joint a posteriori distribution of p X 0:K Z 0:K can be represented by a factor graph, as shown in Figure 1. In the factor graph, each variable node represents the position variable x k i of node i and is depicted by a circle, while each factor node represents a local function f k|k−1 i or f k ij and is drawn by a square. Moreover, if a variable is an argument of a local function, it is connected to the factor node through an edge. Generally speaking, factor graphs are undirected digraphs, which means the edge between a factor node and a variable node is undirected. However, in Figure 1, messages only flow forward in time regarding the spatiotemporal constraints of the network. We do not calculate the messages from the present to the past because network connectivity may change and the states of the nodes may be outdated. Furthermore, the variable node of an anchor's position ignores the messages from its neighbors as anchors' positions are known.

Distributed Joint Self-Location and Tracking Algorithm
As shown in Figure 1, for the cooperative agent m ∈ M and the non-cooperative target O ∈ S, the beliefs of x k m and x k O , denoted by b x k m and b x k o , consist of two kinds of message: Prediction messages from the (k−1)th time slot and cooperative messages from the neighbors. Based on message passing rules, for node i ∈ M ∪ S, the belief b x k i can be described as where Z is the normalization constant and m f k|k−1 x k i represent messages from factor node and factor nodes f k by two phases, i.e., a prediction phase and a joint self-location and tracking phase.

Adaptive Prediction Model and Prediction Message Calculating
In (1), the probabilistic state-transition function p(x k i |x k−1 i ) of node i is related to the position prediction model. In this paper, according to the inertia of the motion, we propose an adaptive prediction model by exploiting the correlation of trajectories of node i within a short period.
We denote the trajectory of node i from the (k−N)th time slot to the (k−1)th time slot as Then, we formulate the prediction model of node i as where P i is the prediction matrix of node i and its dimension is 2N × 2N. Obviously, there are only two different elements between T i (k − 1, N) and T i (k, N), i.e.,x k i andx k−N i . Therefore, the elements from the 3rd to the 2Nth rows are p i r,s = 0, r ≥ 3 and r s + 2 1, r ≥ 3 and r = s + 2 .
According to the inertia of the motion of node i, we assume that the prediction matrix P i is unchanged in a short period. Based on the prediction model in (4), we have Consequently, it can be formulated as Based on Equations (3) and (5), we have Obviously, translational motion will not change the prediction matrix P i . Therefore, it can be expressed as and H satisfies the constraint as follows where H [a, b, . . . , a, b] T 2N×1 and its two base vectors are Assume that each node stores M (M > N) estimated positions before the kth time slot, which constitute Based on the prediction model in Equation (3), we obtain an equation set which can be expressed as . . .
According to Equations (4) and (10), we have where p i 1, * and p i 2, * are the first and second rows of P i . For convenience of description, we define Then, according to Equations (4), (10), and (11), we have Consequently, p i 1, * and p i 2, * can be determined based on the least square method, i.e., Finally, the prediction matrix P i is given by Equations (4) and (13). Let x k i x k i , y k i T denote the predicted position of node i. According to the prediction model in Equation (3), x k i can be given by Then, we use the predicted position x k i to formulate the prediction message m f k|k−1 where the covariance matrixes are V

Joint Self-Location and Tracking Phase
After calculating the prediction message based on the adaptive prediction model, agent m ∈ M locates itself using ranging measurements, not only from its neighbor anchors and agents j ∈ A k i ∪ M k i , but also from targets O ∈ S k i that it can detect. Meanwhile, agents and anchors that can detect target O share information with each other based on consensus iteration and determine the position of the target O. Compared with the separate cooperative self-localization and algorithms, agents use the ranging measurements from targets to improve the self-location accuracy, which promotes tracking performance in turn.

Self-Location of Agents Based on Variational Message Passing
At the kth time slot, agent m ∈ M obtains its prediction message based on the adaptive prediction model described in Section 3. Then, according to VMP update rules, cooperative messages from its neighbors are expressed as follows: In (16), µ k a is the position of anchor a ∈ A at the kth time slot. Consequently, the belief b(x k m ) in Equation (2) can be rewritten as Considering the communication overhead, the messages passed on in Figure 1 are restricted to Gaussian distribution. However, b(x k m ), given by Equation (18), is non-Gaussian because of the nonlinear ranging model. In [20], we propose a low-complexity approximation method based on second-order Taylor expansion. In this way, the belief Sensors 2019, 19, 3829 In Equations (19) and (20), the notations µ k * m and µ k * j represent the estimated positions of nodes m and j in the latest iteration, respectively, notations ∇ F ma and ∇ 2 ) at (µ k * m ,µ k * j ), respectively (please see [22] for detailed derivation). Consequently, agent i ∈ M obtains its location based on maximum a posteriori (MAP), i.e.,x k i = µ k i .

Target Tracking Based on Average Consensus
At kth time slot, node i ∈ S k o , which can detect target O ∈ S, computes the prediction message oi using the approximation method in [22]. Therefore, the Gaussian The mean vector µ k o and the covariance matrix V k o are given by In order to locate the target in a distributed manner, we use the average consensus based on Metropolis weights proposed in [13] to diffuse information across the network. During the process, each node updates its data with a weighted average of its neighbors' data, which converges to the global average. Let t denote the iteration index and N k i represent the number of neighbors of node i, respectively. The consensus iteration process is as follows.
Step 1: Each node i ∈ V k o uses local information to initialize the global average W Step 2: Each node computes the Metropolis weight matrix, which is defined as Step 3: Each node broadcasts its global average computed in the latest iteration and collects the information broadcasted by its neighbors. Then, each node updates the global average W Step 4: If t = t max (where t max is the maximum number of iteration), the consensus process ends. Otherwise, go to Step 2.
After sufficient consensus iterations, all nodes obtain the global average of Submitting Equations (27) and (28) to Equations (22) and (23), each node i ∈ V k o has Therefore, each node i ∈ V k o can determine the position of target O based on MAP, i.e.,x k o = µ k o .

Implementation Scheme of the Joint Self-Location and Tracking Algorithm
The proposed distributed joint self-location and tracking algorithm based on VMP and average consensus is stated as follows. 1 for k = 1 : k max (k is the time slot index) 2

Algorithm 1: Distributed joint self-location and tracking algorithm
Each agent m ∈ M updates M historical position information of itself and the targets before the kth time slot. 3 Each agent m ∈ M calculates its prediction matrix P m using Equation (4) and Equation (13), then predicts its position x k m using Equations (14) and obtains its prediction message m f k|k−1 m →x k m (x k m ) using Equation (15). 4 Each node i ∈ S k o predicts the position of target O using Equation (4), Equation (13), and Equation (14), i.e.,

Stimulation Results and Analysis
In this section, we evaluate the performance of the proposed adaptive prediction model and the distributed joint self-location and tracking algorithm (denoted by JSLT).

Stimulation Results and Performance Analysis of the Proposed Adaptive Prediction Model
In order to assess the performance of the proposed adaptive prediction model, we compare it with linear prediction and square prediction. We consider a 50 m × 50 m plane with 10 moving nodes. The prediction error is defined as the distance between the true position and the prediction position. The average prediction errors in Figures 2-4 are obtained by averaging over 10,000 realizations, with each realization continuing 20 time slots.
In order to assess the performance of the proposed adaptive prediction model, we compare it with linear prediction and square prediction. We consider a 50 m × 50 m plane with 10 moving nodes. The prediction error is defined as the distance between the true position and the prediction position. The average prediction errors in Figures 2-4 are obtained by averaging over 10,000 realizations, with each realization continuing 20 time slots.    In order to assess the performance of the proposed adaptive prediction model, we compare it with linear prediction and square prediction. We consider a 50 m × 50 m plane with 10 moving nodes. The prediction error is defined as the distance between the true position and the prediction position. The average prediction errors in Figures 2-4 are obtained by averaging over 10,000 realizations, with each realization continuing 20 time slots.     We employ the Gauss-Markov (GM) mobility model [24] to simulate the motion of nodes. In the GM model, the velocity and direction of nodes are time-dependent Gauss-Markov processes, which means the velocity and direction at the kth time slot is related to that at the (k-1)th time slot. Let (1 ) 1  We employ the Gauss-Markov (GM) mobility model [24] to simulate the motion of nodes. In the GM model, the velocity and direction of nodes are time-dependent Gauss-Markov processes, which means the velocity and direction at the kth time slot is related to that at the (k−1)th time slot. Let d k i and θ k i denote the velocity and direction of node i from the kth time slot to the (k−1)th time slot, respectively, then we have where constants d i and θ i are the velocity and direction of node i when k → ∞ , ω d and ω θ are Gaussian random variables independent of d i and θ i , and α ∈ [0, 1] is an adjustment parameter to control the randomness of motion. When α increases, the impact of d k−1 i and θ k−1 i rises, while the impact of ω d and ω θ declines. As discussed above, the Gauss-Markov mobility model not only reflects the relationship between the current moment and a historical moment, but also reflects the randomness of motion. Therefore, it is very suitable for the simulation of high random motion, such as the travel of birds and the diffusion of gas.
The performance of the proposed adaptive prediction model with different numbers of historical estimated positions and α is illustrated in Figure 2. Simulation configurations are as follows. For the GM mobility model shown in Equation (31), we set d i = 5 m/s and θ i = 60 • . For the prediction using Equation (13), the parameters are N = 1 and M = 3/4/5/6. As we know, the prediction algorithm is based on the historical estimated positions. In initialization, we use the true positions along with Gaussian noise (mean = 0 and variance = 4 m 2 ) as the estimated positions. As shown in Figure 2, there is little difference in the average prediction error using different historical positions with different α. Comparatively speaking, when the value of α is smaller, more historical positions are used and the more accurate the obtained prediction is; when the value of α is bigger, more historical positions are used and a more accurate prediction is achieved. This is because a smaller α value indicates a greater randomness of motion, therefore the impact of the (k−1)th time slot on the kth time slot is less. More historical positions can reflect the trend of the movement. However, a bigger α value leads to a stronger correlation between the kth time slot and the (k−1)th time slot. In this situation, the contribution of the earlier time slots to the current moment is small, and using too much historical information even influences the accuracy of prediction. Moreover, greater the number of historical positions used, the more information the nodes store and the greater the energy consumption. In subsequent simulations, we use three historical positions, meaning each node stores three historical positions.
To further evaluate the performance of the proposed adaptive prediction model, we compare the proposed model with linear prediction, square prediction, and instant prediction, which use the movements in x axis and y axis at the (k−1)th time slot to predict the position at the kth time slot. Simulation configurations are α = 0.7, d i = 3 m/s, θ i = 60 • , N = 1, and M = 3. The performance comparison of the four prediction models with different standard deviations σ ω d = σ ω θ = σ of the random variables ω d and ω θ is shown in Figure 3. It is observed that the average prediction error of the four prediction models increases with an increase in σ. Specifically, the performance of instant prediction is the worst and the performance of the proposed adaptive prediction is the best. Moreover, the advantage of the proposed adaptive prediction model is more obvious when σ is bigger. Figure 4 illustrates the performance of the four prediction models with different adjustment parameter α values. Simulation configurations are α = 0.7, d i = 3 m/s, θ i = 60 • , σ = 1 m and M = 3. It can be observed that the average prediction error of the proposed adaptive prediction model is smaller than the other three prediction models and the difference is bigger with increasing α. In fact, from the Gauss-Markov mobility model in Equation (31), we see that the randomness of motion rises with the decline of α and the increase in σ. Therefore, the proposed adaptive prediction model better adapts to different motion patterns than the other three prediction models.

Stimulation Results and Performance Analysis of the Proposed Distributed Joint Self-Location and Tracking Algorithm
The proposed distributed joint self-location and tracking (JSLT) algorithm is evaluated by comparison with the distributed cooperative self-localization algorithm and the centralized target tracking algorithm in this section. We consider a 50 m × 50 m plane with N A = 5 anchors, N M agents, and N O targets. The communication radius and ranging radius of anchors and agents are R c = 25 m, the detection radius is R d = 25 m, and the standard variance of ranging measurement noise is 1 m. At the 0th time slot, the variance matrix of the prior of agents and targets are set to be 25I 2×2 . The iterations of the average consensus algorithm and the joint location algorithm are 20 and 10, respectively. The results in Figures 5-7 are obtained by performing 10,000 realizations over 20 time slots.

Stimulation Results and Performance Analysis of the Proposed Distributed Joint Self-Location and Tracking Algorithm
The proposed distributed joint self-location and tracking (JSLT) algorithm is evaluated b comparison with the distributed cooperative self-localization algorithm and the centralized targ tracking algorithm in this section. We consider a 50 m × 50 m plane with      Self-localization performance of the proposed JSLT algorithm and the cooperative sel localization (CSL) algorithm in [23] with different numbers of agents and targets are shown in Figur 5 and 6. In Figure 5, The estimated accurac becomes stable as time goes on. Furthermore, in the two scenarios, the proposed JSLT algorithm ha a higher positioning accuracy than the CSL algorithm. This is because, in the JSLT algorithm, agen not only use the distance observation from the neighboring anchors and agents as in the CS algorithm, but they also make use of the ranging measurements from the targets that they can detec which improves the self-localization accuracy. Moreover, the performance of the two algorithms quite different with fewer agents and more targets. When the density of agents is high, agents hav enough neighbors. Therefore, they can localize themselves well by cooperating with neighborin anchors and agents. However, when the density of agents is low, many agents have few neighborin anchors and agents to localize themselves. In this case, the ranging measurements from targets pla an important role in the self-localization of agents. The computational complexity of both algorithm depends on the number of neighbors. For agent m ∈  , we define Self-localization performance of the proposed JSLT algorithm and the cooperative self-localization (CSL) algorithm in [23] with different numbers of agents and targets are shown in Figures 5 and 6. In Figure 5, N M = 20, N A = 1 or 10; in Figure 6, N M = 10, N A = 1 or 5. It can be seen that the localization performance of both algorithms improves as time increases. This is because the agents' and their neighbors' positions become more accurate with the increase in time. However, a higher k value does not always correspond to improved positioning accuracy. The estimated accuracy becomes stable as time goes on. Furthermore, in the two scenarios, the proposed JSLT algorithm has a higher positioning accuracy than the CSL algorithm. This is because, in the JSLT algorithm, agents not only use the distance observation from the neighboring anchors and agents as in the CSL algorithm, but they also make use of the ranging measurements from the targets that they can detect, which improves the self-localization accuracy. Moreover, the performance of the two algorithms is quite different with fewer agents and more targets. When the density of agents is high, agents have enough neighbors. Therefore, they can localize themselves well by cooperating with neighboring anchors and agents. However, when the density of agents is low, many agents have few neighboring anchors and agents to localize themselves. In this case, the ranging measurements from targets play an important role in the self-localization of agents. The computational complexity of both algorithms depends on the number of neighbors. For agent m ∈ M, we define N A m , N M m , and N O m to denote the number of neighboring agents, anchors, and targets that can detected at a certain time. The computational complexity of the CSL algorithm and the proposed JSLT algorithm are , respectively. With regard to communication overhead, as all messages are approximated to Gaussian function, each agent broadcasts the mean and the covariance to its neighbors and collects the information broadcasted by its neighbors. The information collected by each agent is  Figure 7 shows the tracking performance of the proposed JSLT algorithm and the centralized tracking (CT) algorithm is illustrated with N M = 20 and N A = 1. In the CT algorithm, agents first localize themselves using the CSL algorithm in [23], then anchors and agents track the targets by sending information to a control center. As shown in Figure 7, the tracking performance of the proposed distributed JSLT algorithm is very close to that of CT algorithm, but the communication overhead of JSLT algorithm is much less than that of CT algorithm. In the CT algorithm, the information collected and broadcasted by each node (anchor or agent) are both proportional to the number of neighbors. In the proposed JLST algorithm, each node broadcasts its global average to its neighbors and collects global averages broadcasted by its neighbors, which is proportional to the number of neighbors. Therefore, the communication overhead sharply reduces by half. Moreover, in the CT algorithm, anchors and agents transmit information to the control center in a multi-hop manner, which leads to a fair amount of redundant information in the networks and information delay.
In order to visualize the tracking performance, a single trial performance of target tracking is shown in Figure 8. We can see that the trajectory recognized by the proposed algorithm is close to the actual trajectory of the target, except for at the initial time and at the moment of a sharp turn. nformation collected and broadcasted by each node (anchor or agent) are both proportional to th umber of neighbors. In the proposed JLST algorithm, each node broadcasts its global average to i eighbors and collects global averages broadcasted by its neighbors, which is proportional to th umber of neighbors. Therefore, the communication overhead sharply reduces by half. Moreover, he CT algorithm, anchors and agents transmit information to the control center in a multi-hop manne hich leads to a fair amount of redundant information in the networks and information delay. In order to visualize the tracking performance, a single trial performance of target tracking hown in Figure 8. We can see that the trajectory recognized by the proposed algorithm is close he actual trajectory of the target, except for at the initial time and at the moment of a sharp turn.

. Conclusions
In this paper, we built an adaptive prediction model by exploiting the correlation of trajectori nd then proposed a joint self-location and tracking algorithm based on VMP and average consensu imulation results and analysis illustrated that, compared with instant prediction, linear predictio nd square prediction, the proposed prediction model was more adaptive to the movement of th odes. The self-location performance of the proposed algorithm is better than the separate ooperative self-localization, and the tracking performance of the proposed algorithm is close to th entralized tracking algorithm with less communication overhead.
The proposed algorithm is suitable for tracking bird migration patterns, monitoring ga iffusion, etc. In these applications, the motion of the targets is random. The following research aime o apply the proposed approach to practices. In practical networks, delays in data transmission an ommunication errors are two important issues which affect positioning accuracy and real-tim racking. Future research will focus on the issue of how to deal with the impact of these two issues

Conclusions
In this paper, we built an adaptive prediction model by exploiting the correlation of trajectories and then proposed a joint self-location and tracking algorithm based on VMP and average consensus. Simulation results and analysis illustrated that, compared with instant prediction, linear prediction, and square prediction, the proposed prediction model was more adaptive to the movement of the nodes. The self-location performance of the proposed algorithm is better than the separated cooperative self-localization, and the tracking performance of the proposed algorithm is close to the centralized tracking algorithm with less communication overhead.
The proposed algorithm is suitable for tracking bird migration patterns, monitoring gas diffusion, etc. In these applications, the motion of the targets is random. The following research aimed to apply the proposed approach to practices. In practical networks, delays in data transmission and communication errors are two important issues which affect positioning accuracy and real-time tracking. Future research will focus on the issue of how to deal with the impact of these two issues.