The invention relates to a method for determining positional data of at least one node of a network in an internal coordinate system and a method for determining global positional data for at least one node of a network in a global coordinate system.
In many technical systems, it is advantageous to know and track the position of individual devices, referred to in the following as nodes. Whereas in the open, GPS can be used for this purpose, for example for vehicle navigation, other methods are required in buildings or inner cities. Examples of suitable applications or systems are fire alarm sensors in buildings, sensors or actuators in a production system, sensor nodes in a wireless sensor network or mobile terminals in an ad hoc radio network. Furthermore, it is advantageous if the components or nodes form a communication network and are able to independently determine their position without a central entity, for example a localization server. Finally, it is also advantageous if the least possible infrastructure has to be assumed for position determination, i.e. if for example only a few anchor nodes with a known position have to be provided.
Known decentralized methods for position determination presume anchor nodes, i.e. nodes whose position is always known. This requires an installation cost and presumes that the positions of the individual anchor nodes are compatible, i.e. that their positions in the same coordinate system are known.
The only known method that functions without anchor nodes is the “GPS Free Positioning System” from Capkun et al., Swiss Federal Institute of Technology, Lausanne. The disadvantage with this method is, however, that it is described in only two dimensions, and because it is based on a local triangulation cannot therefore completely take account of redundant information.
An object of the invention is to provide a method for determining positional data, whereby the disadvantages of known methods do not occur.
An object of determining positional data is achieved by the features of the independent claims. Preferred embodiments are defined in, among other places, the dependent claims and/or are explained in the further description.
A method for determining positional data of at least one node of a network that includes a number of nodes includes the following steps:
An aspect of the invention is thus the determination of positional data of the at least one node by means of an iterative method. The positional data in particular gives the positional data of the at least one node in internal or relative coordinates. In the first iteration step, the positional data of the at least one node is determined relative to the positional data of the nodes of the subset provided in step a), the separation data determined in step b) and initial positional data. The initial positional data can, for example, be set as zero but of course any other choice can be made. With regard to the implementation of the method it is of course important that there are no numerical problems. For this reason, the initial positional data values chosen should not be too large. During repetitions of steps a) to c) the positional data of the at least one node is then corrected relative to the positional data of the nodes of the subset provided in step a), the separation data determined in step b) and the positional data of the at least one node determined in the previous performance of step c).
In a preferred embodiment, the network has exclusively mobile nodes whose position is not known priori. This means that the method can especially also be used for networks with exclusively mobile nodes. The determined positional data in this case can, for example, be used for navigation in a relative or internal coordinate systems.
Advantageously, the subset of nodes has a relatively large number of nodes, especially more than three nodes. With at least four neighboring nodes, i.e. the subset of nodes contains at least four nodes, a position can in principle be unambiguously determined. The number of neighboring nodes or the number of nodes in the subset of nodes for which distances can be measured depends on the method of measurement and on the environment.
Furthermore, it is advantageous if the positional data of each node of the subset contains the following information:
Furthermore, it is advantageous if the measure for the mobility of the particular node is a diffusion constant or mobility constant, an estimate of the actual speed vector and/or an estimated trajectory.
The speed vector is, for example, determined with the aid of a Kalman filter from the corrections of the static position estimation by means of the distance measurements. The actual position estimation is then a result of the static position estimation plus the correction by the speed vector.
A trajectory is determined from a series of successive static position estimations and, where necessary, their time intervals. Suitable representations are density estimators of these sequences of measured values, with the estimated position resulting from the estimated last position and speed as well as and the expected value of the sequences of measurements, or recurrent neural networks that estimate future positions from the previous positions.
The measure for the mobility of the node from previous observations is preferred, especially of the movements that determine the particular node. To determine a measure for the mobility it is also possible to measure the speed of the node directly, e.g. by means of an odometer.
Furthermore, the distance of the at least one node from nodes of the subset in step b) is advantageously determined by means of radar or by using the attenuation of a radio signal. It is also possible to determine the distance of the at least one node from nodes of the subset in step b) by using times of arrival. In this case, the distance is measured, for example, by ultrasound
It should be mentioned in this context that the nodes of the subset can be formed from the nodes which can be reached by the at least one node by means of radar or a radio signal. This means that a check is made to determine which nodes of the network can be reached from at least one node by means of radar or radio and these nodes are included in the subset. The distance of the at least one node from these nodes can be determined at the same time.
The network can especially be an ad-hoc radio network. The nodes are then mobile terminals and/or radio masts. In the case of location based services, the static access nodes can, for example, be used as reference points, beacons or anchor nodes. This is particularly significant for determining global positional data (see below).
The distance of the at least one node from nodes of the subset in a case where the network is an ad-hoc radio network can be determined by means of a hop distance. This hop distance is the smallest number of transmissions required to send a data packet from a node A via intermediate nodes to a node B. In this case a typical transmission path is assumed for each transmission. The distance between node A and node B can be estimated from this.
The nodes of the network can also be fire alarm sensors, sensors or actuators of a production system, of an air conditioning system, or of a building monitoring system or sensor nodes of a wireless sensor network.
It is furthermore advantageous if the method is performed essentially for all nodes of the network and positional data thus determined essentially for all nodes, with the positional data of a specific node being determined in each case by determining an own subset of nodes for the specific node, with the nodes of the own subset in each case transmitting their positional data to the specific node, with the specific node determining the separation data that in each case describes the distance of the specific node from a node of its own subset.
Furthermore, it is advantageous if the positional data or the position of the at least one node is modeled as a random variable {right arrow over (ξ)}i,t and determined by means of the expected value {right arrow over (μ)}i,t of this random variable {right arrow over (ξ)}i,t.
Preferably, the position of the at least one node is determined by means of an iterative calculation in accordance with the following iterative calculation rule:
where
{right arrow over (e)}
i,j,t(k)=({right arrow over (μ)}i,t(k)−{right arrow over (μ)}j,t−1)/|{right arrow over (μ)}i,t(k)−{right arrow over (μ)}j,t−1|,
The following is the preferred initial value for the iterative calculation rule:
{right arrow over (μ)}i,t(0)={right arrow over (μ)}i,t−1.
The interruption criterion is advantageously fulfilled if the extent of the changes of the positional data of the at least one node since the last performance of steps a) to c) is less than a predetermined threshold value. The threshold value in this case should be distinctly less than the typical measuring inaccuracy of the distance measurements performed to determine the separation data (see above).
The iterative calculation is preferably interrupted if the absolute position change between two successive iteration steps is less than a predetermined value ε, so that the following applies:
|{right arrow over (μ)}i,t(k+1)−{right arrow over (μ)}i,t(k)|<ε.
The covariance matrix Ai,t is preferably calculated using the following calculation rule:
where
The diffusion constant Dx,τ chosen should preferably be proportional to the speed, with the node x moving at this speed. The greater the diffusion constant the more the estimation of the position is influenced by the distance measurements. This, for example, reduces the influence of incorrect position estimations for mobile nodes because it is assumed in the original version that the nodes are static. The same applies when the speed vector is estimated.
It is furthermore advantageous if the diffusion constant Dx,τ is determined using the following calculation rule:
D
i,t=|{right arrow over (ν)}i,tΔt|2I,
where
With regard to the smoothness factor κ, the influence of measuring noise is less the smaller the smoothness factor κ. However, the estimation reacts that much more sluggishly or slowly the smaller the value of κ. Sensible values for the smoothness factor κ should not be substantially greater than 0.1.
The method for determining global or external, or absolute positional data for at least one node or for all nodes of a network that include a number of nodes, with the global positional data referring to a global or external coordinate system, includes the following steps: determining relative positional data in accordance with the method defined above for at least one node and/or for essentially all nodes of the network and determining. by means of a transformation, the global positional data as a function of the relative positional data.
One aspect of the method for deterring global positional data is thus to initially perform the method defined above for determining positional data of the at least one node and/or for essentially all nodes of the network, in order to thus determine the positional data of the at least one node or essentially all nodes of the network in the internal or relative coordinate system, and then to apply a transformation that determines global positional data from the positional data of the nodes in the relative coordinate system.
It is advantageous if the transformation is determined by means of a linear regression approach depending on a number of position pairs, with a position pair in each case including positional data of a node according to the internal coordinate system and global positional data of the same node according to the global coordinate system at the same time. A time-dependant transformation can also be used as a transformation.
It is advantageous if the position pairs are permanently available as anchor nodes. As above, the network can, for example, be an ad-hoc radio network and the nodes can be mobile terminals. In this case, the anchor nodes can, for example, be access nodes. Access nodes enable access to a different network such as the Internet. All permanently installed nodes such as routers in mesh networks, actuators, for example heating controllers, in buildings and systems are suitable as anchor nodes.
As already mentioned above, the nodes can, for example, also be fire alarm sensors, sensors or actuators of a production system, or sensor nodes of a wireless sensor network.
It is advantageous if the position pairs are determined by position measurements for the respective nodes, with the respective global positional data of the respective nodes being determined by means of a position determination device, especially a GPS position determination device.
It is also advantageous if the position pairs are determined by position measurements, with a mobile node determining its global positional data at different timepoints using a map, especially a digital one, and with various position pairs being thus provided. For example, a robot can be a mobile node that determines its global position using a digital map. The global positional data provided by the robot can be used to form the position pairs. It is also possible for a person to determine their global positional data using an external map. The global positional data of the person can then be used to determine the position pairs. It is important for the robot or the person to provide the particular global positional data at different timepoints and/or at different locations.
The global positional data {right arrow over (x)}i,t of one or more nodes of the network is preferably determined using the following calculation rule:
{right arrow over (x)}
i,t
=M
t{right arrow over (μ)}i,t+{right arrow over (b)}t
where
The transformation matrix Mt is advantageously determined using the following calculation rule:
where
It is furthermore advantageous if the displacement vector {right arrow over (b)}t is determined using the following calculation rule:
{right arrow over (b)}
t
=<{right arrow over ({circumflex over (x)}
m
>−M
t<{right arrow over (μ)}m>.
It is also advantageous if at least four position pairs are determined. In principle, any number of position pairs can be determined. It is, however, advantageous if the number of position pairs is as small as possible, because the configuration expense or the expense for providing the infrastructure is much greater the more position pairs are being determined.
The following information can also sometimes be helpful in understanding the invention:
The described method solves the positioning problem in a two-stage process. The individual nodes (devices) can measure the distance to neighboring nodes up to a certain maximum distance e.g. by means of radar, the attenuation of a radio signal or in multi-hop radio networks simply by means of the hop distance. Furthermore, the nodes exchange their actual estimated position with their neighboring nodes. In addition, a measure for the uncertainty of the position estimation (covariance matrix) and for the mobility of the node can be exchanged. The latter can be a type of mobility constant (diffusion constant) or an estimation of the actual speed vector or an estimated trajectory that was learned from previous observations (e.g. as a result of pairs {position, time difference}). Each node determines a correction for its own position, the relevant uncertainty and, if necessary, its mobility constant or its speed vector or estimated trajectories from the measurements of the actual distance to the neighboring nodes and the estimated positions of the neighbors at the timepoint of the actual distance measurement. It shares the changed values with its neighboring nodes. A coordinate system compatible with the distance measurements is formed in the network in this way. To synchronize this internal or relative coordinate system with the one external map, a transformation between these coordinate systems is learned. This transformation can generally contain a translation, a rotation, a reflection or a scaling. The parameters of the transformation are determined from a series of position details in internal (relative) and external (global/absolute) coordinates in each case, by means of a linear regression approach. These position details can, as also with other methods, be made permanently available by anchor points. Alternatively, a number of independent position measurements of a single mobile node can be sufficient if not too many nodes are mobile, or rather if the nodes can predict their trajectories sufficiently well. In these cases, the positioning also remains accurate over a longer period without renewed retraining of the transformation. The transformation can be distributed in a network and thus made available to other users.
In addition to measured values of the distances to neighboring nodes, the method in the simplest case requires only the estimated positions of the neighboring nodes that are provided by these. The method converges very quickly on an internal coordinate system in the network that is compatible with the distance measurements. The method is robust with respect to failure of individual nodes provided this does not cause the number of neighbors of a node to become too small or the network is not partitioned. The frequency of the distance measurements can be substantially reduced by an estimation of speed vectors and particularly by a prediction of trajectories; in an autonomous sensor network without external power supply the data traffic and the energy consumption can thus be substantially reduced and the service life of the sensor network therefore significantly increased. Synchronization with an external map can be achieved by means of just one mobile node; this can be either a person or a robot with a suitable device that can also determine the position of the person or robot on an external map (e.g. by clicking on a point on a digital map or by means of a navigation system)
Further features and embodiments of this invention are given in the following description of a preferred embodiment, with reference to the drawings. The drawings are as follows:
The network can, for example, be an ad-hoc radio network. In this case the nodes are mobile terminals. However, the nodes can also be fire alarm sensors, sensors or actuators of a production system or sensor nodes of a wireless sensor network.
In the following step b), node K1 determines separation data D1-3, D1-4, D1-5 and D1-6, abbreviated in the following to D1-3, . . . , D1-6 by means of radar. The separation data D1-3, . . . , D1-6 is in each case a measure of the distance between node K1 and the nodes of the subset U, i.e. nodes K3, K4, K5 and K6.
In the following step c), node K1 determines, or corrects, its positional data. In doing so, the positional data of nodes K3, . . . , K6 of subset U, provided in step a), the separation data D1-3, . . . , D1-6 determined in step b) and the positional data of node K1 from the previous performance of step c) are used.
Steps a) to c) are then repeated until an interruption criterion has been fulfilled.
The method can be performed either in succession or alternately for each node K1, . . . , Kn of the network N. Positional data in the internal or relative coordinate system is thus determined for each node K1, . . . , Kn of the network N.
The positional data is then converted to global positional data by means of a transformation. This enables the internal coordinate system to be depicted on a global coordinate system, for example nodes K1, . . . Kn to be depicted on a map.
Permanently available anchor nodes are not required for the method of determining positional data in the relative coordinate system or in the global coordinate system. Only local internode distance measurements need to be performed and the measured distances exchanged. The positional data in the relative coordinate system can thus be determined. It then requires only a few inputs of absolute positions to enable the transformation to an absolute coordinate system. To further increase the performance of the method, the mobility of the nodes is included in the calculation.
The following first describes the method for determining the positional data according to the relative coordinate system that is particularly based on local internode distance measurements, i.e. on local measurements for determining the distance between two nodes in each case. The distance between two nodes is also referred to in the following as the internode spacing.
In the following {circumflex over (d)}i,j,t represents the distance between the nodes i and j at timepoint t, that, for example, is determined by radar, by the receiving power of a radio signal or, in the case of an ad-hoc radio network, by means of the hop distance. In this case, t is a discrete time index. {right arrow over (ξ)}i,t denotes the coordinates vector of node i at timepoint t in the relative coordinate system, i.e. in a network intrinsic coordinate system. {right arrow over (ξ)}i,t is a random variable. The statistical expected value of {right arrow over (ξ)}i,t is denoted by {right arrow over (μ)}i,t The object of the method is to determine, {right arrow over (μ)}i,t in relative coordinates, i.e. {right arrow over (μ)}i,t is in one form of embodiment the positional data to be determined in the relative coordinates system.
{right arrow over (μ)}i,t can be determined in that the maximum likelihood criterion is applied to the conditional probability P({right arrow over (ξ)}i,t|{{circumflex over (d)}i,j,t}, {circumflex over (d)}(t−1)) in this case, {circumflex over (d)}(t−1)={{{circumflex over (d)}i,j,t−1}, . . . , {{circumflex over (d)}i,j,1}} denotes the history or past of all distance measurements for determining internode spacing between all possible node pairs. The above conditional probability can be described as follows by using the Bayes formula for conditional probability:
P({right arrow over (ξ)}i,t|{{circumflex over (d)}i,j,t},{circumflex over (d)}(t−1))=cP({{circumflex over (d)}i,j,t}|{right arrow over (ξ)}i,t,{circumflex over (d)}(t−1))P({right arrow over (ξ)}i,t|{circumflex over (d)}(t−1)), (1)
where c is a normalizing constant.
In equation (1) the term P({{circumflex over (d)}i,j,t}|{right arrow over (ξ)}i,t,{circumflex over (d)}(t−1)) corresponds to the correction by the current measurements and the term P({right arrow over (ξ)}i,t|{circumflex over (d)}(t−1)) the prognosis of the estimated position or estimated positional data of node i, with only the past distance measurements being considered.
The following assumptions are now made:
With these assumptions we get the following:
where
The following applies for the unit vector:
{right arrow over (e)}
i,j,t=({right arrow over (μ)}i,t−{right arrow over (μ)}j,t−1)/|{right arrow over (μ)}i,t−{right arrow over (μ)}j,t−1|. (3)
The maximum likelihood criterion leads to
∇{right arrow over (ξ)}
From equations (1), (2), (3) and (4) we get:
Equation (5) can be iteratively solved. An iterative calculation with the following iterative formula is particularly advantageous:
where
{right arrow over (e)}
i,j,t(k)=({right arrow over (μ)}i,t(k)−{right arrow over (μ)}j,t−1)/|{right arrow over (μ)}i,t(k)−{right arrow over (μ)}j,t−1|. (7)
The iterative calculation can be begun by using an estimation of the position of the previous time step:
{right arrow over (μ)}i,t(0)={right arrow over (μ)}i,t−1. (8)
The iterative calculation is interrupted if the absolute position change with respect to the following iteration step is below a specific threshold value:
|{right arrow over (μ)}i,t(k+1)−{right arrow over (μ)}i,t(k)|<ε. (9)
The estimations of the relative positions are very imprecise at the start of the iterative calculation. At this stage a convergence with respect to a high accuracy of the position estimation is not necessary, therefore, and in order to limit the processing time, a strict upper limit value is specified for a number of iteration steps. For example 100 iteration steps can be specified as a strict upper limit value. After the position estimations improve, this limit value loses its relevance, because it is never reached. A few iteration steps are then sufficient.
The covariance matrix Ai,t can then, as above, be determined as follows:
∇{right arrow over (ξ)}
The following updating equation can be used for updating Ai,t:
Equations (6) and (11), referred to in the following as a first updating equation and second updating equation, enable a common relative position determination or position estimation for node i. The starting value for {right arrow over (μ)}i,t=0 is randomly chosen and the starting value for Ai,t=0 is chosen so as to be large enough to cover the associated distribution of the expected range of the node configuration. The expected range or area in which the nodes are located is usually known. The expansion of this area can be used as a starting value for the covariance matrix A.
For many practical applications it is absolutely essential that the coordinates of the nodes in a specific conventional absolute coordinate system be known. The relative coordinates of the nodes in the relative coordinate systems are in this case presumed. If, in addition, the absolute coordinates of some nodes are known, it is possible to determine a transformation of the relative coordinate system into the absolute coordinate system. An embodiment of the method for determining global positional data is described in the following.
The following equation describes a general transformation of relative coordinates {right arrow over (μ)}i,t into absolute coordinates {right arrow over (x)}i,t:
{right arrow over (x)}
i,t
=M
t{right arrow over (μ)}i,t+{right arrow over (b)}t, (13)
where
This transformation is global and valid for all nodes. A change of the transformation over time is of course generally possible. If the absolute positions {right arrow over ({circumflex over (x)}m are externally provided, for example by means of a GPS position determination, and the corresponding relative positions {right arrow over (μ)}m are known, the transformation (Mt, {right arrow over (b)}t) can be determined as in the following.
To determine the transformation (Mt, {right arrow over (b)}t) the quadratic error function is minimized:
The best transformation (Mt, {right arrow over (b)}t) corresponds to the minimum of Et. The necessary conditions are:
∇M
∇{right arrow over (b)}
The solution of equations (15) and (16) together with the error function (14) results in the following:
with the pointed brackets denoting the average value in each case. Equations (17) and (18) stipulate the desired transformation. At least four linear independent absolute positions {right arrow over ({circumflex over (x)}m are necessary to be able to unambiguously solve the equation system.
If the transformation changes slowly then the transformation (Mt, {right arrow over (b)}t) will rarely have to be re-calculated. If the transformation is approximately steady, the absolute positions {right arrow over ({circumflex over (x)}m at different timepoints can be determined. These can also be the absolute position measurements or position determinations of an individual moving node. That means that it is sufficient if the absolute position at different timepoints is determined for only a single moving node. Allowing for the speed of the node, as described in the following, is helpful when stabilizing the transformation.
In a simplest case, the mobility covariance matrix Di,t chosen for slowly-moving nodes can be relatively small and for quickly moving nodes it can be relatively large. This approach has two positive effects. Firstly, the relative coordinate estimations are more exact. Secondly, the transformation from the relative coordinate system to the absolute coordinate system is more stable. This applies at least if not too many nodes are mobile.
The following intrinsic node speed {right arrow over (ν)}i,t is introduced to allow for the node mobility:
where
Equation (19) gives the speed of the directed movement with the fluctuations due to the error in the position estimation not being allowed for. The components in the diagonals of the covariance matrix Di,t are equated with the square of the distances, with the distances being covered in the relative direction in time section Δt:
D
i,t=|{right arrow over (ν)}i,tΔt|2I. (20)
The superiority of the method for position determination allowing for node mobility was demonstrated by simulations.
The method for determining positional data or the method for position determination was applied using the following realistic scenarios. Twenty-five nodes are randomly distributed in a room measuring 20×20×3 m, see
The aims of the simulation were
Therefore, the following approach was chosen. Only the first node is a mobile node and can determine its absolute position by means of a position measurement or position determination, with the measured absolute position being used to determine the transformation of relative coordinates into absolute coordinates. All other nodes are stationary. The first node moves to each of the other nodes in turn at a constant speed of 1 m/s. The node stops for 10 s at one node, performs the absolute position measurement and moves on to the next node. This movement characteristic of the first node is not a precondition but is very effective. The simulation corresponds to 240 s real time.
The following simulation parameters were used:
The simulations have shown that the method for determining positional data or the method for determining global positional data can be used under the difficult conditions described above. To assess the determination of relative positional data, the average error of the internode distances, defined as the average difference between the measured internode distances and the corresponding calculated distances of the estimated positions, was checked. The analysis of the dynamics of the average error of the internode distance in
After 420 s real time with only 20 inputs of absolute or global positions for reference the average error of the positioning was 0.52 m, as can be seen in
The method for determining positional data or the method for determining absolute positional data was also tested using various spatial arrangements of nodes.
The stability of the method was also ascertained for a case where after the setup phase no absolute positions measurements were determined, i.e. no further positional data was determined after the setup phase. In the first 200 s only 10 absolute position measurements were taken. The dynamics of the free system was then simulated for fifteen minutes. The results, shown in
Further simulations were performed in order to investigate the performance of the method under various simulation scenarios. These included additional mobile nodes, nodes that moved occasionally and absolute position measurements of various nodes. In doing so, the effect of the error when measuring the internode distances and the error of the absolute position measurements were investigated. It was possible to show during the simulations that the method can be successfully used for various simulation scenarios.
To sum up, the method for determining positional data, or the method for determining global positional data, could be successfully used for the realistic and difficult scenario with a mobile node that determines its absolute position occasionally. Known methods could not be used successfully for this difficult scenario. A great advantage of the inventive method is that no permanently available anchor nodes or beacons are required.
The results of simulations, shown in
Number | Date | Country | Kind |
---|---|---|---|
10 2004 027 292.1 | Jun 2004 | DE | national |
This application is the US National Stage of International Application No. PCT/EP2005/051586, filed Apr. 11, 2005 and claims the benefit thereof. The International Application claims the benefits of German application No. 10 2004 027 292.1 DE filed Jun. 4, 2004, both of the applications are incorporated by reference herein in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP05/51586 | 4/11/2005 | WO | 00 | 9/12/2007 |