Abstract

Indoor navigation is challenging due to unavailability of satellites-based signals indoors. Inertial Navigation Systems (INSs) may be used as standalone navigation indoors. However, INS suffers from growing drifts without bounds due to error accumulation. On the other side, the IEEE 802.11 WLAN (WiFi) is widely adopted which prompted many researchers to use it to provide positioning indoors using fingerprinting. However, due to WiFi signal noise and multipath errors indoors, WiFi positioning is scattered and noisy. To benefit from both WiFi and inertial systems, in this paper, two major techniques are applied. First, a low-cost Reduced Inertial Sensors System (RISS) is integrated with WiFi to smooth the noisy scattered WiFi positioning and reduce RISS drifts. Second, a fast feature reduction technique is applied to fingerprinting to identify the WiFi access points with highest discrepancy power to be used for positioning. The RISS/WiFi system is implemented using a fast version of Mixture Particle Filter for state estimation as nonlinear non-Gaussian filtering algorithm. Real experiments showed that drifts of RISS are greatly reduced and the scattered noisy WiFi positioning is significantly smoothed. The proposed system provides smooth indoor positioning of 1 m accuracy 70% of the time outperforming each system individually.

1. Introduction

Inertial Navigation Systems (INSs) [1, 2] are self-contained inertial-sensors-based navigation systems that can work independently without any kind of help from an external navigation source. INS solutions utilize inertial sensors to provide navigation information continuously with time at high rates. Although INS provides good short-term accuracy without any external help, small sensors errors accumulate due to mathematical integration resulting in large drifting that grows without bounds. Additionally, if low-cost MEMS-grade [3] inertial sensors are considered, errors exhibit complex stochastic characteristics which are hard to model using linear estimator such as Kalman Filter because of the high inherent nonlinearity and randomness. In [4], a Reduced Inertial Sensors System (RISS) suitable for wheeled vehicles navigation was introduced. The aim was to reduce sensors cost and to simplify navigation equations reducing sources of errors. For this reasons, this paper utilizes an RISS system that provides navigation information for wheeled vehicles using only single vertically aligned gyroscope, and the vehicle speed sensor (odometer) (see Figure 1). This configuration is suitable for wheeled vehicles such as robots in which the motion is mainly in 2D assuming flat ground.

Although RISS utilizes the vehicle odometer which is more accurate than MEMS-based inertial sensors, the drifts in the gyroscope still cause the overall system accuracy to deteriorate over short periods of time. For the above reasons, INS and RISS systems are usually integrated with other navigation systems that have complementary errors characteristics such as Global Positioning Systems [1, 5]. However, for indoor areas, GPS and other satellite-based positioning systems do not work due to signal blockage. Thus, other wireless infrastructures that provide strong coverage indoors are to be utilized.

The IEEE 802.11 WLAN (WiFi) [6] is a freely available wireless infrastructure that provides strong coverage indoors. According to WiFi-Alliance [7], Wi-Fi is used by over 700 million people and there are about 800 million new Wi-Fi devices every year. This freely available wireless infrastructure prompted many researchers to develop WiFi-based positioning systems for indoor environments [8, 9]. Mainly, three approaches for WiFi-based positioning exist [10, 11]. Time-based, Angle-based, and Signal-Strength-based approaches. Time of arrival (ToA) and Time Difference of Arrival (TDoA) are two common Time-based wireless positioning approaches [10]. In Time-based wireless positioning systems, distance estimation between the user device and at least three reference locations is sufficient to provide 3D positioning information using Trilateration technique. In Angle-based wireless positioning systems, Triangulation [10, 11] is used to provide 3D positioning information.

One of the drawbacks of both Time-based and Angle-based methods is the need for additional hardware to be set up on top of the existing WiFi network. Moreover, a special time synchronization system is required to correct for clock drifts like the case in GPS [1, 5]. For the Angle-based positioning methods, high-cost directional antennas arrays are required. Another drawback of both Time-based and Angle-based approaches is the need for a direct line of sight (LOS) between transmitters and receivers. Thus, these two methods are not suitable for indoor environments due to lack of LOS in most scenarios because of dense multipath resulting from wireless signal reflection and refraction on different surfaces indoors. Thus, in this paper, an optimized Signal Strength-based WiFi Fingerprint positioning algorithm is developed.

