Abstract
This article presents a Building Information Model (BIM), which describes the topology, geometry, and semantics of buildings; user preferences; and status of sensors deployed in the building. The aim is to propose an approach for developing a context-aware indoor navigation system, which assists blind and visually impaired people in unfamiliar large public buildings with complex horizontal and vertical connectivity. The proposed building data model aims to overcome the drawbacks of existing BIM-based Indoor Navigation Systems (INS). The innovation aspects of the proposed data model can be summarized as follows: 1) Abstract description of the hierarchy of building elements; 2) BIM is focused on indoor navigation. It allows one to extract information about the topology of a specified part of the building, which is used by an algorithm for coarse-to-fine path finding; 3) Provides rich semantic information on all building elements, objects and users located in the building; and 4) Provides all necessary information for obstacle (fixed and movable) avoidance.
Keywords
Introduction
According to the World Health Organization, the number of people with visual impairment was 285 million (4.25% of world population), of whom 246 million (86%) are with low vision and 39 million (14%) are blind [31]. The greatest limitations for impaired people in their daily lives depend mainly on environmental factors, such as navigation in large public buildings. Navigation is a complex task that includes [26]: 1) user localization; 2) path finding from start to target point; and 3) physical movement to target point, including obstacle avoidance. The feasible path may be composed of traversable elements that are located outside the buildings, inside the buildings, or both inside and outside. In many cases, finding the shortest, fastest, or safest path in large buildings implies the possibility that the path contain traversable elements outside of the buildings. Therefore, navigation within a city should combine outdoor and indoor navigation. As built environments grow in size and complexity, it is necessary to develop appropriate 3D city models [2,13,32,34]. These models should describe a 3D urban infrastructure, including the hierarchy of building elements and their horizontal and vertical connectivity [28]. When developing Indoor Navigation Systems (INS) for blind and visually impaired (BVI) people designers should take into account their preferences and abilities to navigate in buildings unfamiliar to them. Assistive technologies for people with disabilities should have an intuitive user interface and should be adaptive to the preferences of the users. The systems that are adaptive to changes in the environment are called context-aware systems [6]. Context-aware apps usually run on mobile devices and adaptively change their logic based on context data obtained from the surrounding environment. By interpreting the context, the navigation system is able to provide more precise path finding and more informative user guidance.
One of the main obstacles to the successful integration of BVI people into social, economic, and cultural life is the inability for them to safely and reliably move in unfamiliar spaces, whether outdoors or indoors. Problems typical of outdoor navigation are already partially solved. Yet indoor navigation systems, especially those designed for people with disabilities, have no real implementation. The main reason behind the disadvantages of current INS is the use of fragmentary approaches when designing such systems [23]. Our general objective is to design and implement a Building Information Model (BIM) that is focused on user navigation and that describes the hierarchy, geometry, and semantics of the building, users’ preferences, sensors deployed in the building, and connectivity between building elements.
The rest of the article is structured as follows. Section 2 provides critical analysis of the current INS for BVI people. Section 3 covers the basic disadvantages of BIMs found in current literature, which can be used for indoor navigation. The proposed approach for developing BIM-based INS is described in Section 4. Next, Section 5 discusses how to implement the proposed BIM. Section 6 presents a use case example. Finally, in Section 7, a conclusion is drawn and some future work is explained.
Current INS for BVI people
The majority of BIM-based indoor navigation systems [15,25] are designed for people without disabilities or for evacuation from buildings in an emergency. There is currently no BIM-based INS, consistent with the indoor navigation for people with disabilities. As mentioned in Section 1, the main reason for the disadvantages of current INS for BVI people is the use of fragmentary approaches to the design of such systems.
Comparative analysis of Indoor Navigation Systems for BVI people
Comparative analysis of Indoor Navigation Systems for BVI people
An additional hardware, except mobile phone is required.
Table 1 presents the key parameters of INS for BVI individuals, which were developed in the last few years. The systems have different architectures and use different technologies and data models to realize their functionality. The following is a description of the problems that need to be solved when designing INS for BVI people.
Localization
Successful indoor navigation requires exact localization of the users and objects in the building. Most of the systems use proximity-based localization [9,10,16,25,29], dead-reckoning-based localization [3], scene analysis [7,8], trilateration or triangulation [12], or hybrid localization [22]. Most of the developments require additional hardware, except a mobile phone, to realize their functionality. The localization module should calculate not only the position of the people in the building, but also the position of objects that are movable. The location of these objects should be known because at some point they may become obstacles for a particular user. Analyzed systems, except for [29], do not provide an opportunity for the localization of movable objects.
Spatial model
The analyzed indoor navigation systems do not use sufficiently informative spatial models, only the 2D floor plan of the individual floors. The spatial model should contain detailed geometric, topological, and semantic information about the building elements and objects. Five of the spatial models [3,9,18,22,24] do not take into account the presence of landmarks, obstacles, and hazards in the building.
User model
Successful indoor navigation by BVI people requires taking into account their needs as a group and as individuals. Analyzed indoor navigation systems do not use detailed user models. This disadvantage is very important because without this information cannot be found an optimal path for a particular user. It is necessary to take into account the type of impairment, level of education, orientation, and mobility when guiding a user to a target point.
Path finding
In order to find a path to a target point, algorithms with proven applicability outdoors, such as Dijkstra’s algorithm [16,22,29], A* [3], and their modifications are used most often. These algorithms cannot be directly implemented indoors, especially in buildings with complex connectivity. They are fully functional only when a connectivity model of the entire building is loaded into memory and implement door-by-door navigation, but they do not give information about how the user has to go through a room until he or she reaches the next door. Only four of the analyzed systems [8,12,16,29] support the avoidance of obstacles along the feasible path.
User guidance
None of the analyzed systems use a semantically rich description of the building elements or a description of the objects located in the building. The guidance of the BVI user on the calculated path should include as much semantic information as possible, for example, the material of the floors, walls, and objects, and it should be adaptive to user preferences and type of disability.
Evacuation
The evacuation module should be an integral part of an indoor navigation system. To enable the realization of any evacuation plan, it is necessary to have precise topological and rich semantic information. The majority of the topology models used are graph-based [3,8,9,12,22,29]. These models are not suitable for people with disabilities, as they do not provide the information necessary for safety navigation. These models do not represent the geometric properties of rooms, corridors, and objects; nor do they represent their symbolic descriptions. None of the analyzed systems take into account the status of the sensors in the buildings (smoke, gas, and fire detectors; sensors for door and window positions; etc.). However, this information is very important for path finding algorithm. It can be concluded that none of the analyzed INS have a complete design. Our aim is to develop a path-finding-focused BIM, which integrates all necessary information for the safe and fast indoor navigation. In order to develop this BIM in Table 2 are defined the main requirements for indoor navigation that current INS for BVI people do not meet or only partially meet.
The main requirements that current INSs for BVI people do not meet or only partially meet
The main requirements that current INSs for BVI people do not meet or only partially meet
Building Information Modeling (BIM) technology has been receiving a growing amount of attention in the last few years [27,30]. The information integrated into BIM describes the whole lifecycle of the building. Countries whose governments will require the use of BIM in public construction projects include China, Canada and South Korea [19]. The adoption of the European Union Public Procurement Directive [4] means that all European member states may be encouraged to use BIM for publicly funded buildings by 2016.
Well-known BIMs that can be used for indoor navigation include the following:
CityGML model [11]. CityGML is an open data model for the representation of sets of 3D urban objects. It defines the classes and relations for the most relevant topographic objects in cities and regional models with respect to their geometrical, topological, and semantic properties.
Industry Foundation Classes (IFC) model [5]. IFC is an open and vendor-neutral BIM data repository for the semantic information of building objects, including geometry, properties, and relationships. Registered as ISO 16739, IFC is an object-oriented database of information that enables data sharing.
IndoorGML. IndoorGML is an OGC® standard [14] that specifies an open data model and XML schema of indoor spatial information. Unlike standards such as CityGML and IFC, IndoorGML is focused on modeling indoor spaces for navigation purposes.
IndoorGML defines the following information about indoor spaces: navigation context and constraints, space subdivisions and types of connectivity between spaces, geometric and semantic properties of spaces, and navigation networks. IndoorGML can represent obstacles as non-navigable spaces.
BIM-Oriented Information Data Model (BO-IDM). This model [15] is a simplified version of the IFC model. The model uses the ISO 19107 standard to describe building elements and objects’ geometries. BO-IDM spatial semantics have focused on indoor navigation. The model is able to represent the functional state of building elements, for example, closed or open doors.
Improved Geometric Network Model (IGNM). This model, proposed in [21], eliminates some of the limitations of the building models found in the current literature. It does not ignore the architectural characteristics of the building or dynamic changes in the building environment (obstacles can be inserted and removed during real time).
Indoor Emergency Spatial Model (IESM). The IESM model [28] is based on the IFC. The model integrates 3D indoor architectural and semantic information required by first responders during an emergency.
Indoor Navigation Space Model (INSM). This model [20] provides an extended categorization of indoor spaces based on building semantics. It has an improved representation of connectivity graphs in comparison with similar work previously done by the authors of the present study. A connectivity graph can be automatically built based on the implementation of the building model.
BIM standards, such as CityGML and IFC, have been published to describe the 3D geometry and semantics of buildings, but they lack important features that are required for reliable indoor navigation. CtyGML has limited support for both fixed and movable obstacles. Neither standard supports user constraints. IndoorGML uses a graph model to represent building connectivity, but graph-based path finding usually uses only centroid of the spaces and connection information between spatial objects when calculating a feasible path. The actual geometry of nodes and obstacles within an indoor space should be taken into account to find the feasible path. Although BO-IDM describes spatial semantics, this model is not optimized for indoor navigation in large buildings with complex connectivity. INSM model can be used to specify the nodes and edges of the connectivity graph, but it is designed to support a coarse level of path finding according to the two-level path planning strategy. This model supports only two criteria (abstraction degree and number of openings) for the computation of a feasible path. The geometric data needed for computation of the physical path has not been part of this model, and INSM is not validated. Other BIMs, such as IESM, are designed to be able to meet the requirements for fast and reliable evacuation in an emergency. The evacuation of people, however, is only a special case of navigation in the buildings. This model does not take into account sensor and user semantics. The authors of IGNM reported some drawbacks of this model, for example: problems with non-convex objects; and for doors located in the corners of rooms, the path planning algorithm can produce serpentine routes.
People with disabilities cannot use the existing BIMs without modification for indoor navigation. For visually impaired people to reliably navigate in large public buildings that are unfamiliar to them, a BIM that combines in an object-oriented data model with all the necessary information is required.

