Next Article in Journal
Online Workload Allocation via Fog-Fog-Cloud Cooperation to Reduce IoT Task Service Delay
Next Article in Special Issue
Leveraging a Publish/Subscribe Fog System to Provide Collision Warnings in Vehicular Networks
Previous Article in Journal
Evaluation of Scintillator Detection Materials for Application within Airborne Environmental Radiation Monitoring
Previous Article in Special Issue
Recent Advances in Stochastic Sensor Control for Multi-Object Tracking
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

1
School of Physics and Electronic Information, Luoyang Normal University, Luoyang 471934, China
2
School of Information Engineering, Zhengzhou University, Zhengzhou 450001, China
*
Authors to whom correspondence should be addressed.
Sensors 2019, 19(18), 3829; https://doi.org/10.3390/s19183829
Submission received: 9 July 2019 / Revised: 28 August 2019 / Accepted: 2 September 2019 / Published: 4 September 2019
(This article belongs to the Special Issue Mobile Sensing: Platforms, Technologies and Challenges)

Abstract

:
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.

1. 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 ) .

2. 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 x i k x i k , y i k T . 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 i k x j k | 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 i j k with Gaussian noise ω i j k N ( ω i j k ; 0 , ( σ i j k ) 2 ) . Consequently, the ranging measurement d i j k can be formulated as
d i j k = | | x i k x j k | | + ω i j k ,
and the likelihood function of the position variables of x i k and x j k is a Gaussian pdf, i.e.,
p ( d i j k x i k , x j k ) N ( d i j k ; | | x i k x j k | | , σ i j k ) .
For convenience of description, we define V o k A o k M o k ( A o k for anchors and M o k for agents) to represent all nodes who can detect target at the kth time slot. Similarly, let V m k A m k M m k S m k denote all nodes from whom node m M can implement ranging measurement at the kth time slot. Typically, notation S m k represents all targets that node m can detect at the kth time slot. Moreover, we denote the position variables of all nodes by X k { x i k , i A M S } , the ranging measurements of node m M by Z m k { d m j k , j A m k M m k S m k } , and the ranging measurements of target O S by Z o k { d j o k , j A o k M o k } , respectively. Then, let X k { x i k , i V } and Z k { Z i k , i M S } represent the position variables of all nodes and ranging measurements at the kth time slot, respectively. 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
p ( X 0 : K Z 1 : K ) p ( X 0 ) k = 1 K p ( Z k X k ) p ( X k X k 1 ) i V p ( x i 0 ) k = 1 K m M j V m k p ( d m j k x m k , x j k ) o S j V o k p ( d j o k x o k , x j k ) i V p ( x i k | x i k 1 ) ,
where p ( x i 0 ) is the a prior distribution of node I, which is assumed to be a Gaussian pdf with mean μ i 0 and covariance matrix V i 0 σ i 0 2 I 2 × 2 , p ( d i j k x i k , x j k ) is the likelihood function of node i and node j, and p ( x i k | x i k 1 ) is the probabilistic state-transition function.
For simplicity, we define f i k | k 1 p ( x i k | x i k 1 ) and f i j k p ( d i j k x i k , x j k ) . 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 i k of node i and is depicted by a circle, while each factor node represents a local function f i k | k 1 or f i j k 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.

3. 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 m k and x O k , denoted by b ( x m k ) and b ( x o k ) , 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 i k ) can be described as
b ( x i k ) = 1 Z m f i k | k 1 x i k ( x i k ) j V i k m f i j k x i k ( x i k ) ,
where Z is the normalization constant and m f i k | k 1 x i k ( x i k ) and m f i j k x i k ( x i k ) represent messages from factor node and factor nodes f i j k ( j V i k ) to variable node x i k , respectively. Therefore, agent m M determines b ( x m k ) and b ( x o k ) ( m V o k ) by two phases, i.e., a prediction phase and a joint self-location and tracking phase.

3.1. Adaptive Prediction Model and Prediction Message Calculating