Fingerprint-based wireless positioning systems [1013] depend on the fact that signal strength attenuates with signal propagation. Signal propagation in free space can be easily modelled using logarithmic relationships that relate signal strength received by a receiver to distance between transmitter and receiver. However, inside buildings and in indoor areas, signal propagation suffers from multipath, and, hence, simple mathematical formulas cannot be used to model signal strength/distance relationship. As a solution to this problem, exhaustive signal strength survey is used to accurately model signal strength measurements from multiple wireless access points to a specific location or position (not distance). This approach has the advantage of accurate modeling of multipath. Additionally, it does not require the wireless access points to be located in known locations as long as they are fixed. Furthermore, an interesting advantage of fingerprint-based positioning methods is that they do not require time synchronization.

According to many research results [1214], although the fingerprint positioning method requires time-consuming offline wireless survey, it is the most accurate wireless positioning method in indoors. The explanation is that radiomap accurately models the hard signal strength patterns in indoor areas. Thus, in this paper, an optimized WiFi fingerprint-based positioning system is utilized. The WiFi fingerprint-based positioning system introduced here utilizes a novel approach based on Fast Orthogonal Search (FOS) [15] to automatically and quickly select the best arrangement of WiFi access points to obtain the best positioning accuracy. Although this approach achieves meter-level accuracy, the solution is not smooth enough and contains many outliers due to signal strength noises (see Figures 7, 8, and 9) which prompted many researchers to explore the possibility of integration between different navigation systems [16, 17].

The possibility of integrating WiFi-based positioning systems with INS has been recently explored by researchers [16, 17]. Kalman Filter [3, 16] is usually the preferred integration technique. However, KF has limitations such as system dynamic models linearity and the assumption of Gaussian states distribution which is not suitable for low-cost MEMS-based inertial sensors and the noisy WiFi-based positioning indoors. The limitations of KF were very clear in [16] in which WiFi positioning was integrated with INS providing an accuracy of 5 m which doesn’t fulfill the accuracy requirements of indoor location-based services (LBSs). In Atia et al. [18], the authors proposed a particle-filtering-based 2D WiFi/INS solution in which WiFi positioning is integrated with vertical gyroscope and two accelerometers. In this paper, the authors introduce a new configuration that integrates RISS and optimized WiFi system. The basic advance in this work is as follows. A new RISS system is used. The WiFi fingerprint technique is optimized by a novel feature reduction algorithm to identify the best few WiFi Access Points for positioning. The area of experiments is bigger and more complex and challenging.

2. RISS Navigation System

In RISS systems for wheeled vehicles such as robots, the motion is mainly in 2D assuming flat ground. The gyroscope is attached with the (vertical) axis and measures the rotation rate around axis as shown in Figure 1. Motion equations are implemented in a local navigation frame which is usually taken as east, north, and up (vertical) rectangular frame. In 2D, we are concerned only with azimuth (heading), north, and east velocity and position components. The azimuth angle of the vehicle is calculated using the following equation: where is the gyroscope reading, the earth rotation rate (15°/hr), is the velocity in east direction, is the latitude, is the normal radius of curvature of earth, and is the altitude. Once the heading angle of the platform is calculated, it can be used along with the vehicle odometer to calculate east and north velocities as follows: Position (latitude and longitude ) are given by where is the meridian radius of curvature of the earth at current position.

Latitude and longitude can be then converted to meters using the following equations: The RISS configuration is shown in the following block diagram in Figure 2.

Due to lack of a reference solution to compare results and calculate errors, an experiment was done on a predefined trajectory with known waypoints 5 to 7 meters apart. To calculate the root mean square position error (RMSE), the solution trajectory is compared with the reference trajectory at the way-points. Figure 3 shows the testing trajectory inside the sixth floor of Department of Electrical & Computer Engineering in Queen’s University, Kingston, Ontario, Canada. Figure 4 shows the results of RISS system on the testing trajectory shown in Figure 3. The effect of the gyroscope drifts can be seen clearly in Figure 4 from the heading errors which causes the trajectory to deviate from the reference. Also the effect of odometer error is clear from the graph where we can see stretch in the most right part of the trajectory. Odometer error is also known from calculations since the reference distance travelled is 110.5 m while the odometer reading shows a distance travelled of 118.8 m.

3. WiFi Fingerprint Positioning System

