 Research
 Open Access
 Published:
Cooperative localization in wireless ad hoc and sensor networks using hybrid distance and bearing (angle of arrival) measurements
EURASIP Journal on Wireless Communications and Networking volume 2011, Article number: 72 (2011)
Abstract
This article provides the graphical properties which can ensure unique localizability in cooperative networks with hybrid distance and bearing (angle of arrival) measurements. Furthermore, within the networks satisfying these graphical properties, this article identifies further sets of conditions so that the associated computational complexity becomes linear in the number of sensor nodes. We show how, by forming a spanning tree used once for distances and a second time for bearings where the underlying graph is connected, the localization problem can be made solvable in linear time with significantly less number of sensing links and smaller sensing radii of nodes compared with the cooperative networks with distanceonly or bearingonly measurements. These easily localizable networks can be localized in polynomial time when measurements are noisy.
1 Introduction
In this article, we deal with resolving the graphical conditions of cooperative localization in networks that use hybrid distance and bearing (a.k.a. angle of arrival, AOA) measurements. Broadly speaking, the cooperative network localization problem is determining the Euclidean positions of all nodes (ordinary nodes) in a network given the knowledge of the Euclidean positions of some reference nodes (anchors), and the knowledge of a number of internode measurements. In such a setting, localization can be obtained through the cooperation of all nodes, using not only the measurements from anchors but also the measurements among pairs of ordinary nodes.
1.1 Modalities of measurements
Wireless sensor networks are geometric networks. The data collected by the nodes are closely related to their Euclidean positions in the plane or in the space. Moreover, the interconnection between the nodes highly depends on their spatial distribution within the network, i.e., nodes can directly sense or communicate with only other spatially close nodes.
Nodes need to sense some aspects of network geometry to determine their positions. Deriving location information in a cooperative scheme with distance (range) using the capability of the nodes to measure time of arrival, time difference of arrival, and received signal strength (RSS) have been used extensively to localize nodes relative to a frame of reference. For background papers dealing with various aspects of measurements and cooperative localization in sensor networks, see e.g., [1–4].
Distance measurements are not the only geometrically pertinent quantities that can be used for network localization. The nodes in an adhoc network can have multiple capabilities and exploiting one or more of the capabilities can improve the quality of positioning. Another form of geometric quantity is bearing (AOA), and such a quantity, singly or in conjunction with distance, can contribute to network localization.
Localization using bearingonly measurements and hybrid distancebearing measurements has been an active research area. Examples of methods using bearingonly type information can be found in [5–8].
Among studies dealing with localization schemes using hybrid distancebearing information, we note those of [9–13]. In particular, Ash and Potter [9] present a nodelocalization scheme in wireless sensor networks using bearing and RSS measurements and demonstrate that submeter location accuracy is achievable. They evaluate the differences between angleonly, distanceonly, and hybrid systems by deriving the localization CramérRao bound for a system utilizing joint angle and distance observations.
1.2 Role of rigidity and global rigidity
In the formalism of rigidity, nodes are represented by vertices in a graph. The edges in the graph represent sensing and communication. Rigid graph theory is concerned with properties of graphs that ensure that the network modeled by the graph is rigid. Roughly speaking, a network is rigid if its only continuous (smooth) motions satisfying measurement constraints are those corresponding to translation or rotation of the entire network. A network corresponding to a rigid graph benefits from its "local" unique realization. A network is globally rigid if its only continuous and discontinuous motions satisfying measurement constraints are those corresponding to translation, rotation, or reflection of the entire network. A network corresponding to a globally rigid graph benefits from its "global" unique realization. Rigidity proved to be helpful in maintaining the shape of a formation of mobile autonomous agents, such as vehicles and robots. On the other hand, global rigidity plays a role in determination of the existence/uniqueness problem in network localization.
1.3 Related work
Rigidity theory has become increasingly popular in the research on network localization, see, e.g., [14–22]. Eren et al. [14] provide a theoretical foundation for network localization in terms of graph rigidity theory. They show that a network has a unique localization if and only if its underlying graph is globally rigid. In addition, they show that a certain subclass of globally rigid graphs, trilateration graphs, can be constructed and localized in linear time. Moore et al. [15] take global rigidity and trilateration graphs one step further with robust quadrilaterals that provide unambiguous localizations and tolerate measurement noise. Aspnes et al. [18] analyze the performance of network localization in networks of randomly placed nodes using rigidity theory. Anderson et al. [19] use the idea of increasing sensor transmit powers temporarily to increase the sensing radius of nodes to acquire the needed rigiditybased graphical properties in sensor networks with minimal connectedness properties.
Graph rigidity problem with bearings for formation control and localization first appeared in [23, 24]. The analysis of bearings within the framework of graph rigidity and localization was developed in [25, 26]. There is a concept termed parallel rigidity developed in [25, 26], which assists in the analysis of the graph rigidity for localization where there is bearing measurement. Parallel rigidity was used in localization in sensor networks with bidirectional links in [25]. Directed parallel rigidity was used for localization in robot networks with unidirectional links in [26]. Specifically, it was shown that parallel rigidity with bearings is the dual of the rigidity with distances.
1.4 Contribution of this article
Cooperative network localization problem can be split up into (i) existence/uniqueness and (ii) algorithmic problems. The existence/uniqueness problem is concerned with the structural properties of a sensor network, which ensure unique solvability of the localization problem. For the solution of the network localization problem, we need unambiguity in the shape of the network based on internode measurements. The algorithmic problem is dealing with finding the positions of nodes in the network, and the computational complexity involved in a solution. Within the framework of these issues, this article employs the concept of parallel rigidity, carrying forward the previous results of [25, 26]. We first show that bearings (AOA) provide more information than directions, on which parallel rigidity is based on. Thus, in essence, bearingbased rigidity is stronger than parallel rigidity, which allows us to use bearing measurements in conjunction with distances while having less number of measurements and a simpler network structure. Results are presented for networks in two dimensions.
The rest of the article is organized as follows. Section 2 explains the localizability problem and topologycontrol aspects in cooperative localization. Section 3 reviews distancebased globally rigid graphs in two dimensions. Section 4 deals with bearingbased global rigidity and bilateration for localization. Section 5 deals with the graphical conditions of hybrid distancebearing based rigidity, the construction of spanning tress and distancebearingbased Henneberg sequences for localization. Section 6 presents evaluation results. Section 7 discusses noisy localization and limited measurement coverage. Section 8 contains concluding remarks.
2 Cooperative localization and topology control
The network localization generally consists of two phases, namely the measurement phase and the location estimation phase[2]. Most sensor network localization algorithms rely on measurements between neighboring sensor nodes for location estimation. Packets are exchanged between neighboring nodes in the network in the measurement phase. The receiver node can extract information regarding distance or bearing by measuring or estimating one or more signal metrics from the physical waveforms corresponding to these packets.
In the location estimation phase, measurements are aggregated and used as inputs to a localization algorithm. In this section, first we describe the distinction between noncooperative and cooperative localization algorithms. Then, we explain the localizability issue arising within the cooperative localization and elaborate the graphical issues in the localizability problem.
2.1 Noncooperative versus cooperative
In a noncooperative (onehop) localization approach, there is no communication between ordinary nodes, only between ordinary nodes and anchors. Every ordinary node needs to communicate with multiple anchors, requiring either a high density of anchors or longrange anchor transmissions as shown in Figure 1.
In cooperative (multihop) localization, we still allow ordinary nodes to make measurements with anchors, but in cooperative localization, we additionally allow ordinary nodes to make measurements with other ordinary nodes as shown in Figure 2. Internode communication removes the need for all nodes to be within communication range of multiple anchors. Thus, high anchor density or longrange anchor transmissions are no longer required. The additional information gained from these measurements between pairs of ordinary nodes can offer increased accuracy and coverage.
A formal statement of the "cooperative localization problem" is given by Patwari et al. [3]. Consider a sensor network S consisting of a set of m > 0 nodes labeled 1 through m that represent anchor nodes together with n m > 0 additional nodes labeled m + 1 through n that represent ordinary nodes. Let measurements μ_{ ij } between certain pairs of nodes s_{ i } , s_{ j } be given, and suppose that the coordinates p_{ i } of the anchor nodes s_{ i } are known. The cooperative localization problem is finding the coordinates of the ordinary nodes such that the assignment of the coordinates of ordinary nodes is consistent with the measurements μ_{ ij } and is consistent with anchor node coordinates. The corresponding framework of the cooperative sensor network is shown in Figure 3. We note that graph structure naturally arises in representation of cooperative networks.
Cooperative localization algorithms can be generally divided into "centralized algorithms," which collect measurements at a central processor before calculation, and "distributed algorithms," which require sensors to share information only with their neighbors, but possibly iteratively. Here, we give a brief summary of these algorithms. For a detailed discussion of these algorithms, see [2, 3, 27] and the references therein.
In centralized algorithms of cooperative localization, the positions of all nodes are determined by a central processor. This processor collects measurements from anchors as well as ordinary nodes and computes the positions of all ordinary nodes. Centralized algorithms are usually not scalable and thus impractical for large networks. If they are feasible to implement, the main motive behind the interest in centralized localization schemes is the likelihood of providing more accurate location estimates than those provided by distributed algorithms. In the literature, there exist three main approaches for designing centralized distancebased localization algorithms: multidimensional scaling (MDS), linear programming, and stochastic optimization approaches. It is relevant to note for MDS that it is a centralized algorithm in its raw form, though recent study has attempted to break away from this restriction [28].
In distributed algorithms of cooperative localization, there is no central controller, and every node infers its own position based only on locally collected information. Distributed algorithms are scalable and thus attractive for large networks. Distributed algorithms for cooperative localization generally fall into one of two categories, namely, "network multilateration" and "successive refinement" [3].
In network multilateration, each ordinary node estimates its multihop range to the nearest anchors. When each ordinary node has multiple measurement estimates to known positions, its coordinates are calculated locally via multilateration. Successive refinement algorithms try to find the optimum of a global cost function, e.g., least squares (LS), weighted LS (WLS), or maximum likelihood (ML). Each sensor estimates its location and then transmits that assertion to its neighbors. Neighbors must then recalculate their location and transmit again, until convergence. Typically, better statistical performance is achieved by successive refinement compared to network multilateration, but convergence issues must be addressed.
A recent direction of research in distributed algorithms is the use of particle filters. In [29], Ihler et al. formulated the sensor network localization problem as an inference problem on a graphical model and applied a variant of belief propagation (BP) techniques, the socalled nonparametric belief propagation (NBP) algorithm, to obtain an approximate solution to the sensor locations. The main advantages of the NBP algorithm are its easy implementation in a distributed fashion and sufficiency of a small number of iterations to converge. In [30], Bayesian inference is performed through an iterative local message passing procedure based on belief propagation and particlefiltering message representation.
There may be hybrid algorithms that combine centralized and distributed features to reduce the energy consumption beyond what either one could do alone [3]. For example, if the sensor network is divided into small clusters, an algorithm could select a processor from within each cluster to estimate a map of the cluster's sensors. Then, cluster processors could operate a distributed algorithm to merge and optimize the local estimates, such as described in [31].
2.2 Topologycontrol aspects of localizability in cooperative networks
Despite a considerable number of techniques developed for cooperative localization, there is a great number of associated research challenges, including analytic characterization of the cooperative networks from the aspect of localization; development of efficient localization algorithms for various classes of cooperative networks under a variety of conditions.
Topology control is one of the most important techniques used in wireless ad hoc and sensor networks. The aim of this technique is to control the topology of the graph representing the communication links between network nodes with the purpose of maintaining some global graph property (e.g., connectivity), while reducing energy consumption and/or interference that are strictly related to the nodes' transmitting range. Topology control for connectivity has been well studied (e.g., [32–36]).
From the topology control perspective, applications of the notions of rigidity and global rigidity in cooperative network localization are well described and their importance is well demonstrated from both the analytic and the algorithmic aspects in the recent literature [18, 19, 37]. In particular, it is established in [14, 18] that a necessary and sufficient condition for unique localization of a ddimensional cooperative network is global rigidity of any ddimensional representation (G, p), where G is the representative graph of the cooperative network, and the edge lengths p(i) p(j) imposed by p are equal to the corresponding known internode distances d_{ ij } , assuming that the absolute positions of at least three anchors in ℝ^{2} (which do not lie on the same line) or four anchors in ℝ^{3} (which do not lie on the same plane) are known.
For example, for the cooperative sensor network shown in Figure 2 to be localizable, the underlying graph of the sensor network shown in Figure 3 should be globally rigid [18]. Moreover, the network graph should satisfy certain other constraints to be localizable in linear time [19]. In particular, this article is intended to explore the conditions for the localizability (in linear time) of cooperative networks that use bearing information along with distances.
The construction techniques developed in this article, namely, building spanning trees, bilaterations, trilaterations are obtained via topology control algorithms. Topologycontrol phase takes place between measurement and location update phases. We note that we implement these topology constructions so that location estimation can be implemented in linear time. An advantage of this constructionbased approach is that during deployment, sensors can first perform simple topology control (using, for example, measurement power control) to construct a topology with simple connectivitybased properties. Then using our constructionbased operation (e.g., power control), the network constructs a localizable topology. References [32] and [38] provide a comprehensive survey on existing techniques. The topology of a network is determined by the subset of active nodes and the set of active links along which direct communication can occur. A topologycontrol algorithm takes a graph G = (V, E) representing the network, where V is the set of all nodes in the network and there is an edge (v_{1}, v_{2}) ∈ E ⊆ V^{2} if and only if nodes v_{1} and v_{2} can directly communicate with each other, and transforms it to a graph G_{ T } = (V_{ T }, E_{ T } ) such that V_{ T } ⊆ V and E_{ T } ⊆ E. A related question is where topologycontrol mechanisms are placed in the network protocol stack. Among the many possible solutions, one approach given by Santi [32] is that topology control is an additional protocol layer positioned between routing and MAC layer.
3 Localization and global rigidity for distanceonly information
3.1 Graph theoretic statement of the localization problem
Consider a network S consisting of a set of m > 0 nodes labeled 1 through m that represent anchor nodes together with n m > 0 additional nodes labeled m + 1 through n that represent ordinary nodes. Let distances d_{ ij } between certain pairs of nodes s_{ i } , s_{ j } be given, and suppose that the coordinates p_{ i } of the anchor nodes s_{ i } are known. The localization problem is finding a map p : S → ℝ^{2} which assigns coordinates p_{ i } ∈ ℝ^{2} to each node s_{ i } such that p(i)  p(j) = d_{ ij } holds for all pairs i, j for which d_{ ij } is given, and the assignment is consistent with any node coordinate assignments provided in the problem statement.
We can associate a graph G = (V, D) with a network by associating a vertex of the graph with each sensor (the vertex set is V ), and an edge of the graph with each sensor pair for which the intersensor distance is known (the edge set is D). Let V denote the number of vertices and D the number of edges. A 2dimensional framework (G, p) is a graph G = (V, D) together with a map p : V → ℝ^{2}. The framework is a realization if it results in p(i) p(j) = d_{ ij } for all pairs i, j where (i, j) ∈ D. Two frameworks (G, p) and (G, q) are equivalent if p(i) p(j) = q(i) q(j) holds for all pairs i, j with (i, j) ∈ D. The two frameworks (G, p) and (G, q) are congruent if p(i) p(j) = q(i) q(j) holds for all pairs i, j with i, j ∈ V. This is the same as saying that (G, q) can be obtained from (G, p) by an isometry of ℝ^{2}, i.e., a combination of translations, rotations and reflection.
3.2 The role of global rigidity
A framework (G, p) is rigid if there exists a sufficiently small positive such that if (G, q) is equivalent to (G, p) and p(i)  q(i) < ε for all i ∈ V then (G, q) is congruent to (G, p). Intuitively, a rigid framework cannot flex. We remark that there exist rigid frameworks (G, p) and (G, q) which are equivalent but not congruent, see [39]. A framework (G, p) is globally rigid if every framework which is equivalent to (G, p) is congruent to (G, p).
Given the graph and distance set of a globally rigid framework, relative localization is feasible; yet there is not enough information to position the framework absolutely in ℝ^{2}. To do this requires the absolute position of at least three vertices, and in fact they must be generically positioned.
Hence, the existence/uniqueness problem is describing how one can decide if a prescribed framework is globally rigid. Consider a rigid framework (G, p) in ℝ^{2}. It is said to be generic if the set containing the coordinates of all its points is algebraically independent over the rationals. It is known that rigidity of frameworks in ℝ^{2} is a generic property. In other words, provided p is generic, the graph G alone determines the rigidity of the framework, and so we can speak of rigidity of a graph.
There is a test for rigidity involving the rank of rigidity matrices with entries formed from the coordinates of the vertices, and in two dimensions there is a graph theoretic necessary and sufficient condition for rigidity proved by Laman [40]. See Whiteley [41] and references therein for a thorough exposition of rigidity.
When it comes to testing for global rigidity, there is an algebraic test using stress matrices [42]. In two dimensions, there is a necessary and sufficient condition for global rigidity of a graph: either the associated graph is the complete graph on three vertices or it must have two properties: (i) it must be 3connected; (ii) it must be redundantly rigid [39, 43]. The definition of 3connectedness is as follows: between any two vertices of the graph, there must exist at least three paths which have no edge or vertex in common, apart from the end vertices. A graph is termed redundantly rigid if with the removal of any edge, it remains rigid.
3.3 Computational complexity of localization
The computational complexity of the algorithmic localization problem has been dealt with in the literature. The general answer is that the computational complexity of localization is NPhard as proved by Saxe [44], and this continues to be true for an important subclass of sensor network graphs, such as those which are unit disk graphs [18].
3.3.1 Possible strategies to reduce computational costs
We need to introduce some notation. Let G = (V, D) be a graph. Then the graph G^{2} is defined as (V, D ∪ D^{2}) where (a, b) ∈ D^{2} just when a ≠ b, and there exists c with (a, c) ∈ D and (b, c) ∈ D. Thus, G^{2} is obtained from G by adding edges between the vertex pairs of G which are separated by precisely one intermediate vertex, i.e., by adding edges between the twohop vertex pairs of G. The graph G^{3} is defined as (V, D ∪ D^{2} ∪ D^{3}) where (a, b) ∈ D^{3} when a ≠ b, and there exists c and d with (a, c) ∈ D, (c, d) ∈ D and (d, b) ∈ D. Thus G^{3} is obtained from G by adding edges between those vertex pairs of G which are separated by precisely one or two intermediate vertices, i.e., by adding edges between the two and threehop vertex pairs of G.
Methods for reducing computational complexity can be found by imposing more conditions on the underlying graph. In particular, one might expect that with more data, i.e., more intersensor distances being specified than the minimum number required to secure global rigidity of the underlying graph, there might be a possibility to cut computational costs. Indeed this is so. There is an important class of graphs in two dimensions, called trilateration graphs, in which the computational complexity of localization is polynomial, and on such occasions as linear, in the number of vertices [14].
One of the key contributions of rigiditybased approach is that it provides how to systematically construct globally rigid graphs (in other words, localizable graphs), using trilateration from graphs without this property. Construction involves sensors determining distances not just to their immediate neighbors, but also to their two and threehop distant neighbors [19]. This corresponds to increasing the sensing radius temporarily by adjusting transmit powers for each sensor. In the case of determining distances to twohop neighbors, doubling of the sensing radius will suffice. Indeed, an advantage of this constructionbased approach is that during deployment, sensors can first perform simple topology control (using, for example, measurement power control) to construct a topology with simple connectivitybased properties. Then using constructionbased operation, the network constructs a localizable topology. Once the localization of each node is achieved, sensor nodes decrease their sensing radii back to onehop distances. The following results summarize the methods provided by Anderson et al. in [19]. Suppose G is connected. G^{2} is generated by doubling the sensing radius, and G^{3} is generated by trebling the sensing radius. First, if G is an edge 2connected graph in ℝ^{2}, then G^{2} is globally rigid. Secondly, if G is a connected graph in ℝ^{2}, then G^{3} is globally rigid.
4 Graphical conditions of localization for bearingonly information
4.1 Bearing measurement
A bearing is the angle between the xaxis of the local coordinate system of node i and the line segment joining node i with node j with which the node i has a sensing/communication link. The angle is measured in counterclockwise rotation direction from the xaxis of the local coordinate system. A node's local coordinate system is chosen by each node based on some criteria, e.g. the coordinates are referenced to a known location in the immediate area, or the longer side of a node is chosen to be the xaxis of the local coordinate system, and so forth. Two local coordinate systems may not always line up on the same map. We assume that each node has its own coordinate system as described in [8]. If two nodes i and j have a sensing/communication link between each other as shown in Figure 4, then bearing constraints for i and j, denoted by θ_{ ij } and θ_{ ji } respectively, are the angles between the xaxis of each node's own coordinate system and the link (i, j).
4.1.1 Heading
Our aim is to obtain a relation between the coordinates of node i and j given the bearing constraint between them. In real implementations of bearing information, the information about a global coordinate system (x_{ G }, y_{ G } ) is either known by all nodes (all nodes have compass capabilities) or is transmitted from anchor nodes to ordinary nodes. This is done by passing "heading" information from one node to another. An example of propagation of heading information between nodes is given in [8].
By heading is meant the angle between the xaxis of the node's local coordinate system and the yaxis of the global coordinate system measured in counterclockwise direction from the xaxis of the node's local coordinate system. For example, ϕ_{ i } is the heading of i in Figure 5. Once node i passes the information ϕ_{ i } and θ_{ ij } to node j, then node j can compute its heading by ϕ_{ j } = π  (θ_{ ij }  ϕ_{ i } ) + θ_{ ji } . Once nodes recognize the global coordinate system, they can transform the bearing information measured in their local coordinate systems (θ_{ ij } and θ_{ ji } ) into bearing information in the global coordinate system (Θ _{ ij } and Θ_{ ji }) as shown in Figure 6. We note that Θ _{ ji } = π + Θ _{ ij } (mod 2π).
4.1.2 Bearing constraint
A bearing constraint between node i and j can be expressed as
where e_{ x } is the unit vector along the xaxis of the global coordinate system, and ∡[.] stands for the function that maps the two vectors in the argument to the angle between them, where the angle is measured in the counterclockwise direction from the second vector to the first vector in the argument. We will simply denote a bearing constraint between nodes i and j as ∡(p(i), p(j)) = Θ_{ ij }.
4.2 Problem statement for bearingonly localization
Let bearings Θ _{ ij } between certain pairs of nodes s_{ i } , s_{ j } be given, and suppose that the coordinates p_{ i } of the anchor nodes s_{ i } are known. The localization problem for a network with bearingonly information is finding a map p : S → ℝ^{2} which assigns coordinates p_{ i } ∈ ℝ^{2} to each node s_{ i } such that ∡(i, j) = Θ _{ ij } holds for all pairs i, j for which Θ _{ ij } is given, and the assignment is consistent with any node coordinate assignments provided in the problem statement.
We can associate a graph G = (V, B) with a network by associating a vertex of the graph with each sensor (the vertex set is V), and an edge of the graph with each sensor pair for which the intersensor bearing is known (the edge set is B).
4.3 Necessarysufficient condition for bearingonly localization
As was the case with distances, there is a test for bearingbased rigidity involving the rank of a matrix with entries formed from the coordinates of the vertices, and in two dimensions there is a graph theoretic necessary and sufficient condition for bearingbased rigidity using parallel rigidity as described by Eren [26].
The graph rigidity problem for networks with bearings is the dual of the distance case. For networks using pure distance information, the conditions for global rigidity are stronger than those for rigidity. For networks in 2space with bearing information between nodes, the situation is strikingly different. Because the key constraints are linear equations, if there are two nonsimilar parallel rigid networks with points p and q, then both networks are not rigid. Therefore, for bearingonly networks, rigidity implies global rigidity, (provided that there is one distance information to rule out dilation, which is easily satisfied with the existence of two anchor nodes). In two dimensions, if we have 2n  3 bearings of a parallel rigid network, and add one distance, we will have a globally rigid network.
4.4 Reducing computational costs
Let G = (V, B) be a graph. Then the graph G^{2} is defined as (V, B ∪ B^{2}) where (a, b) ∈ B^{2} just when a ≠ b and there exists c with (a, c) ∈ B and (b, c) ∈ B. Thus G^{2} is obtained from G by adding edges between the vertex pairs of G which are separated by precisely one intermediate vertex, i.e., by adding edges between the twohop vertex pairs of G. Along the lines of the distance version, it is possible to cast that G^{2} renders a connected graph G into a bearingbased globally rigid graph stated formally as follows:
Theorem 1. Let G = (V, B) be a connected graph in ℝ^{2}. Then G^{2}is bearingbased globally rigid.
The proof is based on the bilateration operation described in [45] whereby a node with known bearings to two other nodes determines its own position in terms of the positions of those two neighbors. We know that when G is connected, G^{2} is generated by doubling sensing radius. As in the case of trilateration, the computational complexity of localization in bilateration is polynomial, and on occasions such as linear, in the number of vertices.
5 Graphical conditions of localization for hybrid distancebearing information
5.1 Problem statement for hybrid distancebearing information
Before going into detail, it is useful to formally state the network localization problem for networks with hybrid distancebearing information. Let the set of sensor nodes be S, let distances d_{ ij } and bearings Θ _{ ij } between certain pairs of nodes s_{ i } , s_{ j } be given, and suppose that the coordinates p_{ i } of anchor nodes s_{ i } are known. The localization problem is one of finding a map p : S → ℝ^{2} which assigns coordinates p_{ i } ∈ ℝ^{2} to each node s_{ i } such that p(i)  p(j) = d_{ ij } holds for all pairs i, j for which d_{ ij } is given, ∡(p(i), p(j)) = Θ _{ ij } holds for all pairs i, j for which Θ _{ ij } is given and the assignment is consistent with any node coordinate assignments provided in the problem statement.
Before stating the main result of the section, we need to introduce some notation. We denote the underlying graph of a network that make use of hybrid distancebearing information by a multigraph G = (V, D, B). In this notation, we associate a vertex of the graph with each sensor (the vertex set is V ), a distance edge of the graph with each sensor pair for which the intersensor distance is known (the edge set is D), a bearing edge of the graph with each sensor pair for which the intersensor bearing is known (the edge set is B). Let V  denote the number of vertices, D the number of distance edges and B the number of bearing edges.
5.2 Formulation of network localization for hybrid distancebearing information
A twodimensional framework (G, p) is a multigraph G = (V, D, B) together with a map p : V → ℝ^{2}. The framework is a realization if it results in p(i)  p(j) = d_{ ij } for all pairs i, j where (i, j) ∈ D, and ∡(p(i), p(j)) = Θ _{ ij } for all pairs i, j where (i, j) ∈ B. Two frameworks (G, p) and (G, q) are equivalent if p(i)  p(j) = q(i)  q(j) holds for all pairs i, j with (i, j) ∈ D, and ∡(p(i), p(j)) = ∡(q(i), q(j)) for all pairs i, j where (i, j) ∈ B. The two frameworks (G, p) and (G, q) are congruent if p(i)p(j) = q(i)q(j) holds for all pairs i, j with i, j ∈ V. This is the same as saying that (G, q) can be obtained from (G, p) by an isometry of ℝ^{2}, i.e., a combination of translations. A framework (G, p) is globally rigid if every framework which is equivalent to (G, p) is congruent to (G, p). Given the graph and distancebearing sets of a globally rigid framework, there is not enough information to position the framework absolutely in ℝ^{2}. To do this requires the absolute position of at least "one" vertex (which is an anchor node in sensor networks).
5.3 Necessarysufficient condition of rigidity for hybrid distancebearing information
For networks with combined distancebearing measurements, there is a combinatorial characterization of rigidity for hybrid distancebearing constraints as follows [25, 26]:
Theorem 2. With D for distances and B for bearings, a graph G = (V, D, B) is rigid if and only if the following conditions hold:

