Indoor Navigation Features – Part #1: Obstacle Avoidance

In this post we will dig deeper into the features of our indoor navigation framework, which definitely deserves several articles to cover everything.

At first, let’s summarize the key features:

BLE indoor positioning

A smartphone’s location is determined using the nearby BLE beacons, which can be supplied by Leantegra or other vendors. We support any iBeacon-compatible devices for such purposes (e.g. Estimote). The resulting accuracy for indoor positioning varies from 0.5 meters to 2 meters.

Automatic waypoints

There is no need to mark any waypoints manually on the map. All of them are automatically generated after drawing the vector map: rooms, corridors, doors etc.

Single-room and multi-room routing

You can navigate inside a single room or multiple rooms / corridors. All doors, entrances and exits are considered in the routing algorithm.

Multi-floor routing

Large buildings, such as shopping malls or airports, might have several floors with elevators or stairs in place.

Support for OSM tools 

Map editing for indoor navigation can be easily done in JOSM – free and open source tool for editing OSM maps.

Route length

Walking distance in meters / feet to the target point.

Obstacle avoidance

This is about non-walkable areas, such as benches or fountains in a shopping mall. Let’s cover this feature in more details.

All obstacles and non-walkable areas can be configured in JOSM by drawing simple polygons and placing the right OSM tags (attributes) for them. In terms of the tagging scheme we’re using the standard “Simple Indoor Tagging” scheme, which is described right here.

Let’s review a simple example with the following map, which was created in JOSM. It includes one rectangular obstacle, which is marked below.



To make this rectangle recognizable as an obstacle the following steps should be done in JOSM and CVO Portal:

1. Create a relation in JOSM, where this obstacle and the surrounding area (large perimeter) will be present.

2. Assign “inner” role to the obstacle and “outer” role to the large perimeter.

3. Save the changes in your OSM file.

4. Upload the resulting file using the admin menu in CVO Portal, so it will become automatically available to the mobile SDK and the associated mobile app.


We use cookies to personalize your experience. By using our website you agree to our Privacy Policy