The basic unit in a WiFi network is the Wireless Access Point (AP). Each AP periodically sends beacon frames [6]. The beacon messages contain MAC Address which is a unique identification set by the manufacturer. When the beacon frame is received by a WiFi client’s network card, the interface card reports the received signal strength indicator (RSSI) in dBm. Figure 5 shows a histogram of 200 RSSI values measured in the same location with LOS conditions. The measurements were taken from 10 m distance from Netgear AP.

In WiFi Fingerprint-based positioning method [1214], the signal strength from multiple APs is recorded from many reference known locations. These radio records are saved in an offline phase to build a radiomap of the environment. In online phase, the signal strength measured by the WiFi client from multiple APs is matched with the signal strength records of the radiomap to estimate the client position. Building the radiomap can be automated like the work done in [19]. Many pattern matching and classification algorithms can be used for positioning [10, 11]. Since the main focus in this paper is to show the benefits of integration with inertial sensors to smooth the positioning output, a k-nearest neighbour (K-NN) method with weighted averaging modification is used as an efficient fingerprinting algorithm. K-NN algorithm selects the k points in the radiomap that are nearest to the current client RSSI measurements. Instead of averaging these points, a weighted average is performed by giving the highest weight to the nearest reference point. Thus, given current WiFi , the current position is calculated by where is the WiFi readings recorded with point in the radio-map database.

In this work, a radiomap was collected using a laptop on a mobile robot (see Figure 6) in the experiments area shown in Figure 3. A total of 132 unique MAC addresses were recorded in this area which is considered as a large number that may negatively affect the accuracy and speed of the presented WiFi-positioning system. Online WiFi measurements were recorded while following the testing prespecified trajectory using the mobile robot. K-NN-weighted average algorithm was applied and the solution obtained is shown in Figures 7, 8, and 9. East and North positions are plotted separately to show the outliers points and the noisy scattered nature of the WiFi-positioning system. Although the WiFi-positioning is noisy and scattered, the accuracy is consistent without drifts over the time without bounds like the case in inertial solution (see Figure 4). Thus, there is a clear complementary error behaviour between WiFi-positioning and inertial navigation which prompts researchers to integrate both systems to obtain more accurate and smooth results.

4. Challenges and Research Objectives

After having a detailed view on the performance of the MEMS-based RISS system and the WiFi-based positioning system separately, a summary of the challenges followed by the research objectives of this work is given. The challenges in the RISS system side are mainly the gyroscope drifts and the odometer errors. The effects of these two sources of errors are clear in Figure 4. The challenges with the WiFi-positioning system are mainly due to signal strength noise and the too large number of MAC addresses in the constructed radiomap. Based on these challenges, the overall ultimate objective of this work is to provide a low-cost indoor RISS/WiFi integrated navigation system that can provide meter-level accuracy with smooth output in indoor and GPS-denied environments such as large buildings, hospital, and airports. To achieve this objective, the following problems are tackled:(1)removing the drifts due to gyroscope and odometer errors in RISS system;(2)filtering out the outliers and scattered noisy positioning of the WiFi system;(3)reducing the feature dimensionality of the WiFi radiomap from 132 columns to only 4 columns by selecting the 4 most significant WiFi access points’ combinations to improve the accuracy and reduce processing time to meet real-time embedded systems requirements.

5. Methodology

5.1. Bayesian Filtering

The moving object state is defined as a vector that contains the vehicle 2D position, velocity, and heading. Instead of dealing with the state as crisp values, Bayesian filtering [2] considers the state as a probability. Let be the probability density function (PDF) of a moving object state conditioned on measurements (sensors measurements and aiding source observations). Bayesian filtering considers the aiding sources assumes that the sates are 1st order Markov process [20, 21]. The estimated represents all the knowledge about the moving object state which is obtained from two probabilistic models; those are the state transition model (system model) and the observation likelihood (observation or measurement model). In , the is the input control signal that stimulates the transition from state to state .

To estimate the navigation states, the new density is computed recursively at each time step in two phases [20, 21]: prediction phase and update phase. In the prediction phase, the transition is performed according to state transition model (system model). Knowing the PDF at time step , the state transition model is used to predict the current state PDF as follows: In the update phase, the observation likelihood is used to obtain the posterior PDF using Bayes rule: Figure 10 is a simplified explanation for the sequence of prediction and update to estimate .

5.2. Particle Filtering (PF)

