0% found this document useful (0 votes)
9 views

Verma 2016

This document proposes a smartphone-based indoor navigation system that uses on-device sensors for location tracking and a web-based interface for map creation. The system allows users to generate maps of indoor locations by uploading panoramic images captured at points of interest. The navigation app then uses dead reckoning with the smartphone's sensors to estimate a user's location as they move through the mapped area and guides them to their destination via the shortest route.

Uploaded by

cexopib409
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Verma 2016

This document proposes a smartphone-based indoor navigation system that uses on-device sensors for location tracking and a web-based interface for map creation. The system allows users to generate maps of indoor locations by uploading panoramic images captured at points of interest. The navigation app then uses dead reckoning with the smartphone's sensors to estimate a user's location as they move through the mapped area and guides them to their destination via the shortest route.

Uploaded by

cexopib409
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

A Smartphone Based Indoor Navigation System

Shivam Verma∗ , Rohit Omanwar∗ , Sreejith V∗ , Meera GS†


∗ Dept. of Computer Science and Engineering, BITS Pilani - K K Birla Goa campus, Goa, India
{f2009680, h2012060, srev}@goa.bits-pilani.ac.in
† Thirdeye Networks, Trivandrum, India
[email protected]

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.

978-1-5090-5721-4/16/$31.00 ©2016 IEEE 345 ICM 2016


Fig. 1. Editing an Indoor Location in Map-Maker

B. Localization and Navigation


The navigation module runs as a separate application. It
enables the user to view a complete map of the area or
navigate to a destination. When the user enters a destination,
the directions via the shortest route are displayed to the user
in text. These directions are also overlaid graphically on the
map as shown in Figure 5. The application also displays the
estimated location of the user on the map as the user moves
around in the indoor environment.
To estimate the current location of the user, from a known
initial position, we use Dead-reckoning algorithm. Dead-
reckoning is the process of calculating the current position,
with the help of previously calculated positions and thereby
advancing that position based upon known or estimated data.
Fig. 2. Adding tags to panoramic images and linking images The implementation of this technique can be done with the
help of sensors available in our smartphones. In our imple-
mentation, we use the accelerometer and magnetometer sensor
data to estimate the user’s current location. Our approach of
Dead-reckoning using these sensors is explained below.
Once these images are captured and updated, the web
server will contain the list of PoIs, their relative orientation 1) Defining the Coordinate-Axes: The smartphone sensor
and their relationship with its neighboring PoIs. Hence, framework on the Android OS uses a standard 3-axis coordi-
any indoor location can be mathematically represented as a nate system. For most sensors, the coordinate system is defined
graph G, where the points of intersection of indoor pathways relative to the device’s screen, when the device is held in its
are represented as nodes in the graph and the pathways default orientation. The X axis is horizontal and points to the
connecting these nodes are represented as edges in G. right, the Y axis is vertical and points up, and the Z axis points
outside from the screen face. In this system, the coordinates
G = (V, E); behind the screen have negative Z values. The axes are not
V = P0 , P1 , ...Pn where Pi = ith PoI; swapped when the device’s screen orientation changes, i.e., the
E = E0,0 , ...En,n where Ei,j represents the edge between sensor’s coordinate system would never change as the device
ith and jth PoI and 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≤ j; moves.
Eij = {wij , θij } where wij = distance between ith and jth 2) Sensor Data: At any given time, the magnetometer can
node, θij is the angle of the edge with respect to the magnetic be used to retrieve the orientation of the smartphone with
north direction; respect to the magnetic north. This sensor however, occasion-
ally provides inaccurate measurements due to the presence
When a user selects an indoor location in our proposed of structural elements or electronic equipment that have a
navigation system, we request this map data from the web- significant effect on magnetic field. Common smartphones are
server to generate a visual representation of the indoor area. not equipped with other means of orientation sensing. Hence,
A generated indoor map can be seen in Figure 5. This map is the inaccurate magnetometer is the only way to determine
then used for localization and navigation, as described next. the orientation of the smartphone. Since our Dead-reckoning

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.

b) Step Duration Filter: While walking normally, the