Structure of the proposed data model (component parts and the relations between them).
The main modules (see Fig. 1) that should be part of an indoor navigation system are spatial model, localization module, user model, path finding algorithm with obstacle avoidance, evacuation planning, and sensor data acquisition, filtering, and reasoning. The proposed building model is designed to represent and combine human, technical, and infrastructure factors on which the movement of BVI people in unfamiliar public buildings depends.
User-centered design, based on the standard ISO 9241-210:2010 is used to guarantee the accessibility of the service. The final version of the system and user interface will be obtained from an adaptive iterative user-centered process (Fig. 1): 1) Specification – introducing a set of rules that are used to define characteristics of the system; 2) Implementation – using the current set of rules for the implementation of the next version of the system), 3) Evaluation – testing the last version of the system; and 4) Analysis – analyzing results obtained at the evaluation stage to check whether the set of rules must be adjusted.
The main objective of the proposed approach is to make combining data from functional modules of the navigation system into a data model possible.
This is achieved through a specially developed BIM. The majority of scientific publications related to BIM-based indoor navigation solve a specific problem that only affects one or more of these modules, such as evacuation [28] or path planning [33]. In practice, the functionality of each module depends on the design and functionality of the other modules. For example, an algorithm for path finding depends on the topology and geometry of the building and objects located in it, the module for localization of users and objects in the building, current status of the sensors deployed in the building, and user preferences.
Proposed BIM
The proposed BIM is not concerned with the architectural building components themselves. It focuses on the possible path elements (spaces), such as rooms and corridors, and the connectivity between these elements. Taking into account disadvantages of the current BIMs (see Section 3) following main requirements are defined:
Scalability (the possibility to model both small and large buildings).
Hierarchy (hierarchical description of the topology of buildings reduces memory usage and improves the time needed to find an optimal path).
Context-awareness. The system should be adaptive to the dynamic changes in the context by analyzing the data from sensors deployed in the building. The model should facilitate a description of the user preferences and opportunities for movement and should enable automatic recalculation of the path in dynamic environments (when the target point changes its location or a user deviates from the path).
On-the-fly path finding. A path finding algorithm can work when only a part of the building’s connectivity data is loaded into memory.
Easy and fast retrieval of the building’s topology from its data model.
Several levels of abstraction to model a building’s hierarchy are used. A hierarchical design is easily reusable, can represent large buildings with complex connectivity, usually scale well, and optimize memory and processor usage. It is assumed that buildings have wings. Each wing has one or several levels (stories). Rooms and corridors are part of the levels. Large rooms and corridors may be divided into sub-parts to represent indoor space more accurately.
Figure 2 shows relations between the classes that are responsible for the functionality of the proposed data model. The class details are as follows:
Building
The base class at the top of the spatial hierarchy is Building. Each building has properties such as name, type (university, school, hospital, etc.), number of wings, address, etc.
Wing
The second level of the spatial hierarchy is the Wing class, which contains one or several levels. Each wing of the building is assigned a name, identification code, a list of levels, connectivity with other wings, and a list of all possible escape exits (emergrncyExits). Using methods of this class it is possible to obtain the name of the wing, number of levels, a list of emergency exits, etc.
Level
Class Level comprises the third part of the spatial hierarchy. Each building level may contain path elements. A path element is an abstract building entity that can be part of the feasible path. To speed up path element searching, a hierarchy of path elements is used (attribute pathElementGroups), for example, rooms, doors, elevators, etc.