Bayesian Filtering problems formulation yields integral equations that are analytically intractable in case of nonlinear non-Gaussian states [22]. Thus, PF was proposed as a Monte-Carlo-based solution for the Bayesian Filtering problem [2022]. It is an approximate solution to Bayesian Filtering that represents PDFs by sufficient number of samples (particles). At each time step , the PDF is approximated by a set of random samples or particles . Here the th sample has value as the value of the state and as the value of weight. At , the sample set is initialized with equal weights based on any knowledge about the object’s initial state. An iteration of PF has three important steps: prediction phase, update phase, and resampling step.

In prediction phase, starting from the set of samples (where ) the transition model is applied to each sample and a new sample is drawn from . Thus, a new sample set is obtained that approximates the predictive probability density .

In the update phase, the observations are taken into account and each of the samples in is weighted according to its Euclidean distance from the observations according to the formula: , where is the new sample weight, is a design matrix that maps the state to observables, is a weighting factor, and is the observations.

Then all weights are normalized. The weighted sample set approximates the posterior PDF . In resampling step, the sample set (where ) is obtained by randomly selecting from the weighted set such that each sample is selected number of times proportional to its weight. Thus, the obtained still approximates the required .

5.3. Mixture Particle Filtering

If sensors worked without aiding source (measurement model), errors may be too large such that the sample set that was predicted by the system model will be very apart from the observations. This means that the PDFs and will not overlap and they are very apart from each other. Then, all the weights (which depend on the Euclidean distance) will be too small or tend to zero. Thus, the new PDF will not be accurate and very large number of particles will be required to cover this gap between the predicted states and the aiding source observation. To overcome this problem mixture PF was introduced [23]. In mixture PF, the idea is to add to the sample set some samples from the aiding observations (WiFi observations in this case). This assures better coverage of the state space with a much smaller number of samples than traditional PF. In [24], the importance weights of these new samples were calculated according to the probability that they came from the previous sample set and the latest system model output. The new samples weights are calculated using the formula , where is the mean of the predicted samples. The weights of the new sample set are normalized and the resampling step is implemented normally.

5.4. Fast Mixture Particle Filtering

The mixture PF is further optimized for real-time operation using the fast median-cut clustering algorithm developed by Atia et al. (2010) [25] applied to INS/GPS integration. In this paper, we extended the usage of the optimization to WiFi/RISS case since the weighting of those samples includes a large number of complex mathematical operations. The proposed optimization is to use a fast clustering algorithm (which is a modified fast version of median cut clustering [25]) to reduce the number of required calculations. Only the representative samples in the predicted sample set are used. This optimization step reduces the computation complexity needed in Mixture PF by 80%. In the work done in Atia et al. [25], Mixture PF iteration takes 0.0978 secs on Arm-Cortex A8 600 MHz CPU on WinCE Operating System.

5.5. Adaptive Mixture Particle Filter

In the weighting steps of Mixture PF, the weighting formulas and depend on Euclidean distance between observations (WiFi positions in our case) and (the predicted positions calculated by RISS in our case) and the weighting factors and . In this work, an adaptive mechanism is utilized by changing and dynamically at run-time according to conditions of motion as follows: in the early beginning of the navigation mission and shortly in motion after each stop during the trajectory, the RISS solution is more accurate due to the good short-term accuracy of RISS. Therefore, the weighting factor is set larger than giving more confidence to RISS output (the prediction). After a period of few seconds of continuous motion, more confidence is gradually given to the WiFi solution by increasing and decreasing gradually which, in turn, prevents the large RISS drifts. This adaptive mechanism maximizes the benefits from the good short-term RISS accuracy and the general consistent long-term accuracy of WiFi-positioning solution. This dynamic change of weighting factors of RISS output and WiFi output is illustrated in Figure 11.

5.6. Formulating WiFi/RISS Navigation System into Particle Filtering Problem
5.6.1. Initialization

For WiFi/RISS integration, the algorithm is initialized with samples from a Gaussian density with mean equivalent to the WiFi-positioning solution in static state because WiFi in this case is accurate [10, 11, 14]. This approximates the prior PDF .

5.6.2. Prediction

Predictive PDF is approximated by applying RISS mechanization equations in (1)–(5) on every sample in the prior PDF adding to the sensors measurements () a randomly generated noise with certain probability distribution (system noise).

5.6.3. Update

The posterior PDF is generated approximated by weighting the samples in the predictive PDF according to the Euclidean distance from the WiFi K-Nearest fingerprinting output given by (6) and the standard deviation of measurement noise . In this implementation, Gaussian distribution for both system and measurements noises is assumed.