1.
D + B = 2V   2;

2.
for all subsets, V ' of at least two vertices: D' + B'  ≤ 2V '  2;

3.
for all subsets, V ' of at least two vertices: D' ≤ 2V '  3;

4.
for all subsets, V ' of at least two vertices: B' ≤ 2V '  3.
Here, D' ⊆ D and B' ⊆ B; and D' and B' denote the set of distance and bearing constraints among the vertices in V '.
Before starting to examine the information provided by bearings, we draw your attention to see that (i) appropriately chosen (satisfying the conditions above) set of 2V   3 distances plus any single bearing is an appropriate set of 2V   2 constraints; (ii) appropriately chosen set of 2V   3 bearings plus any single distance is an appropriate set of 2V   2 constraints; (iii) a "spanning tree", used once for distances and a second time for bearings, is an appropriate set of 2(V   1) = 2V   2 constraints. A tree is a graph in which any two vertices are connected by exactly one path. Given a connected, undirected graph, a spanning tree of that graph is a subgraph which is a tree and connects all the vertices together. Spanning treebased methods were used for indoor positioning using NBP in [46].
5.4 Uniqueness: global rigidity for hybrid distancebearing information
The combinatorial conditions for hybrid distancebearing information were derived by transforming bearing constraints into direction constraints which were studied in discrete geometry literature. Two line segments p_{ i } p_{ j } and q_{ i } q_{ j } have the same direction if they are parallel to each other. Direction constraints are studied using parallel drawings that result in a dual theory of rigidity for direction constraints used in computeraided design and scene analysis. Servatius and Whiteley [47], and Jackson and Jordán [48] set out to define the conditions for mixed distancedirection constraints. Within the framework of methods using mixed distancedirection constraints, if there is more than one distance constraint, the resulting framework can never be globally rigid. Similarly, we note that, if there are multiple distance constraints, Theorem 2 provides the criterion for rigidity up to translation, but not for global rigidity. We come now to the key contribution of this article. It is to explain that bearing information provides more than direction information, and hence networks with certain structures of mixed distancebearing constraints satisfying the conditions in Theorem 2 may indeed be globally rigid even if it has more than one distance constraint. This is the point we would like to underline in this article. First we have the following lemma.
Lemma 1. Mixed distancebearing constraints between two nodes i and j provide a unique position with respect to each other.
Proof. For two pairs, (p_{1}, p_{2}) and (q_{1}, q_{2}) having a direction constraint, we can simply write q_{1}q_{2} = α(p_{1} p_{2}) where α is a nonzero real number. For the same pairs, (p_{1}, p_{2}) and (q_{1}, q_{2}), a distance constraint turns out to be q_{1} q_{2} = p_{1} p_{2}. For mixed distancedirection constraint, this implies αp_{1} p_{2} = p_{1} p_{2} that results in α = ∓ 1, and q_{1} q_{2} = ∓ (p_{1} p_{2}). Thus (q_{1}, q_{2}) is either equal to (q_{1}, q_{2}) or its mirror reflection. Essentially, however, it does not provide us the uniqueness that we are looking for.
As we will see, direction is a less stringent condition than bearing constraint. Now let us consider the case where the constraints are mixed distancebearing. For distance, we have the same equation q_{1} q_{2} = p_{1} p_{2}. Now for bearing, we have q_{1}q_{2} = α(p_{1}p_{2}) where α ∈ ℝ^{+}. This implies αp_{1}p_{2} = p_{1}p_{2} and thus α = 1. Therefore, q_{1} q_{2} = p_{1} p_{2} which provides a unique solution. □
This lemma provides the structure of the network that we will consider in the following result.
Theorem 3. A spanning tree, used once for distances and a second time for bearings, is a globally rigid set of 2(V   1) = 2V   2 constraints.
Proof. We know that this spanning tree satisfies the conditions listed in Theorem 2. Thus it is rigid. Let us consider an ordering of vertices 1, ..., V . We have mixed distancebearing constraints between adjacent nodes on the tree. Starting from vertex 1, which has a fixed position, it is indeed possible to determine the position of every other node without ambiguity using the reasoning in Lemma 1. □
This proof also fairly easily describes how localization occurs for a sensor network with a graph which is of the form of a spanning tree, used once for distances and a second time for bearings where the underlying graph G is connected. We identify an ordering of vertices in G, with vertices v_{1}, v_{2}, ..., v_{ k } and edges (v_{1}, v_{2}), (v_{2}, v_{3}), .., (v_{(n 1)}, v_{ n } ). Starting from the anchor node with known position, we determine the unique position of every other node along the spanning tree.
Naturally, one can contemplate whether the requirement that a node i has a mixed distancebearing constraint with the same node j can somehow be relaxed. What if node i has a distance constraint with node k and a bearing constraint with node j? The following lemma settles down this question.
Lemma 2. Provided that the positions of any two nodes j and k are fixed, the condition that node i having a distance constraint with node k and a bearing constraint with node j unambiguously determines the position of node i.
Proof. For distance, we have the equation q_{ i } q_{ k } = p_{ i } p_{ k }. Now for bearing, we have q_{ i } q_{ j } = α(p_{ i } p_{ j } ) where α ∈ ℝ^{+}. This implies q_{ i } = q_{ j } +α(p_{ i } p_{ j } ). We substitute this on the left side of the distance constraint: q_{ i } q_{ k } = q_{ j } +α(p_{ i } p_{ j } )q_{ k } = q_{ j } q_{ k } +α(p_{ i } p_{ j } ). Since j and k are fixed, q_{ j } q_{ k } = p_{ j } p_{ k } . Thus the left side of the distance constraint equation turns out to be p_{ j }  p_{ k } + α(p_{ i }  p_{ j } ) = (1  α)p_{ j } + αp_{ i }  p_{ k }. This expression has to be equal with the right side of the distance constraint, namely p_{ i }  p_{ k }, for any j and k. This is true only if α = 1, which implies that q_{ i }  q_{ j } = p_{ i }  p_{ j } , and thus node i has a unique position. □
Let G = (V, D, B) be a multigraph. Let \u011c be a multigraph obtained from G by adjoining a new vertex i with one distance and one bearing constraint. We call this operation a vertex addition of G[24, 26]. In this operation, there is no restriction on the choice of the neighbors of node i, i.e., the neighbors of node i can be identical or distinct. Starting from an initial double edge between two vertices, one edge for distance constraint, and the other for bearing constraint, we apply vertex addition operation repeatedly. Thus we obtain a series of graphs, G_{0}, G_{1}, G_{2}, .., G_{ n } . We call this set of graphs distancebearingbased Henneberg sequence, inspired from the name of a series of graphs generated in distancebased rigid graphs.
Theorem 4. Let a multigraph G = (V, D, B) given. If G has a subset\u011c = (V, \widehat{D}, \widehat{B}) which has a distancebearingbased Henneberg sequence using vertex addition operation, then G is globally rigid.
Proof. Starting from G_{0}, and repeatedly applying vertex addition, consecutively obtained graphs have a unique realization from Lemmas 1 and 2. □
Note that a spanning tree, used once for distances and a second time for bearings is a subset of multigraphs generated by distancebearingbased Henneberg sequence using vertex addition operation.
5.5 Computational cost
In a fully distributed computation, the propagation of position information works as follows: Nodes immediately adjacent to an anchor node get their distance/bearings directly from the anchor node. Assuming that a node has some neighbors with distance/bearing information for an anchor node, it will be able to compute its own position and forward it further into the network. An algorithm to localize a spanning tree, used once for distances and a second time for bearings is provided in Figure 7. Evidently all vertices can be localized relative to anchor nodes sequentially, in a single sweep and in time O(V ).
6 Evaluation of localization in random networks
We generate 20 instances of test networks each with 100 nodes by uniformly distributing the nodes in an area of 1000 × 1000. We do not consider anchors, as we are interested here is how many nodes we can localize.
We consider three different measurement scenarios:

