Hybrid Positioning for Smart Spaces: Proposal and Evaluation

: Positioning capabilities have become essential in context-aware user services, which make easier daily activities and let the emergence of new business models in the trendy area of smart cities. Thanks to wireless connection capabilities of smart mobile devices and the proliferation of wireless attachment points in buildings, several positioning systems have appeared in the last years to provide indoor positioning and complement GPS for outdoors. Wi-Fi ﬁngerprinting is one of the most remarkable approaches, although ongoing smart deployments in the area of smart cities can offer extra possibilities to exploit hybrid schemes, in which the ﬁnal location takes into account different positioning sources. In this paper we propose a positioning system that leverages common infrastructure and services already present in smart spaces to enhance indoor positioning. Thus, GPS and WiFi are complemented with access control services (i.e., ID card) or Bluetooth Low Energy beaconing, to determine the user location within a smart space. Better position estimations can be calculated by hybridizing the positioning information coming from different technologies, and a handover mechanism between technologies or algorithms is used exploiting semantic information saved in ﬁngerprints. The solution implemented is highly optimized by reducing tedious computation, by means of opportunistic selection of ﬁngerprints and ﬂoor change detection, and a battery saving subsystem reduces power consumption by disabling non-needed technologies. The proposal has been showcased over a smart campus deployment to check its real operation and assess the positioning accuracy, experiencing the noticeable advantage of integrating technologies usually available in smart spaces and reaching an average real error of 4.62 m.


Introduction
In the last decades, boosted by the appearance and proliferation of smartphones, many indoor positioning systems have been developed. The point in common in all of them has been the usage of existing infrastructures and technologies integrated in these devices for multiple purposes, facilitating the deployment and reducing costs. As a result, many positioning systems can coexist in the same terminal implementing hybrid approaches. In addition, when a base technology or algorithm must be chosen, a handover policy schema should be defined to get the best approximation of the real position. Technologies like WiFi, Bluetooth Low Energy (LE), and built-in movement sensors have been widely exploited to implement indoor positioning systems.
In recent years, new technologies related to smart spaces and Internet of Things (IoT) have appeared, presenting potential positioning capabilities. This strong relation between indoor positioning and IoT is stated in the work of Macagnano et al. [1], for instance. Access control systems and face recognition cameras are two representative examples that take profit of these new technologies. However, existing positioning systems do not exploit these new infrastructures to better estimate the location. Hence, one of our main contributions in this paper is the presentation of a hybrid and modular positioning system that uses, apart from the most common technologies present in smartphones, new technologies available in smart spaces.
Proximity and triangulation based algorithms using radio-frequency requires sensing the medium to compute location. Moreover, two-phase positioning algorithms like fingerprinting [2] also requires the creation of a radio-map in a first phase. At this stage a database is created storing reference points linking a determined position with sensed signal strength indicators (RSSIs) from surrounding access points or tags. In a second phase, the fingerprinting algorithm compares the current received RSSI using a matching algorithm to determine the closest reference point. However, the usage of all available technologies in smartphones and smart spaces for positioning purposes is not straightforward, and a proper platform able to integrate measurements and account for the error committed by each technology is necessary. This issue is even more complex when considering power constrains and mobility patterns of smartphones.
Our solution is designed to be used as a library to be easily incorporated in different applications and services. Due to the two-phase nature of some algorithms like Wi-Fi fingerprinting or even generic proximity to base stations, a training application has to be developed to prepare the target indoor spaces to let the system work properly. Here it is necessary to register the fingerprints and the installed base stations, such as WiFi access points or Bluetooth tags. In our case, this application has been developed for Android platform, as reference app that integrates and tests our positioning library developed in Java. An important contribution to the solution presented in this paper is the way different positioning technologies integrate to get not only better position estimations, but also a reduction of required computation effort and, hence, energy consumption, prolonging the life of smartphone batteries. This is implemented through an intelligent handover mechanism between technologies or algorithms, which is fed by extra semantics included in the fingerprints. Apart from supporting the position calculation, registered fingerprints indicate the indoor-outdoor transition areas, floor changing locations, and extensible fields to further suggest positioning technologies are not needed.
The paper is organized in the following parts. Section 2 presents most prominent related papers in the literature. An small survey of indoor positioning technologies is detailed in Section 3. The proposed architecture of our approach is given in Section 4. Section 5 showcases our implementation in a real-world testbed within a smart building and analyses the obtained results. Finally, Section 6 presents the conclusions and future research lines.