5.7. Automatic Selection of Best WiFi Access Points for Optimized Positioning

Incorporating too large a number of WiFi APs may deteriorate the positioning accuracy and includes unnecessary computation time. The objective of the presented work is to identify the minimal set of APs in a Wi-Fi area with the highest positioning discrepancy power to be used for power patterns matching in a fingerprint-based Wi-Fi positioning system. Principle Component Analysis (PCA) may be used to reduce features dimensionality as done in [26]. However, PCA has two major drawbacks. The first is the expensive computation of covariance matrix, eigenvectors, and data transformation computation. Another drawback of PCA is that the new features are combinations of the original features. Thus, the physical meaning of original features is lost.

The canonical form of a radiomap is a table of rows by columns. Each row contains a known location and signal strength measurements (power pattern) from APs. Our strategy to reduce the feature dimensionality of the radiomap without the costly Principle Component Analysis and without transformations is to treat every data column as observations that need to be modeled using a small subset of the other data columns. This can be achieved using the following model: where is a set of size of basis functions that will be selected from the other columns set, and are coefficients calculated by optimization techniques such that the error is minimized. The problem then is reduced to a search in the space of columns to find columns that if they are used as basis functions in (9) they would achieve the minimum total mean square error over all data columns [27]. Finding such columns set is equivalent to finding the most informative “true” APs in the radiomap.

5.7.1. Fast Orthogonal Search (FOS)

In Orthogonal Search techniques [27], Gram-Schmidt procedure is used to replace the functions in (9) by a set of orthogonal basis functions where the model for a specific in (9) is represented by the following corresponding model: In orthogonal basis function space, the coefficient that minimizes the mean square error over the observations is given by [27] The overbar in (11) denotes the time average. The mean square error is given by where The reduction in mean square error resulting from adding a term is . The fast orthogonal search procedure [27] makes use of the fact that it is not necessary to create the orthogonal functions explicitly. Only their correlations with , the data , and with themselves are required.

5.7.2. FOS Feature Reduction of WiFi Radiomaps

In an by radiomap, the aim is to reduce columns from columns to . Thus, we have observations set and the model that needs to be optimized is given by (9). Significance of a data column is evaluated by adding it to the model and the total mean square error reduction over all data columns is calculated using (13). The column with the greatest RMSE reduction is selected. By eliminating orthogonalization, number of multiplications is greatly reduced. The complexity of the cross-correlations between all pairs of data columns is . The complexity of applying FOS mean square error reduction times is . Due to the fact that is much smaller than , the overall complexity is dominant by . By comparing this complexity with that of PCA, the term resulting from the eigenvectors computations is eliminated and the overhead of transformation is also eliminated.

6. Experiments and Results

6.1. Experimental Setup

A mobile robot equipped with a WiFi-enabled Dell Latitude laptop and the RISS system sensors arrangement was used to perform the experiments. This mobile robot is shown in Figure 12 and can be operated by a human operator. The gyroscope used in the experiment is part of an inertial measurement unit ADIS16300. The specifications of this gyroscope are shown in Table 1. The speed was measured using the robot wheels encoders’ circuit.

6.2. WiFi Radiomap Construction

The experiments were performed in an indoor area that does not have any GPS access. This indoor area is in Sixth floor in Electrical & Computer Engineering Department, Queen’s University, in Kingston, ON, Canada (see Figure 3). The area is 30 m × 30 m with flat floors. The radiomap used in this research was collected using the laptop on the mobile robot seen in Figure 12. This experiment’s area is shown in Figure 3. The WiFi signal strength from all visible WiFi access points was measured in 67 reference locations distributed in this area. After collecting the signal strength patterns from those 67 points, we got a radiomap of 67 points by a 132 unique MAC address. This radiomap will be referred to as “the raw radiomap.”

6.3. Online Trajectory Recording and Noise Filtering