duration of two succeeding steps does not change too much.
Hence, to increase the accuracy of our step-detection algo-
rithm, we reject a detected peak when its duration is less than
half the duration of the previous step.
4) Tying it all together; The Dead-reckoning Algorithm:
On being provided the initial location, the application starts
the Dead-reckoning algorithm as described in Algorithm 2.
Whenever the user takes a step, the algorithm creates a set of
predicted nodes. Predicted nodes are a subset of all PoIs that
can be reached from the current location without any major
change in the orientation of the smartphone relative to the
magnetic north, i.e. nodes that can be reached by walking in
Fig. 3. Variation of xacc,t while walking. a straight line. Since walking in an exact straight line would
be a difficult task, all possible nodes that lie within a 30◦ arc
We observed during experimentation that at times, two from the current orientation of the smartphone are considered
continuous peaks occur in a very small duration even when as predicted nodes. When the user takes a larger turn (> 30◦ )
only one step is taken by the user. The magnitude of the the application calculates the ratio between the weights of the
acceleration vector for both of these peaks is higher than the predicted nodes and the current step counter value. The best
threshold value and hence they are incorrectly recorded as two ratio is then used to predict and update the node at which a
steps. We used the following signal processing algorithms to turn was taken. The value of the step counter is set to zero at
tackle this challenge; every such turn.
a) Low - Pass Filter: A filter that passes low-frequency
signals and attenuates the signals with frequencies higher than III. I MPLEMENTATION
the cutoff frequency. The actual amount of attenuation for each The proposed approach was implemented and tested in our
frequency varies, based on the filter design. Hence, the filter university campus premises. We designed an application for

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

the Android platform to upload the panoramic images to our


Map-Maker. Using the Map-Maker we updated the tags on
these images using a simple drag-to-draw mechanism. We then
linked these tags to other images replicating real life indoor
pathways. We also added other descriptive details to the map
Fig. 5. Shortest path to the destination in Blue with current estimated location
such as names of PoIs. These details are displayed to the user denoted by a Red Dot.
when using our navigation application.
When using the navigation application, the user can choose
to view the complete indoor map of the area or select a desti- help in navigating the user to a destination. In future work,
nation location. Our navigation algorithm estimates the current we plan to extend our smartphone application to automate
position of the user on being provided with an initial location. the process of step counting when capturing panoramas. We
The initial location as of now, needs to be provided by the also plan to explore realtime image matching techniques using
user. However, our approach can be extended to incorporate smartphones to increase the accuracy of our indoor navigation
NFC tags or QR Codes at entrances or by incorporating the system.
last received GPS coordinate before the application switches ACKNOWLEDGEMENT
to the indoor navigation module. On providing a starting point,
the application sends a request to our web server, which replies This research work was conducted while the first author
with a JSON response. The response contains details of all the was an undergraduate student at BITS Pilani - KK Birla Goa
panoramas for the indoor location, along with the linking of Campus. The authors would like to thank the Network and
the tags and the respective step counts. Systems research group, BITS Pilani - KK Birla Goa Campus
Once the user inputs the destination, the application calcu- for their support.
lates the shortest path from the user’s current location to the R EFERENCES
given destination. We use Dijkstra’s algorithm to calculate the
[1] K. Yedavalli, B. Krishnamachari, S. Ravula, and B. Srinivasan, “Ecolo-
shortest path between any two nodes, taking into account the cation: a sequence based technique for rf localization in wireless sensor
weight of the edges i.e., the step counts. This path is then networks,” in IPSN 2005. Fourth International Symposium on Information
displayed on the map in Blue. Figure 5 shows a screenshot Processing in Sensor Networks, 2005., April 2005, pp. 285–292.
[2] A. Finkel, A. Harwood, H. Gaunt, and J. Antig, “Optimizing indoor
from our smartphone application obtained after running the location recognition through wireless fingerprinting at the ian potter
shortest path algorithm from the user’s location to the given museum of art,” in Indoor Positioning and Indoor Navigation (IPIN),
destination, A-506. The current location is also displayed to 2014 International Conference on, Oct 2014, pp. 210–219.
[3] Y. Li, P. Zhang, X. Niu, Y. Zhuang, H. Lan, and N. El-Sheimy, “Real-time
the user as a Red Dot as the user navigates through the indoor navigation using smartphone sensors,” in Indoor Positioning and
environment. Indoor Navigation (IPIN), 2015 International Conference on, Oct 2015,
pp. 1–10.
[4] S. Schmitt, S. Adler, and M. Kyas, “The effects of human body shad-
IV. C ONCLUSION AND F UTURE W ORK owing in rf-based indoor localization,” in Indoor Positioning and Indoor
Navigation (IPIN), 2014 International Conference on, Oct 2014, pp. 307–
In this paper, we presented a system for indoor navigation 313.
using off-the-shelf smartphones. In the first phase, a user [5] E. J. Hoffmann, M. Werner, and L. Schauer, “Indoor navigation using
creates an indoor map of the area by linking panoramic images virtual anchor points,” in 2016 European Navigation Conference (ENC),
May 2016, pp. 1–8.
using our web application, Map Maker. This indoor map is [6] N. Fallah, I. Apostolopoulos, K. Bekris, and E. Folmer, “Indoor human
then used by our smartphone based Navigation application navigation systems: A survey,” Interacting with Computers, p. iws010,
to estimate a user’s location, calculate the shortest path and 2013.

348

You might also like