Related Work
Considering several technologies for indoor positioning are quite common in the recent literature, given that indoor spaces are gaining momentum with the relevance of smart buildings. For example, in [3] it is presented a framework where the system accepts new technologies in a modular fashion, but this work lacks full implementation and no evaluation tests are carried out. In addition, due to the age of the proposal (2012), new communication technologies such as Bluetooth LE or NFC are considered. Similar issues are found in the more recent contribution in [4], where NFC for indoor support is included, with the bid drawback of needing an important deployment of NFC tags to approximate indoor positions. Regarding switching between technologies, a handover procedure is also addressed in [5], presenting a similar approach to the one followed in the current paper, which is based on specific border zones that prepare the decision algorithm to select the next and most promising technology. This allows a seamless transition, since technologies like GPS need more time to warm-up. Another handover approach is introduced in [6], but focusing more on the accuracy estimation. Although GPS provides dilution of precision (DOP) information, for the case of Wi-Fi only the amount of available APs is used as accuracy measurement. A simpler approach is presented in [7], in which the handover triggering is performed taking into account the number of visible GPS satellites.
In our case, regarding indoor fingerprinting, the accuracy is computed on the basis of how the nearest fingerprints are distributed in the space, once the pattern matching algorithm is performed. According to [8], this accuracy estimation method has a good trade-off between error and computational cost.
Dead reckoning (DR) algorithms are very extended in the literature, but here some works that deal with multiple information sources are highlighted. For example, in [9] the DR algorithm is improved by the addition of landmarks to eliminate the cumulative error. No communication technologies are taken into account in this work, limiting the scope of the solution. The work presented in [10] suffers from the same limitation, but at least it proposes using digital maps and Bluetooth LE to perform DR drift corrections. These pedestrian DR proposals do not have the need to train the system, as it is the case of fingerprinting; however, they are not properly prepared to switch between other positioning technologies. Nevertheless, in [11] a handover mechanism similar to ours is considered, but technologies and algorithms are too coupled with the solution and the proposed DR algorithm is based on a good initial location approximation.
The solution proposed in [12] uses a promising handover algorithm for switching between indoor and outdoor technologies. This is achieved thanks to the light and magnetic measurements made by the smartphone sensors, selecting GPS technology for outdoors and the pedestrian dead reckoning (PDR) algorithm for indoors. Our approach also offers this differentiation between outdoor and indoor operation, but it is achieved by the addition of extra semantics in fingerprints that easily allow the identification of indoor and outdoor zones.
The issue with PDR approaches is the complexity of calculations and the need of continuously compensating cumulative errors. Due to this, PDR is not initially taken into account in our solution, but thanks to its modular design, it can be easily added in the future. This is a distinctive factor of our positioning system. It is considered as an open framework where multiple technologies and algorithms can coexist and contribute to improve accuracy. Moreover, infrastructure-based positioning technologies available in smart spaces, such us card-based authentication, are considered in our approach. Some extra technical advances are also included to provide history-based selection of potential fingerprints, multi-floor support, high-accuracy positioning using proximity to Bluetooth LE tags and WiFi APs, weighted positioning, and support of different mobile terminals with different radio sensibilities, among others.

