Fuzzy Logic Type-2 Based Wireless Indoor Localization System for Navigation of Visually Impaired People in Buildings

The ability to precisely locate and navigate a partially impaired or a blind person within a building is increasingly important for a wide variety of public safety and localization services. In this paper, we explore indoor localization algorithms using Bluetooth Low Energy (BLE) beacons. We propose using the BLE beacon’s received signal strength indication (RSSI) and the geometric distance from the current beacon to the fingerprint point in the framework of fuzzy logic for calculating the Euclidean distance for the subsequent determination of location. According to our results, the fingerprinting algorithm with fuzzy logic type-2 (hesitant fuzzy sets) is fit for use as an indoor localization method with BLE beacons. The average error of localization is only 0.43 m, and the algorithm obtains a navigation precision of 98.2 ± 1%. This precision confirms that the algorithms provide great aid to a visually impaired person in unknown spaces, especially those designed without physical tactile guides, as confirmed by low Fréchet and Hausdorff distance values and high navigation efficiency index (NEI) scores.


Introduction
Currently, there is increasing interest in obtaining information about the location of an object, especially in the area of navigation solutions for visually deficient or impaired people [1]. The range of services will expand significantly if a user's location information can be provided. The location-based services refer to applications that depend on the user's location to provide services in various categories, including navigation and tracking, leading to the enormous social and economic potential of indoor positioning services (IPS). Adaptive navigation technologies can enhance indoor way finding by visually impaired people [2]. Unfortunately, the Global Positioning System (GPS) technology does not specify whether a location is close to walls, buildings, trees, buildings, and subways, as the power of the GPS satellite signal is weak, making it unusable for indoor GPS localization. It is common to use WiFi hotspots for detecting location in the indoor environment (such as office buildings, industrial facilities, or smart homes). However, since walls are obstacles that affect the signal WiFi access points, that data mechanism is not effective. In this case, the quantity and location of WiFi access points are very important when using wireless technology; moreover, such a solution is costly. WiFi-based fingerprinting can achieve good accuracy (up to 1.21 m with an accuracy of 98%), but it is slower error of 3.135 m for KNN, and 4.99 m for PDR. A similar method in combination with the fingerprint algorithm allowed a reduction of around 37% [28]. Xu et al. [29] proposed using a grid-based indoor model to create a floor plan to track indoor location with an average accuracy of 92%. The RSSI combination method applied on BLE beacons with cartographic information without using the value of the beacon distance showed an error rate of 1.6 m [30].
Infrastructure-less approaches require no support from the existing infrastructures or networks such as internet access points (APs). For example, Jeong et al. [31] used only a smartphone as a mobile beacon that is capable of tracking its own position by using its motion sensor data. The smartphone broadcasts short-distance beacon messages and collects response messages from neighboring Internet of Things (IoT) devices along with the message's signal strength and its position, thus obtaining less than a 20-cm position error in a real-world setting. Link et al. [32] adopted sequence alignment algorithms from the field of bioinformatics for the accurate localization of a subject using only accelerometer and compass sensor data from a smartphone.
The fingerprinting technique, which has been used for both infrastructure-based and infrastructure-less approaches, involves the use of measurements (aka fingerprints) of some physical quantity such as received signal strength indication (RSSI). Tomazic et al. [33] improved the fingerprinting method with the interval fuzzy model to calculate the confidence interval for the k-nearest neighbors (kNN) search in the database of fingerprints, thus achieving an improvement of localization results by 40%. Dari et al. [34] used the received signal strength (RSS) received from the access point (AP), and applied the location fingerprint technique using the features of RSS's fingerprint, while the position was determined by the k-nearest neighbor (KNN) method. Cha and Xiaoran [35] used Naïve Bayes and WiFi fingerprinting for indoor localization. The router is used as the generator of the WiFi signal, the Naive Bayes models train the data, and the server calculates the position, reaching an accuracy of more than 80%. Raspopoulos [36] used device-independent radio maps generated by deterministic channel modeling through three-dimensional (3D) ray tracing (RT) for WiFi RSSI-based fingerprinting. Song et al. [37] proposed a channel state information (CSI) amplitude fingerprinting-based localization algorithm and multidimensional scaling (MDS) to calculate the Euclidean distance and time-reversal resonating strength (TRRS) between target and reference points. Finally, the KNN algorithm was used for location estimation. The final estimated position is obtained by the results of MDS and KNN, which reduces the positioning error. Subedi and Pyun [38] improved traditional fingerprinting localization by combining it with weighted centroid localization (WCL), which allowed reducing the number of required fingerprint reference points by more than 40% while maintaining a similar localization error.
Surrounding walls, equipment, and obstacles, including human bodies, can attenuate and distort wireless positioning signals. The problem of obstacles was addressed in Wang et al. [39]. The authors estimated the distance using the time-of-arrival (TOA) measurement model and applied residual analysis to identify the non-line-of-sight (NLOS) error. Finally, the particle swarm optimization with a constriction factor (PSO-C) was used to compute the position. A method to detect and prevent collisions with obstacles, based on the Kalman filter algorithm with time stamps (TSM-KF) using an RGB-Depth (RGB-D) camera was suggested by [40]. Deng et al. [41] focused on the problem of the body-shadowing impairment of RSS-based positioning, and derived a mathematical relation between the body-shadowing effect and positioning error.
The use of multiple data sources may require employing data fusion to produce more consistent and accurate results. Al-Qudsi et al. [42] performed a fusion of data from a multi-band frequency modulated continuous wave (FMCW) radar system using a particle filter-based tracking method, and achieved a positioning error of less than 17 cm and 31 cm for outdoor and indoor conditions, respectively, outperforming the commercial systems. Seco and Jimenez [43] combined the RSS of RF signals emitted from known location beacons together with combined with pedestrian dead reckoning (PDR) estimates of user walking. A centralized cooperative particle filter (PF) was applied to improve the localization result, reaching a location error of 1.6 m. Widyawan et al. [44] employed  [45], continuous feature scaling and outlier deletion [46], collaborative localization using information from multiple nodes [47], error correction using collision avoidance velocity and map-aided inertial dead reckoning (DR) [48], probabilistic fingerprint (P-FP) using the probability density functions of the received signal strength algorithm (RSSA) [49], the use of optimization algorithms to decrease the localization error considering different RSS thresholds for hybrid indoor positioning [50], and particle swarm optimization (PSO) for fitting the signal attenuation curve, thus allowing the developed parametric model to locate the user's position with the standard deviation of positioning of 1.15 m [51].
For a survey of the remaining works in the area, the readers can consult the recent surveys in [52][53][54].
In our previous article [55], we presented the results of a series of experiments using signal strength received from the Bluetooth Low Energy (BLE) beacons and applied various positioning algorithms such as proximity, centroid localization, weighed-centroid localization, fingerprinting, etc. to determine the effect on positioning error. Then, we proposed a fuzzy logic [56]-based scheme to select the most fitting positioning algorithm depending upon the strength of the signal, the number of beacons available, and the size of the room.
In this paper, we combined fuzzy logic type-2 for indoor positioning in the real-world environment, allowing a flexibility of complex environments (glass/metal corridors) such as our test building. We have adopted multi-fuzzy sets-based membership location distance methods and compared the results of using fuzzy logic type-1 and fuzzy logic type-2 with those obtained without using fuzzy logic.

