Methods for developing an indoor navigation system

. The report offers methods for developing an indoor navigation system. For this purpose, popular navigation applications have been analysed. We have been strongly motivated by the fact that no universal methods have been established that are applicable with this kind of projects. Very often the case is that new methods are formed in view of a specific process and they are based on a particular technology and on the related organisation, design and other considerations. This is also confirmed by a conducted experiment with a commercial product for indoor navigation. The methods offered include map digitising, determining a user’s location, and selecting the shortest path. This is achieved by applying elements of graph theory, databases, XML and QR code. The methods offered are universal and could be applied to any type of building. The methods have been approbated in the building of a mobile application for the needs of the University of Mining and Geology, Sofia.


Introduction
With the ever increasing human mobility, the various navigation systems are become more widespread and gain significance. Modern navigation systems (positioning technologies, of location determination technologies) are expected to offer optimised routes taking into consideration the peculiarities of our environment and also, to have a user-friendly, easy, informative and intelligible interface.
The Global Positioning System (GPS) is the most common navigation system used. When localising an object or route indoor, this system does not function well because the signal emitted by its satellites is lost. When navigating indoors, the multitude of objects that reflect signals should be taken into account. These could be the pieces of equipment, the walls, or people [1].
In order to overcome the malfunctions in GPS positioning and to perform accurate positioning in a sophisticated indoor environment, systems called Indoor Positioning Systems (IPSs) are introduced. Some of the most popular technologies of this type are the infrared connection, WI-FI and above all Wi-Fi fingerprinting, which is often employed in the development of smart phone applications [2,3,4], Bluetooth, ZigBee, ultrasound, radio frequency identification (RFID), and ultra-wideband (UWB) [5,6], which offers higher accuracy.
Very generally, the above can be categorised into active and passive. Indoor positioning technologies via radio signal or WI-FI fall into the category of "active" technologies, since their requirement is for the object to move and to be equipped with some sort of a connecting device. In addition, the devices should be able to collect and process the transmitted information. With "passive" systems, a physical device attached to the moving object is not necessary. The concept with this category of technology is to use an available wireless network for data exchange, to detect changes in the environment, and to track the location of objects passively without requiring additional equipment. Only the UWB technology can be used as a passive system as well. The practice of combining several technologies in order to build systems of increased stability and accuracy in location determining has become increasingly popular [7,8].
The criteria in terms of which wireless technologies can be compared are given in [9].
The areas where such developments are being applied are customer tracking, health and patients' monitoring [10,11], finding objects, robotics, to name but a few [12].

Commercial solutions for indoor positioning
According to IndustryARC [13], the market for applications for indoor positioning and navigation will grow from $ 6.92 billion in 2020 to $ 23.6 billion in 2023.
Various commercial solutions for indoor positioning exist. Among the most popular are: Ekahau RTLS, SpotON -those work on the principle of the radio signal; AT&T Cambridge -it uses UWB; Microsoft Radar, Cisco Prime Infrastructure -these locate objects via WI-FI; SmartSpace -this is a modular, open source location tracking software platform. The commissioning of such a system requires large financial and expert resources.
Mobile applications for indoor positioning exist as well (Navizon, HERE Indoor Radio Mapper, MapsIndoors, etc.). All of them require a usage fee. They employ different standards to describe the maps used. Some of them (HERE Indoor Radio Mapper) have specific requirements for installation and use. There is no information about the employed methodologies and approaches in the creation of such applications.
In February 2020 with the assistance of Dundee Precious Metals, Chelopech, a simulation was performed in the Cisco Prime Infrastructure environment in order to determine the location of guests and students in the Laboratory Unit at the University of Mining and Geology.
These are the simulation stages: To perform the tests, six Cisco Access Points (APs) model 1242 are used; those are positioned in two rooms, each with three APs. The range of one AP of this model is between 60 and 70 m. Each triple AP isconnected to a 12-port switch and the necessary set-ups are made to obtain the IP addresses of APs.
The APs are connected to the Wireless controller (WLC) via the Dynamic Host Configuration Protocol (DHCP). Checks are then made for possible attacks on the transmitted data, called bit-flip attacks, using a Cisco certificate -self-signed certificates (SSC) to the controller. When everything is checked and there is no risk of external interference, the controller returns a request to connect the access point to it. The result is the so-called tunnel between the AP and the WLC. The data is transmitted using the CAPWAP protocol (Control and Provisioning of Wireless Access Points Protocol) for access.
Having performed the required configuration, we proceed to the construction of a map, a building and floors within a system. An approximate location of the building is indicated. The system allows a 2D projection of the map of the building under consideration. It is possible to apply it in any format. For the purposes of the simulation, an evacuation map of the 1 st and 2 nd floors in the Laboratory Unit at the University of Mining and Geology was used. Three access points (APs) were placed on each floor, equidistant in one direction for both floors.
After applying a map and placing access points, customers are connected to them and their location can be determined. The deviation given by the system is about 2 meters. Access points serve as reference points (or: landmarks). Determining the location of customers across the network is calculated using the RSSI and TDoA methods. For buildings overground, the triangulation method is applied, whereas for underground premises, the trilateration method is applicable.
The tags employed to carry out the simulation are AeroScout T2, and Cisco Prime provides detailed information about the data transfer between the tag and the access point ( Fig. 1). A time difference of 2-3 seconds may occur. After connecting the APs to the wireless controller, a virtual engine (Mobility Services Engine) calculates the location of the objects using mathematical algorithms. The Cisco CEX algorithm is applied for the connection between client and MSE, and the Cisco CMX or DNA spaces algorithms monitor the data over the network. The necessary configuration is required, after which various analyses can be performed. In our case, an analysis of the signal strength between the access points and the RFID tags was performed. At the beginning of the test, no signal interruption was reported. An RSSI analysis was also performed on the day of the tests because the switch used for the simulation was fully configured for the purposes of the simulation and it was not possible to compare the signal strength over a longer period of time. In case signal interference is detected, the Kalman filter algorithm can be applied to determine the cause of the received interference.
The simulation performed with the help of the Cisco's corporate solution has made it possible to visually track objects using the WI-FI wireless technology. The advantage of the system is the provision of a general solution for localising, secure maintenance, and a complete set of tools and the description to it. The disadvantages of this type of systems include the inability to combine various company hardware and software components other than those of the manufacturing company, as well as the lack of ability to use threedimensional maps. This makes the application too expensive. Additional disadvantages include the lack of a mobile version of the application, as well as the fact that it allows only for localising but not for navigating.