An online trajectory data set was collected following the predefined trajectory shown in Figure 3. The robot was operated to follow this trajectory with different speeds. At each way- point, the reference location was recorded for accuracy and error calculations purposes. Software written in C language was developed and run on the Dell laptop on a windows XP system to collect online measurements from WiFi access points and from RISS system (speed and gyroscope readings). The collected measurements were processed by the integrated navigation algorithm and all data (raw measurements and navigation output) were saved in files for further processing and analysis. All readings were time-synchronized by the laptop processor clock value. So, whenever the laptop records a WiFi signal strength or speed and gyroscope readings, the software calls the function “GetTickCount ”to time-tag the measured signals. In order to filter out the noisy measurements from RISS system, a downsampling step was performed. Instead of working on the raw RISS measurements in the high rate (which is 100 Hz), the measurements were down-sampled to 50 Hz. The effect of this noise-filtering technique is shown in Figures 13 and 14.

6.4. WiFi-Positioning System Results

Using the raw radiomap as it is without FOS-feature reduction on the predefined trajectory shown in Figure 3, the K-NN positioning algorithm achieved an RMSE of 3.4 m. Additionally, Figures 7, 8, and 9 show how noisy and scattered the positioning output of this WiFi configuration is. To see the effect of optimizing the radiomap using FOS-based feature reduction algorithm, the algorithm was applied to reduce the number of unique MAC addresses from 132 to only 4 best MAC addresses. In this experiment, the data column corresponding to each WiFi access point may be selected if it achieves a mean square error reduction in the model of (9) greater than a threshold. This mean square error reduction threshold was adjusted such that after processing the whole 132 data columns we get a total number of selected WiFi access points of only 4. Those 4 APs selected by the FOS-feature reduction approach are shown in Figure 15. Figures 16, 17, and 18 show the WiFi-only FOS-optimized positioning solution output. The FOS-optimized solution achieved a better RMSE of 3.01 m with only 4 data columns of the radiomap (4 MAC addresses). In addition to achieving slightly better RMSE with fewer WiFi access points and less processing time, Figures 16 and 17 show that the scattered noisy solution and outliers are reduced in many portions of the trajectory.

6.5. RISS/WiFi Integrated System

The adaptive fast mixture PF was applied on the collected WiFi measurements and RISS sensors measurements. The integrated RISS/WiFi system output is shown in Figures 19, 20, 21, and 22. Figures 19 and 20 show the North and East position output, respectively. Since we don’t have an accurate reference solution indoors (note that GPS is not available indoors), the reference solution is plotted at the way-points and these way-points are connected which gives a general shape of the reference trajectory. The drifts of RISS system output and the WiFi noisy scattered output are clearly shown in Figures 19, 20, and 22. Figures 19 and 20 show that the integration between RISS and WiFi systems not only improves the overall accuracy and reduces RISS drifts, but also smooths and filters out the noisy scattered output resulting from WiFi noisy signal strength effect. Figure 21 shows the 2D position components confidence intervals. Figure 22 show the 2D solution from all systems configurations at the way-points only. The total RMSE achieved by integrating both RISS and WiFi is 1.6 meters. Comparing to RISS only accuracy (4.4743 m) and WiFi only accuracy (3.01 m), the integration between WiFi and RISS systems reduced the RMSE by approximately 40%. Figure 23 shows the cumulative error percentage which shows that the integrated WiFi/RISS navigation system achieves an accuracy of 1 meter for 70% of the time. Table 2 shows a summary of RMSE and maximum positioning error for each system configuration individually and for the integrated system.

7. Conclusions

In this work, a WiFi-Assisted RISS Navigation system for indoor positioning was introduced. Two main contributions were introduced. The first contribution is the proposing of an adaptive fast mixture particle filtering state estimation for integrating WiFi fingerprint-based positioning with RISS navigation system. The aim was to make use of the reliable short-term accuracy of RISS under the general accurate guidance of the WiFi positioning. Particle Filter was necessary in this work due to the low-cost MEMS-based RISS sensors and the noisy indoor WiFi signal strength which introduce a high nonlinearity and non-Gaussian nature to systems models. This nonlinearity and non-Gaussian nature of signal prevents the usage of Kalman Filter as a systems integration approach. Comparing the results of this work with those in [16] in which a Kalman Filter is used, it is obvious that particle filtering outperforms Kalman Filter in this context. Additionally, by utilizing particle filtering with adaptive weighting technique, benefits of integrating both systems are maximized. The second main contribution of this work is the automatic fast selection of best WiFi wireless access points for better fingerprint positioning. Results showed that integrating both systems removed the large RISS drifts and smoothed the noisy scattered WiFi-positioning results. Results showed also the suitability of the system for indoor accurate positioning where no GPS or any other external accurate satellite-based positioning system exists.