In (1), the probabilistic state-transition function p ( x i k | x i k 1 ) 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 T i ( k 1 , N ) ( x ^ i k 1 ) T , ( x ^ i k 2 ) T , , ( x ^ i k N ) T T , where x ^ i k N [ x ^ i k N , y ^ i k N ] T , …, x ^ i k 1 [ x ^ i k 1 , y ^ i k 1 ] T are the estimated positions of node i at the (k−N)th, …, (k−1)th time slot. Similarly, the trajectory of node i from the (kN + 1)th time slot to the kth time slot can be described as T i ( k , N ) ( x ^ i k ) T , ( x ^ i k 1 ) T , , ( x ^ i k N + 1 ) T T . Then, we formulate the prediction model of node i as
T i ( k , N ) = P i · T i ( k 1 , N )   ,
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 ^ i k and x ^ i k N . Therefore, the elements from the 3rd to the 2Nth rows are
p r , s i = 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
T i ( k 1 , N ) = P i · T i ( k 2 , N )   .
Consequently, it can be formulated as
T i ( k , N ) = ( P i ) n · T i ( k n , N ) .
Based on Equations (3) and (5), we have
T i ( k , N ) T i ( k 1 , N ) = P i · [ T i ( k 1 , N ) T i ( k 2 , N ) ]       .
Obviously, translational motion will not change the prediction matrix P i . Therefore, it can be expressed as
T i ( k , N ) H = P i · [ T i ( k 1 , N ) H ]   ,
and H satisfies the constraint as follows
H = ( P i ) n · H ,
where H [ a , b , , a , b ] 2 N × 1 T and its two base vectors are h 1 [ 1   0   1   0 1   0 ] T and h 2 [ 0   1   0   1 0   1 ] T . Then we have h 1 = P i · h 1 and h 2 = P i · h 2 .
Assume that each node stores M ( M > N ) estimated positions before the kth time slot, which constitute M N + 1 trajectories, i.e., T i ( k 1 , N ) , T i ( k 2 , N ) ,…, T i ( k M + N 1 , N ) . Based on the prediction model in Equation (3), we obtain an equation set which can be expressed as
T i ( k 1 , N ) = P i × T i ( k 2 , N ) T i ( k 2 , N ) = P i × T i ( k 3 , N ) T i ( k M + N , N ) = P i × T i ( k M + N 1 , N ) .
According to Equations (4) and (10), we have
{ 1 0 = h 1 T × ( p 1 , i ) T ( p 2 , i ) T 0 1 = h 2 T × ( p 1 , i ) T ( p 2 , i ) T ,
where p 1 , i and p 2 , i are the first and second rows of P i . For convenience of description, we define
B i , M N x ^ i k 1 x ^ i k 2 x ^ i k M + N 1 0 y ^ i k 1 y ^ i k 2 y ^ i k M + N 0 1 ,   T i , M N T i ( k 2 , N ) T T i ( k 3 , N ) T T i ( k M + N 1 , N ) T h 1 T h 2 T .
Then, according to Equations (4), (10), and (11), we have
B i , M N = T i , M N · ( p 1 , i ) T ( p 2 , i ) T .
Consequently, p 1 , i and p 2 , i can be determined based on the least square method, i.e.,
p 1 , i p 2 , i = B i , M N T · T i , M N · ( T i , M N T · T i , M N ) 1 T .
Finally, the prediction matrix Pi is given by Equations (4) and (13). Let x ˜ i k [ x ˜ i k , y ˜ i k ] T denote the predicted position of node i. According to the prediction model in Equation (3), x ˜ i k can be given by
x ˜ i k = p 1 , i p 2 , i · T i ( k 1 , N )
Then, we use the predicted position x ˜ i k to formulate the prediction message m f i k | k 1 x i k ( x i k ) as
m f i k | k 1 x i k ( x i k ) = N ( x i k ; x ˜ i k , V ˜ i k ) ,
where the covariance matrixes are V ˜ i k = σ ˜ i , k 2 I 2 × 2 and σ ˜ i , k 2 = | | x ^ i k 1 x ˜ i k 1 | | 2 .

3.2. 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 i k M i k , but also from targets O S i k 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.

3.2.1. Self-Location of Agents Based on Variational Message Passing

At the kth time slot, agent m M obtains its prediction message m f m k | k 1 x m k ( x m k ) = N ( x m k ; x ˜ m k , V ˜ m k ) 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:
m f m a k x m k ( x m k ) exp m x a k f m a k ( x a k ) ln f m a k ( x a k , x m k ) d x a k = N d m a k ; x m k μ a k , ( σ m a k ) 2 ,
m f m j k x m k ( x m k ) = exp m x j k f m j k ln p ( d m j k | x m k , x j k ) d x j k = exp b ( x j k ) ln N d m j k ; x m k x j k , ( σ m j k ) 2 d x j k .
In (16), μ a k is the position of anchor a A at the kth time slot. Consequently, the belief b ( x m k ) in Equation (2) can be rewritten as
b ( x m k ) = 1 Z N x m k ; x ˜ m k , V ˜ m k × a A m k N d m a k ; x m k μ a k , ( σ m a k ) 2 × j M m k S m k exp b ( x j k ) ln N d m j k ; x m k x j k , ( σ m j k ) 2 d x j k .
Considering the communication overhead, the messages passed on in Figure 1 are restricted to Gaussian distribution. However, b ( x m k ) , 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 b ( x m k ) is approximated into a Gaussian function denoted by b ^ ( x m k ) N x m k ; μ ^ m k , V ^ m k   , where μ i k and V i k are as follows:
V m k ( V ˜ m k ) 1 + a A m k I 2 × 2 d m a k F m a 2 ( σ m a k ) 2 + j M i k 1 ( σ m j k ) 2 [ I 2 × 2 d m j k 2 F m j ( x m k ) 2 ] 1 ,
μ m k V ^ m k ( V ˜ m k ) 1 x ˜ m k   + a A m k μ a k d i a k ( F m a F m a 2 μ m k ) ( σ m a k ) 2   + j M m k S m k 1 ( σ m j k ) 2 [ μ j k + d m j k ( F m j x m k 2 F m j ( x m k ) 2 μ m k ) ] .
In Equations (19) and (20), the notations μ m k and μ j k represent the estimated positions of nodes m and j in the latest iteration, respectively, notations F m a and F m a 2 are the first-order gradient and the Hessian matrix of F m a k | | x m k μ a k | | at μ m k , respectively, and the notations F m j x m k and 2 F m j ( x m k ) 2 are the first-order partial derivatives of F m j k | | x m k x j k | | and 1 x m k ( F m j x m k ) at ( μ m k , μ j k ), respectively (please see [22] for detailed derivation). Consequently, agent i M obtains its location based on maximum a posteriori (MAP), i.e., x ^ i k = μ i k .

3.2.2. Target Tracking Based on Average Consensus

At kth time slot, node i S o k , which can detect target O S , computes the prediction message m f o k | k 1 x o k ( x o k ) = N ( x o k ; x ˜ o k , V ˜ o k ) and the local message m f o i k x o k ( x o k ) . Then, m f o i k x o k ( x o k ) is approximated into Gaussian function N ( x o k ; μ o i k , V o i k ) using the approximation method in [22]. Therefore, the Gaussian approximation of b ( x o k ) can be expressed as
b ^ ( x o k ) = 1 Z N ( x o k ; x ˜ o k , V ˜ o k ) × i V o k N ( x o k ; μ o i k , V o i k ) .
The mean vector μ o k and the covariance matrix V o k are given by ( V o k ) 1 = ( V ˜ o k ) 1 + i V o k ( V o i k ) 1 and μ o k = V o k ( V ˜ i k ) 1 μ i k + i V o k ( V o i k ) 1 μ o i k , respectively. Each node i S o k can calculate V ˜ o k and V o i k locally. However, node i S o k cannot determine b ^ ( x o k ) unless all other neighbors of target O share their local information with it.
For convenience of discussion, let W o k ( V o k ) 1 , W ˜ o k ( V ˜ o k ) 1 and W o i k ( V o i k ) 1 ; therefore, we have
W o k = W ˜ o k + i V o k W o i k ,
W o k μ o k = W ˜ o k x ˜ o k + i V o k W o i k μ o i k .
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 i k represent the number of neighbors of node i, respectively. The consensus iteration process is as follows.
Step 1: Each node i V o k uses local information to initialize the global average W i k , ( 0 ) and W i k , ( 0 ) μ i k , ( 0 ) as
W i k , ( 0 ) = W o i k , W i k , ( 0 ) μ i k , ( 0 ) = W o i k μ o i k ,
while each node i V o k initializes W i k , ( 0 ) and W i k , ( 0 ) μ i k , ( 0 ) as
W i k , ( 0 ) = 0 , W i k , ( 0 ) μ i k , ( 0 ) = 0 .
Step 2: Each node computes the Metropolis weight matrix, which is defined as
ξ i , j ( t ) = 1 1 + max { N i k , N j k } if   j V i k , 1 l V i k ξ i , l ( t ) if   i = j , 0 otherwise .
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 i k , ( t + 1 ) and W i k , ( t + 1 ) μ i k , ( t + 1 ) by
W i k , ( t + 1 ) = ξ i , i ( t ) W i k , ( t ) + j V i k ξ i , j ( t ) W j k , ( t ) ,
W i k , ( t + 1 ) μ i k , ( t + 1 ) = ξ i , i ( t ) W i k , ( t ) μ i k , ( t ) + j V i k ξ i , j ( t ) W j k , ( t ) μ j k , ( t ) .
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 i V o k W o i k and i V o k W o i k μ o i k . Therefore, each node i V o k can compute i V o k W o i k and i V o k W o i k   μ o i k by
i V o k W o i k = N o k × W i k , ( t max ) ,
i V o k W o i k μ o i k = N o k × W i k , ( t max ) μ i k , ( t max ) .
Submitting Equations (27) and (28) to Equations (22) and (23), each node i V o k has
W o k = W ˜ o k + N o k × W i k , ( t max ) ,
W o k μ o k = W ˜ o k x ˜ o k + N o k × W i k , ( t max ) μ i k , ( t max ) .
Therefore, each node i V o k can determine the position of target O based on MAP, i.e., x ^ o k = μ o k .

3.3. 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.
Algorithm 1: Distributed joint self-location and tracking algorithm
1for k = 1 : k max (k is the time slot index)
2Each agent m M updates M historical position information of itself and the targets before the kth time slot.
3Each agent m M calculates its prediction matrix P m using Equation (4) and Equation (13), then predicts its position x ˜ m k using Equations (14) and obtains its prediction message m f m k | k 1 x m k ( x m k ) using Equation (15).
4Each node i S o k predicts the position of target O using Equation (4), Equation (13), and Equation (14), i.e., x ˜ o k . Then, the prediction message m f o k | k 1 x o k ( x o k ) is calculated using Equation (15).
5Initialization: Each agent m M initializes its position as x m k = x ˜ m k and initializes the position of the target that it detects as x o k = x ˜ o k .
6for q = 1 : q max (where q is the iteration index)
7
(1)
Each agent m M collects ranging measurements from its neighbors and calculates cooperative messages m f m a k x m k ( q ) ( x m k ) ( a A m k ) from neighbor anchors using Equation (16) and m f m j k x m k ( q ) ( x m k ) ( j M m k S m k ) from neighbor agents and targets using Equation (17), respectively. Then, each agent m M calculates μ m k , ( q ) and V m k , ( q ) of b ^ ( p ) ( x m k ) using Equations (19) and (20), respectively.
8
(2)
Each node i S o k receives the local message m f o i k x o k ( q ) ( x o k ) and approximates it into Gaussian function N ( x o k ; μ o i k , ( q ) , V o i k , ( q ) ) based on the Taylor expansion approximation method in [20]. Then the global average is calculated based on average consensus iteration from Step 1 to Step 4, which are depicted in Section 3.2.2. Then, each node i S o k computes W o k , ( q ) and W o k , ( q ) μ o k , ( q ) using Equations (27)–(30).
9
(3)
Each agent m M broadcasts the mean μ m k , ( q ) and the covariance matrix V m k , ( q ) of b ^ ( p ) ( x m k ) . Each node i S o k broadcasts W o k , ( q ) μ o k , ( q ) and W o k , ( q ) . At the same time, they collect the information broadcasted by its neighbors.
10end for q
11Each agent m M determines its position based on MAP and broadcasts μ m k and V m k . Each node i S o k determines the position of target O based on based on MAP and broadcast W o k and W o k μ o k .
12end for k

4. 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).