Proposing methods and testing them for approval
It is clear, from all that we have stated so far, that the choice of appropriate methods is of particular importance for the construction of NIS. Various computer developments exist that are employed for indoor localising, are commercial solutions, yet the methods wherewith they have been developed are not specified. Universal methods suitable for all types of projects have not been developed yet. As is often the case, new methods are formed for a particular process and they are based on a specific technology and the related organisational, design and other considerations.
Creating an indoor computer application is an elaborate process. Depending on the building, the appropriate navigation technology has to be selected. Then, in relation to this technology, the methods used for calculating the distance and the algorithms for determining the path must be taken into account. However, research has shown that, in the building of a software solution for navigating people indoors where there is no access to a GPS signal, the steps performed can be integrated and presented as methods that are founded on known methods and algorithms.
The structure of the proposed methods for creating computer applications for indoor navigation is presented in Fig. 2. In order to localise an object/site, it is necessary to find its position relative to the surrounding objects. As a rule, when positioning outdoors, cartographic maps of the area in which the object is located are used, whereas a possible solution with indoor objects is maps similar to the Fire Evacuation Plans.
For the implementation of the algorithms in a particular development environment, the appropriate layout for the data presentation needs to be selected. Among the other ways to represent the graph describing the building are the use of such formats as the XML and JSON. These variants are suitable for embedding in systems that use the BigData or NoSQL databases with which the natural evolution of the considered system is associated.

Digitisation of the map of the building
The object of the current study are the 1 st and 2 nd floors of the Laboratory Unit at the University of Mining and Geology "St. Ivan Rilski". The available fire evacuation map has been used as a basis which has been updated with the current hall numeration and the refurbishment of some halls. For a clearer view, the height between the floors on the scheme is extended. Such a map could be applied to any type of building.
The map of the building in question can be presented by an undirected graph. The graph considered has 83 nodes and 3403 edges. By properly traversing the graph, a path can be found between each of its two nodes.
In order to determine the shortest path between two vertices of a graph, the algorithms of Dijkstra, A* and Floyd-Warshall were considered. In the long run, Dijkstra's algorithm was chosen due to its popularity, easy implementation, the presence of only positive edge weights, and its speed.
The proposed graph is spatial. It comprises two subgraphs for each of the floors in the building (Fig. 3). What is checked initially is where the "start" and "end" nodes of the searched route are located; then the search is confined within one of the sub-graphs. But even if the route includes elements from both sub-graphs, the basic search is within each sub-graph separately. Thus, the fast response time of the algorithm increases, since it is not necessary to constantly traverse the entire graph. In the application implemented, the structure of the graph is represented by an adjacency matrix. This is one of the most common ways to represent graphs This matrix sets the weight of the edges of the graph