UML class diagram of proposed BIM (simplified).
The building connectivity has been modeled based on path elements. In our model, a path element is an abstract component that represents any part of the path (node or link). For example, rooms, corridors, and elevators are nodes. Doors, openings, stairs, escalators, and horizontal ramps are links. The attribute nodes contain a list of all links through which the user can enter a node. The attribute links describe the nodes that a link connects. Through the value of these two attributes, a connectivity graph is generated, which is needed for the path finding algorithm.
Constraints
This class describes the restrictions that could be imposed on each path element. Restrictions may be spatial, temporal, or related to preferences and type of user disabilities. For example, some rooms may be accessible only to staff. Parts of rooms may be non-walkable areas. Access to the other rooms might be limited in time. In case of an emergency, access to building elements such as elevators and corridors impacted by the fire or smoke should be blocked. Certain doors might provide access in one direction only (emergency exits) or forbid access to a specific group of users (areas with a specific level of security).
Link
A Link describes the connectivity between nodes. The links are divided into horizontal and vertical links. For example, with the attributes of the class Link, one can identify which nodes the link connects and if it can be used for evacuation.
Door and Window
The Door class represents all type of doors. This class describes the type of door (real or virtual, unidirectional or bidirectional, external or not), opening direction, status, position of the handle, etc. The class Window has similar attributes to the Door class. If the window links the building with the outdoors, it may be used for user evacuation if all other possible paths to the outdoors are blocked. For example, in [28] windows that are less than one meter from either the ground or roof could be used as emergency exits.
Node
Node is a class that describes the spaces in the building through which the user can pass if he or she has the appropriate rights. Nodes are divided into horizontal (class HorizontalNode) and vertical (class VerticalNode) nodes. Horizontal nodes are related to the horizontal movement of users, for example, rooms and corridors. The elevators are a special type of node and can be used to connect many building levels. Although the elevator is a part of the vertical connectivity of the building, in our model it is not a link element because an elevator has doors and some users and objects may be located in it. The methods of this class enable one to obtain a list of the objects located in the node, to search a specific object, etc.
Room and Corridor
These classes represent base horizontal nodes. It is possible to deconstruct building spaces such as long corridors and large rooms into smaller parts (class Part) to represent indoor spaces more accurately. The long corridors are automatically divided into smaller parts, depending on the corridor intersections and the location of the fire and gas sensors. This is necessary because the path finding algorithm returns paths along the walls of the corridors, and it is possible to obtain a long detour when a corridor has many intersections. Furthermore, in case of fire and smoke, it is possible for only certain parts of a corridor to be blocked. Specific places in large rooms can be described through the Zone class, for example, a reception desk in the lobby of the hotel.
Object
This class describes all physical objects located in the building. The objects are classified as: 1) Landmarks (objects that help a person to stay oriented and maintain a sense of being on route), 2) Obstacles (obstructions along the path), and 3) Hazards (obstructions that are hard to detect). The main attributes that describe object characteristics are as follows: name and identification number, node to which the object belongs, list of sensors associated with the object, is an object fixed or movable, etc.
Sensor
The Sensor class represents any sensor located in the building environment. Class SensorInfo is used to describe sensor characteristics such as id, type, location, and class SensorContext to represent context obtained from raw sensor data. To receive data from the sensors, a program class implements the interface SensorListener. The callback functions newContext and newEvent must be declared in the class that implements this interface.
People
The People class allows access to the user model. People located in the building are divided into Staff and Visitors. The attributes provide semantic information, such as user demographics (name and gender), impairment type, navigational preferences, user interface preferences, movement history, etc.
Other classes
The Boundary class is used for representing the flooring and walls of all nodes and links. The Wall class represents the vertical subdivision between rooms and corridors.
Geometric model
The geometric model allows for the precise localization of objects and description of paths. A simplified geometric model is used (see Fig. 3) in order to retrieve the necessary geometric data in real time. The basic geometric objects used are point, line segment, polyline, and 3D polygon. In order to represent the geometry of path elements and objects Euclidean or WSG 84 spaces are used. Polygons are used to represent the building’s and objects’ geometry. Administrative boundaries and areas-of-interest are modeled with 2D polygons.