4.1. 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 Figure 2, Figure 3 and Figure 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 d i k and θ i k denote the velocity and direction of node i from the kth time slot to the (k−1)th time slot, respectively, then we have
d i k = α d i k 1 + ( 1 α ) d ¯ i + 1 α 2 ω d θ i k = α θ i k 1 + ( 1 α ) θ ¯ i + 1 α 2 ω θ ,
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 i k 1 and θ i k 1 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 m2) 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.

4.2. 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 25 I 2 × 2 . The iterations of the average consensus algorithm and the joint location algorithm are 20 and 10, respectively. The results in Figure 5, Figure 6 and Figure 7 are obtained by performing 10,000 realizations over 20 time slots.
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 Figure 5 and Figure 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 m A , N m M , and N m O 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 O ( N i A + N i M ) and O ( N i A + N i M + N i O ) , 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 O ( N i A + N i M ) and O ( N i A + N i M + N i O ) for the CSL algorithm and the proposed JSLT algorithm, respectively. Since N i O N i A + N i M , the complexity and the communication overhead of the two algorithms are similar.
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.

5. 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.

Author Contributions

Conceptualization, J.C. and Z.W.; Methodology, J.C. and Y.D.; Software, J.C. and Y.D.; Validation, J.C. and Z.W., and Y.D.; Formal analysis, J.C.; Investigation, J.C.; Resources, J.C.; Data curation, J.C.; Writing—Original draft preparation, J.Z.; Writing—Review and editing, J.Z. and Y.X.; Visualization, J.Z.; Supervision, Z.W.; Project administration, Z.W.; Funding acquisition, J.Z., Z.W., and Y.X.

