What do I need to make an indoor app?
An indoor app avails itself of information connected to the indoor environments in which it is used. This means there are two major challenges: First, the information must be attached to the relevant part of the building. A model of the building or the space - the hollow parts - of the building must be provided. The model must be structured to make access fast and understandable with the user's terms of the buildings. Second, as indoor information can be provided by the building owner and/or the leaser of space inside a building, there will be many sources for information, and much information, most of which will never be needed by a specific user. We need a way to access the information.
When referring to a location in a building, coordinates in a local or global coordinate system do not make much sense for the system nor for the user. Often, the distance between two things given by a coordinate system is of less import than whether they are in the same room. E.g. I want to know whether I am in the same room as the projector with which I am interacting, not that it is only 2 metres away from me, namely attached to the ceiling right above the floor I am standing on. For this we need modelling of locations in the building.
There are two main approaches in location models, modelling the concrete structures of the building in a geometric representation with coordinates either in a local or global coordinate system, this is also called building modelling, and modelling the "hollow parts" of the building, the rooms etc., in a symbolic model.
The basic structure of the PerPos location model is symbolic: a tree. Parts of the tree represents a building, a floor, or a room. The main relation that is modelled is containment. This allows for efficient replies to queries about containment. Furthermore, the connectivity between rooms are represented in a graph structure. Each node represents a room and an edge between the nodes represent a physical opening between the corresponding rooms. The main relation modelled is connectivity. Last, the geometric extent of the building structures is represented in 2.5 dimension, where elevation is given as a floor number. The geometric extent means positions given in a coordinate system can be mapped to locations in the location model. Moreover, the geometric extent allows for better visualisations.
A hybrid location model, as the PerPos model, supports all of the most common application requests for functionality, namely:
- Position queries: the answer can be given as symbolic locations or as coordinates.
- Nearest neighbour queries: this in turn requires a distance function, preferably a distance along a traversable path.
- Navigation: for further information see the "how do I provide indoor navigation".
- Range queries: requires a definition of geographic areas and ability to answer whether something is contained in an area
- Visualisation: the visualisation can be a representation of the concrete part of the building or a more abstract representation as for example a visualisation of a graph that represents the building.
Both containment, connectivity between rooms and a representation of the geometrical structures of the rooms are needed to answer all of these questions satisfactorily.
Apps that are not specific for a certain building cannot include the building information. There are too many buildings and too much information owned by too many parties. A solution to this is to implement part of the application as a cloud service. Here information can be shared between building owners and users.
- Particle Filters
- Indoor Navigation
To help you we provide the following starting points for more information:
T. Toftkjær. Accurate Positioning of Pedestrians in Mixed Indoor/Outdoor Settings: A Particle Filter Approach to Sensor and Map Fusion. PhD. Dissertation.
Blunck, H., Godsk, T., Grønbæk, K., Kjærgaard, M.B., Jensen, J.L., Scharling, T., Schougaard, K.R., Toftkjær, T. 2010, "PerPos: A Platform Providing Cloud Services for Pervasive Positioning", i Proceedings of the 1st International Conference on Computing for Geospatial Research and Application, Association for Computing Machinery. http://dx.doi.org/10.1145/1823854.1823869