1.
DistanceBearing Measurements: We assume that each node can measure at least one distance and one bearing to a single node among its neighbors. As shown in Section 5, connectivity of the network suffices to localize each node in the network. We raise the sensing radius of the network gradually until the largest connected component of the network contains all of the hundred nodes. We denote the resulting graph by G.

2.
BearingOnly Measurements: We assume that each node can measure at least two bearings to two different neighbors. As shown in Section 4, creating G ^{2} from G of the network suffices to localize each node in the network. One way to achieve G ^{2} when G is the connected network at radius r(G) is to start with radius r(G) at each node, and then raise the sensing radius of each node individually so that it connects to all of its neighbors' neighbors.

3.
DistanceOnly Measurements: We assume that each node can measure at least two distances to two different neighbors. As explained in Section 3, creating G ^{3} from G of the network suffices to localize each node in the network. One way to achieve G ^{3} when G is the connected network at radius r(G) is to start with radius r(G) at each node, and then raise the sensing radius of each node individually so that it connects to all of its neighbors' neighbors' neighbors.
For each instance of the test networks, we compute the following performance metrics:

r(G): We raise the sensing radius of the network gradually until the largest connected component of the network contains all of the N nodes resulting a graph denoted with G. We refer to this radius as r(G).

\stackrel{\u0304}{r}\left(G\right): We compute the average of the radii of all nodes in G and denote it by \stackrel{\u0304}{r}\left(G\right).

