^{*}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

Accurate coordinates for active beacons placed in the environment are required in Local Positioning Systems (LPS). These coordinates and the distances (or differences of distances) measured between the beacons and the mobile node to be localized are inputs to most trilateration algorithms. As a first approximation, such coordinates are obtained by means of manual measurements (a time-consuming and non-flexible method), or by using a calibration algorithm (

Research in Local Positioning Systems (LPS) is an area of great interest due to the large number of applications supported by this kind of system. Outdoor localization is often carried out using GPS, but, indoors, it is difficult to use because GPS signals become weak. To solve the indoor localization problem, several methods have been proposed [

Thanks to auto-calibration techniques, a system can automatically compute the position of beacons by taking measurements from specific known positions. Several previous works have addressed this problem. In [

This paper describes a new algorithm for the calibration of a LPS, allowing the system to calculate the positions of beacons. In this case it is assumed that the set of measurements has less uncertainty [

This document is divided as follows: in Section 2 the proposed algorithms to perform the auto-calibration are detailed; the localization of the best areas to place the test points at is analyzed in Section 3; simulation and experimental results are shown in Sections 4 and 5, respectively; and finally the conclusions are discussed in Section 6.

Two methods are proposed in this section. The first algorithm is suitable for systems based on spherical trilateration, whereas the second one is for hyperbolic trilateration. Furthermore, this last case does not require synchronization between beacons and the mobile node.

As has been mentioned before, to calculate the coordinates of beacons, it is necessary to measure the distances to beacons from several test points. The location of these test points is also unknown to the algorithm except for the position of three that fix the coordinate system. Thus, the initial information in both algorithms is (see

A vector that contains the “initial approximate position” _{x}_{1}, _{y}_{1}, _{z}_{1},⋯, _{zN}_{yN}_{zN}_{4}, _{4},⋯,_{M}_{M}

The height (z-component) of the test points is known (

The distances between the test points and the beacons: in the case of spherical positioning it refers to the absolute distances to the beacons; whereas, in the case of hyperbolic positioning, it refers to the differences between the distances to each beacon and the distance to one of the beacons considered the reference.

The locations of the three known test points to avoid ambiguities in the solution: [_{1}, _{2}, _{3}].

The absolute distance between the beacon _{xi}_{yi}_{zi}_{m}_{m}_{m}

And for the estimations (_{xi}_{yi}_{zi}_{m}_{m}_{m}

The proposed method uses the Gauss-Newton algorithm to minimize the sum of the quadratic errors that exist between the measured distances and the distances obtained from the estimated points according to the following expression:

Differentiating _{im}

Solving the system by Least Mean Squares, the following expression is obtained:

After obtaining the increment of the position vector Δ

This process is repeated until the increment of the position is lower than a pre-determined threshold.

In this case, instead of the distance between the test point and the beacon, the difference in distance Δ r between the test-point and the beacon is measured and the test-point and a beacon considered as reference.

Defining the increment of distance between the beacon

Also, the increment of distance with the estimated points is:

Using the same strategy as in the spherical case, the mean quadratic error between the increments of measured and estimated distances are iteratively minimized with the following expression:

Differentiating with respect to all the unknowns and regrouping the terms, as in the spherical case, it is obtained:

Solving the system by Least Mean Squares:

The vector of the estimated positions is updated as in the spherical case and the algorithm is repeated until Δ

The initial estimated test points and the estimated beacons’ positions are randomly selected inside the coverage area. If the selection of the initial estimated variables is very bad, the algorithm cannot converge, so after every update of the solution the feasibility of the new estimated positions is checked; that means that the new positions are inside the coverage area of the beacons.

As has been mentioned before, the test points can be located at any place inside the coverage area, but, depending on where they are placed, the measurement errors can affect the final solution. Here a method for determining the best positions inside the coverage area to locate the unknown tests points is developed.

As has been already explained, in order to find the beacons’ location, it is necessary to solve the expression

It is assumed that the covariance of _{N} σ^{2}, where _{N}_{N}

So the function to be minimized to decrease the error in the beacon location and to find the optimal areas of test points is:

Notice that to obtain the optimal areas the criterion of minimizing the PDOP in the beacons’ location given a test point configuration is used. Other criteria such as the condition number or the Cramer-Rao limit could have been used, but as has been proven in [

In order to find the optimal areas for the simulation and experimental test the function in

The results of tests run under simulation are here presented. The tests are carried out for both, the spherical and the hyperbolic versions of the algorithm.

In the first simulation, the results obtained for calibrating the beacons by using four random test points, four optimal test points, and eight optimal test points are compared. In this simulation the auto-calibration algorithm is repeated 100 times for different noise situations. The simulation conditions are (all units are considered in meters):

Beacons placed at: (0,0,3);(2,2,3);(2,−2,3);(−2.2.3);(−2,−2,3)

The three known test points are at: (0,0,0); (0.5,0,0);(0,0.5,0)

Four random test points: (−0.7,3.2,0);(−3.5,−1.2,0);(2.5,−3.9,0);(2.9,−2.4,0)

Four optimal test points: (−4.0, 2.0,0);(−2.8,−1.9,0);(2.9,2.8,0);(0.0,−4.0,0)

Eight optimal test points: (2.0,−3.3,0); (1.6,4.0,0); (−2.0,3.7,0); (4.0,−1.4,0); (−3.2,−1.9,0); (−3.5,1.5,0); (3.7,2.2,0); (−1.4,−3.4,0)

The coverage area is

The noise values are:

From

In this case the algorithm based on random test points does not converge for a standard noise deviation in measurements of 4 cm, so a standard noise deviation of 1.5 cm is considered.

For this simulation the four unknown test points are placed at (

Random test points: (−2.9,−2.4);(−2.4,0.8);(−1.8 ,−2.4);(−3.9,2.0)

Four optimal test points: (−0.25,4.0);(4.0,−4.0);(4.0,−0.69);(−4.0,−4.0)

Eight optimal test points: (−4,−4);(4,0);(−4,4);(0,4);(0,−4);(0,−4);(4,4);(4,−4);(−4,0).

The noise values are:

In this case, the standard deviation in the localization of beacons is much lower for optimal test points than for random test points (see

By analyzing the results, it can be stated that by increasing the number of test points it is possible to reduce the error in the localization of the beacons.

Experimental tests have been carried out with the LPS developed by GEINTRA Research Group at the University of Alcalá (see ^{2}. Descriptions of all the features of this LPS can be found in [

For the rest of the paper it is assumed that the manual calibration is the ground truth and serves as reference to compare with the autocalibration.

Twenty measurements at every point have been done for calibration. Furthermore, the three known test points are placed at these positions (all units in m): (0,0,0.03); (0.5,0,0.03); (0,0.5,0.03). The ranging error standard deviation in the measurements is less than 1 cm [

Two three-dimensional calibrations have been carried out in the LPS. In the first one, four unknown test points have been used, whereas, in the second one, eight unknown test points are considered. The height for all the test points is 3 cm:

Four unknown test points positions: (−1.5,−1);(−1.5,1.5);(0.5,1.5);(1.5,0.5) m.

Eight unknown test points positions: (0,−1.5);(−1.5,−1.5);(2,0.5);(−1.5,1.5);(0.5,1.5);(1.5,1.5); (2,−1.5);(−1.5,0) m.

In

In order to compare the results between localization using a manual calibration of beacons and the beacon auto-calibration, a circular path inside the coverage area has been performed. In

The positions obtained in the three routes are very similar. In the case of the beacons calibrated with four test points, the mean error in distance is 4.41 cm, whereas, for beacons obtained with eight test points, the error is 3.20 cm.

The distribution of beacons in the environment is not the most suitable, since they are very close for hyperbolic positioning. This provides a high PDOP in the LPS, so the algorithm does not converge for a calibration in three dimensions. For that reason, only a 2-dimensional calibration is performed and the height of beacons is fixed at 3.5 m. The localizations of the unknown test points for the test are (

Four unknown test points positions: (1,−0.5);(1,1);(−1.5,−0.5);(−1.5,1) m.

Eight unknown test points positions: (0,−1.5);(−1.5,−1.5);(−1.5,0);(−1.5,1.5);(0.5,1.5);(1.5,1.5); (2,−1.5);(−1.5,0) m.

In

In order to compare the results for localization using the real position of beacons and the beacon auto-calibration, the same path for the mobile robot, as the one commented in the spherical case, is considered. The results can be seen in

Notice that the results are worse than those for spherical trilateration. In fact, the average absolute error in distance using the beacon calibrated with four test points 10.33 cm; and in case of the beacons obtained with eight test points, the error is 7.27 cm

An algorithm for LPS auto-calibration in two cases, spherical and hyperbolic, has been developed. This algorithm only requires the location of three test points to be known, whereas the position of the other test points can be unknown. The proposed method achieves better performance for spherical trilateration, since this positioning algorithm is more accurate than the hyperbolic one. But, in case of low measurement error (standard deviation less than 5 mm), it is also possible to carry out a satisfactory hyperbolic auto-calibration.

Moreover, how to compute the optimal areas to place the test points in order to achieve improvements in auto-calibration has been described. The use of these areas is important for hyperbolic trilateration. Increasing the number of test points improves the calibration results up to a limit.

This work has been possible thanks to the support of the Spanish Ministry of Science and Technology (TIN2009-14114-C04-01).

Representation of the LPS to be calibrated.

Distribution of the unknown test points around the location of the optimal test points.

Representation of the 100 auto-calibrations for different noise levels in measurements

Standard noise deviation in results for 100 simulations (spherical case).

Representation of 100 auto-calibrations for different noise levels in measurements

Standard noise deviation in results for 100 simulations (hyperbolic case).

Average error in the beacon localization depending on the number of test points.

Ultrasonic LPS by GEINTRA used in experimental tests.

Average absolute error in every component for the calibrated beacons (spherical case).

Path obtained using the hand-measured beacon positions and the calibrated beacons (spherical case).

Average absolute error in every component for the calibrated beacons (hyperbolic case).

Path obtained using the hand-measured beacon positions and the calibrated beacons (hyperbolic case).

PDOP values in the beacons’ location (B1 to B5) for the different distributions of the unknown test points around the optimal test points.

| |||||
---|---|---|---|---|---|

Optimal test points | 1.3502 | 1.3569 | 1.4205 | 1.4205 | 1.4960 |

Distribution 1 | 1.3490 | 1.3623 | 1.4207 | 1.4210 | 1.5010 |

Distribution 2 | 1.3512 | 1.3625 | 1.4245 | 1.4235 | 1.5035 |

Distribution 3 | 1.3562 | 1.3616 | 1.4313 | 1.4223 | 1.4992 |

Distribution 4 | 1.3691 | 1.3801 | 1.4377 | 1.4458 | 1.5079 |

Distribution 5 | 1.3537 | 1.3589 | 1.4271 | 1.4243 | 1.5022 |

Average error in the localization of beacons (in cm).

| |||||||||
---|---|---|---|---|---|---|---|---|---|

x | y | z | x | y | z | x | y | z | |

| |||||||||

σ = 1 mm | 0.03 | 0.02 | 0.02 | 0.01 | 0.19 | 0.01 | 0.01 | 0.01 | 0.01 |

σ = 1 cm | 0.39 | 0.33 | 0.33 | 0.23 | 0.18 | 0.06 | 0.15 | 0.13 | 0.06 |

σ = 2 cm | 0.53 | 0.48 | 0.45 | 0.41 | 0.36 | 0.12 | 0.34 | 0.20 | 0.09 |

σ = 3 cm | 0.83 | 0.81 | 0.79 | 0.62 | 0.75 | 0.31 | 0.42 | 0.58 | 0.12 |

σ = 4 cm | 2.76 | 0.94 | 0.88 | 0.83 | 0.80 | 0.66 | 0.60 | 0.69 | 0.19 |

Average error in the localization of beacons (in cm).

| |||||||||
---|---|---|---|---|---|---|---|---|---|

x | y | z | x | y | z | x | y | z | |

| |||||||||

σ = 1 mm | 0.16 | 0.33 | 0.19 | 0.02 | 0.04 | 0.05 | 0.01 | 0.02 | 0.02 |

σ = 5 mm | 0.47 | 1.04 | 0.99 | 0.30 | 0.63 | 0.32 | 0.27 | 0.18 | 0.17 |

σ = 7 mm | 0.73 | 1.35 | 1.65 | 0.44 | 0.90 | 0.39 | 0.29 | 0.24 | 0.23 |

σ = 1 cm | 1.08 | 1.86 | 2.46 | 0.71 | 1.09 | 0.42 | 0.31 | 0.29 | 0.26 |

σ = 1.5 cm | 1.72 | 2.79 | 3.93 | 0.90 | 1.31 | 0.75 | 0.38 | 0.31 | 0.30 |

Position of beacons in the GEINTRA LPS after a manual calibration.

| |||||
---|---|---|---|---|---|

Coord. X | 0.122 | 0.513 | 0.515 | −0.24 | −0.242 |

Coord. Y | 0.224 | 0.56 | −0.1 | −0.11 | 0.56 |

Coord. Z | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 |

Position of beacons after calibration (spherical case).

| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|

B1 | B2 | B3 | B4 | B5 | B1 | B2 | B3 | B4 | B5 | |

| ||||||||||

Coord. X | 0.135 | 0.507 | 0.551 | −0.205 | −0.229 | 0.122 | 0.504 | 0.542 | −0.234 | −0.242 |

Coord. Y | 0.207 | 0.556 | −0.145 | −0.122 | 0.541 | 0.212 | 0.561 | −0.109 | −0.119 | 0.534 |

Coord. Z | 3.488 | 3.495 | 3.481 | 3.492 | 3.498 | 3.487 | 3.495 | 3.488 | 3.489 | 3.496 |

Position of beacons after calibration (hyperbolic case).

| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|

B1 | B2 | B3 | B4 | B5 | B1 | B2 | B3 | B4 | B5 | |

| ||||||||||

Coord. X | 0.094 | 0.442 | 0.491 | −0.229 | −0.274 | 0.135 | 0.497 | 0.551 | −0.205 | −0.229 |

Coord. Y | 0.233 | 0.564 | −0.079 | −0.070 | 0.554 | 0.207 | 0.546 | −0.145 | −0.122 | 0.541 |

Coord. Z | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 |