Funding

This research was funded by the National Natural Science Foundation of China (NSFC) (grant number 61571402), the Key Scientific Research Project of Colleges and Universities of Henan Province, China (grant number 19A510019) and the Foundation for Young Backbone Teachers in Higher Education Institutions of Henan Province, China (grant number 2018GGJS126).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Antolín, D.; Medrano, N.; Calvo, B. Reliable Lifespan Evaluation of a Remote Environment Monitoring System Based on Wireless Sensor Networks and Global System for Mobile Communications. J. Sens. 2016, 2016, 4248230. [Google Scholar] [CrossRef]
  2. Fakhrulddin, S.S.; Gharghan, S.K.; Al-Naji, A.; Chahl, J. An Advanced First Aid System Based on an Unmanned Aerial Vehicles and a Wireless Body Area Sensor Network for Elderly Persons in Outdoor Environments. Sensors 2019, 19, 2955. [Google Scholar] [CrossRef] [PubMed]
  3. Han, W.; Tian, Z.; Shi, W.; Huang, Z.; Li, S. Low-Power Distributed Data Flow Anomaly-Monitoring Technology for Industrial Internet of Things. Sensors 2019, 19, 2804. [Google Scholar] [CrossRef] [PubMed]
  4. Suryadevara, N.K.; Mukhopadhyay, S.C.; Kelly, S.D.T.; Satinder, P.S.G. WSN-Based Smart Sensors and Actuator for Power Management in Intelligent Buildings. IEEE/ASME Trans. Mechatron. 2015, 20, 564–571. [Google Scholar] [CrossRef]
  5. Atzori, L.; Lera, A.; Morabito, G. The Internet of Things: A Survey. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
  6. Fekher, K.; Abbas, B.; Abderrahim, B.; Priyanka, R.; Mohamed, A. A Survey of Localization Systems in Internet of Things. Mob. Netw. Appl. 2019, 24, 761–785. [Google Scholar]
  7. Chelouah, L.; Semchedine, F.; Bouallouche-Medjkoune, L. Localization Protocols for Mobile Wireless Sensor Networks: A survey. Comput. Electr. Eng. 2018, 71, 733–751. [Google Scholar] [CrossRef]
  8. Taylor, C.; Rahimi, A.; Bachrach, J.; Shrobe, H.; Grue, A. Simultaneous Localization, Calibration, and Tracking in an Ad Hoc Sensor Network. In Proceedings of the International Conference on Information Processing in Sensor Networks, Nashville, TN, USA, 19–21 April 2006; pp. 27–33. [Google Scholar]
  9. Meyer, F.; Hlinka, O.; Wymeersch, H.; Riegler, E.; Hlawatsch, F. Distributed Localization and Tracking of Mobile Networks Including Noncooperative Objects. IEEE Trans. Signal Inf. Process. Netw. 2016, 2, 57–71. [Google Scholar] [CrossRef]
  10. Teng, J.; Snoussi, H.; Richard, C.; Zhou, R. Distributed Variational Filtering for Simultaneous Sensor Localization and Target Tracking in Wireless Sensor Networks. IEEE Trans. Veh. Technol. 2012, 61, 2305–2318. [Google Scholar] [CrossRef] [Green Version]
  11. Djurić, P.M.; Beaudeau, J.; Bugallo, M.F. Non-Centralized Target Tracking with Mobile Agents. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Prague Congress Center, Prague, Czech Republic, 22–27 May 2011; pp. 5928–5931. [Google Scholar]
  12. Xiao, L.; Boyd, S. Fast Linear Iterations for Distributed Averaging. In Proceedings of the 42nd IEEE International Conference on Decision and Control (IEEE CDC), Maui, HI, USA, 9–12 December 2003. [Google Scholar]
  13. Xiao, L.; Boyd, S.; Lall, S. A Scheme for Robust Distributed Sensor Fusion Based on Average Consensus. In Proceedings of the International Symposium on Information Processing in Sensor Networks, Boise, ID, USA, 15 April 2005. [Google Scholar]
  14. Olfati-Saber, R.; Fax, J.A.; Murray, R.M. Consensus and Cooperation in Networked Multi-Agent Systems. Proc. IEEE 2007, 95, 215–233. [Google Scholar] [CrossRef]
  15. Farahmand, S.; Roumeliotis, S.I.; Giannakis, G.B. Set-Membership Constrained Particle Filter: Distributed Adaptation for Sensor Networks. IEEE Trans. Signal Process. 2011, 59, 4122–4138. [Google Scholar] [CrossRef]
  16. Hlinka, O.; Hlawatsch, F.; Djuric, P.M. Consensus-based Distributed Particle Filtering with Distributed Proposal Adaptation. IEEE Trans. Signal Process. 2014, 62, 3029–3041. [Google Scholar]
  17. Gu, D.; Sun, J.; Hu, Z.; Li, H. Consensus Based Distributed Particle Filter in Sensor Networks. In Proceedings of the International Conference on Information and Automation, Zhangjiajie, Hunan, China, 20–23 June 2008. [Google Scholar]
  18. Ghirmai, T. Distributed Particle Filter Using Gaussian Approximated Likelihood Function. In Proceedings of the 48th Conference on Information Sciences and Systems, Princeton, NJ, USA, 19–21 March 2014. [Google Scholar]
  19. Hlinka, O.; Sluciak, O.; Hlawatsch, F.; Djuric, P.M.; Rupp, M. Likelihood Consensus and Its Application to Distributed Particle Filtering. IEEE Trans. Signal Process. 2012, 60, 4334–4349. [Google Scholar] [CrossRef]
  20. Wymeersch, H.; Lien, J.; Win, M.Z. Cooperative Localization in Wireless Networks. Proc. IEEE 2009, 97, 427–450. [Google Scholar] [CrossRef]
  21. Yuan, W.J.; Wu, N.; Etzlinger, B.; Wang, H.; Kuang, J. Cooperative Joint Localization and Clock Synchronization Based on Gaussian Message Passing in Asynchronous Wireless Networks. IEEE Trans. Veh. Technol. 2016, 65, 7258–7273. [Google Scholar] [CrossRef]
  22. Cui, J.; Wang, Z.; Zhang, C.; Sun, P.; Zhu, Z. Variational Message Passing-based Localisation Algorithm with Taylor Expansion for Wireless Sensor Networks. IET Commun. 2016, 10, 2396–2401. [Google Scholar] [CrossRef]
  23. Cui, J.; Wang, Z.; Zhang, C.; Zhang, Y.; Zhu, Z. Message Passing Localisation Algorithm Combining BP with VMP for Mobile Wireless Sensor Networks. IET Commun. 2017, 11, 1106–1113. [Google Scholar] [CrossRef]
  24. Camp, T.; Boleng, J.; Davies, V. A Survey of Mobility Models for Ad Hoc Network Research. Wirel. Commun. Mob. Comput. 2002, 2, 483–502. [Google Scholar] [CrossRef]