n_{ G }: Total number of links in G.

r(G^{2}): We denote the largest sensing radius of nodes in G^{2} by r(G^{2}).

\stackrel{\u0304}{r}\left({G}^{2}\right): We compute the average of the radii of all nodes in G^{2} and denote it by r(G^{2}).

{n}_{{G}^{2}}: Total number of links in G^{2}.

r(G^{3}): We denote the largest sensing radius of nodes in G^{3} by r(G^{3}).

\stackrel{\u0304}{r}\left({G}^{3}\right): We compute the average of the radii of all nodes in G^{3} and denote it by \stackrel{\u0304}{r}\left({G}^{3}\right).

{n}_{{G}^{3}}: Total number of links in G^{3}.
First, we explain the network structure in one instance of the exemplary networks. This is shown in Figures 8, 9, and 10. Links in G are shown in Figure 8. We assume that each node can measure one distanceone bearing to at least one node among its neighbors, forming a spanning tree in the network as described in Section 5. If this is the case, a connected graph will suffice for the nodes to localize themselves using the algorithm in Figure 7.
If each node can measure at least two bearings to two different neighbors, but no distancebearing measurement together, as explained in Section 4, then we need more links and larger sensing radii for network localization to obtain G^{2} for bilateration. In Figure 9, the set of additional links to be inserted into G to obtain G^{2} are shown. The union of the set of links in Figures 8 and 9 will be needed for the nodes to localize themselves using bilateration.
If each node can measure at least two distances to two different neighbors, but no bearings at all, then the requirements of localization in terms of the number of links and the required sensing radii for localization using trilateration are more burdensome. We need G^{3} for trilateration as explained in Section 3 for localization. In Figure 10, the set of additional links to be inserted into G^{2} to obtain G^{3} are shown. The union of the set of links in Figures 8, 9 and 10 will be needed for the nodes to localize themselves using trilateration.
Now, we look into the results of the 20 instances reported in Figures 11, 12 and 13. We make the following observations. First, controlling the sensing radii of the nodes individually to increase connectivity, e.g., from G to G^{2} or G to G^{3}, results in r(G^{2}) to be about twice the value of r(G), and r(G^{3}) to be about 3.5 times the value of r(G). This can be seen from the values shown in Figure 11. For the average values of \stackrel{\u0304}{r}\left(G\right), \stackrel{\u0304}{r}\left({G}^{2}\right), and \stackrel{\u0304}{r}\left({G}^{3}\right), we obtain different proportions in values. \stackrel{\u0304}{r}\left({G}^{2}\right) is slightly more than 1.5 times the value of \stackrel{\u0304}{r}\left(G\right), and \stackrel{\u0304}{r}\left({G}^{3}\right) is slightly less than three times the value of r(G) as seen clearly in Figure 12. When we compare the number of links in G, G^{2}, and G^{3}, we observe that {n}_{{G}^{2}} is slightly more than twice the value of n_{ G } , and {n}_{{G}^{3}} is slightly less than six times the value of n_{ G } . Figure 13 shows the number of links in G, G^{2}, and G^{3}. Again, we observe large variations in different test cases. It should be noted, however, that a connected graph G has considerable advantages over G^{2} and G^{3} in terms of all performance metrics. This shows the importance of topology control for easily localizable networks and the importance of applying graphtheoretic techniques to construct networks for easy localization.
7 Discussion on noise in measurements and limited measurement coverage
7.1 Localization with noise in measurements
So far, graph theory has been used to characterize the solvability of the sensor network localization problem so that if the underlying graph of the sensor network is generically globally rigid and there is a suitable set of anchors at known positions, then a unique set of sensor positions can be determined that is consistent with the measurements. However, distance and bearing measurements used for localization are measured in a physical medium that introduces errors. Therefore, in practice, distance and bearing measurements will never be exact, and the equations whose solutions deliver sensor positions in the noiseless case in general no longer have a solution.
One of the early studies focusing on robust distributed localization of noisy sensor networks using globally rigid robust quadrilaterals with certain distance measurement errors and ambiguities caused by these errors is presented in [15]. In that article, assuming that the measurement noise can be modeled as a random process, the proposed algorithm uses robust quadrilaterals as a building block for localization, adding an additional constraint beyond graph rigidity. This constraint permits localization of only those nodes which have a high likelihood of unambiguous realization.
The study by Cao et al. [49] introduces the CayleyMenger determinant as an important tool for formulating the geometric relations among node positions in sensor networks as quadratic constraints. It also discusses solutions to optimization problems to estimate the errors in the inaccurate measured distances between sensor nodes and anchor nodes. The solution of the optimization problem, when used to adjust noisy distance measurements, gives a set of distances between nodes which are completely consistent with the fact that sensor nodes live in the same plane as the anchor nodes.
An elegant recent article by Anderson et al. [50] provides a formal theory to deal with noise in globally rigid formations for localization. For a cooperative network, we write the set of vertices of the corresponding graph as V = V_{ O } ∪ V_{ A } , where V_{ A } is the set of vertices corresponding to the anchors, and V_{ O } is the set of vertices associated with ordinary nodes. Let the coordinate values of the anchors be \stackrel{\u0304}{p}\left(i\right) for i ∈ V_{ A } . Note that the distance between any two anchors of the network is necessarily known. Let us denote the set of edges joining two vertices which correspond to anchor nodes by D_{ A } , which is a subset of D. Then the equations which apply to the framework after using the anchor node information include distance information and coordinate information and are of the form
Determining a set of values \stackrel{\u0304}{p}\left(i\right) for all i ∈ V_{ O } satisfying these equations is the localization problem. We note that the equations are written with the squares to have polynomial equations in the variables. Suppose that each squared distance {d}_{ij}^{2} in (3) is replaced by {d}_{ij}^{2}+{n}_{ij}, the quantity n_{ ij } being a (typically small) error in the squared distance (rather than in the distance itself); thus d_{ ij } remains the actual distance, and n_{ ij } constitutes the measurement noise effect. Then it is natural to consider the following set:
This equation set is still overdetermined but will have no solution in general. One example of this problem involves localizing a single sensor node given noisy measurements of its distance from three anchors, as treated in [49]. In that case, there are two unknown coordinates of the single sensor node to be localized. But there are three equations perturbed by noise, and there is generically no solution. Given the graphical conditions that would guarantee unique localizability in the noiseless case, localization in the noisy case can be posed as a minimization problem. Despite the inability to solve the noisy equation set (56), the apparent solution is to seek those coordinate values of p(i), call them {\stackrel{\u0304}{p}}^{*}(i) for i ∈ V_{ O } = V \V_{ A } solving the following minimization problem:
Now we know that if all n_{ ij } are zero, there is generically a unique solution to the minimization problem, namely, the solution of the usual localization problem, which yields a zero value for the cost function. Let n denote the vector of n_{ ij } , corresponding to some arbitrary ordering of the subset of edges D\D_{ A } , i.e., edges incident on at least one ordinary (nonanchor) vertex. Let n denote the Euclidean norm so that \left\rightn{}^{2}={\sum}_{\left\{i,j\right\}\in D\backslash {D}_{A}}{n}_{ij}^{2}. The central result of [50] is the following theorem.
Theorem 5 (Anderson et al. [50]). Consider a globally rigid and generic framework (G, \stackrel{\u0304}{p}) defined by a graph G = (V, D) and vertex positions\stackrel{\u0304}{p}\left(i\right), i = 1, 2, .., V . Let V_{ A } ⊂ V denote vertices of G corresponding to anchor nodes, of which there are at least three and for which the value of\stackrel{\u0304}{p}\left(i\right)is known, and let D_{ A } ⊂ D denote those edges incident on two vertices of V_{ A }, with the graph G_{ A } = (V_{ A }, D_{ A } ) then forming a complete subgraph of G. Let d_{ ij } denote the distance between nodes i and j when (i, j) is an edge of G. Consider the minimization problem (7), and denote the solution of the minimization problem by {\stackrel{\u0304}{p}}^{*}. Then there exists a suitably small positive Δ and an associated positive constant c such that if the measurement errors in the squares of the distances obey n < Δ, the solution of the minimization problem is unique and there holds \left\right{\overline{p}}^{*}\overline{p}\left\right\le c\left\rightn\left\right.
This result establishes that a globally rigid network can be approximately localized when the internode distance measurements are contaminated with a sufficiently small noise. The solution of the minimization problem is unique and returns sensor position estimates which are not far from the correct values. In particular, a bound on the position errors can be found in terms of a bound on the distance errors. This result serves to fill a logical gap between the formal treatment of noiseless localization and typical practical approaches to sensor localization in nonideal circumstances.
Fang et al. [36] present a sequential algorithm, called "Sweeps" for estimating sensor positions when noiseless and noisy [51] distance measurements are available in globally rigid networks. They use experimental evaluation to demonstrate network instances on which the algorithm is effective.
In the case of other localization problems relying on other types of measurement modalities, for example, bearings in which, again in the noiseless case, an overdetermined set of equations determines the solution. For example, in bearing based localization in two dimensions, typically three or more lines have a common point of intersection. The same issue will arise in the presence of noise, and the treatment in [50] gives some of the formal machinery for dealing with it. The formal analysis in a forthcoming article [52] provides some understanding about the relationship between the errors in the bearing measurements and the corresponding errors in the sensor position estimates given a particular localization scheme. In particular, a bound on the position errors is found in terms of a bound on the bearing errors.
7.2 Computational complexity in easily localizable networks with noisy measurements
The main results in [50, 52] establish that a globally rigid network can be approximately localized when internode distance or bearing measurements are contaminated with sufficiently small noise. A related problem is solving the minimization problem numerically. The network localization problem using internode distances is, in general, NPhard [18], and we may expect the same complexity for localization with bearing measurements. Nevertheless, several computational algorithms have been proposed to solve the noisy localization problem, e.g., algorithms using sum of squares relaxation [53], squaredrange LS (SRLS) [54], convex optimizationbased algorithms and in particular semidefinite programming [55–57], ML location estimation method [58], the methods that use MDS [59], or other methods, e.g., described in [15, 60].
For a localization problem to be solvable in polynomial time, it is, in general, necessary that some special structure holds for the graph. Specifically, localization in the noiseless case can be done in linear time: (i) in the case of trilateration graphs for distance measurements; (ii) in the case of bilateration graphs for bearing measurements; (iii) in the case of double spanning trees for hybrid distancebearing measurements.
For networks with noisy measurements, "polynomial time" sequential algorithms were introduced in the context of easily localizable networks. In such networks, localization can be carried out sequentially, sensor by sensor, in a distributed fashion, and central calculations are not required. In particular, recent articles by Bishop and Shames [61, 62] are two further steps in developing computationally efficient algorithms that extend the existing results for globally rigid networks in the context of easily localizable networks where distance and bearing measurements are noisy. While it is beyond the scope of this article to present a detailed discussion of such numerical schemes, we do give a brief explanation of measurement refinements carried out in sequential localization algorithms to be used in easily localizable networks.
A numerical recipe for noisy localization in globally rigid trilateration networks using distance measurements is provided in [62]. They consider the problem of improving the accuracy of localization using two types of algorithms, namely the "batch refinement" algorithm, and the "sequential refinement" algorithm. These algorithms refine distance measurements and localize a dlateration graph sequentially. We will give a brief overview of sequential refinement here, which is based on CayleyMenger determinant introduced as an important tool for formulating the geometric relations among node positions in sensor networks as quadratic constraints in [49].
Consider a globally rigid graph G(V, D) and a set of internode distance measurements. The problem of distance measurement refinement is to find a set of distances {d}_{ij}^{*} for all (i, j) ∈ D such that the following set of equations is consistent.
The CayleyMenger matrix of a single ntuple of points p_{0}, ..., p_{ n }_{1} in ddimensional space is defined as,
The determinant of CayleyMenger matrix provides a way of expressing the hypervolume of a "simplex" using only the lengths of the edges. A simplex of n points is the smallest (n  1)dimensional convex hull containing these points. There is the following result stemming from the above definition of the volume of a simplex [63]: Consider an ntuple of points p_{0}, ..., p_{ n }_{1} in ddimensional space. If n ≥ d + 2, then the CayleyMenger matrix is singular, namely M(p_{0}, ..., p_{ n }_{1}) = 0.
Now consider the refinement problem for a network with a K_{4} underlying graph (complete graph with four vertices) with a set of measured internode distances. For this graph to be realizable in ℝ^{2}, the CayleyMenger determinant corresponding to the internode distances should be equal to zero, i.e., the volume of the tetrahedron defined by the four nodes should be zero.
So the problem is to find a set of {e}_{ij}^{*} such that the CayleyMenger determinant over the square of distances {\left({d}_{ij}^{*}\right)}^{2}={\stackrel{\u0304}{d}}_{ij}^{2}{e}_{ij}^{*} is equal to zero and \sum {\left({e}_{ij}^{*}\right)}^{2}=\left\right{e}^{*}{}^{2} is minimum. Hence we have the following optimization problem.
For more general networks, if noisy distance information between sensor node s_{0} and r (r > 3) anchor nodes is available to s_{0}, we can obtain r  2 independent quadratic equality constraints [49] by imposing the coplanarity of the following node sets: {s_{0}, s_{1}, s_{2}, s_{3}}, {s_{0}, s_{1}, s_{2}, s_{4}}, ..., {s_{0}, s_{1}, s_{2}, s_{ r } }. Let e_{ i } be the error in the estimated squared distances between sensor s_{0} and anchor s_{ i } . Each coplanarity condition yields a quadratic equality constraint in the form of f_{ i } (e_{1}, e_{2}, e_{ i } ) = 0, i = 3, 4, ..., r. We want to minimize the sum of the squared errors J={e}_{1}^{2}+{e}_{2}^{2}+...+{e}_{r}^{2}, r ≥ 3, subject to r  2 quadratic equality constraints. When r = 3, we have a least squares problem with one quadratic constraint, which is well studied [64]. When r > 3, we can use the following Lagrangian multiplier method. Let λ_{ i } , i = 1, ..., r  2 be the Lagrangian multipliers. We can get the form of the solution H\left({e}_{1},\dots ,{e}_{r},{\lambda}_{1},\dots ,{\lambda}_{r2}\right)={\sum}_{i=1}^{r}{e}_{i}^{2}+{\sum}_{i=1}^{r2}{\lambda}_{i}{f}_{i+2}\left({e}_{1},{e}_{2},{e}_{i+2}\right). When λ_{ i } > 0, the Lagrangian H is a strictly convex function, because of the strict convexity of the function J and the positive semidefiniteness of the Hessians of functions f_{ i }_{+2}. Then there exists a unique global minimum. Thus numerical methods, such as gradient methods, can be utilized to search for the minimum [49].
The problem of finding cliques (a clique, in brief, is a complete subgraph of a graph) of fixed size in a general graph is a part of solving this optimization problem. It is possible to define a kcliquefinding algorithm for an arbitrary graph (specifically dlateration graphs, k ≤ d) that has a worstcase polynomial complexity in the number of vertices [62].
The sequential algorithm proposed in [62] is based on this CayleyMenger method to refine distance measurements and localize a dlateration graph (d = 2, 3, 4) sequentially. The general outline of such a sequential algorithm for trilateration is shown in Figure 14. The essence of these sequential approaches is that there are indeed numerical methods for localization in "polynomial time" for easily localizable networks.
Cyclically constrained optimization is exploited in [61] to reduce the random errors in the problem of localization with bearing measurements. For triangulation networks, which can be created by bilaterations, triangular cycles lead to a system of linear constraints on bearings. Notably, the problem of finding a set of independent polygonal angle constraints in an arbitrary triangulation graph is solvable in "polynomial time" in the number of vertices [61].
For triangulation graphs, the proposed optimization problem is a linear leastsquares problem with linear constraints and thus can be solved using standard methods. The conceptual goal of the optimization algorithm which is simply to force the network to live consistently in the sense that the bearings pointing to each sensor must intersect in a common location as illustrated in Figure 15. The constraintbased algorithm forces this requirement to be obeyed whenever a sufficient number of constraints exists. In some cases, the complexity of such algorithms is linear in the number of sensors in the network [61].
7.3 Limited measurement coverage
It is natural to contemplate that, the measurement coverage can be an issue, and it might not be possible to extend sensing radii for distance and bearing measurements.
One of the central motivations behind hybrid distancebearing measurements studied in this article is to eliminate the need of increasing sensing radius to satisfy the conditions of localizability in linear time complexity. We emphasize that, for networks with hybrid measurements, mere connectivity without increasing sensing radius provides a spanning tree that guarantees localizability in linear time.
For distanceonly or bearingonly measurements, two issues should be noted in regard to increasing sensing radius for trilateration or bilateration to achieve localization in linear time [19]. First, in order that a sensor sense and be sensed by its twohop distant neighbors, a doubling of the sensing radius may be excessively great. Suppose a particular sensor j has n_{ j } neighbors. Let every sensor pass to its neighbors the list of its own neighbors. Each sensor in this way can learn the list of its twohop neighbors. Second, in order to communicate with twohop neighbors, the communication may not need to be as frequent as that with the immediate neighbors, which results in a saving of power. In fact, it might only be required once. The point of communicating with twohop neighbors is often to eliminate a flip ambiguity. Once this is eliminated, even for a moving sensor network, it may be enough to remain within range only of the original neighbors.
One could still contemplate networks where the bilateration or trilateration property failed. One might suspect that such networks could at least still be globally rigid, with parts of them in bilateration or trilateration 'clusters', linked by a certain number of edges. If the number of clusters is small, one might conjecture that the computational complexity of localizing such a globally rigid graph could be exponential in the number of clusters, but not the number of nodes.
8 Conclusions
This article identified the graphical conditions on unique localizability in cooperative networks with hybrid distance and bearing measurements. Moreover, this article provided further sets of conditions, within the networks satisfying these graphical properties, so that the associated computational complexity becomes linear in the number of sensor nodes.
Specifically, we showed that, for the networks with hybrid distancebearing measurements, the localization problem for the network is uniquely solvable, almost always, if and only if the corresponding graph is distancebearingbased rigid. We have shown how, by forming a spanning tree used once for distances and a second time for bearings where the underlying graph G is connected, the localization problem can be made solvable in linear time with significantly less number of sensing links and smaller sensing radii of nodes compared to the networks with distanceonly or bearingonly measurements.
We summarize the graphical conditions of the networks with distanceonly measurements, bearingonly measurements, and hybrid distancebearing measurements for comparison as follows:

For networks with distanceonly measurements, if we start with a connected graph G, then G^{3} is required for linear complexity. Trilateration provides a systematic way of constructing G^{3}.

For networks with bearingonly measurements, if we start with a connected graph G, G^{2} is required for linear complexity. Bilateration provides a systematic way of constructing G^{2}.

For networks with hybrid distancebearing measurements, if we start with a connected graph G, then G used once for distances and once for bearings is sufficient for linear complexity, because spanning tree does indeed already exist in a connected graph.
As explained in the discussions section, these easily localizable networks can be localized in polynomial time when measurements are noisy. We have further global uniqueness results that can give new insights where other patterns of distances and bearings are used, as well as results in three dimensions. These will be explored further in a future article.
References
Gezici S: A survey on wireless position estimation. Wireless Personal Communications 2008, 44: 263282. 10.1007/s112770079375z
Wymeersch H, Lien J, Win M: Cooperative Localization in Wireless Networks. Proceedings of the IEEE 2009, 97(2):427450.
Patwari N, Ash JN, Kyperountas S, Hero AO, Moses RL, Correal NS: Locating the nodes: cooperative localization in wireless sensor networks. IEEE Signal Processing Magazine 2005, 22(4):5469.
Nicoli M, Fontanella D: Fundamental Performance Limits of TOAbased Cooperative Localization. In Proceedings of the International Workshop on Synergies in Communications and Localization (SyCoLo 2009), Workshop of the IEEE International Conference on Communications (ICC'09). Dresden, Germany; 2009.
Yip L, Comanor K, Chen J, Hudson R, Yao K, Vandenberghe L: Array processing for target DOA, localization and classification based on AML and SVM algorithms in sensor networks. Proceedings of the Information Processing in Sensor Networks IPSN, California 2003, 269284.
Li M, Lu Y: AngleofArrival estimation for localization and communication in wireless networks. Proceeding of the 16th European Signal Processing Conference (EUSIPCO 2008) 2008.
Kulakowski P, ValesAlonso J, EgeaLopez E, Ludwin W, GarciaHaro J: Angleofarrival localization based on antenna arrays for wireless sensor networks. Computers & Electrical Engineering 2010, 36(6):11811186.
Niculescu D, Nath B: Ad Hoc Positioning System (APS) Using AOA. In Proceedings of IEEE INFOCOM '03. Volume 3. San Francisco, CA; 2003:17341743.
Ash J, Potter L: Sensor Network Localization via Received Signal Strength Measurements with Directional Antennas. In Proceedings of the FortySecond Annual Allerton Conference on Communication, Control, and Computing. ChampaignUrbana, IL; 2004:18611870.
Gu Z, Gunawan E: Radiolocation in CDMA cellular system based on joint angle and delay estimation. Wireless Personal Communications 2002, 23: 297309. 10.1023/A:1021283401901
Cong L, Zhuang W: Hybrid TDOA/AOA mobile user location for wideband CDMA cellular systems. IEEE Transactions on Wireless Communications 2002, 1: 439447. 10.1109/TWC.2002.800542
Ghosh SK, Ryan MJ, Frater MR: A Hybrid Distancemeasurement/Angleofarrival Approach to Localization. In Proceedings of the Australasian Telecommunication Networks and Applications Conference. Adelaide, Australia; 2008:230234.
Thomas NJ, Cruickshank DGM, Laurenson DI: Performance of TDOAAOA hybrid mobile location system. Proceedings of the International Conference on 3G Mobile Communication Technologies, London, UK 2001, 216220.
Eren T, Goldenberg DK, Whiteley W, Morse AS, Anderson BDO, Belhumeur PN: Rigidity, Computation, and Randomization in Network Localization. Proceedings of the International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), Hong Kong 2004, 26732684.
Moore D, Leonard J, Rus D, Teller S: Robust distributed network localization with noisy range measurements. Proceeding of the Second ACM Conference on Embedded Networked Sensor Systems 2004.
Priyantha N, Balakrishnan H, Demaine E, Teller S: MobileAssisted Localization in Wireless Sensor Networks. Proceedings of the International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2005) 2005.
Zhu Z, So AMC, Ye Y: Universal Rigidity and Edge Sparsification for Sensor Network Localization. SIAM Journal on Optimization 2010, 20(6):30593081. 10.1137/090772009
Aspnes J, Eren T, Goldenberg DK, Whiteley W, Yang YR, Morse AS, Anderson BDO, Belhumeur PN: A Theory of Network Localization. IEEE Transactions on Mobile Computing 2006, 5(12):16631678.
Anderson BDO, Belhumeur PN, Eren T, Goldenberg DK, Morse AS, Whiteley W, Yang YR: Graphical Properties of Easily Localizable Sensor Networks. Wireless Networks, Springer 2009, 15(2):177191.
Wang Y, Lederer S, Gao J: ConnectivityBased Sensor Network Localization with Incremental Delaunay Refinement Method. In Proceedings of the International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM). Rio de Janeiro, Brasil; 2009:24012409.
Yang Z, Liu Y: Understanding Node Localizability of Wireless Adhoc Networks. In Proceedings of the International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM). San Diego, CA, USA; 2010:19.
Zhang L, Liu L, Gotsman C, Gortler SJ: An asrigidaspossible approach to sensor network localization. ACM Transactions on Sensor Networks 2010, 6(4):35:135:21.
Eren T, Whiteley W, Morse AS, Belhumeur PN, Anderson BDO: Sensor and Network Topologies of Formations with Direction, Bearing and Angle Information between Agents. Proceedings of the 42nd IEEE Conference on Decision and Control, Maui, Hawaii 2003, 30643069.
Eren T: Rigid Formations of Autonomous Agents. PhD thesis, School of Engineering and Applied Science, Yale University 2004.
Eren T, Whiteley W, Belhumeur PN: Using Angle of Arrival (Bearing) Information in Network Localization Proceedings of the 45th IEEE Conference on Decision and Control. San Diego, California 2006.
Eren T: Using Angle of Arrival (Bearing) Information for Localization in Robot Networks. Turkish Journal of Electrical Engineering and Computer Sciences (published in English) 2007, 15(2):169186. [http://journals.tubitak.gov.tr/elektrik/issues/elk07152/elk152407052.pdf]
Mao G, Fidan B, Anderson BDO: Wireless sensor network localization techniques. Computer Networks 2007, 51: 25292553. 10.1016/j.comnet.2006.11.018
Shang Y, Ruml W, Fromherz MP: Positioning Using Local Maps. Ad Hoc Networks 2006, 4(2):240253. 10.1016/j.adhoc.2004.06.001
Ihler A, Fisher I, Moses JWR, Willsky A: Nonparametric belief propagation for selflocalization of sensor networks. IEEE Journal on Selected Areas in Communications 2005, 23(4):809819.
Fontanella D, Nicoli M, Vandendorpe L: Bayesian localization in sensor networks: distributed algorithm and fundamental limits. Proceedings of the IEEE International Conference on Communications (ICC'10) 2010.
Rabbat M, Nowak R: Distributed optimization in sensor networks. Proceedings of the International Conference on Information Processing in Sensor Networks (IPSN 2004) 2004, 2027.
Santi P: Topology Control in Wireless Ad Hoc and Sensor Networks. ACM Computing Surveys 2005, 37(2):164194. 10.1145/1089733.1089736
Li X, Wang Y, Wan P, Yi C: Fault Tolerant Deployment and Topology Control for Wireless Ad Hoc Networks. Proceeding of ACM MobiHoc 2003.
Hajiaghayi M, Immorlica N, Mirrokni V: Power Optimization in FaultTolerant Topology Control Algorithms for Wireless Multihop Networks. Proceedings of Ninth International Conference on Mobile Computing and Networking (Mobicom), San Diego 2003.
Li N, Hou J: FLSS: a FaultTolerant Topology Control Algorithm for Wireless Networks. Proceedings of Tenth International Conference on Mobile Computing and Networking (Mobicom) 2004.
Fang J, Cao M, Morse AS, Anderson BDO: Sequential Localization of Sensor Networks. SIAM Journal on Control and Optimization 2009, 48: 321350. 10.1137/070679144
Goldenberg DK, Krishnamurthy A, Maness W, Yang R, Young A, Morse AS, Savvides A, Anderson BDO: Network localization in partially localizable networks. Proceedings of IEEE INFOCOM 2005, 313326.
Karl H, Willig A: Protocols and Architectures for Wireless Sensor Networks. New York: JohnWiley; 2005.
Jackson B, Jordán T: Connected rigidity matroids and unique realizations of graphs. Journal of Combinatorial Theory, Ser. B 2005, 94: 129. 10.1016/j.jctb.2004.11.002
Laman G: On Graphs and Rigidity of Plane Skeletal Structures. Journal of Engineering Mathematics 1970, 4: 331340. 10.1007/BF01534980
Whiteley W: Matroids from discrete geometry. In Matroid Theory. Volume 197. Edited by: Bonin JE, Oxley JG, Servatius B. American Mathematical Society, Contemporary Mathematics; 1996:171313.
Connelly R: Generic Global Rigidity. Discrete Computational Geometry 2005, 33(4):549563. 10.1007/s0045400411244
Hendrickson B: Conditions for Unique Graph Realizations. SIAM Journal on Computing 1992, 21: 6584. 10.1137/0221008
Saxe J: Embeddability of weighted graphs in kspace is strongly NPhard. 17th Allerton Conference in Communications, Control and Computing 1979, 480489.
Eren T, Whiteley W, Belhumeur PN: Further Results on Sensor Network Localization Using Rigidity. Proceedings of the Second European Workshop on Sensor Networks 2005, 405409.
Savic V, Poblacion A, Zazo S, Garcia M: Indoor Positioning Using Nonparametric Belief Propagation Based on Spanning Trees. EURASIP Journal on Wireless Communications and Networking 2010., 2010: (Article ID 963576)
Servatius B, Whiteley W: Constraining plane configurations in Computer Aided Design: Combinatorics of directions and lengths. SIAM Journal of Discrete Mathematics 1999, 12: 136153. 10.1137/S0895480196307342
Jackson B, Jordán T: Globally rigid circuits of the directionlength rigidity matroid. Journal of Combinatorial Theory, Ser. B 2010, 100: 122. 10.1016/j.jctb.2009.03.004
Cao M, Morse AS, Anderson BDO: Sensor network localization with imprecise distances. Systems and Control Letters 2006, 55: 887893. 10.1016/j.sysconle.2006.05.004
Anderson BDO, Shames I, Mao G, Fidan B: Formal theory of noisy sensor network localization. SIAM Journal on Discrete Mathematics 2010, 24(2):684698. 10.1137/100792366
Fang J, Duncan D, Morse AS: Sequential Localization with Inaccurate Measurements. In Localization Algorithms and Strategies for Wireless Sensor Networks: Monitoring and Surveillance Techniques for Target Tracking. Edited by: Mao G, Fidan B. IGI Global  Information Science Publishing; 2009:174197.
Shames I, Bishop AN, Anderson BDO: Formal Analysis of Noisy BearingOnly Network Localization. submitted to the IEEE Conference on Decision and Control, Orlando, Florida 2011.
Nie J: Sum of squares method for sensor network localization. Computational Optimization and Applications 2009, 43(2):151179. 10.1007/s105890079131z
Beck A, Stoica P, Li J: Exact and approximate solutions of source localization problems. IEEE Transactions on Signal Processing 2008, 56: 17701778.
Carter MW, Jin HH, Saunders MA, Ye Y: An adaptive subproblem algorithm for scalable wireless sensor network localization. SIAM Journal on Optimization 2006, 17(4):11021128.
Biswas P, Lian TC, Wang TC, Ye Y: Semidefinite programming based algorithms for sensor network localization. ACM Transaction on Sensor Networks 2006, 2(2):188220. 10.1145/1149283.1149286
Ding Y, Krislock N, Qian J, Wolkowicz H: Sensor network localization, Euclidean distance matrix completions, and graph realization. Optimization and Engineering 2010, 11: 4566. 10.1007/s1108100890720
Sheng X, Hu Y: Maximum likelihood multiplesource localization using acoustic energy measurements with wireless sensor network. IEEE Transactions on Signal Processing 2005, 53: 4453.
Costa JA, Patwari N, Hero AO III: Distributed weighted multidimensional scaling for node localization in sensor networks. ACM Transactions on Sensor Networks (TOSN) 2006, 2: 3964. 10.1145/1138127.1138129
Bruck J, Gao J, Jiang AA: Localization and routing in sensor networks by local angle information. ACM Transactions on Sensor Networks (TOSN) 2009, 5: 7.
Bishop AN, Shames I: Noisy network localization via optimal measurement refinement part 1: Bearingonly orientation registration and localization. To appear in the Proceedings of the 2011 IFAC World Congress, Milan, Italy 2011.
Shames I, Bishop AN: Noisy network localization via optimal measurement refinement part 2: Distanceonly localization. To appear in the Proceedings of the 2011 IFAC World Congress, Milan, Italy 2011.
Blumenthal LM, Gillam BE: Distribution of points in nspace. American Mathematical Monthly 1943, 50: 181185. 10.2307/2302400
Golub G, Matt U: Quadratically constrained least squares and quadratic problems. Numerische Mathematik 1991, 59: 561580. 10.1007/BF01385796
Acknowledgements
The author thanks the anonymous reviewers and the Editor for their helpful comments and suggestions for the revision of this article. This study is supported by The Scientific and Technological Research Council of Turkey through the grant 108E189, and is carried out in the framework of the European Science Foundation COST Action IC0806, "Intelligent Monitoring, Control and Security of Critical Infrastructure Systems."
Author information
Authors and Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Eren, T. Cooperative localization in wireless ad hoc and sensor networks using hybrid distance and bearing (angle of arrival) measurements. J Wireless Com Network 2011, 72 (2011). https://doi.org/10.1186/16871499201172
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/16871499201172
Keywords
 localization
 cooperative localization
 wireless sensor networks
 wireless ad hoc networks
 distributed systems
 angle of arrival
 bearing
 graph theory; topology control
 topology reconstruction
 rigidity
 global rigidity