Model of Indoor Localization
Our indoor localization model is based around a smartphone for full and complete processing. The system selects the reference data for a building (site location) based on a valid GPS coordinate, as data from a mobile network transferred using General Packet Radio Services (GPRS) can quite accurately identify the exact building. Once started, the algorithm constantly reads data from environmental sensors (WiFi and BLE beacons). The model of the environment includes several beacons and a smartphone as the receiver. Without loss of generality, the space is regarded as a flat environment in which there are interferences from walls, floors, diverse signals, etc. Three versions of the fingerprinting algorithm will be considered: (1) without using fuzzy logic, (2) using fuzzy logic type-1; and (3) using fuzzy KNN and fuzzy logic type-2. Once the location is identified or a change is detected (motion), a spoken prompt is given to a user telling his location. All of the system processing was done on an Android smartphone. The overall model is illustrated in Figure 1. al. [44] employed the backtracking particle filter (BPF) to improve indoor localization performance, achieving up to 25% improvement. An improvement of the results of localization can include a variety of the techniques. The examples include error compensation for the body-shadowing effect [45], continuous feature scaling and outlier deletion [46], collaborative localization using information from multiple nodes [47], error correction using collision avoidance velocity and map-aided inertial dead reckoning (DR) [48], probabilistic fingerprint (P-FP) using the probability density functions of the received signal strength algorithm (RSSA) [49], the use of optimization algorithms to decrease the localization error considering different RSS thresholds for hybrid indoor positioning [50], and particle swarm optimization (PSO) for fitting the signal attenuation curve, thus allowing the developed parametric model to locate the user's position with the standard deviation of positioning of 1.15 m [51].
For a survey of the remaining works in the area, the readers can consult the recent surveys in [52][53][54].
In our previous article [55], we presented the results of a series of experiments using signal strength received from the Bluetooth Low Energy (BLE) beacons and applied various positioning algorithms such as proximity, centroid localization, weighed-centroid localization, fingerprinting, etc. to determine the effect on positioning error. Then, we proposed a fuzzy logic [56]-based scheme to select the most fitting positioning algorithm depending upon the strength of the signal, the number of beacons available, and the size of the room.
In this paper, we combined fuzzy logic type-2 for indoor positioning in the real-world environment, allowing a flexibility of complex environments (glass/metal corridors) such as our test building. We have adopted multi-fuzzy sets-based membership location distance methods and compared the results of using fuzzy logic type-1 and fuzzy logic type-2 with those obtained without using fuzzy logic.

Model of Indoor Localization
Our indoor localization model is based around a smartphone for full and complete processing. The system selects the reference data for a building (site location) based on a valid GPS coordinate, as data from a mobile network transferred using General Packet Radio Services (GPRS) can quite accurately identify the exact building. Once started, the algorithm constantly reads data from environmental sensors (WiFi and BLE beacons). The model of the environment includes several beacons and a smartphone as the receiver. Without loss of generality, the space is regarded as a flat environment in which there are interferences from walls, floors, diverse signals, etc. Three versions of the fingerprinting algorithm will be considered: 1) without using fuzzy logic, 2) using fuzzy logic type-1; and 3) using fuzzy KNN and fuzzy logic type-2. Once the location is identified or a change is detected (motion), a spoken prompt is given to a user telling his location. All of the system processing was done on an Android smartphone. The overall model is illustrated in Figure 1.

Fingerprinting Localization
The algorithm [57] is based on the spatial signature signal differentiation. The location of the receiver is determined by comparing the currently measured signature signal power with signatures of location points pre-formed and stored as a database. Figure 2 shows the two phases of the algorithm:

•
The stage configuration environment. At this stage, the power signals of all the known active beacons are measured in pre-planned locations. The information collected is stored in a database with reference to the local coordinate space (assigned to specific rooms) or global coordinate space (assigned to a building).

•
Step positioning. At this stage, the signal power measurements made over the receiver are compared with the information stored in the database by means of an algorithm. The k-nearest neighbors algorithm is used [58].
signatures of location points pre-formed and stored as a database. Figure 2 shows the two phases of the algorithm: • The stage configuration environment. At this stage, the power signals of all the known active beacons are measured in pre-planned locations. The information collected is stored in a database with reference to the local coordinate space (assigned to specific rooms) or global coordinate space (assigned to a building).

•
Step positioning. At this stage, the signal power measurements made over the receiver are compared with the information stored in the database by means of an algorithm. The k-nearest neighbors algorithm is used [58].
When creating a fingerprint point, a scan and a collection of signals from beacons were performed within 10 s. The average RSSI signal for each beacon was calculated and saved to the set.
The average RSSI value for each beacon was calculated using the formula: where i RSSI is the signal strength of the i-th beacon, ij RSSI is the instantaneous power of the signal, and N is the number of measurements within 10 s of measurement.

K-Nearest Neighbors
Formula (1) is used to find the Euclidean distances between the stored data and real-time data: where i is i-th pre-planned location point; Pij is the RSS from the i-th beacon in the j-th pre-planned location point, which is stored in a database; and P'i the is real-time incoming RSS from the i-th beacon. When creating a fingerprint point, a scan and a collection of signals from beacons were performed within 10 s. The average RSSI signal for each beacon was calculated and saved to the set.
The average RSSI value for each beacon was calculated using the formula: where RSSI i is the signal strength of the i-th beacon, RSSI ij is the instantaneous power of the signal, and N is the number of measurements within 10 s of measurement.

K-Nearest Neighbors
Formula (1) is used to find the Euclidean distances between the stored data and real-time data: where i is i-th pre-planned location point; P ij is the RSS from the i-th beacon in the j-th pre-planned location point, which is stored in a database; and P' i the is real-time incoming RSS from the i-th beacon.
In the next step, one pre-planned location point is selected with the smallest Euclidean distance. The value of the coordinates of the pre-planned location points are assigned to the coordinates of the receiver. The k-nearest neighbors (KNN) algorithm is used for choosing a multitude of pre-planned location points. The nearest neighbor (NN) algorithm is a special case of KNN, when k = 1. The advantage of using multiple points is to improve the positioning accuracy. There is a possibility of using additional algorithms to approximate the location. The authors of [59] suggest using weighted centroid localization. They used k = 4. The coordinates of the receiver are found by: where X 0 , Y 0 are the Cartesian coordinates of the receiver; X i , Y i are the Cartesian coordinates of the i-th beacon; k is the number of pre-planned location points; and w i is the weight.

Fuzzy Logic Type-1
Fuzzy logic type-1 was implemented using multi-fuzzy sets [60] as an extension of traditional fuzzy set theory in terms of multi-membership location distance functions. Let X be a nonempty set, J be an indexing set, and L j : j ∈ J be a family of partially ordered sets. A multi-fuzzy set A in X is where h x is a nonempty closed interval. The indexing set J may be uncountable. The function µA = µ j j ∈ J, J = {1, 2, . . . , n} is the membership function of A, and Q j ∈ J L j is the value domain. The distance membership function µA = hµ 1 , µ 2 , . . . is a sequence having precisely n− terms and L j = [0, 1], then M n F S (X) denotes the set of all the multi-fuzzy sets in X.
Based on our previous research results presented in [55], extensive pre-experiments, and an evaluation of the fuzzy membership functions presented in [61], we use triangular membership functions for each linguistic variable. The values and type of the function were chosen heuristically. The simplified fuzzy rules are given in Table A1 in Appendix A, (for Euclidean distance), Table A2 (for Weights) in Appendix C, and illustrated in Figures 3 and 4. The fuzzifier is a triangular membership function. The inference engine is the Mamdani max-min. The defuzzifier is the height method.
distance. The value of the coordinates of the pre-planned location points are assigned to the coordinates of the receiver. The k-nearest neighbors (KNN) algorithm is used for choosing a multitude of pre-planned location points. The nearest neighbor (NN) algorithm is a special case of KNN, when k = 1. The advantage of using multiple points is to improve the positioning accuracy. There is a possibility of using additional algorithms to approximate the location. The authors of [59] suggest using weighted centroid localization. They used k = 4. The coordinates of the receiver are found by: where 0 X , 0 Y are the Cartesian coordinates of the receiver; i X , i Y are the Cartesian coordinates of the i-th beacon; k is the number of pre-planned location points; and i w is the weight.

Fuzzy Logic Type-1
Fuzzy logic type-1 was implemented using multi-fuzzy sets [60] as an extension of traditional fuzzy set theory in terms of multi-membership location distance functions. Let X be a nonempty set, J be an indexing set, and { } : j L j J ∈ be a family of partially ordered sets. A multi-fuzzy set , .
M F X denotes the set of all the multi-fuzzy sets in . X Based on our previous research results presented in [55], extensive pre-experiments, and an evaluation of the fuzzy membership functions presented in [61], we use triangular membership functions for each linguistic variable. The values and type of the function were chosen heuristically. The simplified fuzzy rules are given in Table A1 in Appendix A, (for Euclidean distance), Table A2 (for Weights) in Appendix C, and illustrated in Figures 3 and 4. The fuzzifier is a triangular membership function. The inference engine is the Mamdani max-min. The defuzzifier is the height method.    The coordinates of the receiver are calculated by the following formulas: However, experimentally, we found that when calculating Euclidean distance (RSSI values) at points that are in the diametrically opposite direction, they have the same value. Thus, an error in accuracy increases in the stage of coordinates determination using KNN for k > 1.
Here, we propose a new fuzzy mechanism for calculating the Euclidean distance for the subsequent location determination (Equation (4)). It is similar to the Mahalanobis distance; however, instead of the weights purely defined by the data from the covariance matrix, more flexibility is introduced, which allows achieving better results in the end. The formula for calculating the distance is: where i is the i-th pre-planned location point; ij P is the RSS from the i-th beacon in the j-th pre-planned location point, which is stored in a database; ′ i P is the real-time incoming RSS from the i-th beacon; and ij w is the additional weight obtained by the fuzzy inference system (FIS).
We propose using the BLE beacon signal strength and the geometric distance from the current beacon to the fingerprint point. The strength of the signal depends upon many factors, such as competing signals, and the material and composition of physical barriers (such as walls, etc.) [62]; therefore, it is difficult to model it reliably. The crisp output variable with the weight of Euclidean The fuzzy rules are given in Appendix B and the linguistic variables are given in Tables A2-A4 of Appendix C. We used triangular membership functions for each linguistic variable, while variable values were selected based on our previous research reported in [55]. The membership functions and fuzzy singleton are shown in Figures 5-7, respectively. The coordinates of the receiver are calculated by the following formulas: However, experimentally, we found that when calculating Euclidean distance (RSSI values) at points that are in the diametrically opposite direction, they have the same value. Thus, an error in accuracy increases in the stage of coordinates determination using KNN for k > 1.
Here, we propose a new fuzzy mechanism for calculating the Euclidean distance for the subsequent location determination (Equation (4)). It is similar to the Mahalanobis distance; however, instead of the weights purely defined by the data from the covariance matrix, more flexibility is introduced, which allows achieving better results in the end. The formula for calculating the distance is: where i is the i-th pre-planned location point; P ij is the RSS from the i-th beacon in the j-th pre-planned location point, which is stored in a database; P i is the real-time incoming RSS from the i-th beacon; and w ij is the additional weight obtained by the fuzzy inference system (FIS).
We propose using the BLE beacon signal strength and the geometric distance from the current beacon to the fingerprint point. The strength of the signal depends upon many factors, such as competing signals, and the material and composition of physical barriers (such as walls, etc.) [62]; therefore, it is difficult to model it reliably. The crisp output variable with the weight of Euclidean distances is denoted by w. The fuzzy rules are given in Appendix B and the linguistic variables are given in Tables A2-A4 of Appendix C. We used triangular membership functions for each linguistic variable, while variable values were selected based on our previous research reported in [55]. The membership functions and fuzzy singleton are shown in Figures 5-7, respectively.   Since the values of the Euclidean distance will be floated in this implementation, we proposed using fuzzy logic type-2 for flexible positioning system adjustment (see the next section).    Since the values of the Euclidean distance will be floated in this implementation, we proposed using fuzzy logic type-2 for flexible positioning system adjustment (see the next section).   Since the values of the Euclidean distance will be floated in this implementation, we proposed using fuzzy logic type-2 for flexible positioning system adjustment (see the next section). Since the values of the Euclidean distance will be floated in this implementation, we proposed using fuzzy logic type-2 for flexible positioning system adjustment (see the next section). Fuzzy logic type-2 rules were built by introducing a hesitant fuzzy set approach [63]. The fuzzifier was based on upper and lower type-1 triangular membership functions. The inference engine was the Mamdani max-min. The defuzzifier is a centroid method. In the implementation, we can define a hesitant fuzzy set as a function that maps the signal source elements in the area to a set of membership values. If X is a reference set, then a function h when applied to a hesitant fuzzy set X returns a subset of [0, 1]. Let M = µ 1 , µ 2 , . . . , µ N be a set of N membership functions. Then, we can define the hesitant fuzzy set associated with M, as: In the case of the output of our system, say that R is a set defined in Appendix A. The outcome of the fuzzy rule-based system with the input variable x 0 is: where fuzzy sets A i and B i are the memberships in the distance domains, andŷ(x 0 ) is the hesitant fuzzy set associated with µA i (x 0 ) ∧ B i i . The end rules are given in Table A6 of Appendix C and illustrated in Figure 8. Fuzzy logic type-2 rules were built by introducing a hesitant fuzzy set approach [63]. The fuzzifier was based on upper and lower type-1 triangular membership functions. The inference engine was the Mamdani max-min. The defuzzifier is a centroid method. In the implementation, we can define a hesitant fuzzy set as a function that maps the signal source elements in the area to a set of membership values. If X is a reference set, then a function h when applied to a hesitant fuzzy set X returns a subset of [ ] In the case of the output of our system, say that R is a set defined in Appendix A. The outcome of the fuzzy rule-based system with the input variable 0 x is: where fuzzy sets The end rules are given in Table A6 of Appendix C and illustrated in Figure 8.

Evaluation
To evaluate the error of the measured navigation path with respect to the true navigation path, we use Hausdorff and Fréchet distance metrics normalized by the total length of the true path and multiplied by 100% (relative Hausdorff and relative Fréchet). The Fréchet distance measures the shape difference and distance between two trajectories [64], while the Hausdorff distance is the largest distance of a set representing curve points to the closest point in another set of points [65]. The Hausdorff and Fréchet distances are better suited to measure the geometric similarity between paths than the Euclidean distance.

Evaluation
To evaluate the error of the measured navigation path with respect to the true navigation path, we use Hausdorff and Fréchet distance metrics normalized by the total length of the true path and multiplied by 100% (relative Hausdorff and relative Fréchet). The Fréchet distance measures the shape difference and distance between two trajectories [64], while the Hausdorff distance is the largest distance of a set representing curve points to the closest point in another set of points [65]. The Hausdorff and Fréchet distances are better suited to measure the geometric similarity between paths than the Euclidean distance.
To evaluate the positioning error, we use the cumulative distribution function (CDF) of the positioning errors. The CDF value has been used previously to evaluate the distribution of the positioning errors [66].
We have evaluated the navigated paths using a navigation efficiency index (NEI) based on [67]. The NEI is the ratio between the actual path traveled and the target path, which is considered to be optimal. The average NEI is calculated on sub-paths, i.e., a part of the path taken by the subject while walking from the beginning to the end of the path as follows: where N is the number of sub-paths, S i is a sub-path, L A is the actual length traveled, and L O is the optimal length of S i . Following [68], we also calculate the relationship between localization error and beacon density. The relationship is calculated by removing the beacons one by one and recalculating the average localization error.

Experiment Setting
The fingerprinting localization algorithm was tested in an environment where a room uses six beacons. The BLE beacon has been configured to have a transmission power (Tx) of 4 dBm, and the advertising interval (i.e., an interval between subsequent transmissions of the advertising packet by the beacon) of 200 ms. The beacons are mounted on walls at the same height. We have removed all the objects that could reflect or absorb signals from the room. The room is a specific environment of 4.64 m × 4.64 m, which has been used to test the algorithms. Beacons were installed within the three-meter range, as it was found to produce the best results in our previous experiments [55], i.e., the distance between the beacons in the room did not exceed three meters. Installation sites were selected in such a way that they were not covered by other objects. Changes in the signal from overlapping beacons were also considered.