Geometry part of proposed BIM.
The building footprint, wings, and objects are modeled with 3D polygons (class POLYGONZ). 3D-polygon features store z-coordinates embedded inside their feature geometry. The class CIRCLE describes objects with a circular cross-section. Each circle is actually a polygon, whose points are automatically determined depending on the radius of the circle. Class SOLID represents whole building, wings, floors, nodes, and objects. At this time SOLID class attributes represents the type, volume, and area of the rooms and corridors. Class SURFACE represents the boundary of nodes, links, and objects.
Blind people prefer to follow paths along the corridor and room walls using white cane. Polygon buffering is used to represent the path close to walls. For rooms and corridors, an inner buffer is calculated. To detour objects located in the building, the outer buffer is calculated.
The semantic model represents three types of semantics:
Spatial semantics, which are related to the building and its elements.
User semantics.
Semantics related to objects located in the building.
Table 3 shows important semantic data in key-value format. Semantic information is an important factor on which the time for movement to the target point depends [17]. For users with disabilities, the use of semantic information is even more important. Through it, users can build a more accurate mental image of the path that must be followed, for example, characteristics of the objects along the path, the material of the flooring and walls, presence of landmarks and obstacles along the path, etc. The navigation, which is based only on geometric dimensions and distances, in most cases is not informative enough for people with disabilities. For example, the guiding sentence, “Follow the wall to your right until you reach a door,” is more informative for BVI individuals than the sentence “Walk straight for 15 meters.”
BIM implementation
This section discusses how to implement the proposed BIM as a repository of building data. Each BIM module is specified by an XML schema definition file and is defined within an individual and globally unique XML target namespace. Cloud-located service for indoor navigation is developed to validate the proposed building data model (see Fig. 4). Google App Engine (GAE) is used to deploy the service.
Semantic description (simplified)
Semantic description (simplified)

Service-oriented INS architecture.
To access the service responsible for acquiring and managing data from the sensors, REST queries are used. RESTful protocol provides an object level (sensors and actuators) interface to the corresponding BIM objects. The names of these objects are identified directly by URIs. When a sensor changes its status, a REST query that contains information about this change is sent to the service. The sensors can be programmed to send data when: 1) The value of a parameter has changed with the specified absolute value or a percentage; 2) The value of a parameter is above or below a specified threshold level; 3) An event from a smart sensor is detected. Mobile clients use AJAX in order to enable a fast asynchronous information transfer from clients to the corresponding service
A context model describes a context that is available from sensors and users. An object-based model is used to manage context data and a key-value model for semantic data. This solution guarantees re-usability and data encapsulation. To build a smart environment, a large number of sensors should be deployed to realize the service functionality. These sensors will generate big data from which context information should be retrieved. Context middleware provides apps with contextual information. The main advantages of this solution are: 1) Apps receive (usually using push notifications) the necessary contextual information, without caring how it is extracted from sensors’ raw data, 2) The traffic between the clients and the server is reduced, and 3) It is easier to ensure data privacy and security.
Three levels of context-awareness are used: 1) Personalization: user personal information and preferences, for example, gender, location, type of disabilities, preferred spatial representation, current user activity (stay, walk, deviate), and deviation history; 2) Passive context-awareness. The system constantly monitors the environment and offers the appropriate service to the users. For example, when a user enters the building, she or he receives information about the building; and 3) Active context-awareness. For example, the system continuously monitors the environment for an emergency. The proposed context model is able to store sensor data and events for future use (context history). User deviation history is used to guarantee more precise path guiding.
Data-access model
A layered data access approach is implemented to guarantee scalable design of the data access model (see Fig. 5). Each location-based user request is converted to a SQL-style query.

Data access model.
The specially designed SQL layer (L1) transforms SQL queries to a request to the second layer L2. The query cache uses the SELECT clause as a key and result set as a value. If a current SELECT query is located in the cache, SQL parsing and execution is not required. The second layer (L2) performs basic CRUD (create, read, update, delete) functions. The service layer is an object-oriented data access model which contains a part or all of the building’s data.
This architecture is optimized to speed up read operations. When the second layer cannot return an answer because required data are missing in memory, these data are fetched from protocol buffers or datastore (L3). Compared to XML data description, Google protocol buffers are up to 10 times smaller and up to 100 times faster.
A navigation system should provide a mechanism to service location-based queries [33]. This task becomes more difficult when: 1) navigation is performed in large public buildings with complex connectivity; and 2) some target points may change their location until the user traverses the path. The proposed BIM supports continuous location-based queries – the system is able to correct its response if a change in the position of the destination point is detected. Continuous location-dependent queries can be considered as key elements for the development of context-aware services [1]. In our case, the program object, which services a user’s query, is keeping alive until the user reaches the target point. The object is serialized and goes persistent. If there are push data from sensors (for example, target point changes its location) the object is deserialized.
Natural voice-based queries are used to access location-dependent information from BIM. This way of interaction with the service is necessary because the number of possible target points (rooms, specific object, a staff member or visitor) is very large. Setting a target point using standard techniques for man–machine interaction (selecting a menu item) is not applicable in this case. The location-based query model should solve the following major problems: 1) Natural speaker-independent speech recognition; 2) Word segmentation – to convert text into normalized tokens; 3) Grammar analysis – to label each word as a verb, noun, or adjective; 4) Semantic analysis – to find relations between keywords from the user query and the names of objects and their properties; 5) Correct the user query taking into account the specific user’s preferences and path element constraints; 6) Classification and mapping – to find keywords, replace some with synonyms if necessary, and map final keywords to the names of BIM’s objects or the names of their attributes.
Hybrid localization approach is used to find the position of users and objects – proximity localization (passive NFC tags and iBeacons) and trilateration-based localization (iBeacons). It is expected that in the next few years there will be harvesting iBeacons at a reasonable price.
Path-finding algorithm
The path finding algorithm should find the best suitable path for a particular user from start to target point. Specially designed path planning algorithm that finds an optimal path in three steps is used: First, K-shortest paths to the target point are obtained; Second, fine-grained paths using a geometric model are calculated; and finally, an optimal path with the highest total rank using a multi-objective optimization technique is returned. Based on an interview, it is decided that the selection of the optimal path will depend on six parameters: 1) Length of the path (min), 2) Number of objects that are obstacles or hazards for BVI users (min), 3) Number of objects that are landmarks and cues for BVI users (max), 4) Number of doors through which the user should pass (min), 5) Number of changes in direction of movement (min), and 6) Number of intersection points in corridors (min). The initial values of the importance of each criterion are obtained using the ranks correlation theory.

