Verma 2016
Verma 2016
Abstract—Although various solutions have been suggested for method is supported by a web based interface for users to
indoor navigation systems, most methods require the support of easily create a map of any indoor location by capturing
external physical hardware infrastructure. Due to the increase in panoramic images. A smartphone application can then request
complexity and cost of set-up of supporting hardware require-
ments, scalability will always be an issue with such systems. for this map data from the web-server to localize and navigate
In this paper, we present the design of a smartphone based the user to a destination via the shortest route. Visual feedback
indoor navigation system. The proposed method uses on-device is provided to the user as he moves around in the area.
sensors for Dead-reckoning and is supported by a web based The paper is organized as follows; Section II explains the
architecture, for easily creating indoor maps and providing an
proposed architecture followed by the implementation details
indoor location’s information for navigation and localization. The
system has been implemented and tested, and the results indicate in III. Section IV concludes the paper along with the future
that the approach is useful for navigation in indoor environments. work.
Index Terms—Map Generation, Indoor Positioning, Indoor
Navigation. II. A RCHITECTURE
I. I NTRODUCTION Our proposed solution consists of two phases. The Map
Existing navigation systems can be broadly classified into Generation phase is a one time process and is performed
two major categories, indoor and outdoor. Most outdoor first for each indoor location. The Localization and Navigation
navigation techniques use satellite based navigation systems phase will use the map generated in the first phase for user
such as GPS, GLONASS, etc. to locate an object in any navigation.
outdoor area. Such techniques work well in open spaces with
A. Map Generation
a clear line of sight to the satellites, but may not perform
well in an indoor environment, as the signals get scattered Generating maps for any indoor location is a two-step
and attenuated by physical objects. process. In the first step, a user, the map-creator, captures
Over the past few decades, indoor navigation systems multiple 360◦ panoramic images of the indoor environment.
have been a very popular subject of research. A Radio The user must ensure that these images are captured from each
Frequency(RF) based localization technique is proposed in intersection of the pathways of the given indoor environment.
[1]. For locating an object, this RF based approach exam- We call these intersections, Points of Interest(PoIs). Once these
ines the received signal strength(RSS) at multiple reference images are captured, the user can generate a map by uploading
locations. However, such a system needs extensive hardware the images to our online web based editor, the Map-Maker.
infrastructure support and is not easily extensible. The wide The Map-Maker allows us to create and maintain maps for
availability of mobile devices with multiple communication any number of indoor locations. Each location in the Map-
protocol support such as WiFi, Bluetooth, ZigBee, NFC etc. Maker lists the panoramas captured by the user as shown in
has given way to novel indoor navigation techniques. Wireless Figure 1. The user can then use the Map-Maker to define tags
fingerprinting [2] [3] becomes more feasible due to the ubiq- in each of these images. A tag is a quadrilateral area defined
uity of WiFi chips. However, the approach suffers from issues in the panoramic image as shown in Figure 2. Each of these
such as dependency on external signal distribution, fluctuation tags represent a path that connect any two PoIs in the indoor
in RSS values, effect of human bodies on signal [4] etc. Other location. The user then links this tag to another panorama
Bluetooth based techniques [5] utilize RSS values from BLE representing an indoor path between these two PoIs. The Map-
beacons placed in the user’s environment and hence, suffer Maker also requests the user to enter a distance value when
from similar issues. adding a new link. We provide this distance as the number of
Challenges in developing any indoor localization and nav- steps taken to reach the second PoI from the first. Additionally,
igation system include map generation, indoor localization, the user must also mark an approximate location of magnetic
software development for the client platform, etc [6]. In this north in each of these panoramic images. The process is same
paper we present the design of an end-to-end solution which as adding tags to images and can be seen in Figure 2. This
allows for map-generation, indoor localization and navigation is done to determine the orientation of PoIs relative to each
with the help of an off-the-shelf smartphone. The proposed other while generating the indoor map.
346
algorithm uses the magnetometer to determine the user’s
orientation, such issues will lead to inaccurate readings. To
tackle this problem, we take the moving average of the past
ten values retrieved from the magnetometer. This enables us
to minimize errors in our estimation.
Acceleration of the smartphone along the three axes, as
described previously, can be obtained from the accelerometer.
We use the accelerometer data to develop a step-detection
algorithm and combine it with the orientation data to determine
the current location of the user.
3) Step Detection Algorithm: When a user holds the smart-
phone parallel to his body (in a landscape orientation) while
walking, we observe that the value of acceleration along the X
axis varies according to a pattern. There is a steep increase in
xacc,t , as the user takes a step followed by a trough as shown
in Figure 3. Therefore, by counting the number of such peaks
in the xacc,t value, we can determine the number of steps taken Fig. 4. Variation of x2acc,t + yacc,t
2 2
+ zacc,t with the threshold value for
by the user. However, since the sensor coordinate system is step detection
fixed relative to the orientation of the smartphone, any change
in orientation of the smartphone due to user handling affects
the value of acceleration along the X-axis. Even slight changes omits high frequency values, which helps in countering mul-
in the orientation of the smartphone result in xacc,t values, tiple step detection for one step taken. Algorithm 1 explains
above our threshold for step-detection. To tackle this problem, the steps.
we use the magnitude of the acceleration vector instead of
initialization;
monitoring the values along any particular axis. Variation of
for 0 ≤ i ≤ n do
the magnitude of the acceleration vector with the threshold
y[i] := y[i − 1] + α ∗ (x[i] − y[i − 1])
value is shown in Figure 4.
end
Algorithm 1: Applying a Low-pass filter with α as filtering
factor.
347
initialization;
while Step Taken do
stepCounter = stepCounter + 1
Calculate current angle of device from magnetic
north;
Update list of predicted nodes;
if turn taken then
match ratios of edge weights and the number of
steps taken to predict the best matching node;
stepCounter = 0
else
continue;
end
end
Algorithm 2: Localization using Dead-reckoning
348