Review of Indoor Positioning Technologies
Indoor positioning systems have been implemented thanks to different technologies. First, indoor systems started to use infrared signals [13], in which users are provided with badges that emit diffuse infrared signals and pre-installed infrared sensors detect emitters and report its approximate position. However, the usage of infrared implies interference from florescent lights and sunlight. To avoid these drawbacks, systems based in ultrasound signals [14,15] started to replace them, using ultrasound tags in a similar fashion. Due to ultrasounds are unable to penetrate walls and suffer from reflection interference, radio-frequency signals were proposed as an improvement, sometimes in combination with ultrasound signals, in order to implement time-of-flight trilateration techniques. With these, user terminals send both kinds of signal simultaneously and usually the infrastructure is in charge of computing the difference in arrival times to each receiver to determine a quite accurate position.
The previous positioning systems require the user to acquire additional hardware such as budges or tags. Therefore, more recent positioning systems [16] proposed the usage of hardware already present. Nowadays, everybody has a smartphone in the pocket, which are extremely equipped devices with good communication possibilities. Despite global navigation satellite systems like GPS, GLONASS, GALILEO and BEIDOU are also available in smartphones and offer enough accuracy for outdoors applications, satellite signals are too week to reach indoor spaces. Other radio-frequency technologies addressing general-purpose data communications, like Bluetooth, WiFi or 4G, among others, can be used for navigation purposes using a wide range of positioning algorithms.
The most relevant algorithms exploiting wireless communications capabilities of mobile devices are summarized next: • Proximity: This is the simplest way to calculate the position. It uses RSSI values sensed from well-known base stations, such as WiFi access points or Bluetooth emitters, which are compared to a reference signal level to estimate its proximity. Usually the RSSI 1m value measured at one meter of distance is considered as the baseline. This algorithm has a very low computational cost, but offers low accuracy depending on the distance and obstruction to the access points or tags.  [17]) and RSS-based methods are called lateration techniques [10,11]. The Angle of Arrival (AOA) estimation technique is considered a representative example of an angulation technique. Jun-Ho et al. [18] uses trilateration with BLE beacons distributed in hexagonal cells, for instance.

•
Fingerprinting: This is one of the most used algorithms in the literature. It is a two-phase algorithm that consists of, first, generating a radio-map with a set of reference points (fingerprints) with their RSSI measurements to surrounding transmitter like WiFi access points or Bluetooth LE tags. The second stage, which involves the real-time operation of the system, imply sensing the RSSI in communications with surrounding transmitters and then comparing with the fingerprints to find the nearest. Euclidean distance is the most usual method to search among fingerprints [19]. The output of the algorithm, i.e., the most similar fingerprint to current RSSI values, determines the position of the device. The density of reference points should consider a trade-off between accuracy and computational cost, as more reference points imply a better approximation at the expense of extra computational cost. Although the infrastructure can be already present for the case of WiFi, the high cost of the radio-map generation and maintenance should be also taken into account.

•
Dead Reckoning: Given that smartphones are usually provided with built-in gyroscopes and accelerometers, they can use orientation and acceleration data, respectively. A representative algorithm exploiting these capabilities is Dead Reckoning (DR). It consists of estimating the current position based on the last known position, movement direction and speed. The main disadvantage here is the accumulative error when computing new positions based on previous ones. This technique should be combined with another one that helps to eliminate the accumulated error and estimate and initial location. For instance, the work presented in Kang et al. [20] is a good representative of this positioning method. We expect to introduce similar PDR technology in our solution soon.
Emerging methods of measuring reference distances for indoor positioning are introduced in [21,22], where the usage of OFDM signals in combination with the properties of the Zadoff-Chu sequences achieves promising results. Another example is the work in [23], which exploits millimeter-wave (mmWave) combined with Machine Learning (ML) procedures to obtain excellent results.
With the deployment of new smart spaces crowded of sensors, cameras and services, new data sources for positioning are available. For example, in Anca Morar et al. [24] it is summarized some computer vision methods using cameras and QR codes. This is the line followed in the current paper: exploiting smart infrastructure to support indoor navigation. In particular, our implementation integrates an access control system based in ID cards to improve accuracy when card readers registered in the platform are used. In general, our work combines traditional radio-frequency positioning technologies with capabilities of smart environments and enrich fingerprinting knowledge with semantics about particular locations, to provide extra continuity, accuracy and support to reduce energy consumption of mobile devices using the system.

Overall Architecture
A collaborative/hybrid positioning approach has been designed on the basis of usual positioning sources (like cellular, GPS and wireless proximity) and some extra indoor positioning technologies and algorithms coming from smart spaces. This way, the most accurate location source will be chosen or a combination of them, improving the accuracy and availability of the system across different places. A graphical representation of how the main functions of the positioning system work is shown in Figure 1. Data retrieved from radio-frequency communication technologies coming from the same mobile device are combined with data received by smart infrastructures to compute the final position.

Smartphone
Smart spaces  Positioning technologies such as GPS or cellular, which provide a final position, directly input the decision module with the hybridization algorithm. In this case an accuracy approximation is usually provided by the same technology, such as the position quality indicators of GPS using the geometry of satellite signals. Cell ID carried out using cellular networks, as they are integrated in Android devices at least, also provide an accuracy estimation in meters. However, regarding measurements coming from short and medium-range communication technologies, the signal strength (RSSI) and ID of base stations (Wi-Fi access points and BLE tags) sensed from the surroundings are the input for state-of-the-art fingerprinting and proximity algorithms improved as explained in the next parts. These provide an estimated location together with a position accuracy indicator, which is used to check the most appropriate technology or algorithm.
Our architecture also puts the focus on energy saving, due to devices like smartphones are power constrained and use short-life batteries. Thanks to the hybridization carried out between GPS/Celular, with good performances outdoors, and WiFi/BLE based algorithms, the positioning system disable or enable GPS/Cellular positioning methods when the user is detected inside a building or near the exit, respectively. This can be detected using special fingerprints/BLE beacons located near the entry points of the building. Another energy saving measure have been added in the fingerprinting matching calculation, which is a CPU-intensive task consuming much energy. It is focused on filtering as many fingerprints as possible using the last reported position to only consider closer fingerprints of the same floor. This introduces the extra issue of detecting floor changes, but this is efficiently solved using special fingerprints/BLE beacons located close to stairs or lifts.
Once the position and accuracy information coming from all technologies and algorithms and smart infrastructure devices is received, a hybridization process is carried out to compute a final position and provide a combined estimation of the accuracy.

Fingerprinting Algorithm
The fingerprinting algorithm performs a pattern matching search comparing previously collected fingerprints (in a prior training stage) with current measurements. For the moment, a state-of-the-art deterministic approach [2] has been used for the matching method, using the Euclidean distance, but instead of a single fingerprint output, a set of the most similar fingerprints are considered, ordered by distance. This search is bounded within a configurable threshold radio (default value is 20 m) around the previous location, in order to offer significant results and save computational cost and energy consumption. The searching process is also carried out over fingerprints of the same floor when the user is indoors. As has been said, with the aim of supporting the change between floors, handover areas are modelled with flagged fingerprints. When the user is detected on these fingerprints, a vertical cylinder-based search is performed using the previously configured radio. Once the list of candidate fingerprints is obtained, a weighted position is calculated on the basis of its Euclidean closeness to the sensed radio environment. Finally, an estimation of the position accuracy is calculated using the "Best Candidate Set" method proposed in [8]. Taking into account only a set of closest fingerprints, this accuracy estimation is calculated as the mean of the euclidean distances between the closest fingerprint and the rest.

Proximity Algorithm
The proximity algorithm detects the closeness to a radio tag or a short/medium-range base station. In a previous phase, all base stations were registered in the system database, taking into account its geographical position and the signal strength received at a one-meter of distance (this is not required for BLE tags due to this 1-meter reference is included in the beacon messages). Depending on the technology and the communication range configured, when the signal strength of the detected base-stations/beacons are obtained in a scan process, the distance is approximated using the 1-meter reference. This calculation is finally translated into distances in meters, which let us know which base-station is the closest one. At this point we can estimate that the mobile device is positioned at the installation point of the base station or tag, with an estimation error equal to this calculated distance. The stronger the detected base-station signal, the more accurately the mobile device is located.

Smart Space Integration
From smart deployments including ID-card readers for door opening systems, a momentary but very accurate position can be obtained by knowing the installation point. In our case, the accuracy estimation is reduced proportionally to the average walking speed. Since people walk calmly between 1 and 2 m per second, we consider that the accuracy estimation is reduced by 1 m per second in the next 30 s after opening a door. As the access control and positioning systems are independent, the interaction between them is not straightforward. In order to let the smartphone know about a door opening event, a position monitoring online service has been deployed to receive the current position of different users with a certain periodicity. This could be useful for centralized control purposes. As depicted in Figure 1, when a door opening event occurs, the access control system notifies the position monitoring system with the user ID, the card reader ID and the timestamp of the event. The associated location is retrieved from the registered card readers database. Then, the ID-card driven location source returns a new position and its associated accuracy in order to be taken into account in the hybridization module to be combined with the rest of positioning data coming from the other technologies and algorithms.

Final Accuracy and Position Estimation
Position estimations coming from the different data sources are provided with a timestamp, an identifier of the technology used and the associated estimated accuracy. This way it is possible to know the accuracy level and validity time of the estimated position. Depending on hybridization policy scheme, the position estimations are combined to get a final location.
Our hybrid approach denotes the usage of different ways of approximating the user position, but the most important part is how they are combined to get a better approximation minimizing the error. It is determined by a set of predefined handover policies. Initially the handover policy was very simple, selecting the most accurate technology at each moment and discarding the rest. However, in a second stage of the development we realized that technologies can support each other to improve accuracy. The strategy followed is illustrated next, with a representative example about how fingerprinting can provide a valuable help to the proximity algorithm to reduce the error. Figure 2 shows a first case without combining technologies on the left. Here, the positioning system uses the Bluetooth beacon depicted in the figure to locate the person. The distance between the person and the beacon can be determined using the perceived signal strength. However, the positioning system is only able to figure out that the user is probably located at any point of the dashed blue circumference surrounding the beacon. As the mean position of all possibilities in a circumference is the middle point, the algorithm returns this location as result, with an accuracy/error equals to the calculated distance between the person and the beacon. In contrast, in the second case illustrated in Figure 2, due to the fact that Wi-Fi fingerprinting is integrated with Bluetooth proximity, in addition to the distance between the person and the beacon, the location of the nearest fingerprint can be used to choose a best estimate location within the circumference. Hence, as can be seen, the final error is greatly reduced. As we cannot know the exact value of this new error, the same accuracy/error blue circumference is also shown in Figure 2b  In addition, the handover mechanism has to support the effective change between technologies, in order to determine what is the main and supporting technologies at each moment. This approach can be used for other purposes like battery saving and preparing the technology beforehand. This is particularly interesting in our case when using GPS, since it can be disabled indoors and activated when the mobile device is detected at especially identified handover fingerprints close to the main door of the building.

Managing Hardware Diversity
Positioning systems using radio-map databases like fingerprinting have a notorious problem when different devices are used for both training and matching procedures, especially if RSSI-based matching algorithms are used. Under this situation, radio sensing varies with the hardware, so different RSSI levels are perceived by different devices. As not a single smartphone model is going to be used, it is necessary to scale measurements.
In our case, the application used to sense the radio environment is firstly configured with a simple test near well-known base stations or tags, in order to compute a correcting factor for the signal strength perceived. This scaling solution is proposed in [25], based on the assumption that the order of magnitude among RSSI measurements does not change between different smartphones. In other words, two different terminals at the same place will sense the signals of the same access points, not necessarily with the same intensity, but maintaining relative RSSI differences among measurements. Due to this, RSSI perceived from each access point or tag is only used to rank them. The fingerprinting matching algorithm uses the similarity of the rankings to estimate the distance of each fingerprint to the current position. An advantage of this approach is that the whole radio-map is valid for all devices, and only a minor calibration of the mobile device is necessary the first time the positioning system is used.

Modular Design
The presented framework is designed in a modular fashion, so the supported technologies and algorithms are considered as positioning sources. More technologies and algorithms can be easily incorporated to the system. For example, PDR algorithms offer good results and could complement the presented implementation based on proximity and fingerprinting.
As some positioning algorithms need the previous estimated position in order to apply optimization measures or calculate the next one, the rest of positioning sources allow to retrieve it properly from the system. This would be the case if PDR-based methods were developed. In our case, the fingerprinting algorithm uses the previous position to consider only a reduced subset of potentially matching fingerprints, reducing computational effort and saving energy, as it is shown in Figure 1.

Implementation and Evaluation of the Solution
A real testbed was deployed at the Computer Science Faculty (University of Murcia). As can be seen in Figure 3, real plans of the building floors are used to show the main architectural components and one of the validation tests. Prior to the tests, 26 WiFi APs were registered with their positions (latitude and longitude), as well as their measured RSSI at 1 meter of distance using the smartphone app. In addition, five BLE tags were installed at strategic points. For the sake of clarity, these tags were depicted with the technology symbol, while WiFi APs were included as points surrounded by waves. Only some of the doors of the first floor of the building were provided with contact-less card readers; that supposes approximately 34 of them. However we only used one in the trials in order not to compromise workmates privacy. It is shown in purple in the map on the right of the first floor, as can better be seen in the zoomed part of the map. The door opening system of the building was prepared to send positions to the positioning system when the user was identified by the ID card readers. The main part of the positioning system was implemented as a Java library used in an smartphone app, and a small server with a REST interface developed in PHP, which worked as a proxy between the door opening system of the building and our positioning system. The app could continuously collect radio measurements and generate position estimates. Since the scan of access points and BLE devices took approximately five seconds, a new position could not be outputted at a higher frequency, so the system provided the same estimated location several times if a higher frequency was requested. The system always responded immediately with the last estimated position available. Every estimation was accompanied with a time-stamp, so the user could estimate the age of every received approximation by the positioning system.

Validation
One of the trials performed using the positioning system is plotted on the building plans in Figure 3. A prior training for WiFi fingerprinting was performed using the smartphone app, creating a three-meter resolution grid (443 fingerprints in total) shown in the screen shots in Figure 4. Both real and estimated positions are shown. The real position is represented by a black X on the center of the screen, which was manually set constantly during the test by dragging the background map while the user walks. This way, the actual positionwas taken from the graphical interface at the same time the positioning system worked. The estimated position was marked with a message indicating the main technology used, being the center of a circumference that showed the estimated error. Other possible solutions with their associated error are also shown. For each estimated position, the actual location was also saved for later comparison and error calculation.  The test in Figure 3 started outside the building, and then the user entered the second floor to go downstairs. In this first stretch GPS was initially used, presenting a great error due to multi-path and signal obstruction of the metal facade of the building. Although enough satellites were received, between four and six, measurements still suffered from multi-path interference from the metal facade. The same phenomenon happened at the end of the path, when the user went outside the building. All the accuracy estimations returned by the different technologies were all expressed in meters, so they could be easily compared. Since the accuracy perceived by using WiFi fingerprinting was better than GPS in this moment, a technology handover was performed. Then the position accuracy was clearly better. Just before the stairs, a Bluetooth LE tag was detected and used with the proximity algorithm for a while, since it presented an error estimation better than WiFi fingerprinting. At the first floor the user went downstairs again to the ground floor, the moment captured in Figure 4b. At this floor, the user took the lift and returned to the first floor to walk within our department. Just going out the lift, a Bluetooth LE tag was detected, improving the floor change detection.
At the middle of this stretch the user entered the central corridor and was located with another Bluetooth LE tag. Then he entered a laboratory, a moment also captured in Figure 4a. The door opening infrastructure informed the positioning system about the user location. Since this position had an optimum accuracy level, it was selected as the most accurate position, but only for a while. The error produced by this position source was incremented by 1 m/s. Later, after continuing walking through the first floor, the user entered another lift to come back to the ground floor and go straight forward to the main door exit. Close to the lift, another Bluetooth LE tag helped in the user location and floor change detection. Finally, when the user was near the main door, the positioning system selected flagged fingerprints represented as yellow balls in Figure 4b, that notified an exit proximity. This event was used by the system to turn on the GPS positioning system in the user smartphone. Usually, smartphones automatically turn off the GPS capabilities to save battery life if no GPS signals are received, so our app had to turn it on again.