Figure 1. The factor graph corresponding to the factorization in (1).
Figure 1. The factor graph corresponding to the factorization in (1).
Sensors 19 03829 g001
Figure 2. The performance of the proposed adaptive prediction model with different numbers of historical positions and an adjustment parameter α .
Figure 2. The performance of the proposed adaptive prediction model with different numbers of historical positions and an adjustment parameter α .
Sensors 19 03829 g002
Figure 3. The performance comparison of the four prediction models with different standard deviations of the random variables.
Figure 3. The performance comparison of the four prediction models with different standard deviations of the random variables.
Sensors 19 03829 g003
Figure 4. The performance comparison of the four prediction models with different adjustment parameter α values.
Figure 4. The performance comparison of the four prediction models with different adjustment parameter α values.
Sensors 19 03829 g004
Figure 5. Self-localization performance of the proposed joint self-location tracking JSLT algorithm and the cooperative self-localization (CSL) algorithm ( N M = 20 ).
Figure 5. Self-localization performance of the proposed joint self-location tracking JSLT algorithm and the cooperative self-localization (CSL) algorithm ( N M = 20 ).
Sensors 19 03829 g005
Figure 6. Self-localization performance of the proposed JSLT algorithm and the CSL algorithm ( N M = 10 ).
Figure 6. Self-localization performance of the proposed JSLT algorithm and the CSL algorithm ( N M = 10 ).
Sensors 19 03829 g006
Figure 7. Tracking performance of the proposed JSLT algorithm and the CT algorithm.
Figure 7. Tracking performance of the proposed JSLT algorithm and the CT algorithm.
Sensors 19 03829 g007
Figure 8. A single trial performance of target tracking.
Figure 8. A single trial performance of target tracking.
Sensors 19 03829 g008

Share and Cite

MDPI and ACS Style

Zhang, J.; Cui, J.; Wang, Z.; Ding, Y.; Xia, Y. Distributed Joint Cooperative Self-Localization and Target Tracking Algorithm for Mobile Networks. Sensors 2019, 19, 3829. https://doi.org/10.3390/s19183829

AMA Style

Zhang J, Cui J, Wang Z, Ding Y, Xia Y. Distributed Joint Cooperative Self-Localization and Target Tracking Algorithm for Mobile Networks. Sensors. 2019; 19(18):3829. https://doi.org/10.3390/s19183829

Chicago/Turabian Style

Zhang, Junjie, Jianhua Cui, Zhongyong Wang, Yingqiang Ding, and Yujie Xia. 2019. "Distributed Joint Cooperative Self-Localization and Target Tracking Algorithm for Mobile Networks" Sensors 19, no. 18: 3829. https://doi.org/10.3390/s19183829

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop