SYSTEM AND GLOBAL METHOD FOR GEOLOCALIZATION USING INACCURATE DISTANCE AND ANCHOR POSITION MEASUREMENTS
Patent Information
- Application Number
- DE602017086959
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-08-02
- Filing Date
- 2017-08-01
- Publication Date
- 2024-12-25
- Estimated Expiration
- 2037-08-01
AI Technical Summary
Existing localization methods face challenges in accurately determining the position of nodes in a network due to uncertainties in ranging measurements and anchor positions, particularly in collaborative navigation, where positioning errors can lead to incorrect node positioning and rejection of valid measurements.
A method that minimizes a weighted quadratic difference between ranging measurements and anchor measurements, incorporating imprecise anchor coordinates as additional measurements to jointly estimate node positions, using a heterogeneous vector of measurements and covariance matrices to account for uncertainties in both ranging and anchor measurements.
This approach effectively reduces positioning errors by considering the uncertainties in both ranging and anchor measurements, leading to more accurate node positioning and improved convergence to the global optimum, even with erroneous anchor positions.
Description
[0001] The invention relates to a global method and a system for geolocating one (or more) object(s) from distance measurements, obtained by an inter-node distance measurement function known as "ranging", and from imprecise anchor positions. The method thus makes it possible to determine the position of an object on a map, on a plan, in a given reference frame using its geographical coordinates, latitude / longitude or other coordinates.
[0002] Determining the position of an object whose distances to other objects of known positions are known is a classic topic in the field of localization. Typically, detection stations with perfectly known positions, or "anchors," are used. In this case, the uncertainty of the position result lies mainly in the accuracy of the distance measurements, later called "ranging."
[0003] Another possible approach is to determine the relative positioning of the nodes of a network of stations, based solely on information on the relative distances between all or some of these nodes. Precise knowledge of a limited amount of a priori information on the positions of certain nodes then makes it possible to determine the absolute position of all the nodes in the network. However, several obstacles must be overcome, including the following: Not all distance measurements between nodes are necessarily accessible, due to the scope of the ranging modules. Distance measurements are necessarily subject to errors, making the geometric resolution potentially overdetermined. The information required for absolute positioning may be distributed across the coordinates of several nodes. Finally, the information required for absolute positioning may also be subject to errors, potentially greater than those associated with ranging.
[0004] This last point is particularly important in practice, especially in collaborative navigation. Indeed, the absolute positioning information of certain nodes is often obtained by receivers of the commercial satellite positioning system known by the abbreviation GNSS (Global Navigation Satellite System), whose positioning error can, under difficult reception conditions, largely exceed the errors in distance measurements (ranging) between nodes. Ignoring this situation can then lead to positioning errors of free nodes, or even to rejecting valid ranging measurements, but incompatible with distances calculated from absolute positions assumed to be error-free.
[0005] One of the technical problems posed is to find an efficient solution for calculating the node positions, so that a metric of the deviations between the ranging measurements and the distances between nodes of the solution is minimal and taking into account the uncertainty associated with ranging errors and absolute positioning errors.
[0006] The prior art describes mainly two approaches to address this problem.
[0007] A first approach consists of reconstructing a relative geometry of the nodes of a network from ranging information and, possibly, angular information between nodes, for example by goniometry within a node. These methods are generally grouped under the term "anchor free localization". In this approach, which uses only ranging measurements, all the positions of the nodes are free, a priori, and the methods seek to adjust them in such a way that the mean square error between the distances calculated between nodes and the ranging measurements is minimal. A large number of algorithms have been proposed, from the simple mass-spring algorithm to more complex optimization techniques, for example, Newton-Raphson least squares resolution, particle filtering, etc.Most of the variants of this approach aim to avoid convergence towards a local minimum without, however, guaranteeing it.
[0008] A second approach aims to reconstruct the absolute position of the network nodes from ranging information using a priori knowledge of the position of some of them, called "anchors". It is also a question of minimizing the mean square deviation between the distance between the positions of the nodes and the ranging measurements, some positions being a priori fixed and known. The problem is then a problem of minimizing a function of the coordinates of free nodes, for example via a steepest descent algorithm. The article "Anchor-Based Three-Dimensional Localization Using Range Measurements", Wang, Vue et al, illustrates this approach which does not, however, guarantee the achievement of a global optimum. More theoretical work proposes global optimization methods.
[0009] A third approach uses external sources or anchors of unknown positions. The problem is known as "self-calibration" where the aim is to jointly locate sources and the sensors that detect them. Time differences of arrival or TDOA are used, which gives less rich information than a direct measurement of ranging, similar to a time of arrival or TOA (abbreviated from "Time Of Arrival") and does not exploit a priori information on the positions of the sources. The article "Calibration-Free TDOA Self-Localization", Wendeberg Johannes et al, in Journal of Location Based Services, May 2013, illustrates a possible implementation of this approach through several classic algorithms (mass-spring, gradient descent, Gauss Newton, etc.) or more specific ("Cone alignment" algorithm), these algorithms being known to those skilled in the art.
[0010] One of the disadvantages of the prior art is that it assumes: Either all the positions of the sensors are free, delivering only a geometry of the set of potentially precise nodes, but relative coordinates of the nodes between them, Or the determination of the absolute position of the nodes is based on external knowledge of the position of some of them whose accuracy is assumed to be perfect.
[0011] A priori, the prior art (see the article << Centralized cooperative positioning and tracking with realistic communications constraints>>, Mensing C, Nielsen JJ, Proceedings of the 2010 7th Workshop on Positioning, Navigation, and Communication (WPNC2010)) does not address the joint integration of uncertainty about the position of anchors and the possible questioning of these positions.
[0012] There figure 1 illustrates the problems not solved by the prior art. In this example, the coordinates of the anchors associated with the nodes M 1 and M 2 are assumed to be accessible ideally, i.e. without error, for example thanks to topographic surveys, whereas the coordinates of the anchor M 3 are in practice affected by an error d3, for example measured by a GNSS system, positioning the anchor M 3 at the point M' 3 . Another hypothesis of this illustration is that the ranging precision is perfect, in practice the error is much lower than d3. The ranging measurements are represented by an arrow on the figure 1 . The prior art techniques incorrectly estimate the position of the free node in M' 4 , the actual position of the free node M 4 by distributing the ranging errors associated with this node, which results in a significant residual mean square error minimum. Furthermore, the position of the node M 3 is not called into question, and remains erroneous.
[0013] The method according to the invention presents a method for estimating the positions of the nodes based on a global minimization of a criterion, consisting of the weighted quadratic deviation between all the distance measurements between nodes of the network and the anchor measurements available at a given time, and a model of associated theoretical measurements. The method will use a heterogeneous measurement vector comprising both the ranging measurements between nodes (inter-node distance measurements) and the coordinates of the anchors of which imprecise knowledge is available. The coordinates of the anchors are therefore introduced as additional measurements of known covariance, adding to the ranging measurements between nodes in the observation vector (also called "measurement vector"). The coordinates of the associated nodes are introduced in parallel in the state vector to be estimated, so that they can be called into question by the minimization algorithm.The process then consists of a joint estimation of the coordinates of the nodes constituting the state vector by searching for the minimum of the global quadratic criterion which takes into account all the available observations (ranging measurements and anchoring measurements) and their respective uncertainties (covariance matrix on the ranging measurements and on the coordinates of the anchors).
[0014] The invention relates to a method according to independent claims 1 and 12. Other embodiments are defined in the dependent claims.
[0015] Other characteristics and advantages of the present invention will appear better on reading the following description of exemplary embodiments, appended to the figures which represent: Figure 1 , an illustration of the problems of the prior art, Figure 2 , a diagram of a communications network, Figure 3 , a flowchart with the main steps of the method according to the invention, Figure 4 , an example of implementation of the method according to the invention, and Figure 5 , an example of a result after implementing the method according to the invention.
[0016] In order to better understand the method according to the invention, the following example is given in the case of a communication system 1 comprising several nodes M i . Each node Mi comprises, for example, a communication means 10, a processor 12 adapted to execute the steps of the method according to the invention and a battery 13 or power supply device. The nodes M i communicate with each other, for example, by a radiofrequency link, wirelessly, or other means known to those skilled in the art.
[0017] The system also includes a device for determining the absolute position of all or part of the nodes. Thus, all or part of the nodes may, for example, be equipped with a receiver 11 which, coupled with a satellite device 20, allows the node equipped with the receiver 11 to geolocate itself. This device may be a GPS (Global Positioning System) geolocation system, a GNSS (Global Navigation Satellite System) system, or a means of topography. On the figure 2 , node M 2 is equipped with a receiver 11, while node M 3 is not.
[0018] It also includes a distance measuring device or ranging device 21 co-located for example on a node Mi or on each of the nodes of the system. For example, the distance measuring device may be in the form of an electronic card carried by the node. According to another embodiment, it could be a functionality of the communication system at the node level measuring the time taken by the radio wave to transit between the nodes.
[0019] Let be a set of N nodes M i of positions: OM i → = x i y i z i in three dimensions (3D) and OM i → = x i y i in two dimensions (2D), the coordinates are, for example, chosen in a Cartesian frame, O being the origin point chosen in this frame.
[0020] The distance between two nodes M i , M j , d( M i , M j ), is defined by d M i M j = M i M j → . The set of positions of the N nodes M i at a given time t, P i (t)={ M i ( t )} i =0.. N -1 is called "current geometry". r ij is a distance measure (ranging) obtained between the node M i and the knot M j by a dedicated measuring device (ranging module located for example at the node level) and known with an uncertainty σ rij , corresponding to a standard deviation on the measurement.
[0021] We will call it "anchor" or "anchoring measure" A i k , absolute position information on the kth coordinate of the node M i , obtained with an uncertainty σ Ai k , corresponding to the standard deviation on this coordinate. This information can be obtained by various means such as topographic surveys or GNSS receivers. The information on the position of an anchor varies depending on the time of measurement. This is a function delivered for example in real time by a GPS device. For the sake of simplicity of writing, the time is not indicated. A node with an absolute positioning measurement is called an "anchored node".
[0022] All the coordinates of an anchor can be known a priori, or only in part, for example, when the position of the node is determined by examining a map: if the node is located on a route, we can know that the node is at a given latitude without knowing the longitude.
[0023] The method for estimating the position of nodes, for example, in a communication system implements a step during which we will seek to minimize a global criterion representative of all the ranging measurements available between nodes as well as the coordinates of the anchors, absolute position information on the kth coordinate of the node M i obtained with an uncertainty σ Ai k .
[0024] We will carry out a joint estimation of the coordinates of the nodes constituting the state vector by searching for the minimum of the global quadratic criterion which takes into account all the available observations, ranging measurements and anchoring measurements, and their respective uncertainties translated by a covariance matrix on the ranging measurements and on the coordinates of the anchors.
[0025] Before detailing an implementation example, the form of the global criterion C(X) to be minimized is given. C(X) is written in the general form: C X = M ^ es − Mes X T Σ − 1 M ^ es − Mes X Or : T denotes the transpose X is the state vector containing the coordinates of the nodes whose position we are seeking to estimate, corresponding to all or part of the positions P(t)={M i ( t )} i =0.. N- 1. The coordinates of the nodes for which an imprecise anchor is available are introduced into the unknown vector X to be estimated, in order to make the coordinates modifiable in the search for the solution, M ^ es = R A is the vector of observed measurements containing all the observations or measurements available at the time t considered; in the general case, it is composed of two vectors R and A , where: ∘ The vector R contains ranging measurements r ij available at this time t, ∘ The vector Acontains the anchor measurements A i k available at this time t; these data are coordinates of certain so-called “anchored” nodes, coordinates accessible by measurement, obtained for example by a GNSS sensor per object; Mes X = D X X A is the model vector of the measurements, which contains the theoretical measurements associated with the observed measurements M̂es and accessible by calculation; it is therefore composed of two vectors: ∘ D ( X ) is the vector of theoretical distances corresponding to R, calculated from the vector X and, if necessary, of a priori knowledge assumed to be perfect; the components of D(X) correspond to the inter-node distances, between two nodes, d( M i , M j ), ∘ X A is the vector containing the theoretical coordinates of the nodes for which anchor measurements are available; X A includes all or part of the components of the state vector X; Σ is the global covariance matrix on all measurements. It therefore includes: o The covariance matrix Σ R on the ranging measurements which allows the uncertainty on each ranging measurement to be quantified as well as the possible statistical correlation of the ranging measurements between them. The accuracy of the ranging measurement is not necessarily identical for all measurements (possible use of different technologies depending on the nodes), and any available information on these accuracies is explicitly used, ∘ The covariance matrix Σ A on the anchoring measurements. The diagonal terms of this matrix are equal to the squares of the uncertainties σ Ai k but it is also possible to take into account correlations between the errors on the different coordinates: the matrix Σ A is not necessarily diagonal, ∘ A matrix Σ AR including the cross terms resulting from a possible correlation between the errors on the ranging measurements and on the coordinates of the anchors. In the case of no correlation, these cross terms are zero (Σ AR =0).
[0026] The covariance matrix is therefore written in the following general form: Σ = Σ R Σ AR T Σ AR Σ A , knowing that the terms of Σ AR can be zero, and T denotes the transpose.
[0027] A detailed example of implementation of the steps of the method according to the invention is given below and illustrated in figure 3 First, we have a state vector, a measurement vector and its covariance matrix. State vector X - the vector X contains the coordinates of the nodes that the process will seek to estimate. In the most general case, the vector X therefore contains the coordinates of the N nodes of the network associated with the positions P(t)={ M i ( t )} i= 0.. N -1 .
[0028] In 3D, the vector X has 3N components and is written as X = ( x 0 , y 0 , z 0 , x 1 , y 1 , z 1,..., x N -1 , y N -1 , z N -1 ) T< ,
[0029] In 2D, the vector X has 2N components and is written as X = ( x 0 ,y 0 , x 1 , y 1 , ...,x N- 1 , y N- 1) T< .
[0030] In practice, there may be special cases where we do not seek to locate certain nodes or estimate certain coordinates. In this case, the vector X may contain only part of the coordinates of the N nodes. However, if we want the method to be able to modify, in its search for solutions, the positions of the nodes for which we have imprecise information ("anchors"), the coordinates of these nodes must be introduced into the state vector X to be estimated.
[0031] For the implementation of the process: We determine the vector of measurements M̂es , 301, itself comprising two vectors: o The vector R containing the ranging measurements r ij available at the time considered: note that the vector Rcan be oversized by considering the maximum number of ranging measurements that can be available at a given time, typically N(N-1) measurements where N is the maximum number of nodes (and counting the bidirectional measurements ij and ji, i and j are the indices of two nodes). Depending on the available measurements, the corresponding indices will be filled or not, o The vector A containing the anchor measurements A i k , that is to say the coordinates of the nodes for which we have a priori information, of known uncertainty ("anchored nodes"); We construct, 302, the covariance matrix on the measurements Σ, from: o The covariance matrix Σ R on the ranging measurements; the diagonal terms of Σ R are given by the uncertainty values σ 2< rij ; if the ranging measures are decorrelated from each other, the matrix Σ R will be a purely diagonal matrix, o From the covariance matrix Σ A on the anchoring measures. The diagonal terms of this matrix are equal to σ Ai 2 , we can take into account the possible correlation between the errors on the different coordinates: the matrix Σ A is not necessarily diagonal, o A matrix Σ AR including the cross terms resulting from a possible correlation between the errors on the ranging measurements and the errors on the coordinates of the anchors. In the case of no correlation, these cross terms are zero (Σ AR =0), with: Σ = Σ R Σ AR T Σ AR Σ A We minimize, 303, the criterion C(X), C ( X ) = [ M̂es- Mes ( X ) T< Σ - 1< [ M̂es- Mes ( X )], by calculating Mes X = D X X A model vector of the measures defined previously, and We determine, 304, the coordinates of the objects at the end of the minimization step, by taking the vector X solution of the minimization of the criterion, X=Arg Min[C(X)], the vector X containing the coordinates of the objects.
[0032] Under the assumption of centered additive Gaussian measurement errors, with known covariance matrix Σ, the estimator minimizing the criterion C ( X ) is none other than the maximum likelihood estimator of X, because minimize C ( X ) amounts to maximizing the likelihood probabilité ( M̂es | X ). It is also considered robust, even in the presence of measurements deviating from this Gaussian error model.
[0033] Due to the nonlinearity of Mes(X), the minimization of C ( X ) is not immediate and efficient algorithms minimizing C ( X) are iterative algorithms known to those skilled in the art.
[0034] Many quadratic criterion minimization algorithms exist and can be used to estimate positions from ranging and anchoring measurements (e.g., gradient algorithm, Newton-Raphson algorithm,...).
[0035] An alternative implementation uses Gauss-Newton algorithms, which are known to offer a good compromise between computational cost, efficiency and robustness. They use a limited expansion of the criterion to order two, while neglecting one of the two terms of the Hessian of the criterion. The iteration equation is written in the following general form: X k + 1 = X k − α k H k − 1 J k Or : X k is the vector of node coordinates estimated at iteration k, J k = − 2 ∂ Mes ∂ X T Σ − 1 Mes ^ − Mes X X = Xk is the gradient of the criterion C ( X ), calculated in X k , H k = 2 ∂ Mes ∂ X T Σ − 1 ∂ Mes ∂ X X = Xk is the first term of the Hessian of the criterion C (X ), calculated in X k , ∂ Mes ∂ X is the Jacobian matrix on the vector of theoretical measures Mes ( X ) , including the vector of theoretical distance measurements D ( X ) and the vector X A containing the coordinates of the “anchored” nodes (and including all or part of the state vector X), α ( k ) is an optimization step, constant or variable (α=1 for the classic Gauss-Newton algorithm but many variants use adaptive steps aimed at accelerating convergence, or at avoiding getting stuck in a local minimum).
[0036] Thus, the iteration equation of the method for determining the vector of coordinates of the nodes at iteration k+1 from iteration k is expressed by: X k + 1 = X k + α k ∂ Mes ∂ X T Σ − 1 ∂ Mes ∂ X − 1 ∂ Mes ∂ X T Σ − 1 Mes ∧ − Mes X .
[0037] The new estimate X k+1 results from the application of a “restoring force” on the deviation vector [ M̂es-Mes ( X)] between observed measurements and theoretical measurements, whether ranging or anchoring.
[0038] In the particular case of a quadratic criterion: A matrix (non-square and non-diagonal in the general case) is applied to the vector [ M̂es- Mes ( X )], in other words, the minimization is done globally and not node by node, or measure by measure. This matrix is neither constant nor "free" (up to the alpha coefficient), but results from a precise calculation involving the Jacobian matrix of the vector of theoretical measures Mes ( X ) .
[0039] In practice, it can be noted that the ranging measures and the anchor coordinate measures are a priori derived from independent measurement systems so that these respective measures are most often decorrelated. In this particular case, the covariance matrix is block diagonal and is written as ∑ = Σ R 0 0 Σ A ; the criterion C ( X) is then made up of the sum of two criteria: one, noted CR , on the ranging measurements only and the other, CA , on the anchoring measurements only, with: C X = C R + C A = R − D X T ∑ R R − D X <mprescripts / > <none / > − 1 + A − X A T ∑ A A − X A <mprescripts / > <none / > − 1 .
[0040] According to an alternative embodiment, the estimation of the vector X minimizing the criterion C(X), (303 figure 3 ) in its general form, is obtained iteratively by applying the steps illustrated in figure 4 : Initialization step, 401: we have as input an initial vector X o containing estimated positions of the nodes which can be obtained in several ways: a. By using the estimated positions resulting from a previous application of the method, b. By using the result of a suboptimal pre-positioning algorithm, for example the method described in the applicant's patent application filed on the same day and entitled "method and system for geolocation by direct calculation of displacement elements" or a suboptimal direct algorithm on PSL pseudo-linearization ranging measurements, c. Deterministically, for example, by exploiting known elements on the coordinates of certain nodes. Typically, if anchor data are available for a given node, the coordinates of the vector X are initialized by the anchor data, d.Randomly (drawing); for nodes for which anchor measurements are not available, a random draw can be carried out in a zone or according to a pre-defined geometry; for nodes for which anchor data is available, it is possible to use a random draw centered on the anchor and with covariance equal to the covariance on the anchor. This technique makes it possible to initialize the process other than on a zero of the CA criterion linked to the anchors, and thus to avoid remaining stuck on local minima.
[0041] It is also possible to combine these approaches: for example, use the anchor coordinates to initialize the nodes for which these coordinates are available, and use for the other nodes a PSL type algorithm exploiting the ranging measurements (classic localization on TOA measurements).
[0042] Step 402 - we will calculate the vector X containing the coordinates of the points for an iteration k+1 from the vector obtained in the previous iteration k and a weighted recall vector calculated so as to decrease the criterion: Calculation of X k +1 from X k : X k+1 = X k +α ( k )D X k ∘ Calculation of the Jacobian matrix ∂ Mes ∂ X = ∂ D ∂ X ∂ X A ∂ X in X k : ▪ the sub-matrix ∂ D ∂ X is obtained by derivation of the available theoretical distance measurements: thus the term l,m of ∂ D ∂ X is obtained by deriving the lth< inter-object distance measure with respect to the mth< component of the state vector to be estimated, ▪ The sub-matrix ∂ X A ∂ X relating to anchor measurements only includes 0s and 1s. o Calculation of the vector Δ X k of “reminder” to be applied while minimizing: ∂ Mes ∂ X Δ X k − Δ Mes k T Σ − 1 ∂ Mes ∂ X Δ X k − Δ Mes k with Δ M k = M̂es- Mes ( Xk ). This is a weighted linear least squares problem, the explicit solution of which was given above: Δ X k = ∂ Mes ∂ X T Σ − 1 ∂ Mes ∂ X − 1 ∂ Mes ∂ X T Σ − 1 Δ Mes k .
[0043] According to an alternative embodiment, the problem is solved using a singular value decomposition (SVD), the details of which are well known to those skilled in the art. The solution by SVD decomposition has the advantage of being more numerically stable and of dealing with the case of a matrix ∂ Mes ∂ X T Σ − 1 ∂ Mes ∂ X singular, which can happen when the available ranging measurements or anchor data are not sufficient. In this case, the algorithm will adapt by automatically fixing certain variables of the state vector. o Step calculation α ( k ): this step can be: ▪ Fixed once and for all, which is the least expensive solution (α=1 in the original Gauss-Newton algorithm), ▪ Adjusted at each iteration, in order to converge as quickly as possible: several published methods for determining the step are possible, such as, for example, the Brent method, the Levenberg-Marquardt method, etc. Semi-empirical methods consisting of starting from a fixed value and then dividing by a coefficient P until the criterion decreases (or a minimum value is reached), generally constitute a good compromise between computational cost and speed of convergence. ∘ Updating the estimated vector: X k+ 1 = X k +α ( k )D X k ; Step 403 - Stopping the iterative process which continues until predefined conditions are met, typically: ▪ Criterion C ( X ) non-decreasing from one iteration to the next, i.e. C( X k+1 ) ≥ C( X k ), ▪ Relative decrease of the criterion C ( X) lower than a predefined threshold, ie, ( C ( X k+ 1) - C ( X k ))≥ seuil *C ( X k ), ▪ Maximum number of iterations reached, ▪ Estimated positions no longer evolving sufficiently from one iteration to the next (|ΔX| < threshold), etc.
[0044] The vector X corresponding to the minimum found of the criterion C(X) at the end of the iterations is considered as the final solution, containing the estimated coordinates of the nodes that we were trying to geo-locate.
[0045] The method may include an additional step which checks the validity of this final solution from the vector of residues, for example by comparing the residual quadratic criterion C(X) to a threshold (classic “residue” test involving a chi2 test), or by checking whether the maximum component of the vector of residues is greater than a threshold (norm L 1< of the vector of residues known to those skilled in the art).
[0046] Without departing from the scope of the invention, the steps detailed above apply in communication networks where a node plays a master role and also in decentralized communication networks, where each of the nodes executes the steps of the method.
[0047] There figure 5 presents the result of the process applied to the toy problem ( figure 1 ) at four nodes M 1 , M 2 , M 3 and M 4 , for which only M 1 , M 2 , M 3 have a priori positioning information ("anchors"); in this figure the four nodes are represented in a Cartesian coordinate system graduated in meters. Points M 1 and M 2 are anchored with high precision (for example via a topographic survey to within 10 cm), point M 3 is anchored but its anchor position is incorrectly measured with an error of 20 m (for example, using a GNSS means with an uncertainty of 15 m in standard deviation) and point M 4 is not anchored (no local means of measuring absolute position). All the nodes are here equipped with a local ranging device to measure the distance to the other nodes, with an uncertainty of 50 cm in standard deviation. These values are only illustrative of the process. In this figure 5 : The solid circles are the real positions of the nodes M 1 , M 2 , M 3 , M 4 , The hollowed-out diamonds are the positions of the anchors: ∘ those of the nodes M 1 , M 2 are almost the same as the real positions (very little positioning error, obtained for example by a topographic survey), ∘ that of the anchor A 3 corresponding to the position of the node M 3 is shifted downwards compared to the real position of the node (high uncertainty on the anchor measurement), The hollowed-out squares are the positions estimated by the process, at the end of the iterative process, The cross is the position of the node M 4 obtained by a classic algorithm for locating M 4 by ranging measurements on the nodes M 1 , M 2 , M 3 (localization by TOA, with an iterative Gauss-Newton algorithm) without taking into account the uncertainties on the positions of these “anchors”, supposed to be perfectly known.The estimated position for node M 4 with this classical algorithm is logically biased due to the positioning error of node M 3 . .
[0048] It can be seen that the estimated position of node M 4 at the end of the process is indeed located on the true position, as are the estimated positions of the other three nodes, including node M 3 whose anchor data provided is nevertheless very erroneous. The method according to the invention, by introducing and exploiting the notion of uncertainty on the coordinates of the anchors, makes it possible to modify the position of these to arrive, in this ideal theoretical case, at a very low quadratic error on the ranging measurements. On this simulation, the method converged in five iterations, from an initialization carried out as follows: For nodes M 1 , M 2 , M 3 , initialization on their anchor positions (correct for M 1 and M 2 , erroneous for M 3 ), For node M 4 for which we do not have a priori information, automatic initialization by a direct sub-optimal pseudo-linear type algorithm using the ranging measurements on the anchor positions of the other three nodes.
[0049] The method described above allows the calculation of a solution for a given set of ranging measurements R, and given anchor coordinates gathered in a vector A. It can be applied again upon receipt of a new batch of new ranging measurements or new anchor coordinates, even if the new available measurements do not correspond to the same nodes as those used at the previous instant. Indeed, thanks in particular to the use of SVD, the algorithm automatically adapts to the nature of the measurements actually available at a given instant.
[0050] In the case where the positions of certain nodes are perfectly known (precise topographic surveys for example) or where one does not wish to call them into question by estimating them, it is nevertheless possible to introduce them into the state vector and into the measurement vector as described above, taking the precaution of using a very low covariance value on the coordinates of these anchors in the matrix Σ A . In practice, this will mechanically lead the algorithm not to call these coordinates into question, since a slight deviation will be enough to drastically increase the sub-criterion linked to the anchor measurements (CA in the uncorrelated case). A less expensive method, because it involves vectors and matrices whose size is smaller than that used with the general method, consists simply of not introducing these perfectly known node coordinates into the state vector X to be estimated and into the measurement vector A.These data are then part of the fixed parameters of the algorithm involved in the D(X) function (vector of theoretical distances), as in a classic method using anchors of positions assumed to be perfectly known.
[0051] In the absence of any a priori data, even imprecise, on the absolute positions of any of the nodes in the network, the measurement vector is then reduced to the ranging measurements alone and the geo-referenced (absolute) coordinates of the nodes are not observable; only the relative positions of the nodes between them can be estimated. The method described above nevertheless remains applicable, the use of the SVD in the calculation of the displacement making it possible to provide a solution in which certain components will remain fixed at the initialization value. However, in such a case, a less expensive alternative, allowing better control of the nodes serving as reference points, consists of reducing the state vector to only the observable components. For example, in 2D, the deterministic observability of the problem is such that the positioning solution from ranging measurements alone is indeterminate: o Up to an origin (xo,yo) (translation), o Up to a rotation around xo,yo (symmetry of revolution), o Up to an axial symmetry.
[0052] Thus, in order for the estimation problem to be observable from ranging measurements alone, we can, for example, choose two nodes (0 and 1) as references of the local frame and consider a state vector X comprising 2N-3 components: ▪ The 2(N-2)=2N-4 coordinates of the (N-2) other nodes (all except nodes 1 and 2) whose positions (x,y) in the local reference frame will be estimated, ▪ The abscissa x1 (or the ordinate y1) of node 1.
[0053] Thus, the vector X to be estimated will correspond to the positions of nodes 1 to N-1 in a reference frame having as its origin node 0 and abscissa axis (respectively ordinate axis), the axis passing through nodes 0 and 1; it will be written in the form X=(x 1 ,x 2 ,y 2 ,x 3 ,y 3 ,..x N-1 ,y N-1 ) T< . With this choice of vector X, the problem becomes observable in 2D (if we have ad-hoc ranging measurements), even if it remains ambiguous due to the symmetry, which means that the solution found by the process will have a dual solution, symmetrical with respect to the fixed reference axis.
[0054] The method according to the invention is based on a rigorous formalization of the optimization of the movements towards the solution minimizing the global weighted square error, and the proposed solution is optimal in the sense of maximum likelihood under less restrictive hypotheses (centered Gaussian errors of known covariances). In addition, the method fully exploits the information available on the accuracy of the ranging measurements, and therefore allows the use of very heterogeneous ranging means within the same network. Similarly, using covariance matrices on the coordinates of the anchors, the method is able to take into account very disparate uncertainties as well as correlations between the coordinates of the anchors, a practical case of coordinates emanating from very different GNSS receivers, or placed in very different reception conditions.
Claims
1. A method for determining the position of one or more objects Mi capable of moving in a network, one or more objects being provided with an ability to measure a distance to the other objects of the network, characterised in that it contains at least the following steps: • having coordinates of points Ai and the uncertainty as to these coordinates describing information on the position of all or some of the objects to be located, called anchored objects, • measuring at least one inter-object distance between at least one or more pairs of objects Mi, Mj, with an uncertainty value being associated with each measurement, and executing the following steps: - calculating an initial vector of a state vector X containing the coordinates of the objects of which the position is to be estimated, corresponding to all or some of the positions P(t) = {Mi(t)}i=0...N-1 at a time t; - calculating a criterion C(X) using: ▪ a vector of observed measurements M̂es (301) containing all of the observations available at the considered time t, it is composed of: ∘ inter-object distance measurements available for the objects the position of which is to be estimated, and ∘ coordinates of so-called anchored objects, ▪ a covariance matrix Σ (302) representing the statistical variation on the measurement vector, having at least: ∘ a covariance matrix containing the uncertainties on the inter-object distance measurements available for the objects the position of which is to be estimated, and ∘ a covariance matrix containing the uncertainties on the coordinates of so-called anchored objects, ▪ a model vector of the measurements Mes(X) containing the theoretical measurements associated with the observed measurement vector M̂es, - minimising this criterion C(X) (303) and determining the coordinates of the position of one or more objects corresponding to this minimum (304) X=Arg Min[C(X)].
2. The method according to claim 1, characterised in that a criterion C(X) is used, which is defined as follows: C X = Mes ∧ − Mes X T Σ − 1 Mes ∧ − Mes X where: - T denotes the transpose, - Mes ∧ = R A (301) is the observed measurement vector, composed of: ∘ a vector R containing the ranging measurements rij available at this time t, ∘ a vector A containing the anchoring measurements A i k available at this time, corresponding to a piece of absolute position information on the kth coordinate of the node Mi, obtained with an uncertainty σ Ai k , corresponding to the standard deviation of this coordinate; - Mes X = D X X A is the model vector of the measurements composed of two vectors D(X) and XA, where: ∘ the components of D(X) correspond to the inter-node distances, between two nodes d(Mi, Mj), ∘ XA comprises all or some of the components of the state vector X, - Σ = Σ R Σ AR T Σ AR Σ A (302) is the covariance matrix having the covariance matrix ΣR containing the uncertainties as to the ranging measurements and the covariance matrix ΣA containing the uncertainties as to the anchoring measurements, as well as the rectangular matrix ΣAR containing the cross-covariances between these two types of measurement.
3. The method according to claim 2, characterised in that, to define the covariance matrix ΣA, uncertainties σ Ai k as to each coordinate of the anchors and their possible correlation are taken into account, to define the covariance matrix ΣR, uncertainties as to each ranging measurement and their possible correlation are taken into account, and to define the matrix ΣAR, possible correlations between the errors in the ranging measurements and the errors in the coordinates of the anchored objects are taken into account.
4. The method according to one of the preceding claims, characterised in that the state vector X is initialised using at least one of the following methods: ∘ arbitrarily deterministic, ∘ randomly, by randomly drawing the values of the coordinates of the nodes, ∘ by using the estimated positions resulting from a previous application of the method, ∘ by using the suboptimal resolution method solution, such as pseudo-linearization PSL, or another inexpensive algorithm, ∘ by utilizing known elements on the coordinates of certain nodes, such as the anchoring coordinates for the "anchored" objects.
5. The method according to one of the preceding claims, characterised in that position information on the anchors is obtained by topographical surveys or by a GNSS system in real time.
6. The method according to one of the preceding claims, characterised in that the criterion C(X) is minimised by implementing a Gauss-Newton algorithm.
7. The method according to one of the preceding claims, characterised in that the vector X(k+1) for an iteration k+1 is obtained from the vector X(k) obtained at the previous iteration k by executing a linear least squares method using a singular value decomposition.
8. The method according to one of the preceding claims, characterised in that the condition for stopping the method uses one of the following criteria: • criterion C(X) not decreasing from one iteration to the next, • relative decrease of the criterion C(X) below a predefined threshold, • maximum number of iterations reached, • estimated positions no longer changing sufficiently from one instant to the next (|ΔX| < threshold).
9. The method according to one of the preceding claims, characterised in that an object is designated as master and in that said object is adapted to execute the steps of the method according to one of claims 1 to 8 and to centralise the results.
10. The method according to one of claims 1 to 8, characterised in that each object of the network is adapted to execute the steps of the method according to one of claims 1 to 8.
11. The method according to one of the preceding claims, characterised in that the object whose position is sought is a node in a communication system.
12. A device for determining the position of one or more objects Mi able to move in a network, one or more objects being provided with an inter-node distance measurement device (21), the nodes communicating with one another through a communication means (10), characterised in that it has at least one processor (12) adapted to execute the steps of the method according to one of claims 1 to 11, a device (11, 20) for measuring the position of the nodes.
13. The device according to claim 12, characterised in that the nodes have a radiofrequency communication module and the network is a communication system (1).