Accuracy Analysis
The distribution of errors committed by the positioning system in the previous test is plotted in Figures 5 and 6. Figure 5 includes all the position estimations returned by each technology during the test. On the contrary, Figure 6 only includes the most accurate position approximations at each moment, i.e., the final estimation chosen. The histogram labeled with the hybrid solution in Figure 5 includes the final error produced by the hybridization process, while the rest of histograms show the error produced by each technology itself. Hence, all data included in Figure 6 belong to the hybrid part of Figure 5.
As can be seen in Figure 6, most of the calculated positions by the hybridization process had an error below 10 m, and a great part below 5 m. Most of the high-impact errors were due to GPS, since it was used near the building with a metal-made facade that reflected part of the satellite signals. However, there were some errors between 10 and 20 m that were attributed to WiFi fingerprinting, which presented deviations when the user moved near the floor edges. This was due to the bad distribution of fingerprints surrounding the user at these locations. Although accuracy was highly impacted by the wide usage of WiFi fingerprinting, overall results were improved by the small areas where Bluetooth LE proximity and ID card readers were used. Here the errors detected were usually below 5 m. The Android Network positioning source was not used, since the accuracy value obtained for this technology (based on cell ID and WiFi proximity) was worse than the accuracy estimations of the rest of technologies. This is the reason why in Figure 6 there are not values in the NET histogram.
A summary of the error results for each technology is included in Table 1. From these results we can estate that the mean error of the system was 4.62 ± 0.31 m for our testbed involving a mix of technologies. It is important to remark the challenging scenario considered, where the GPS signal is partially disrupted by the metal-made building facade, increasing the overall error. These results could be further improved with a lower resolution grid for WiFi fingerprinting, deploying more Bluetooth LE tags and entering more spaces with a card reader available. Many rooms in the building provide such capability and we have also disabled many other Bluetooth LE tags in order to present a realistic and cost-efficient setup.

Conclusions
A holistic positioning framework, which is open to multiple indoor and outdoor technologies and algorithms, is presented in the paper. Smart deployments are especially considered and provide an essential support to improve performance. The system maintains accuracy by selecting the most appropriate solution every time based on the estimated error. The fingerprinting algorithm and model are essential in the system, by providing not only position estimates, but also including extended semantics with information that supports the handover between technologies and algorithms used, and the detection of especial situation such as floor changing or building entering/exiting. Moreover, the advantages of the architecture to hybridize position estimates is showed with a reference development of improving the base proximity algorithm with information coming from nearby fingerprints.
The actual implementation considers GPS, WiFi, Bluetooth LE and card ID technologies, together with fingerprinting and proximity positioning algorithms. All of them have been used in a reference testbed aimed at presenting a realistic deployment scenario. This involves not only indoor situations, but also outdoor parts surrounding the building and different handover scenarios in which it is necessary to change between different technologies and algorithms to provide the best position estimation. Challenging scenarios when entering and exiting the building, using the lift for floor changes and walking near walls are considered in the tests. The results obtained in the indoor/outdoor scenario present an average real error of 4.62 ± 0.31 m. This implies that our system provides good position estimations even under challenging settings.
It is planned to extend the positioning system with new technologies and algorithms, considering our background gained in the past [26,27]. The hybridization approach among technologies to compute a merged solution paves the way to find more accurate and cost-efficient solutions for mobile devices. Next steps also include the evolution of our parallel line about reducing computational cost of fingerprinting matching tasks by offloading tasks into the cloud, by including a flexible system with both edge and far cloud support.