Mobile application
Using the methods offered, a mobile application for indoor navigation has been implemented.
The developed mobile application is based on the relational data model. The reasons are as follows: x the rather the static nature of the object described -redistribution of the inner space in order to establish new separate classrooms and offices is rarely done; x well-developed and accessible means for data import and export from other formats (mostly XML and JSON) are available in the contemporary DBMS -this would facilitate the transition to NoSQL in future addition of information to the database x intelligible data presentation in the tables; x a high degree of physical and logical data independence; x sufficiently rich experience in various relational database management systems (RDBMS).
The mobile application has been developed for the Android operating system. It can be used by registered users and guests. The registered users are allowed to add their own map of a desired building, the information wherewith is included in the database. Guests, in turn, can make use of the services of the application by having only access to the current data -available maps, scanning a QR codes, and entering a hall number. The diagram of the mobile application developed is shown in Fig. 4.
By means of the proposed mobile application, guests and newly-admitted students can easily navigate within the buildings of the university campus without the need for additional guidance and loss of time. The application is offered with a pleasant and lightweight user interface that will eliminate unnecessary "clicks" on the part of its users on their way to the desired goal.
The identification of the starting point is performed by scanning a QR code. For this purpose, a free-of-charge QR code must be generated for each hall (vertex on the graph). It must be positioned at a spot which is convenient for scanning, at the door or in the immediate proximity to it. The choice of QR code scanning was prompted by the fact that more and more cameras on mobile devices support the function of automatic QR code recognition. For devices that lack such an option, an additional installation of an application that reads QR codes is required.
The end point identification can be done in two ways: 1. By entering the number (name) of the required hall. For the user's convenience, as well as to ensure the selection of a really existing hall, the end point determining is performed through a selection from a menu (Fig. 6).
2. By entering search criteria -the name of the department, laboratory or hall. The end point is selected by clicking on an element (hall) from the result returned.
The mobile application contains one major panel ( Figure 5) with the following elements : 1. Navigation bar -along with the name of the application, it contains a button with a hidden menu. In order to make it possible to use the application for different buildings and not only for the one under consideration, the feature for adding a new map has been supplemented in the menu as an option. Accordingly, the layout of the map should be in the format proposed by the methods considered. A button for clearing a previous search has also been provided.
2. Information field (text box) -it automatically displays the information from the QR code scan.

3.
Scan buttonthe application offers its users to scan a QR code as the starting point for determining their location. For this purpose, all halls in the building under consideration have been equipped with additional signs with generated QR codes. The scan information is loaded into the information field. 4. Editing field (search engine)offers the user a possibility to enter the end point of their route. The user can to manually enter the particular hall number they want to reach or search for in the offered list box.

5.
List boxall of the existing halls, offices and laboratories in the respective building in question are extracted from a database. A filter to the list box has been addedl, whereby, upon entering part of a hall number, the list box shows only the halls containing those numbers. 6. Floating button -after scanning the QR code and selecting the final destination, the button visualises the map of the building, calculates the algorithm entered (in this case, Dijkstra's algorithm for find the shortest path), and draws up the route which the user should follow.  Upon pressing the button on the floating bar, the path is visualised in real meters. The result is visualised using a standard Java graphics library for Android ( Figure 6

Conclusion
Systems exist for indoor or outdoor object localising. Globally, indoor positioning systems are currently undergoing a process of active development. This is a relatively new subject matter for professionals. Besides, the information on it is limited. The analysis of existing indoor positioning systems has shown the scarcity of the information available in this area. An even more serious challenge is how to track the position of a moving object, shifting from an outdoor to an indoor environment and/or vice versa.
To date, there is no universal system for indoor navigation, nor is there an approach (methods) for developing such a system. This report proposes methods for creating an indoor navigation system. For this purpose, a thorough analysis has been performed of existing methods, technologies and algorithms which can be combined in such a manner that the process of navigating an object from one point to another be optimised.
In the methods described, the location of the site is determined by creating a digital map of a building and a graph that describes the connections between the internal sites. The selection of the shortest path is performed by applying Dijkstra's algorithm. In the case of more buildings or multi-floor buildings, separate subgraphs are formed within the overall graph so as to optimise the Dijkstra method. In order to test the methods for approval, a mobile navigation system has been developed. This choice is prompted by the fact that today mobile devices are more popular, affordable and portable than conventional computers. The system is still being developed, and some of the major issues that need to be solved in the near future are the following: x Enabling users of various operating systems to use the mobile application; x Ability to navigate in different buildingsoutdoors and indoors concurrently; x Additional modules to the application, according to the specifics of the building; x Unified representation of a map of the building (e.g. through an XML document validated with a specific XML Schema and transformed into an SVG file); x Creating Fingerprints based on the object position established via Wi-Fi and comparing those with the results of the current scan by the users for the purposes of neural network training; x Calculating the approximate duration of movement; x Navigating handicapped people; x In order to automate the process of tracking the user's movement from the start to the final point, it would be useful to conduct experiments combining a variety of navigation technologies, such as infrared connection, WI-FI, Bluetooth, ZigBee, ultrasound, radio frequency identification (RFID), and ultra-wideband (UWB).
The evolution of information technologies also requires constant monitoring of new trends in the field, as well as the implementation of new technologies in order to improve the current development.