Path finding in a 3D building simulated environment.
The algorithm takes into account the current user position. It is invariant to the number of obstacles, their shape, orientation, and position in the room and works with cyclic or acyclic, directed or undirected graphs. Path-finding algorithm performance was tested in several simulated 2D and 3D environments. Figure 6 shows the 3D topology of a simulated building, which has three wings (left, middle, and right), and each wing has five floors (level 0–level 4). To evaluate the performance of the path finding algorithm in a 3D building environment, three groups of test scenarios are used:
Inside-to-inside path finding (for example, from “room 1” to “room 2”).
Inside-to-outside path finding (for example, from “room 2” to “outside”).
Outside-to-inside path finding (for example, from “outside” to “level 0, left wing”).
Table 4 shows the performance of the path finding algorithm compared to Yen’s algorithm for both test scenarios.
Runtime test in 3D building environment
The adjacency matrix should be corrected, in order to prevent obtaining extra paths that include node “outdoors”.
Both algorithms correctly find the maximum number of feasible paths, but the proposed algorithm is from 7 to 12 times faster. For example, for a complete, undirected graph with 10 nodes (109,601 possible paths), our algorithm is 337 times faster compared to Yen’s path finding algorithm.
When an evacuation plan is activated, the following sequence of actions are realized: 1) All elevators, rooms, or parts of corridors that are already affected by the fire or gas are disabled, 2) A push message is sent to clients alerting them to download a new connectivity map, 3) Windows are allowed to be used as evacuation exits if an escape path cannot be found, 4) Information on the material and thickness of the walls and doors is obtained to predict the path of the fire and the speed and direction of its expansion, 5) A multi-objective path finding module is adapted to the activated evacuation plan.
Use case example
At this stage, the services that implement BIM-based navigation system are deployed on GAE. An HTML5-based service (Building Builder) is used to allows 2D/3D modeling and visualization of the building and its elements using WebGL The spatial information can be generated using primitive graphics or IFC files. The information needed to build BIM can be exported in XML format (see Fig. 7).
At this moment, due to the lack of large public smart building, the functionality of the services was tested through XML scripts that describe the changes in context data over time (status of sensors, objects, and clients). These scripts are generated by an HTML5-based service named Building Simulator. Users of the service can filter out information that they wish to use. For this purpose, the building information is divided into layers: topology; sensors and actuators; objects; staff and visitors; constraints; raw context; and events. The service allows users to change the topology; add and remove objects, sensors and actuators; generate a certain number of visitors and staff members with a specified or random location; set access restrictions (spatial, temporal, or related to type of user preferences and disabilities); and simulate a change of context.

XML script – building topology.
Each client of the service receives an NFC identification card. The card is used to: a) automatically install the app on the client side at first touch of the mobile phone to the card; b) automatically start the application if it is already installed; c) authorize the client to access the service. To ensure the security of the client, two-factor authorization and a one-time URI for access to the resources of the service have been implemented.
The user reaches the desired building using a GPS-based outdoor navigation system. To inform clients that they have reached the building, the system uses iBeacons. When a client approaches one of the entrances of the building (15–20 m), the client receives a push notification with the name and designation of the building. The client can then obtain further information about the topology of the building including information about floors, entrances, exits, and whether the building is accessible to people with disabilities.
The system provides prompts through a synthesized voice (TTS) client to choose a destination point. This can be a floor number, the name of the room, an emergency exit, a staff member or visitor name(s), or another relevant bit of unique information. The description of large public buildings using BIM involves working with large datasets. Therefore it needs a flexible, fast and intelligent way to retrieve data from BIM. One way of achieving this is to allow the use of natural voice-based requests. A similar approach is used by voice assistants such as Microsoft Cortana, Apple Siri, and Google Now. The proposed system uses natural voice-based queries to retrieve data from BIM, for example: “information desk”, “orthopedic emergency room”, or “Dr. Smith.” The system uses a speech recognition engine with distributed architecture. The frontend stage (mobile terminal side) includes microphone capture; start and stop point extraction; and noise reduction if necessary. Backend stage of the service has mashup architecture. The goal is superior speech recognition probability and reliability of the service. For the implementation of Automatic Speech Recognition (ASR) at this stage, the system uses two cloud-based services that are available through the following API: Google Speech API and Bing Speech API. Both services require registration to obtain an access key. The Bing Speech API supports chunked transfer-encoding for live transcription scenarios. Both APIs use POST requests to send voice data (Google Speech API requires FLAC format with a sampling rate 16 kHz, while Bing Speech API requires WAV format at an 8 or 16 kHz sampling rate). The result is provided in JSON format and contains status, recognized text, and confidence value.