Results of Fingerprinting Localization
During the experiments, the points were randomly chosen, which ought to determine the location of a blind person striving across the environment. Figure 9 illustrates the visual result of the fingerprinting localization algorithm performed in a real-world environment. To evaluate the positioning error, we use the cumulative distribution function (CDF) of the positioning errors. The CDF value has been used previously to evaluate the distribution of the positioning errors [66].
We have evaluated the navigated paths using a navigation efficiency index (NEI) based on [67]. The NEI is the ratio between the actual path traveled and the target path, which is considered to be optimal. The average NEI is calculated on sub-paths, i.e., a part of the path taken by the subject while walking from the beginning to the end of the path as follows: where N is the number of sub-paths, i S is a sub-path, A L is the actual length traveled, and O L is the optimal length of i S .
Following [68], we also calculate the relationship between localization error and beacon density. The relationship is calculated by removing the beacons one by one and recalculating the average localization error.

Experiment Setting
The fingerprinting localization algorithm was tested in an environment where a room uses six beacons. The BLE beacon has been configured to have a transmission power (Tx) of 4 dBm, and the advertising interval (i.e., an interval between subsequent transmissions of the advertising packet by the beacon) of 200 ms. The beacons are mounted on walls at the same height. We have removed all the objects that could reflect or absorb signals from the room. The room is a specific environment of 4.64 m × 4.64 m, which has been used to test the algorithms. Beacons were installed within the three-meter range, as it was found to produce the best results in our previous experiments [55], i.e., the distance between the beacons in the room did not exceed three meters. Installation sites were selected in such a way that they were not covered by other objects. Changes in the signal from overlapping beacons were also considered.

