^{*}

This article is an open-access article distributed under the terms and conditions of the Creative Commons Attribution license (

In order to provide the seamless navigation and positioning services for indoor environments, an indoor location based service (LBS) test bed is developed to integrate the indoor positioning system and the indoor three-dimensional (3D) geographic information system (GIS). A wireless sensor network (WSN) is used in the developed indoor positioning system. Considering the power consumption, in this paper the ZigBee radio is used as the wireless protocol, and the received signal strength (RSS) fingerprinting positioning method is applied as the primary indoor positioning algorithm. The matching processes of the user location include the nearest neighbor (NN) algorithm, the K-weighted nearest neighbors (KWNN) algorithm, and the probabilistic approach. To enhance the positioning accuracy for the dynamic user, the particle filter is used to improve the positioning performance. As part of this research, a 3D indoor GIS is developed to be used with the indoor positioning system. This involved using the computer-aided design (CAD) software and the virtual reality markup language (VRML) to implement a prototype indoor LBS test bed. Thus, a rapid and practical procedure for constructing a 3D indoor GIS is proposed, and this GIS is easy to update and maintenance for users. The building of the Department of Aeronautics and Astronautics at National Cheng Kung University in Taiwan is used as an example to assess the performance of various algorithms for the indoor positioning system.

The location based service (LBS) subscriber base is forecasted to reach 680 million people worldwide, because LBS can be applied to many fields, such as local entertainment services, personal security applications and local traffic navigation systems [

In light of the above discussion, the fingerprinting method is applied to implement the indoor positioning system. The matching algorithms used in this paper are the NN method, the k-weighted nearest neighbors (KWNN) method [

Accordingly, the remainder of this paper is organized as follows. In Section 2, we describe the indoor positioning algorithms used in this work. The development procedures of an indoor 3D GIS will be explained in Section 3. In Section 4, several experiments are conducted to evaluate the indoor positioning performance under different architectures. A prototype indoor LBS test bed will be illustrated in this section as well. Finally, Section 5 presents the summary and concluding remarks.

Many algorithms such as the triangulation method and the fingerprinting method have been proposed to investigate the possibility for indoor positioning [

In the verification stage, if a user obtains the RSS values of the incoming signals from the transmitters, these RSS values might be considered as the tags of the current location, and these RSS measurements will be used in the matching processing to compare with the prerecorded database built in the calibration stage. For instance, a user stays at one unknown location, and this user uses a mobile device to measure RSS values of the incoming signals. The received RSS values are expressed as a vector, and this RSS vector is compared with the prerecorded data. Through the matching process, the most similar set in the database will be admitted as the user’s current location. This verification process is illustrated in

There are many matching algorithms used in the fingerprinting method to estimate the user position, including the nearest neighbor (NN) algorithm [

The main concept of the NN algorithm is to calculate the minimum distance between the measurement and the prerecorded data in the database, and this distance is calculated by _{th}_{th}_{s}

Since the NN algorithm determines the user position according to the grid point with minimum distance, if the received signal strength is affected by unexpected factors, such as human motions, the NN algorithm might obtain wrong estimations. To enhance the reliability of indoor positioning, the KWNN algorithm selects more grid points in the database to average the estimation results, and each selected grid point has the specific weighting value according to the distance computed by _{j}^{th}_{j}_{j}^{th}

The received signal strength might not be the same even if the user stands at the same location.

To reduce the computation load, a model is used to describe the distribution of the received signal strength, and the most common model is the Gaussian model which is also known as the kernel method [_{i}_{th}_{rss}

If a new RSS value set is obtained and there are

Because the indoor environment is considered as a nonlinear system, the positioning accuracy may be easily affected by several uncontrollable and unexpected factors. In addition, the positioning results based on the matching algorithms might not be desirable due to the signal strength fluctuations. If the user is in motion, it would be difficult to obtain the position estimations which could be approximated to the user indoor trajectories. To improve the positioning accuracy and smoothing the indoor positioning trajectories, an appropriate filtering algorithm is needed. The Kalman filter is a general approach for the tracking applications, but the Kalman filter is suitable for a linear system, and it is not a good option for the indoor positioning system. Considering the complexity of the indoor environment, the particle filter is used in this paper. A particle filter is suitable for a nonlinear and non-Gaussian system, the main algorithm of the particle filter is to implement the recursive Bayesian estimation by the Monte Carlo method, and it represents the posterior density function by a set of random samplings [

In ^{i}_{0:k} is the set of the random samples at time _{th}_{0:k} is the set of the system states, _{1:k} is the set of the measurements, ^{i}_{k}_{th}

If

However, the SIS particle filter has severe degeneracy [

Since the optimal importance density is hard to obtain, the prior distribution

The SIS particle filter with the resampling process is known as the sampling importance resampling (SIR) particle filter [

Step 1: In the initial stage,

Step 2: The evolution of the system states by drawing the
_{k}_{k−1}, _{k−1}), then
_{x}_{y}_{x}_{y}

Step 3: Implement the process of weight update by _{k,KWNN}_{k,KWNN}

Step 4: To avoid the degeneracy, the resampling process is applied by generating a new set of

Step 5: The states estimation at time

The flowchart of the SIR particle filter is summarized in

There are many smart phones and personal digital assistants (PDAs) which integrate the navigation services with the commercial GIS to provide useful location based information, such as the tourist attractions within a user’s vicinity. Nevertheless, the commercial GIS like the Google map does not provide detail information inside buildings. To achieve a complete LBS, an indoor GIS is needed. The major challenges for constructing an indoor GIS are to establish the indoor GIS and combine it with an indoor positioning system. In general, the program development tool (e.g., Visual C++) and the computer graphic technique (e.g., OpenGL) are used to develop the graphic system. However, if the requirements of the graphic system are complicated, it would be difficult to construct the graphic system by the method mentioned above. In addition, the maintenance and update of this graphic system would be difficult as well. To overcome this problem, the computer-aided design (CAD) software, such as the AutoCAD and CATIA, would be a better solution for the rapid graphic development. With the assistance of the CAD software, the developer could reduce the development time and the workload. However, the graphic format is different for different CAD software, and the compatibility for different graphic format needs to be taken into account. For that reason, the VRML graphic standard is used in this paper. In this paper a solution is proposed to establish the indoor GIS by the CAD software and the VRML technique [

A 3D GIS of the Department of Aeronautics and Astronautics (DAA) building of National Cheng Kung University (NCKU) is developed as an example for demonstration. In this paper the CATIA is used to draw the 3D map of the DAA building and changes the file format of the map to meet the standards of the VRML. The VRML is a 3D graphic display technique used in the Internet. The VRML has high flexibility to combine with other programming languages. For instance, the developer can use C++ or Java to control the object in the VRML [

In this paper, we use C++ Builder to integrate the GIS with the indoor positioning system. The display of the VRML files needs a specific viewer, and the VRML viewer used in this paper is the Cosmo player. Several snapshots of the 3D GIS of the DAA building are shown in

Considering the power consumption, ZigBee radio was employed to construct the WSN for the indoor positioning test bed. The wireless modules used in this paper is the IRIS® which are developed by Crossbow Inc. The IRIS wireless module can be treated as the transmitter or the receiver. The received data is transmitted

After the database is built, this paper applies the NN algorithm, the KWNN algorithm and the probabilistic approach based on the kernel method to compare their positioning performance. In the static experiment, we visit all the grid points sequentially to conduct the positioning test, the cumulative distribution functions (CDFs) of the positioning errors with above algorithms are illustrated in

In

When the value of

Based on the experimental results, the SIR particle filter significantly improves the positioning accuracy, and the maximum positioning error is reduced to 4.3 meters (in

As shown in

Based on the experiment results shown in

In this paper a dynamic experiment is also conducted where the user moves from grid point 4 to grid point 24 in a straight line (in

The values of mean and the standard deviation used in

The dynamic experimental results of the KWNN algorithm and the KWNN algorithm with the SIR particle filter of

Finally, the indoor positioning results are integrated with the developed 3D GIS to show the user position in the 3D map. The integration result is shown in

In this paper several matching fingerprinting method algorithms are investigated to analyze their indoor positioning results, and the matching algorithms used in this paper included the nearest neighbor (NN) algorithm, the K-weighted neatest neighbor (KWNN) algorithm and the probabilistic approach based on the kernel method. The experiment results of this paper indicated that the KWNN algorithm with parameter

The calibration stage of the fingerprinting algorithm.

The verification stage of the fingerprinting algorithm.

The distribution of the received signal strength at a fixed location.

The approximation of the posterior density by the random samplings.

1,000 particles with uniform distribution in the map.

The flowchart of the SIR particle filter.

The proposed developmental procedure of the indoor GIS.

Snapshots of the 3D GIS of the Department of Aeronautics and Astronautics building of National Cheng Kung University.

The arrangements of the equipments and the calibration of the grid points.

The CDFs of the positioning errors by various matching algorithms.

The CDFs of the positioning errors by the kernel method.

The CDFs of the positioning errors by various matching algorithms.

The dynamic positioning results by the KWNN algorithm (

The dynamic positioning results by the kernel method.

Integration of the indoor positioning results with the 3D GIS.

Standard deviations of positioning errors of the dynamic test using the KWNN algorithm and the KWNN algorithm with the SIR particle filter.

KWNN (cm) | 99.86 | 51.44 | 38.36 | 58.33 |

KWNN + SIR particle filter (cm) | 24.22 | 33.30 | 22.69 | 26.53 |

Standard deviations of positioning errors of the dynamic test using the kernel method and the kernel method with the SIR particle filter.

Kernel method (cm) | 64.46 | 63.97 | 63.89 | 63.89 |

Kernel method + SIR particle filter (cm) | 32.89 | 32.18 | 33.99 | 29.68 |