Simulated 2D environment.
Let’s assume that the client is a woman who is looking for the nearest women’s room. The client is located in one of the rooms of the apartment (see Fig. 8), which has 12 nodes (rooms) and 18 links (doors and open spaces). Google Speech API for sentence “Where is the nearest women’s room?” returns the following result:
The most likely result (confidence 0.82209402) according to this service is “where is the nearest women’s room.” Microsoft API returns the same result (confidence 0.9442599) and provides additional information such as the lexical interpretation, tokens, and pronunciation. The average response time (4G mobile network) is 1550 ms for Google Speech API and 900 ms for Bing Speech API.
After the service receives the query as a text, it starts a linguistic analysis in the following sequence: a) sentence separation (breaking text into sentences, finding the end-of-sentence markers); b) tokenization (breaking the character sequence into words); c) tagging (identifying the category of each word – noun, verb, adjective, etc.); d) semantic analysis (finding relations between keywords from the user query and the names of objects and their properties); e) mapping (finding keywords, replacing them with synonyms if necessary, and mapping the final keywords to the names of BIM objects or the names of their properties).
For the realization of the rest part of natural language processing, our system currently uses only the Microsoft Linguistic Analysis API. This cloud-based service uses POST requests to send the result obtained from ASR. The result is provided in JSON format and contains information about the phrase types. Average response time is 250 ms. If the client’s voice query is “Where is the nearest women’s room?”, the following result from linguistic analysis is obtained:
Find an optimal path using multi-parameter optimization
where:
SBARQ is direct question introduced by a wh-word or phrase
WHADVP – Wh-adverb phrase;
WRB is Wh-adverb (
SQ is Inverted yes/no question, or main clause of a wh- question;
VP is verb phrase;
VBZ is verb, present tense, 3rd person singular (
NP is noun phrase;
DT is determiner (
JJS is adjective, superlative (
NNS is noun, common, plural (
VBZ is verb, present tense, 3rd person singular (
NN is noun, common, singular or mass (
In some cases, the system may require the client to confirm or specify a query. This is necessary if the probability of correct identification is below a predefined level or if the query suggests an ambiguous response, for example: “Please confirm that you are looking for an orthopedic room”, “Three doctors named Smith (full names and their specialty follows) work in this building. Which of them are you looking for?”
In our case, it is clear that this is a query for a place (where is). The client is looking for a “women’s room.” The dictionary of synonyms provides the keyword “toilet”, which corresponds to the term “women’s room.” There is an additional requirement: nearest to the client room that is accessible to women. The query that is generated to retrieve information about the objects that match this query is:
Once the start and destination point are known, the algorithm for route planning is started (start point coincides with the current location of the client).
First, the algorithm retrieves information from BIM about the connectivity of the elements of the building that are within the scope of the query (node, apartment, floor, wing, or building). Using these data, the algorithm finds K feasible paths (macroscopic stage). By default,
To find an optimal path for a particular user, the values of objective function
This manuscript identifies the most common solutions for indoor navigation for BVI people. It can be concluded that the existing approaches concerning indoor navigation have fragmentary designs and provide only partial solutions. This study presents an approach for developing INS for BVI people. This approach uses a specially designed BIM that combines in one data model all information necessary for indoor navigation of large public buildings. Table 6 shows how the proposed approach meets the requirements (described in Section 2) that are not implemented or partially implemented in existing INS.
The navigation of visually impaired people in large public buildings is a complex task. So far, no navigation system provides the necessary reliability for the navigation of blind people, regardless of design and architecture. The use of solutions that are independent of the infrastructure of the building are based on the recognition of scenes/images and inertial navigation. Despite the very good results in the field of pattern recognition using the deep learning of neural networks, navigation systems using this approach are not applicable to people with disabilities for a few reasons. These systems is highly dependent on the illumination in the building and becomes inoperable with a lack of power supply, or with fire or smoke in the building; and the probability of correct recognition in real conditions is not sufficient for reliable navigation for people with disabilities.
The proposed approach for creating indoor navigation systems, which is based on bringing together all the information necessary for reliable navigation in a single data model, involves the use of smart buildings with specific infrastructure (sensors and actuators). The requirements for the use of BIM for the design and construction of buildings worldwide, as well as trends for construction of smart buildings, suggests that the proposed approach would be easy to implement in the near future. This approach is based on technologies that are now beginning to show their potential, for example: Internet of Things (IoT), energy harvesting sensors, ultra low power microcontrollers, personalized apps, and cloud-based services. The technologies required for the operation of the proposed type navigation systems will be generally available in the near future.
Due to the lack of buildings with the necessary infrastructure (sensors and actuators) at this time, tests were conducted with simulated 2D/3D building environments. The results of these initial tests support the use of BIM for enabling indoor path finding in large public buildings. These results have demonstrated that information extracted from BIM would support the conceptual requirements of indoor navigation.
It is expected that the proposed BIM can give a new approach to solving existing problems in the area of indoor navigation for BVI people. Future work will focus on implementing the proposed approach using real smart building environments and on testing the usability of our BIM-oriented indoor navigation system.
Footnotes
Acknowledgements
This work has been partially funded by Bulgarian Ministry of Education and Science (Project DH-07/10).