Results of Fingerprinting Localization
During the experiments, the points were randomly chosen, which ought to determine the location of a blind person striving across the environment. Figure 9 illustrates the visual result of the fingerprinting localization algorithm performed in a real-world environment.  The results of the fingerprinting localization algorithm using KNN, where k = 1, requires preliminary measurements, which are as follows: the average deviation from the actual position is equal to 0.31 m for the red point, 0.48 m for the green point, and 0.75 m for the blue point. The fingerprinting localization algorithm using fuzzy logic type-1, where k > 4, showed that the average deviation from the actual position is equal to 0.38 m for the red point, 0.78 m for the green point, and 0.95 m for the blue point. The fingerprinting localization algorithm using fuzzy logic type-2, where k > 4, shows that the average deviation from the actual position is equal to 0.34 m for the red point, 0.23 m for the green point, and 0.77 m for the blue point.
As we can see from Figure 10, the fuzzy logic type-2 based method for fingerprinting localization achieved an average error of 0.43 m, whereas in case of the non-fuzzy fingerprinting localization algorithm, the average error was 0.65 m, while other non-fuzzy methods (proximity [69], centroid [70], weighted centroid [71], (weight-compensated weighted centroid localization based on RSSI (WCWCL-RSSI) [72], and trilateration [73]) performed even worse (the results of non-fuzzy methods are reproduced from [55]). The results of the fingerprinting localization algorithm using KNN, where k = 1, requires preliminary measurements, which are as follows: the average deviation from the actual position is equal to 0.31 m for the red point, 0.48 m for the green point, and 0.75 m for the blue point. The fingerprinting localization algorithm using fuzzy logic type-1, where k > 4, showed that the average deviation from the actual position is equal to 0.38 m for the red point, 0.78 m for the green point, and 0.95 m for the blue point. The fingerprinting localization algorithm using fuzzy logic type-2, where k > 4, shows that the average deviation from the actual position is equal to 0.34 m for the red point, 0.23 m for the green point, and 0.77 m for the blue point.
As we can see from Figure 10, the fuzzy logic type-2 based method for fingerprinting localization achieved an average error of 0.43 m, whereas in case of the non-fuzzy fingerprinting localization algorithm, the average error was 0.65 m, while other non-fuzzy methods (proximity [69], centroid [70], weighted centroid [71], (weight-compensated weighted centroid localization based on RSSI (WCWCL-RSSI) [72], and trilateration [73]) performed even worse (the results of non-fuzzy methods are reproduced from [55]).

Real-World Experiment
The system was tested with a simple scenario of navigating a corridor and the working environments of our location in the Santaka Valley building, Kaunas, Lithuania. The rooms in the upper row were 3.5 × 4.5 meters. The rooms in the bottom row were 3.5 × 6.5 meters. Two walls (entry) and the window were made by aluminum-framed glass, while the other two were composed of sound insulated plasterboard sandwich (with a metal construction in between). All the rooms had operational computing and other digital equipment, as the research aim was to investigate the usability of our method in realistic conditions. For indoor positioning, four Bluetooth Estimote beacons were used (we followed the one beacon per wall rule). Each one was mounted at a height of 1.5 m, opposite of each other (see Figure 11). The developed system indicated a distance to the wall and an opening space, as well as the identification number (ID) of the current room or area, all assisting a person with identifying his or her location. The ground truth was established using an overhead mounted camera, while the true path was registered by following the center of the subject's head.
For the task of path following (see Figure 11), we achieved a navigation precision of 98.2 ± 1%.

Real-World Experiment
The system was tested with a simple scenario of navigating a corridor and the working environments of our location in the Santaka Valley building, Kaunas, Lithuania. The rooms in the upper row were 3.5 × 4.5 m. The rooms in the bottom row were 3.5 × 6.5 m. Two walls (entry) and the window were made by aluminum-framed glass, while the other two were composed of sound insulated plasterboard sandwich (with a metal construction in between). All the rooms had operational computing and other digital equipment, as the research aim was to investigate the usability of our method in realistic conditions. For indoor positioning, four Bluetooth Estimote beacons were used (we followed the one beacon per wall rule). Each one was mounted at a height of 1.5 m, opposite of each other (see Figure 11). The developed system indicated a distance to the wall and an opening space, as well as the identification number (ID) of the current room or area, all assisting a person with identifying his or her location. The ground truth was established using an overhead mounted camera, while the true path was registered by following the center of the subject's head.
For the task of path following (see Figure 11), we achieved a navigation precision of 98.2 ± 1%. Thirty-two subjects (17 male, 15 female, aged 19-45 years) were enrolled for the experiments. All the subjects were healthy people without known motoric disorders. The experiment consisted of two sessions. In first session, the subjects were standing in one location without movement for 5 min in the predefined positions (eight-inside rooms, three-at the corridor between the rooms), and their location was established and compared with and without fuzzy logic rules ( Figure 12). In the second session, the point of origin was marked in the room at the end of the corridor, and 20 two-dimensional (2D) points of measure (x and y) among the path were marked on the floor for reference (similarly as in Microsoft Indoor Localization Competition [74]). The ground truth measurements of the evaluation points were set using a measuring tape and a 90° cross-angled laser level. The accuracy of each reference point was no more than a millimeter per 5 m. The subjects were walking blindfolded while only listening to navigational instructions (go, stop, turn left/right) to always follow the same predefined path of the reference points (see Figure 13). Thirty-two subjects (17 male, 15 female, aged 19-45 years) were enrolled for the experiments. All the subjects were healthy people without known motoric disorders. The experiment consisted of two sessions. In first session, the subjects were standing in one location without movement for 5 min in the predefined positions (eight-inside rooms, three-at the corridor between the rooms), and their location was established and compared with and without fuzzy logic rules ( Figure 12). Thirty-two subjects (17 male, 15 female, aged 19-45 years) were enrolled for the experiments. All the subjects were healthy people without known motoric disorders. The experiment consisted of two sessions. In first session, the subjects were standing in one location without movement for 5 min in the predefined positions (eight-inside rooms, three-at the corridor between the rooms), and their location was established and compared with and without fuzzy logic rules ( Figure 12). In the second session, the point of origin was marked in the room at the end of the corridor, and 20 two-dimensional (2D) points of measure (x and y) among the path were marked on the floor for reference (similarly as in Microsoft Indoor Localization Competition [74]). The ground truth measurements of the evaluation points were set using a measuring tape and a 90° cross-angled laser level. The accuracy of each reference point was no more than a millimeter per 5 m. The subjects were walking blindfolded while only listening to navigational instructions (go, stop, turn left/right) to always follow the same predefined path of the reference points (see Figure 13). In the second session, the point of origin was marked in the room at the end of the corridor, and 20 two-dimensional (2D) points of measure (x and y) among the path were marked on the floor for reference (similarly as in Microsoft Indoor Localization Competition [74]). The ground truth measurements of the evaluation points were set using a measuring tape and a 90 • cross-angled laser level. The accuracy of each reference point was no more than a millimeter per 5 m. The subjects were walking blindfolded while only listening to navigational instructions (go, stop, turn left/right) to always follow the same predefined path of the reference points (see Figure 13). The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors (defined as the Euclidean distance between the true and reported coordinates) are represented in Figure 14. We have remeasured the same experiment walking non-blindfolded, but instructing participants to visually follow the path on the floor (placing feet directly on the contrasting tape). The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors are represented in Figure 15. No statistically significant difference (using the ANOVA test) between the results of the two experiments was found.  The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors (defined as the Euclidean distance between the true and reported coordinates) are represented in Figure 14. The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors (defined as the Euclidean distance between the true and reported coordinates) are represented in Figure 14. We have remeasured the same experiment walking non-blindfolded, but instructing participants to visually follow the path on the floor (placing feet directly on the contrasting tape). The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors are represented in Figure 15. No statistically significant difference (using the ANOVA test) between the results of the two experiments was found.  We have remeasured the same experiment walking non-blindfolded, but instructing participants to visually follow the path on the floor (placing feet directly on the contrasting tape). The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors are represented in Figure 15. No statistically significant difference (using the ANOVA test) between the results of the two experiments was found. We have remeasured the same experiment walking non-blindfolded, but instructing participants to visually follow the path on the floor (placing feet directly on the contrasting tape). The established positions on a planned walking path versus the "true" subject positions on the walking path and corresponding errors are represented in Figure 15. No statistically significant difference (using the ANOVA test) between the results of the two experiments was found.

Evaluation
The measurement results are presented in Figure 16. The average error distance metrics do not exceed 0.27%, while the maximal error does not exceed 0.45%.

Evaluation
The measurement results are presented in Figure 16. The average error distance metrics do not exceed 0.27%, while the maximal error does not exceed 0.45%.   We have evaluated the navigated paths using a navigation efficiency index (NEI). In this case, we had the main path divided into 10 sub-paths. The results are given in Figures 18 and 19. Note that for some sub-paths, the NEI may be higher than one, because the subjects are allowed to take

Evaluation
The measurement results are presented in Figure 16. The average error distance metrics do not exceed 0.27%, while the maximal error does not exceed 0.45%.   We have evaluated the navigated paths using a navigation efficiency index (NEI). In this case, we had the main path divided into 10 sub-paths. The results are given in Figures 18 and 19. Note that for some sub-paths, the NEI may be higher than one, because the subjects are allowed to take shortcuts instead following the predefined path. The measured NEI score shows that the usability of this system is indeed acceptable in the tested indoor navigation scenarios. We have evaluated the navigated paths using a navigation efficiency index (NEI). In this case, we had the main path divided into 10 sub-paths. The results are given in Figures 18 and 19. Note that for some sub-paths, the NEI may be higher than one, because the subjects are allowed to take shortcuts instead following the predefined path. The measured NEI score shows that the usability of this system is indeed acceptable in the tested indoor navigation scenarios.  Following [68], we removed the beacons one by one and recalculated the average localization error to find the relationship between the localization error and beacon density. The results show that the average localization error is increasing as the density of beacons decreases (see Figure 20).   Following [68], we removed the beacons one by one and recalculated the average localization error to find the relationship between the localization error and beacon density. The results show that the average localization error is increasing as the density of beacons decreases (see Figure 20).  Following [68], we removed the beacons one by one and recalculated the average localization error to find the relationship between the localization error and beacon density. The results show that the average localization error is increasing as the density of beacons decreases (see Figure 20).  Following [68], we removed the beacons one by one and recalculated the average localization error to find the relationship between the localization error and beacon density. The results show that the average localization error is increasing as the density of beacons decreases (see Figure 20).

Evaluation
Our results are comparable or better than the results of other indoor positioning approaches that also use RSSI fingerprinting. For a realistic scenario of subjects walking in a poor wireless environment with many obstructions, Sung et al. [75] achieved the average localization error of 71.63 cm using a sigma-point Kalman particle filter (SKPF) with iBeacons. Chen et al. [76] achieved an accumulated error of under 1 m using the unscented Kalman filter algorithm with smartphone-integrated WiFi positioning. Lee et al. [77] achieved a recognition accuracy of 97.5% while using WiFi fingerprinting and Random Forest (RF) regression with an Arduino smart watch. Kanaris et al. [78] achieved an accurate localization error of 2.33 m while using an enhanced KNN positioning algorithm with a combination of WiFi and BLE systems. Chen et al. [79] achieved an average localization error of 1.11 m (for steady state only) while using a weighted fusion algorithm combined with a k-nearest neighbors (KNN) and unsupervised heuristic algorithm. Bi et al. [80] obtained the mean error of 2.2 m with an adaptive weighted KNN and twice affinity propagation clustering.
The results of other authors in comparison with the current work are summarized in Table 1. Note that it is impossible to reproduce the real-life experimental conditions reported in other articles due to the very different test environments and equipment (sensing techniques) used in the respective works.

Concluding Remarks
The fingerprinting algorithm with fuzzy logic type-2 can be used as an indoor localization algorithm using Bluetooth Low Wnergy (BLE) beacons. The average error was 0.43 m (90% of measurements within 0.63 m), while an indoor navigation effectiveness of 98.2 ± 1% was achieved. The average error distance metrics of relative Hausdorff and relative Fréchet did not exceed 0.27%, while the maximal error did not exceed 0.45%, and the average navigation efficiency index (NEI) was higher than 86%. The fingerprinting localization requires pre-configuration, which is one of the main disadvantages of this method. Using a greater number of fingerprint points improves the result of the positioning. For larger rooms, more beacons are required for the correct operation of algorithms, while the maximum range of broadcasting in a real environment also should be taken into account.
The presented approach is scalable and cost effective. The system consists only of relatively cheap Bluetooth Low Energy (BLE) beacons and a smartphone app to perform computations and issue spoken commands to the subjects carrying the smartphone. In terms of usability, we consider this solution as a good choice as evidenced by the acceptable values of the NEI score for the indoor navigation scenarios tested. The presented indoor navigation method could be applied for guidance to the visually impaired in a wide variety of real-world buildings such as office buildings, hospitals, hotels, airports, and museums.
Future work will include the exploration and improvement of fuzzy logic rules to increase the indoor localization accuracy even more.