design and implementation of an ipad web application...

64
Design and Implementation of an iPad Web Application for Indoor-Outdoor Navigation and Tracking Locations Master’s Thesis, Department of Surveying and Planning, School of Engineering, Aalto University Espoo, 13 February 2012 Muhammad Usman Bachelor of Science in Technology Computer Systems Engineering Supervisor: Professor Kirsi-Kanerva Virrantaus Instructor: Lic.Sc. (Tech) Jussi Nikander

Upload: truongdiep

Post on 26-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Design and Implementation of an iPad Web Application for Indoor-Outdoor

Navigation and Tracking Locations

Master’s Thesis, Department of Surveying and Planning,

School of Engineering, Aalto University

Espoo, 13 February 2012

Muhammad Usman

Bachelor of Science in Technology Computer Systems Engineering

Supervisor: Professor Kirsi-Kanerva Virrantaus

Instructor: Lic.Sc. (Tech) Jussi Nikander

ii

AALTO UNIVERSITY

SCHOOL OF ENGINEERING

PO Box 11000, FI-00076 AALTO

http://www.aalto.fi

ABSTRACT OF THE MASTER’S THESIS

Author: Muhammad Usman

Title: Design and Implementation of an iPad Web Application for Indoor-Outdoor

Navigation and Tracking Locations

School: School of Engineering

Department: Department of Surveying and Planning

Professorship: Cartography and Geoinformatics Code: Maa-123

Supervisor: Professor Kirsi Virrantaus

Instructor(s): Lic.Sc. (Tech.) Jussi Nikander

The purpose of this thesis is to develop an iPad application as part of Otaniemi Open

Project. The application helps new visitors in positioning and navigating both indoor and

outdoor in Otaniemi campus of Aalto University. In addition to the main features

(positioning and navigation), the application also assists users manipulating calendar’s

scheduled events spatially.

A variety of related technologies and methods have been studied to select the best suitable

ones for developing the application. The technologies studied basically provide information

about comparing different positioning techniques and that how they can be used while

considering different factors like accuracy, precision and finances available.

The application’s user interface is developed using the open web standards like JavaScript,

Hyper Text Markup Language (HTML) and Cascading Style Sheets (CSS). The web

frameworks used are PhoneGap, OpenLayers and Sencha Touch. The background maps

used are Bing Maps and Open Street Map, the user can switch between the two maps.

The indoor routing maps of the buildings are overlaid upon the respective buildings in Bing

Maps and Open Street Map. The path generated from one place to another is shown

graphically in the foreground of the application. The process of generating the indoor maps

involves much manual work but the future goal is to automate the whole process.

Date: 13.02.2012 Language: English Number of pages: 53

Keywords: Navigation, Positioning, Location Based Services, Routing, Tracking

iii

In memory of my father Amir Muhammad (1955-2009)

iv

Acknowledgements

I am very thankful to Professor Kirsi Virrantaus, whom did not only supervise my thesis

but also supported the finances of my thesis and provided me a work environment.

Moreover, she guided me to a right direction in research related situations and broadened

my knowledge in the area. It has been an amazing experience for me working in a group of

people (Geomatics Research Group) where diverse knowledge has always been shared,

thus I learned a lot here.

I am very grateful to Lic.Sc. (Tech.) Jussi Nikander who instructed my thesis very well

both practically and theoretically. He never refused my help even when he was busy

writing his own PhD thesis and had a limited time to complete it.

I would like to thank Juha Järvi for his invaluable support and patience throughout this

thesis. I learned a lot from his school of thoughts and his experiences in diverse topics.

I am thankful to all my colleagues especially Xabier Eraña for being a pleasant company

throughout and providing me moral support in times I needed it.

Last but not least, I am thankful to my family for understanding me in different situations

and never stopped praying for my success.

Espoo, February 2011

Muhammad Usman

v

Table of Contents

List of Figures .................................................................................................................... vii

List of Tables .................................................................................................................... viii

Table of abbreviations and acronyms ............................................................................... ix

Terminologies ....................................................................................................................... x

Chapter 1 .............................................................................................................................. 1

Introduction .......................................................................................................................... 1 1.1 Motivation and goals ................................................................................................................. 1 1.2 Thesis Contents ........................................................................................................................... 5 1.3 Scope and Objectives ................................................................................................................. 5 1.4 Research Questions ................................................................................................................... 6 1.5 Design Overview ......................................................................................................................... 7

Chapter 2 .............................................................................................................................. 9

Background Information .................................................................................................... 9 2.1 Existing Positioning Systems .................................................................................................. 9 2.2 Outdoors Location Based Services ....................................................................................... 9

2.2.1 GPS, A-GPS, GLONASS, Galileo ...................................................................................................... 9 2.3 Indoors Location Based Services ....................................................................................... 11

2.3.1 WLAN based positioning .............................................................................................................. 11 2.3.2 The Cricket Location Support and Active Bat systems .................................................... 13 2.3.3 Quick Response (QR) codes based positioning ................................................................... 13 2.3.4 Radio Frequency Identification (RFID) based positioning ............................................ 14

2.4 Positioning Techniques ......................................................................................................... 16 2.4.1 Triangulation .................................................................................................................................... 17 2.4.2 Time of Arrival ................................................................................................................................. 17

2.5 Tracking Spatial Location ..................................................................................................... 19 2.6 Handheld devices for LBS ..................................................................................................... 20

2.6.1 Apple iOS............................................................................................................................................. 21 2.6.2 Android ................................................................................................................................................ 22 2.6.3 Blackberry .......................................................................................................................................... 22

2.7 Chapter Summary .................................................................................................................... 23

Chapter 3 ............................................................................................................................ 24

Processing Spatial Information ........................................................................................ 24 3.1 Requirements ........................................................................................................................... 24 3.2 Map Generation and Representation ............................................................................... 25

3.2.1 Map Generation Process ................................................................................................................... 26 3.2.3 Database .............................................................................................................................................. 30 3.2.4 Labeling .............................................................................................................................................. 30 3.2.5 Data Presentation............................................................................................................................ 30 3.2.6 Floor Plan Overlay on top of Background Map ................................................................... 32

3.3 Chapter Summary .................................................................................................................... 34

Chapter 4 ............................................................................................................................ 35

CombinedIndoorOutdoorNavigator ................................................................................ 35 4.1 Design .......................................................................................................................................... 35 4.2 User Interface ........................................................................................................................... 37

4.2.1 Map Screen ......................................................................................................................................... 37 4.2.2 Track my Friends ............................................................................................................................ 39 4.2.3 Calendar Screen ............................................................................................................................... 39 Use Case 1: Locate yourself ........................................................................................................................ 41 Use Case 2: Find directions ........................................................................................................................ 41

vi Use Case 3: Track friends ............................................................................................................................ 41 Use Case 4: View calendar appointments by location ..................................................................... 42

4.4 Algorithm ................................................................................................................................... 44 4.4.1 Route Planning ................................................................................................................................. 44

4.5 Chapter Summary .................................................................................................................... 47

Chapter 5 ............................................................................................................................ 48

Conclusions and Future Work .......................................................................................... 48

Bibliography ....................................................................................................................... 49

vii

List of Figures

Figure 1 Accuracy vs. Precision (Stook, 2011) ................................................................. xi Figure 2 Home Screen of the Application ............................................................................. 4 Figure 4 WLAN based positioning ...................................................................................... 12 Figure 5 A user is taking a snapshot of a mounted QR code to locate his/her current

location ......................................................................................................................... 14 Figure 6 Passive RFID based positioning (Ting, Kwok, Tsang and Ho, 2011) .................. 16 Figure 7 Positioning using Time of Arrival technique (Le, Sargas, and Webb, 2009) ....... 18 Figure 8 Route Map generation process .............................................................................. 27 Figure 9 Floor plan after processing with Adobe Illustrator ................................................ 28 Figure 10 Navigation Graph ................................................................................................ 29 Figure 11 Routing map shown in JOSM ............................................................................. 31 Figure 12 Routing map after overlaying on Bing map ........................................................ 33 Figure 13 iPad 2 Home screen ............................................................................................. 36 Figure 14 Map Screen of the application ............................................................................. 38 Figure 15 Application's calendar screen .............................................................................. 40 Figure 16 A calendar event shown on the map .................................................................... 43 Figure 17 Path generated by the application for indoor navigation ..................................... 46

viii

List of Tables

Table 1 Abbreviations and acronyms ................................................................................... ix Table 2 An overview of some common positioning technologies ....................................... 19

ix

Table of abbreviations and acronyms

Table 1 Abbreviations and acronyms

AGPS Assisted Global Positioning System

AOA Angle Of Arrival

API Application Programming Interface

BST Base Station Transmitter

CAD Computer Aided Design

GIS Geographical Information System

GLONASS Global Navigation Satellite System

GPS Global Positioning Systems JS JavaScript

JOSM Java Open Street Map JSON JavaScript Object Notation

LBS Location Based Service LOS Line Of Sight OS Operating System

OSM Open Street Map

MS Mobile Station

QR Quick Response RF Radio Frequency

RFID Radio Frequency Identifier RSS Received Signal Strength SQL Structured Query Language TOA Time Of Arrival Wi-Fi Wireless Fidelity WLAN Wireless Local Area Network

XML Extensible Markup Language

x

Terminologies

Positioning vs. Localization

In (Lecture on Sensor Networks, 2011) Heanselmann has differentiated the two

terminologies the following way:

- Positioning means to determine global or absolute coordinates of an object.

- Localization means to determine relative or local coordinates of an object.

The terms defined above have been used interchangeably throughout in this thesis.

Precision vs. Accuracy

In the work of (Streiner and Norman, 2005) the two terms are defined as follows:

- “Precision is the degree of obtaining a score on first turn repeats on a second

term”. It means how close a number of certain inputs are to one another under the

same conditions.

- “Accuracy is the degree of obtaining a score close to the actual score.”

The two terms are also differentiated explicitly in Figure 1, where the big red point shows

the actual location of an object and the small brown points show the Global Navigation

Satellite System (GPS) values. The four scenarios in this case represent very well the

relation between accuracy and precision.

xi

Figure 1 Accuracy vs. Precision (Stook, 2011)

1

Chapter 1

Introduction

1.1 Motivation and goals

Technology and research based on Location Based Services (LBSs) (Wang, Min and Yo,

2008) have been in full swing for the last few years. Smart phones, nowadays, are capable of

providing location-based information on the fly by using a variety of sensor techniques like

GPS, Wi-Fi, and Bluetooth (Xiang, Song, Chen and Wang, 2004, Weyn, Maarten, Sxhrooyen

and Frederick, 2008, Ahamed, 2008). In addition, they also have their own built-in embedded

sensors such as accelerometer and compass, which can be used for navigation purposes.

Built-in cell phone cameras on the other hand can be used for positioning using different

techniques, for example, taking photos of mounted bar codes (Ruppel and Gschwandtner,

2009).

Presently, services like Google maps for smart phones are playing a vital role in LBS. Other

LBSs services like Google Latitude are also quite widespread for tracking friends’ spatial

location remotely. Services like Google maps and Google Latitude are developed to help

users in outdoor LBSs using GPS.

During the past few years more advancements have been achieved in outdoor LBS than in

indoor. Indoor LBSs are now becoming as popular as outdoor LBSs because people often

loose directions inside unfamiliar and large buildings. Indoor spatial location information can

be used to cope with emergency situations like earthquakes, fire fighting and certain other

rescue operations. This is the reason, that indoor location information should be more

accurate and up to date. Besides this, a highly sophisticated and error-free infrastructure is

needed to establish indoor LBS.

GPS does not work inside buildings directly because GPS signals do not penetrate through

roofs and walls. Even in dense areas GPS provides its services with low accuracy due to

interference and Line Of Sight (LOS) problems (Stook, 2011). Indoor LBSs are not

dependent on GPS and these services are provided through a variety of techniques. The

infrastructure for indoor LBSs varies from building to building. On the basis of factors like

accuracy, implementation cost and reliability, an infrastructure for indoor LBSs is established

depending upon the user requirements (Miu, 2002, Xiang, Song, Chen and Wang, 2004, Le,

Sargas and Webb, 2009, Weyn, Maarten, Sxhrooyen and Frederick, 2008). Based on these

2

factors, one of the or even a combination of the existing sensor technologies is used for

indoor LBSs.

To be out of curiosity, people often want to locate their friends remotely and track their

movement from place to place. Mobile phones nowadays include these kinds of features that

allow them to see their friends’ geographical location remotely. Such applications can be

useful for schools, military purposes, tourism and rescue operations.

People schedule appointments in their daily routines and save those in their personal calendar

for a reminder. A scheduled event often contains information about the day, venue and time.

The venue or location information is of more interest in here. The location information

entered in to the calendar can be seen as spatial graphics in the application. This feature helps

user because just by looking at the map, the user gets to know about the upcoming

appointments he/she has. The user can see the exact place where an appointment is

scheduled, and thus the user does not have to search for a place in a separate map.

The motivation of this thesis is 1) to study the existing sensor techniques for positioning and

to choose one for this prototype, which is more accurate and less-expensive, 2) the precise

indoor navigation and 3) to see how visually better the spatial data is presented temporally on

a mobile map.

The goal of this thesis is to design and implement a prototype smart phone application that is

capable of indoor and outdoor LBSs called CombinedIndoorOutdoorNavigator for Otaniemi

Campus of Aalto University as part of Otaniemi Open project. The prototype is developed

using the combined effort of three web developers in total. The introduction and referral to

each work is as follows:

1) Muhammad Usman

Master degree student Aalto University

The role was to study and compare the background technologies and to choose the

best suitable technologies for this project. The other role was to develop the user

interface for the application and implement a few features like searching a building by

its name and positioning.

2) Juha Järvi

Master degree student Aalto University

The role in the project was to produce the indoor navigation map for navigation and

overlay it on the background map used.

3) Mingfing yu

Master degree student Aalto University

The role in the project was to develop the calendar and synchronize it with the

background map of the application.

3

The developed application is considered to be useful for people who are unaware of the

geography of Otaniemi. The new Aalto University which was found in January 2011, is a

merge of three different other universities. This will bring an increasing amount of new

visitors and more students to Otaniemi Campus of Aalto University.

The architecture and the master plans of Otaniemi are complicated to navigate for new

comers. Moreover, the street addresses of different buildings do not help in guiding new

visitors. The application contains features like, indoor positioning and navigation, tracking

friends’ location in real time and observing the application’s calendar data spatially on top of

the background map used. The OSM (OpenStreetMap community, 2011) and Bing Map are

used as base maps in the application because both the services provide more detailed

information about the test area of the application and has also primitive support for indoor

LBSs (Indoor Mapping, 2011).

The development platform used for this prototype is iOS but can also be extended to Android

and Blackberry in future. Figure 2 shows the main screen of the application, which has Bing

Maps as the base map with certain other layers on top of it and has initial view of Otaniemi

that is the test area of the thesis.

The initial focus of the prototype is to include only the most common buildings in Otaniemi

campus of Aalto University. Later on, the aim is to expand it further to cover the whole

Otaniemi campus.

4

Figure 2 Home Screen of the Application

5

1.2 Thesis Contents The chapter-wise structure of the rest of the thesis is described here. Chapter 2 discusses the

related technologies to this prototype. Chapter 3 explains the techniques and methods used

for making the routing maps and the overlay process of these routing maps on top of the

background map. Chapter 4 contains information about the uses cases, the user-interface and

the implementation of the application. Chapter 5 concludes this thesis and also discusses the

limitations and the problems faced in this application. This chapter also explains briefly the

future goals of this project.

1.3 Scope and Objectives

The research done here describes the potential technologies in the field of location-based

services. One of the main objectives of this research is to select and apply the appropriate

technologies for CombinedIndoorOutdoorNavigator. The selected technologies are evaluated

in terms of deployment cost, accuracy, performance and usability. The area of outdoor LBSs

has already been much researched and is still under research (Salimin and Hosio, 2006,

Ahamed, 2008). GPS has revolutionized the world with its amazing services for outdoor

positioning and navigation. During the recent past, people also tend to get interested in

applications for indoor navigation and positioning. One reason is the size and complexity of

the buildings.

There is an enormous difference between the indoor navigation-positioning systems and

outdoor navigation-positioning system (Miu, 2002). For example, positioning in indoor

environments can be done using several technologies (Xiang, Song, Chen and Wang, 2004,

Weyn, Maarten, Sxhrooyen and Frederick, 2008), which are different from the positioning

technologies used in GPS or other outdoor positioning systems (Salminen and Hosio, 2006).

Not only the positioning techniques cause the difference between indoor and outdoor LBSs

but navigation techniques as well. For instance, there is always a predefined infrastructure of

roads where vehicles can navigate and they have to use only those lines, but in indoor

environments people can move freely which means that completely different techniques

could be used for routing in the two environments (Miu, 2002). The other difference is the

availability of data for the two environments. Data for roads network of a certain region

could be accessed using different online or offline sources but getting the architectural plans

of particular buildings (private and public) have its own conditions of availability and are not

available publically. The level of accuracy and precision for outdoor positioning is different

than the indoor positioning. Positioning objects indoors should be more accurate than the

objects located outside. The positioning accuracy within 5-8 meters range is usually all right

for user in open environments but is insufficient for those who are indoors.

6

This prototype is developed on the basis of three main objectives. The first objective of this

thesis is to study different indoor positioning techniques and compare them, in order to find

the most suitable one for this prototype. The criterion of suitability is evaluated in terms of

accuracy and the cost for installing the infrastructure. The second objective is to synchronize

the application’s calendar data with the application’s map. The third objective is to program a

routing algorithm that guides users from their origin/current location to a destination they are

interested in. The last objective of this prototype is the capability of tracking people locations

in real time. This feature is implemented by keeping the privacy issue in notice. Both the

parties, the trackers and the people to be tracked, should agree beforehand on certain privacy

terms.

The scope of this prototype is limited to the QR codes positioning technology, showing

calendar’s data spatially and its services for indoor navigation. Anything beyond these will

not be discussed here such as the deployment and distribution plans, privacy issues and

commercialization of the application.

1.4 Research Questions

On the basis of the contents described in the previous sections of this chapter, three research

questions have been derived to answer in this thesis.

The first research question is to see the possibility of developing an application for an iPad,

which uses only QR codes technology for positioning users inside buildings. Furthermore the

primary research question above is subdivided secondary parts, they look like this:

- Why is it chosen

- How does a QR code work for indoor positioning

- How feasible they are from users’ perspective

- What are the limitations

The second research question is how to represent calendar data/events spatially on top of a

background map. In Geographical Information System (GIS) perspective, it means to

represent calendar’s events on the their respective geographical locations in a map. In our

system we had represented the calendar events on OSM keeping the user interface in mind.

This thesis argues on how to represent the temporal data spatially in terms of selecting

markers, colors and how do the users interact with them.

The third research question is to evaluate different methodologies for tracking peoples’

locations feature in a mobile phone based on a certain privacy agreement between the

trackers and the person who is to be tracked.

7

1.5 Design Overview CombinedIndoorOutdoorNavigator is an application that runs on an iPad and is capable of

being used for navigation and positioning purposes in indoor as well as outdoor environments

of Otaniemi, Finland. The secondary features are tracking friends’ locations in real time and

showing the locations of the calendar events on the map as markers inside the application.

For indoor navigation and positioning, the architectural plans of the buildings in Otaniemi

provided by the Aalto University administration have been used as the negation maps. The

machine-readable routing maps are generated from these architectural plans and are overlaid

in their respective locations on top of the background map. The routing maps generated are

used to render the route information that is provided to the application by a user. The

generated route for a user is shown as graphical lines on the top of the routing map. The

application uses OSM and Bing maps as base maps.

The floor plans are overlaid with high care so that to perfectly align the buildings without any

errors on the background map. The reason is to keep high precision and accuracy both for

indoor and outdoor navigation and positioning. The plans obtained were preprocessed in

several steps so that they can be efficiently and precisely used for navigation, rendering and

presentation. The first step was to convert those into a better machine-readable format from

the original Computer Aided Design (CAD) format, the second step was to produce a two-

dimensional graph from each floor plan for routing algorithm implementation. The third step

was to make a data structure for the extracted spatial information from the plans and store it

in a database. Figure 3 shows the different building blocks of the prototype and how are they

connected to each other.

This thesis contributed to provide a working LBSs application for an iPad that can be used in

Otaniemi Campus of Aalto University. This application behaves equally and accordingly to

the quality of spatial information provided by the user.

8

Floor Plans

Routing Graph

Routing Algorithm

CombinedIndoorOutdoorNavigator

Aalto University

Positioning

Technologies

GPS and Positioning Sensors

Calendar Application

Background maps

Figure 3 The block diagram describes the development process of the application in the

form of different blocks and also shows their interconnectivity

9

Chapter 2

Background Information

2.1 Existing Positioning Systems Several location-based systems have been introduced in the last two decades (Miu, 2002,

Xiang, Song, Chen and Wang, 2004, Maps Everywhere, 2011, Salminen and Hosio, 2006,

Weyn, Maarten Schrooyen and Frederick, 2008, Lau, Patil, Ni and Liu, 2004). The existing

positioning systems are sub-divided into two categories: 1) Outdoor LBSs 2) Indoor LBSs.

As stated earlier, GPS signals cannot be received indoors, thus a different positioning system

is required for indoor LBS.

The technologies used in outdoor LBSs and indoor LBSs are discussed respectively in the

upcoming sections.

2.2 Outdoors Location Based Services

2.2.1 GPS, A-GPS, GLONASS, Galileo

GPS (How Does GPS Work, 2011, Assisted GPS, A-GPS, 2011) is the prime revolution in

LBS. It was created by the US Department of Defense (DoD). GPS is the largest service for

navigation and positioning in the world. GPS is comprised of 27 earth-orbiting satellites in its

constellation (24 in operation and 3 for backing up in failure cases), placed in four orbital

planes around earth (How GPS Receivers Work, 2011). GPS has been under development

since 70’s and became fully operational in 1994. GPS receivers are commonly deployed in a

variety of handheld devices including smart phones. The GPS satellites located in the earth

orbit continuously transmit coded radio beacons. The GPS receivers receive these signals and

use a time-based approach to locate themselves. A single GPS receiver is capable of

receiving signals from multiple GPS transmitters. The more the transmitters there are the

more accurate the resultant positioning is. For successful positioning, signals from at least

three satellites are required. GPS succeeds in an accurate positioning from 6-7 meters, when

10

the GPS signals do not face any interference during transmission. GPS can’t be used for

indoor LBSs because the roof and walls of the building block the GPS signals. Some methods

have been introduced to overcome the interference problems by using an extra infrastructure

like pseudo lite technology (Wang, 2002, Ning, Kao, Chang and Meng, 2004). An example

of positioning done using GPS signals is shown in Figure 4.

Assisted-GPS (A-GPS) (A-GPS explained in historical context, 2011, How Does GPS Work,

2011, Assisted GPS, A-GPS, 2011,Assisted GPS and location-based services, 2011) is an

enhanced GPS system with more precise navigation and accurate positioning capabilities.

Nowadays most of the GPS enabled smart phones employ the A-GPS technology. A remote

GPS location server performs most of the positioning tasks before hands for a full GPS client,

thus saving some extra time. This remote server computes the position of the AGPS enabled

device with minimal time. With A-GPS enabled, the cell-phone does not have to search for

the visible satellites during positioning unlike normal GPS enabled phones (Zandbergen,

2009). In fact, they find the GPS satellites spontaneously using the existing cellular

networks, for example GSM (Djuknic and Richton, 2001). Many newly introduced smart

phones/devices such as iPad 2 (the third generation model) supports A-GPS, which allows

locating its current position using GPS or relative nearby base stations transmitters.

Normally the remote servers are installed at high altitudes, for example rooftops that help

getting a direct LOS with no or very less interference. This base station also helps in indoor

navigation in the building where it is installed because of the strong Received Signal Strength

(RSS). A signal amplifier would be needed which boosts the signal into the building for

positioning. This technique can work better in the immediate floor to the rooftop then the

floors in the bottom of the building. It is also useful in urban areas, when the user has to be

located under heavy tree covers, or even in indoor environments (A-GPS, 2011).

The Russian Federation Global Navigation Satellite System (GLONASS) was introduced in

the late 1970s for military purposes only. Later on, in 2007 the restriction of using

GLONASS by civilians was taken away and people started using it for navigation and

positioning. The idea to build GLONASS was also to counter GPS. GLONASS is run and

maintained by Russia’s Ministry of Defense. GLONASS contains 24 satellites placed in 3

orbital planes. GLONASS has always been facing financial crisis until mid 2000s. But since

2007 GLONASS was added in the list of top prioritized projects by the Russian government.

More funds were provided to the project and hence more satellites were launched in 2010

(Russia Places 3 More Satellites in Orbit, 2011) and thus started fully functioning earlier in

2011 covering the whole world.

Galileo is a counterpart to US GPS and Russian GLONASS positioning system for Europe. It

was initiated by European Union in coordination with European Space Agency (ESA) in the

mid 2000s. This system is still in development stages and is not yet operational. According

to the plan, it should start partially operating by 2014. Galileo positioning system consists of

27 operational satellites and 3 test bed satellites placed in three circular Medium Earth Orbit

(MEO) (What is Galileo, 2011). The first two operational Galileo satellites were recently

11

launched and the next two will be launched in 2012 (They Are Up! EU Launches Galileo

IOV Satellites, 2011). Galileo will provide highly accurate (1-3meters) global positioning and

navigation services compared to GPS and GLONASS. Compatibility and interoperability

with other positioning systems will maximize availability, usability and accuracy for the

users even in less-favorable satellite signal areas.

2.3 Indoors Location Based Services

Many research and innovations have been done in LBSs since the last decade. Yet there is a

gap between outdoors navigation services based on satellites and indoors navigation systems

based on Wireless Local Area Network (WLAN), UWB or cell-phones networks (Weyn,

Maarten, Schrooyen and Frederick, 2008). The problem is as discussed in previous

subsection that satellite signals do not penetrate through a hard medium like a wall or a roof

and hence cannot be used for indoor LBS. It is obligatory to establish a dedicated

infrastructure in a building that is to be used for navigation and positioning.

2.3.1 WLAN based positioning

WLAN is one option that can be used for indoor positioning. WLAN needs no new

infrastructure, as these networks are available in almost all the public buildings nowadays.

Similarly, Wi-Fi is also available in every smart device now, which means there is no need to

install any extra hardware at the receiver side as. Positioning based on WLAN uses the RSS

from the Wi-Fi access point for locating an object in the vicinity. The signals received from

the Wi-Fi access point by a cell phone are stored in a database in the form of a vector series.

The positioning system estimates the position of a receiver based on the signal strength of the

vector. The higher the signal strength the more accurate the position estimate is. Wi-Fi can

also be used in combination with other sensing technologies to produce more accurate and

continuous positioning results (Real-Time Location System (RTLS, 2011).

12

Figure 4 WLAN based positioning

Certain factors like multipath propagation and interference affect identifying accurate

location of an object when using WLAN based positioning system. The problem is the high

variance in the distribution of data that happens when the receive moves and also the

temperature of the environment (Pan, Zheng, Yang and Hu, 2008).

13

2.3.2 The Cricket Location Support and Active Bat systems

The Cricket Location Support System uses a combined form of ultrasonic and RF for

locating mobile users inside the building (Priyantha, Chakraborty and Balakrishnan, 2000).

The Cricket system is based on trilateration to locate users remotely, which measures

distances between the receiver and the transmitter for calculating the user’s location. This

system promises high accuracy, robustness for both static and mobile users. The beacons

transmitters should be mounted on walls and ceilings with proper alignment to reduce

interference with other radio beacons (Priyantha, Chakraborty, Balakrishnan and 2000).

A system known as Active Bat System (The Bat Ultrasonic Location System, 2011) also uses

ultrasonic signals for locating objects inside buildings. The Active Bat system works in a

similar fashion as the Cricket system. A transmitter is attached to a user (a Bat) to be

positioned, which transmits short ultrasonic pulses periodically to a number of receivers

mounted in different parts of the building. The travel time of the signal received is calculated,

which is then multiplied with the speed of sound to calculate the distance between the Bat

and each receiver in a closed space. The distances calculated are then used to position the

Bat using the principle of trilateration.

The advantage of using the Bat system for localization is that it can cover very large

buildings having many remote objects to localize (The Bat Ultrasonic Location System,

2011). The other advantage is the high accuracy; this system is capable of locating Bats down

to 9cm of their true position for 95 percent of the measurements (Lau, Patil, Ni and Liu,

2004).

The disadvantage of this system is the high cost and complexity. The maintenance of the

system is also an issue because a small fault in the system can bring the whole system down.

It can also affect the positioning accuracy of a certain Bat. There is also a probability of

losing the tags (transmitters) and the lost tags can be misused and the results may lead to

wrong assumptions (Want, Hooper, Falcao and Gibbons, 1992).

2.3.3 Quick Response (QR) codes based positioning

There should be something off the shelf component that the users do not have to carry all the

time unlikely tags. For example, a mobile phone camera is a component already embedded in

smart phones. The mobile phone camera can be used for localization by taking photos of

mounted bar codes in a building, such as QR codes (About QRCode, 2011). With the help of

the information retrieved from a QR code, a LBS application can locate a user. The QR

codes can easily be mounted in different parts of a building. The QR codes deployment cost

is quite low, hence a large area can be covered with them. The replacement of damaged QR

14

codes is also quite convenient and inexpensive (Top 10 QR Code Tech Support Questions,

2011).

As described in (Mulloni, Wagner and Schmalstieg, 2009), using QR codes is a good choice

for LBS in indoors due to its fast readability. The user takes a picture of a mounted QR code

whenever he or she wants to locate his/her current position in the building (Ruppel and

Gschwandtner, 2009) as can be seen in figure 5. Unlikely WLAN, Cricket or Active Bat

system, the surrounding environment does not affect the positioning accuracy using QR

codes. The QR codes can also be used in parallel with other technologies to continuously

locate a user, for example, smart phones’ sensors. QR codes are also compatible with many

open source application development libraries, which is an advantage to the application

developers (iphone-qrcode, 2011).

Figure 5 A user is taking a snapshot of a mounted QR code to locate his/her current location

The downside of using this system for localization is its low usability. The user has to hold

the camera quite close to the QR code for a better LOS (Ting, Kwok, Tsang, Ho and 2011).

Similarly, the user has to take pictures until the software has identified the bar code.

2.3.4 Radio Frequency Identification (RFID) based positioning

RFID based location-information service includes proprietary RFID scanners mounted

throughout the building. These scanners scan the RFID tags when in range and an exchange

15

of information occur between the sending and receiving tags. This technology has application

in diverse fields and can also be used for LBSs. An RFID scanner uses radio signals for

locating a person wearing an RFID tag from a certain distance. The main advantage of using

RFID for LBS is that it requires neither a direct contact nor a direct line of sight with the

positioning objects (Ting, Kwok, Tsang, Ho and 2011). Another advantage is low installation

cost when covering small areas. For larger areas, the deployment cost rises up or when

replacing the equipment. In addition, RFID are more efficient compared to bar codes, the

tests have proven that the RFID tags can even be read in less than 100 milliseconds (Lau,

Patil, Ni and Liu, 2004).

For localization, RFID system works in a similar fashion as Cricket and Bat systems,

meaning that the objects to be positioned should always carry RFID tags and a scanner is

needed to scan the tag. Unlike, Bat and Cricket Systems this technology uses radio signals for

communication. A server that receives the scanned signals from the scanner uses positioning

techniques like trilateration; location fingerprinting or triangulation to position the RFID

tagged objects (Ting, Kwok, Tsang and Ho, 2011), as shown in figure 6. These techniques

are discussed in more detail in the upcoming sections of the chapter.

There are two types of RFID tags: Active and Passive RFID tags. The active RFID tags have

their own battery and are used for running the circuitry and transmission, passive tags do no

have their own battery but they use the power drawn from the reader when being scanned

(What’s the difference between passive and active tags, 2011). Active RFID has a longer

transmission range, is bigger in size and more expensive than passive RFID. Before using

any kind of tag for positioning, it should be tested for, its transmission range capability and

its attenuation properties in different environments.

16

Figure 6 Passive RFID based positioning (Ting, Kwok, Tsang and Ho, 2011)

2.4 Positioning Techniques

In indoor LBSs, locating objects accurately is very important; the more accurate is the

positioning the more precise will be the routing directions. In this section multiple

positioning techniques are described. The factors that should be considered when deciding

the techniques used for positioning are accuracy, inter-operability and efficiency. The status

of the users in general is also important that either the users are dynamic or static.

Techniques suitable for static users differ when used for moving users. The positioning can

either be done continuously or discretely. Continuous positioning is done when the

transmitter and the receiver communicates continuously just like GPS. Continuous

positioning is done mostly in outdoor LBSs but rarely in indoor environments. Discrete

positioning is done when the user’s device determines its location either by transmitting

signals or using some other positioning techniques (Le, Sargas and Webb, 2009).

17

2.4.1 Triangulation

Triangulation has a long history and scientists have been using it for several centuries in

surveying as well as in hydrography. The concept of triangulation is to find the unknown

location of a point with the help of certain known points. For example, let’s take a case of

three points where two points are known and the third is not. The distance between the

known points is also known, and the angles made from each known point to unknown points

are measured. Putting all those known values into a mathematical equation results the

location of the third unknown point.

On the other hand trilateration (principle of triangulation) uses the distances among

transmitters and receivers for localization rather than angles as in triangulation. Most satellite

based location services, such as GPS, use trilateration for positioning. For example, the

transceiver held by a person communicates with the satellites. The radio signals received by

the device are recorded along with the time it was sent from the satellite. The distance

between satellites and device is calculated by the formula: d=V*t. When the distance of a

transceiver is determined from all the three satellites then the GPS software can easily locate

the transceiver’s latitude and longitude using trilateration principle.

2.4.2 Time of Arrival

Time of Arrival (TOA) is the travel time calculated between a transmitter and a receiver. It

can be used to find out the distance between the transmitter and the receiver. The speed of

radio waves is already known as they travel at the speed of light so it is easy to calculate the

distance. This technique is mostly used for estimating the location of an object in outdoor

environments. There should be at least three Base Station Transmitters to localize a particular

Mobile Station as shown in figure 7 below.

18

Figure 7 Positioning using Time of Arrival technique (Le, Sargas, and Webb, 2009)

When all the distances from all the Base Station Transmitters (BSTs) to the Mobile Station

(MS) are known then the position of the MS can be found by using the trilateration technique,

and to execute trilateration for positioning, the distances of all the three BSTs should be

determined first (Le, Sargas and Webb, 2009).

The summary of available potential technologies along-with their respective technique is

given in table 2.

19

Table 2 An overview of some common positioning technologies

Technology Range Accuracy Comments Technique

WLAN Approx. 35m 1-6m +Low cost

+Cover large

areas

-Multipath fading

-Less secure

-Less accurate

Trilateration

Signal

Strength

Cricket

And

Active Bat

Environment

dependent

4cm-1m +High accuracy

-High deployment

cost

-Multipath and

sensitive to

objects

-LOS

Trilateration

QR codes Distance

proportional to

the size of QR

code

4cm-2.5feet +Easy and cheap

+No need to

carry tags with

object

-Much manual

work

Direct

RFID Active: more or

less 10m

Passive: 2-4m

Active: 5-

7m

Passive:

10-30cm

+High speed

+Large areas

-Carrying extra

tags with objects

-LOS

Trilateration

Signal

Strength

2.5 Tracking Spatial Location

Location-determination applications are one of the most widely used applications for

handheld devices and smart phones. These applications assist users in services based on

spatial location of people, point of interests and certain other things like vehicles, devices,

and many other resources (Cell Phone tracking is Easy (and Legal) with AT & T FamilyMap,

2011, How Do I Find a Friend on an AT & T Cell Phone, 2011, Memory-Map Remote

Tracking, 2011). Most of the latest smart phones are now equipped natively with tracking

20

possibilities. The primary purpose of this feature is to track the lost or stolen devices, for

example iOS based devices (How to locate your iPad if it’s lost or stolen, 2011).

Tracking can be done both in indoor and outdoor environments. Tracking inside buildings is

comparatively harder than the outdoor environments and the problems are the same as

discussed in the previous section, for example low or no-signals reception inside buildings.

Hence to establish an indoor tracking system either a complete new infrastructure should be

installed or an addition to the existing infrastructure should be done. Technologies and

techniques used for positioning purposes are more or less the same for also tracking. In

(Zaruba, Huber, Kamangar and Chlamtac, 2006), RSS Indication from the Wi-Fi access

points inside the building has been used for tracking Wi-Fi enabled mobile users in the

vicinity. The non-Wi-Fi based devices can also be tracked indoors through an integrated

system of active RFID tags and Wi-Fi access points (Location Tracking using Wi-Fi based

RFID Tags, 2011, Asset Tracking Mobile Solution (active RFID tags with wireless reader),

2011).

RFID based tracking system has also been used (Ali, Aloul, Aji, Zarouni and Fakhro, 2008)

for tracking people in open/outdoor environments. The target users in the research done by

Ali, Aloul, Aji, Zarouni and Fakhro (2008) are the parents keeping track of their kids at a

certain park in Dubai. The kids have to wear the RFID tags (transmitters) during their stay at

the park. These tags are always in communication with the wireless RFID readers (receivers)

installed throughout the park. These RFID readers retrieve location information periodically

from the transmitters tags and report it to the master station.

In this prototype the focus is on tracking pedestrians locations remotely from the mobile

device. The test area for tracking locations is outdoor Otaniemi, tracking indoors is beyond

the scope of this thesis. The implementation is done using GPS signals and hence its must for

both the parties to have GPS enabled devices. Presently a number of GPS tracking devices

are available commercially that can be fixed to anything for tracking (GPS Tracking Devices,

2011).

2.6 Handheld devices for LBS

Different platforms like iOS, Android and Blackberry were studied and evaluated to select

the best suitable development platform of this prototype. The platform was selected on the

basis of certain factors, for example, diversity, security, interoperability, easy in learning etc.

21

2.6.1 Apple iOS

Apple iOS is Apple’s operating system for its smart handheld devices; iPhone, iPad and iPod

touch (Applie iOS, 2011). Apple does not provide rights to install its operating system on a

third-party hardware. The sophisticated applications provided by the Apple incorporation for

iOS have made it one of the most successful companies in the world. The user interface in

iOS is operated using touchscreens. The advantage of using Apple iOS is that an application

developed for any Apple handheld device such as iPhone is also interoperable on the other

two devices (iPad and iPad Touch).

For this prototype iPad 2 was selected as the development platform. It provides good services

for LBS, as it contains multiple sensors, which are capable of LBSs using a variety of options

like Wi-Fi, cellular network, GPS or accelerometer. iPad also facilitate users with better

readability, quality graphics, high and fast computational power. The native support for multi

touch when interacting with maps, makes it a good choice for users to be used for LBSs.

The other reason was the wide variety of open source libraries for development, for example

PhoneGap (PhoneGap, 2011), which brought a change in applications development for iOS

and it is not compulsory anymore to use the Objective-C for the native development.

PhoneGap is not just a library of JavaScript Application Programming Interface (API) but

provides a bridge between the applications developed and then uploading it to App store. The

PhoneGap also provides the interoperability of an application developed on one platform

such as iOS with other platforms such as Android or Blackberry. Hence, making it easier for

a developer to publish the application on different platforms.

A comparison has been done in between developing web applications and native applications

for iPad in (Designing Web Apps for the iPad, 2011) and is summarized here.

Native iPad Apps

Native Apps are faster: uses more of the iPad’s resources and functionalities.

No need to search the web: one-stop shopping on the App Store.

Users feel more comfortable: They know the app was made specifically for their

device, not adapted using HTML5/CSS3.

Easier to turn on and off: Apps are made to turn on/off without interruption or loss

of data.

More difficult to develop: requires knowledge of Objective-C and use of Apple

SDK.

Closed Platform: difficult to adapt for other devices like the Android platform.

22

iPad Web Apps

Emerging coding standards: HTML5, CSS3, JavaScript are bringing incredible

client-side functionality to the web; especially with local/offline storage.

Tailor the site for any browser: switch between style sheets or redirect pages

depending on which device or browser your user is operating. It is possible to make

your app universal.

Easy to develop: Use HTML, CSS and JavaScript to create iPad web apps instead of

learning new languages. These are skills you already have.

Apple Inc. cannot censor web app: The web is an open platform — meaning that

you are in control. No waiting to get approved by the App Store.

Small market, not enough support: web apps need strength in numbers, which

means not only attracting users but developers as well.

2.6.2 Android

Android (What is Android, 2012) is an operating system developed by Google for smart

phones and is currently the most popular operating system in in the world. Most applications

developed for Android are free, unlike most iOS applications. A large number of developers

develop applications for Android because the source model for Android is free and open

(Android, 2011). The applications for Android are coded in Java using Android Software

Development Kit. Based on the standardized Java programming language, Android is also

portable with different other platforms. There are also other development environments for

developing Android applications like, Native Development Kit and Google App Inventor.

The Android mobile platform is Linux based and the advantage of using this operating

system is that it can used on different other platforms.

2.6.3 Blackberry

Blackberry is an operating system for smartphones and has so far a very limited amount of

users compared to iOS and Android. Canadian telecommunication and wireless device

company known as Research in Motion has developed it. As the Blackberry OS is well

known for its native support for corporate emails but its wide touch screen and the friendly

user interface would also prove it a good choice for navigation and positioning purposes.

23

2.7 Chapter Summary

This prototype uses QR codes for localization purposes because they are cost effective, easy

to implement and relatively more accurate. The QR codes are mounted at every door of the

building and when the user wants to locate him/herself, take a picture of the code. The

application processes the information from the scanned photo and renders it on the map.

A number of tests have been done to evaluate the QR codes based positioning technique. The

results from the test showed that QR codes based positioning produces position estimates that

are accurate to within 50cm and100% of the time.

24

Chapter 3

Processing Spatial Information

Spatial information is primarily needed for developing any location-based web application.

The more accurate the information provided, the more accurate the results produced by the

application will be. The spatial information is used in the process of generating map for

indoor navigation and positioning.

To develop this prototype, the designated personnel provided the spatial information of all

the buildings of Aalto University in the form of architectural plans. The plans received were

originally in CAD format but were changed into a better machine-readable format. The plans

contain all the necessary information about walkways, rooms, stairways, elevators doors and

their textual labels.

To navigate users inside a building, the application uses the spatial information of the

building. The information is rendered on the map showing the current position and computed

path for the user in graphical style. The spatial information is also used when the user wants

to the see the scheduled appointments location-wise.

3.1 Requirements

The main challenge in building a smart phone application for indoor LBS is the process of

generating spatial information and finding a suitable data structure to represent this

information. Generating spatial information means to have an accurate and updated map of a

building where a user wants to navigate in. Passing through a chain of different processes

produces such spatial information in the form of a map, which in this case is called a routing

map as shown in figure 12.

The process requires both manual and automated efforts. The manual work takes time and

increases the budget cost of the application for example adding points and lines for

generating 2-D graph that is needed when applying the routing algorithm as shown in figure

10. The automatic work can be done by programming small scripts for doing certain tasks,

for example labeling the point features in the inside each room. Instead, there should be an

25

automated approach that converts the original CAD drawings of architectural floor plans

composed of segments, vertices and text labels into a routing map that annotate the structural

features such as walkways, walls, elevators and stairways. This kind of automated process is

beyond the scope of this thesis and thus is not discussed here.

A routing map for navigation and other location-aware applications should be capable of

providing information to enable the following operations:

1. Locate the user and compute the shortest path between the origin and destination

point.

2. Render users scheduled appointments location-wise (see figure 16 in chapter 4).

To fulfill the first requirement in the process is to represent the network of accessible paths in

the form of two-dimensional graph. The graph is composed of nodes connected through

edges. The nodes in the graph represent waypoints while edge represents a path segment

between two waypoints. Each waypoint in the application is annotated with a coordinate.

The spatial information map produced out of the graph should be capable of computing and

showing graphically a shortest path for the user from origin to destination (see figure 17 in

chapter 4). The algorithm used for computing the shortest path is discussed in Chapter 4.

To indicate the users current position, the application uses the information extracted from the

QR code of which the user took a picture. The information is composed of spatial and textual

information. This information is rendered on the map of the application showing the current

spatial location of the user. On the other hand, if the user tries to locate another person’s

current position then the application uses GPS signals for positioning. The condition in this

case is that the person who is to be located must be in outdoor environment where GPS

signals are accessible.

The second operation is executed based on the coordinates of the places. The coordinates of

all the possible places are stored in the application’s database. The coordinate system of the

places must be similar to OSM so that the application renders the exact place for the user.

3.2 Map Generation and Representation As mentioned in the previous section that the routing maps generation process for indoor

navigation in this prototype involves both manual and automated work. When the routing

map is ready, it is overlaid in its exact location with a proper alignment on the background

map for final representation.

26

The routing map generation process and representation are both discussed respectively in the

upcoming sections of the chapter.

3.2.1 Map Generation Process

The floor plans obtained in CAD format were passed through a number of stages during the

process of generating map for indoor navigation as shown in figure 8. The process starts by

opening the CAD floor plans in Adobe Illustrator with a 100% scale of 1000 units/millimeter

in a landscape. Adobe Illustrator is a convenient application for manipulating graphical

elements both visually and programmatically. The layers for different features in the floor

plans were originally titled randomly and hence were given reasonable names by

implementing a small JavaScript program in Adobe Illustrator. The areas inside the building

that were inaccessible in any way (the white closed areas in figure 9) were identified in the

software. The rooms and the walkways were assigned different colors for better readability as

shown in figure 9.

27

Figure 8 Route Map generation process

28

Figure 9 Floor plan after processing with Adobe Illustrator

The file was saved in PDF format and was imported in OmniGraffle to generate a graph

containing a network of accessible paths for indoor navigation as shown in figure 10. The

graph is composed of nodes and edges. Every room in the floor plan was assigned a node and

all the nodes were connected to one another through edges. An edge represents the walkway

in the graph while a node represents an intermediate point on the walkway known as a

waypoint as shown in figure 10.

The floor plans when became ready were saved in p-list (property-list) format and were

imported to a JavaScript (JS) program. The files were first converted to a Java Script readable

format known as JavaScript Object Notation (JSON) and were then processed in the JS

program.

29

Figure 10 Navigation Graph

3.2.2 Path Extraction

The original floor plans obtained were containing many features but those features, which are

needed for a customized optimal path metric, were extracted. For example, walkways and

doors are the most important features to be extracted for indoor routing. The path extraction

was done very carefully because the paths are meant to direct a user to a desired destination,

any false information can lead to certain damage. The path extraction was done in a manual

fashion, when a certain path was recognized visually, then two nodes on either side were

connected using the same path (edge) as shown in figure 10.

3.2.3 Features Recognition

Different classes of features such as rooms and their labels were determined automatically by

using a JS program. This can also be done manually in the form of a regular pattern when

there is no sufficient embedded semantics information (Miu, 2002).

All the potential walkways in the floor plans were recognized automatically in the form of a

routing graph. The walkways are evaluated more critically because the walkways having

obstacles in their way or under construction should not be considered for navigation purpose.

Also the walkways, which lead to certain restricted areas, should be processed specially to

30

combat any problem that can happen in future. The program also recognized the rooms along

with their respective labels found inside their polygons.

The program converted the Bezier curves to polylines using DeCasteljau's algorithm. This is

done because when the data is exported to the geographic database then the database should

be able to determine them, otherwise the database will not recognize the original curves. The

original projection that was in meters was converted to degrees using manually entered

projection settings in the program.

After recognizing all the important features from the floor plans the data is exported to a

geographic database by outputting Structured Query Language (SQL) commands for

SpatialLite.

The Bezier-curves were converted to polylines to make them able to be recognized in the

SpatialLite database. This was done using DeCasteljau's algorithm (Shortest Path Problem:

Dijkstra’s Algorithm, 2007). The data from the JavaScript program was then exported to the

geographic database using SQL (Structured Query Language) commands for SpatialLite.

3.2.3 Database

The topological information like paths, doors and rooms extracted from the floor plan are

stored as tabular data structure. The database stores all the required information that is needed

in the application. It stores the data about the recognized rooms, labels and their coordinates

extracted from the floor plan. Information about the nodes and the edges in the navigation

map is also stored in the database.

3.2.4 Labeling

The OmniGraffle does not have an expression to represent textual information, the floor-plan

feature labels are not propagated to OmniGraffle. Thus, a separate JS program was created to

label the rooms based on the recognized text labels inside their polygons. The textual labels

were obtained from the database. The program also labeled the nodes in the routing graph

based on the rooms they were located in and were stored in the database.

3.2.5 Data Presentation

After labeling the different features and storing in the database, the data is then fetched into a

JS program from the database. The program converts the data files into XML format. This is

done because the data/floor plans with their actual latitude/longitude values are now ready to

31

be visualized on top of OSM in Java Open Street Map (JOSM) as shown in figure 11. In

JOSM the floor plans are visualized on top of their respective buildings in OSM. The figure

11 shows the main building of Aalto University. The rotation angle and the coordinates offset

of the floor plan are compared visually with the original data in the OSM.

Figure 11 Routing map shown in JOSM

But if there is a difference between the two angles then the difference is calculated manually

and added back to the floor plan’s rotation angle. And the process repeats from features

recognition point and proceeds with further with the same stages discussed in the previous

sub-sections.

32

3.2.6 Floor Plan Overlay on top of Background Map

When the rotation angle of the floor plan and the original building is same then the floor plan

is perfectly aligned and does not need to make any changes to the angles. And therefore, the

data is combined with all other OSM files representing the nth floor in the other buildings

and is imported in Mapnik. The Mapnik renders the file with 256*256 resolution using

spherical Mercator projection.

The Aerial Bing map has also been used as a background map. The alignment of the overlaid

floor plans are perfectly fitted also on Bing map as shown in figure 12.

33

Figure 12 Routing map after overlaying on Bing map

34

3.3 Chapter Summary

The routing map is designed and presented on top of background map in order to provide

spatial information that is used for locating and guiding user spatially. The application

renders the routing map as well as the background map to show the user’s current location

and the computed path from origin to destination. The spatial information of a building is

provided in the form of floor plans in CAD format, which contains information about the

accessible paths, textual labels and the coordinate system of the floors.

The process executed for creating the routing maps from original maps consists of fours

steps. The first step is to open the CAD drawings in Adobe Illustrator and change the scale

into an appropriate level, identify the no-entrance zones in the map and change the data

format into a wider machine-readable format. The second step is to create a two-dimensional

graph from the original floor plans using OmniGraffle, which is needed for shortest path

finding algorithm. The third step is to identify and extract features through a JS program and

annotate objects like doors, stairways and walkways for navigation. The fourth step is to store

the important features in a database and label the features, for example rooms. The final step

is to present the spatial maps in JOSM and test the alignment with the background map, and

then render the data using Mapnik.

35

Chapter 4

CombinedIndoorOutdoorNavigator

CombinedIndoorOutdoorNavigator is an iPad web application developed for LBSs. The

application guides user in determining spatial locations, path planning and scheduling

appointments based on locations. The specific use cases of the application are discussed in

detail in the later section of the chapter.

The application is designed in such a way that it presents the native look of an iPad

application. The design is simple which leads to a simple user interface. The design of the

application is discussed in details in the next section of the chapter.

This chapter also discusses the implementation of the route-planning algorithm in its last

section.

4.1 Design

Designing an application is more important than programming the application. Sometimes, it

is impossible to understand how an application is implemented due to its bad design, which

leads to a complicated architecture. On the other hand, there are also some applications

having a great design but lacking the usefulness of its features. A developer should always

keep a balance between the two factors (the design and the features) while developing the

application.

Similarly, an application developed for a smart phone should be designed in a way that it

looks like native and fits to its screen well. Generally designing an application for a smart

phone is challenging because of its smaller screen size as compared to desktop computers or

tablet computers.

The design requirements of an application developed for the iPad are rather different than the

iPhone because of the difference in screen sizes. The home screen of iPad 2 can be seen in

figure 13.

36

The structure of the user interface is one of the important considerations when developing

applications for the iPad. Detailed information about the user interface conventions and

considerations that are applicable when developing application for the iPad platform can be

found here (iPad Application Design, 2011).

Our prototype is originally developed for iPad so the screen size and the native look of the

iPad was emphasized while designing the prototype. Proper care has been taken in

understanding the form factor (physical style) of iPad before starting the development the

application.

Figure 13 iPad 2 Home screen

37

4.2 User Interface

The user interface of the prototype is simple, interactive and user-friendly. The main user

interface of the application contains a top menu-bar and a bottom menu-bar. The top menu-

bar contains tabs for accessing the main features of the application while the bottom-menu

bar contains tabs related to calendar data.

The main features of the application are search, locate, track friends, and get route. The

calendar data can be accessed through the tabs; Now, Next, Today, Week and Add, and are

situated in the bottom menu-bar of the application. These features show information about

the events created by the user. The Add tab allows the user to create a new event in the

application’s calendar. The Now tab when tapped by the user shows the user’s current

appointment, the Next tab shows the user’s upcoming appointment, the Today tab shows the

user’s today’s meeting and the Week tab shows the appointments of the user happening in the

whole week. All this information is shown both location-wise as well as in the applications

calendar.

4.2.1 Map Screen

The Map Screen appears by default when the user starts the application. OSM and Bing maps

are used as the background maps. The initial view of the background is zoomed to Otaniemi,

which is the test area of the application. All location-based information is shown on top of the

background map. The location of the user or a tracked friend is shown as a point feature and

the path planned for the user is shown in the form of line. The scheduled appointments in the

application’s calendar are shown as markers and when tapped open a pop-up for detailed

information.

The user can see the floor plans of the buildings as shown in the figure 14. The user can

switch between the floor plans of multi-level buildings using the drop-down menu for the

floors. An option to switch between different map services is also provided in the application.

38

Figure 14 Map Screen of the application

39

4.2.2 Track my Friends

The Track My Friends feature shows the current locations of the friends in real time in the

map. The locations of the friends whose credentials are already added to the system are

shown only in the application. Also the friends who is to be located has to approve

beforehand that the application is allowed to locate him/her.

The user can add new or delete an existing friend in the application. It is possible that the

application directs user to the tracked location of the friend.

4.2.3 Calendar Screen

The calendar screen is the other main screen of the application besides map screen. The user

can get to the calendar screen from the main menu in the top menu-bar of the application.

The events scheduled in the application’s calendar are synchronized with the map screen, so

all information in the calendar can be seen on top of the map as markers. Hence, the user

does not need to switch from the map screen to the calendar screen every time he or she

wants to see his or her appointment by location.

The location information for the events scheduled in the calendar is more conveniently shown

on the map screen. The user can also get directions from the current the location to the event

location. The Figure 15 shows the Calendar screen of the application.

40

Figure 15 Application's calendar screen

4.3 Use Cases

This application is developed based on a variety of use cases. As this is a LBS application

that is why almost all the use cases are based on geographical location.

41

Use Case 1: Locate yourself

Description: This feature provides the user his/her current spatial information rendered on

the map.

Actor: Anyone

System: iOS

Precondition: App Store or some other installation method is accessible for installing the

application.

Basic Sequence:

1. Install application from the App Store.

2. Possible to enter the name or some other information.

Use Case 2: Find directions

Description: The user can use the map for route planning, localization and to see the

highlighted locations where the calendar events are scheduled.

Actor: Anyone

System: iOS

Precondition: The application is installed and running on the machine and GPS is available

for outdoor localization.

Basic Sequence:

1. User opens the application and the main screen appears with the map.

2. The map opens with the first view zoomed on Otaniemi and provides the main

user interface as well.

3. The map can be panned and zoomed with fingers.

4. Floor maps of certain buildings are overlaid on top of OSM and could be used

for indoor navigation and positioning.

5. The user can position itself and can also plan the route from one place to

another both indoors and outdoors environments.

6. The path generated from start to target location is shown on the map in

graphical form.

7. The user can switch between the two views, Map View and Calendar View

and could also be switched to different other map layers.

8. The user can also switch the different floors of the buildings.

9. The user can see the calendar events as markers on top of the map.

Use Case 3: Track friends

Description: This feature assists user in tracking his/her friends, which are enlisted with

him/her in the application according to the privacy criteria set for the application. To track a

friend both the friends on each end should agree for adding each other to their list of traceable

42

friends.

Actor: Anyone

System: iOS

Precondition: The application is installed and running on the machine. The GPS is available

in all the machines on both ends.

Basic Sequence:

1. The user presses the Track your friends tab in the map view of the application.

2. The friends in the list all appear on the map in the form of say round markers.

This tracking is done in real time using GPS.

3. The markers can be clicked to see brief information about the friends in a pop

up window.

Use Case 4: View calendar appointments by location

Description: The user can see his/her schedule in the calendar for the upcoming events. The

user can also add new events or can modify the existing events. The Calendar is synchronized

with the Map View of the application and the user can see his/her scheduled events spatially

as shown in figure 16.

Actor: Anyone

System: iOS

Precondition: The application is installed and running on the machine.

Basic Sequence:

1. User opens the application.

2. User presses the tab for View Calendar.

3. User can see the schedule for the whole week.

4. Each week is divided into 7 days, and each day is divided into

24 hours (12AM-12AM)

5. User can add as well as modify the current events in the Calendar for each

hour or for the whole day.

6. Every single event carries information about time, location and activity.

7. The events could also be deleted from calendar.

43

Figure 16 A calendar event shown on the map

44

4.4 Algorithm

The routing algorithm calculates an optimal path for a user from one place to another using

the routing graph. Technically the algorithm uses the nodes and edges in calculating the path.

The information about the nodes and edges is stored in a database. The nodes represent the

rooms, corridors, stairs, elevators and the edges represent the walkways which the users use

for traversing when moving from one node to another (Nelen, Weyn and Klepal, 2010-11).

And hence a routing graph is generated for routing algorithm. The data structure contains all

the relevant information needed for routing, for example, nodes’ labels, and coordinates.

4.4.1 Route Planning

To get the navigation directions, the application locates the user and then finds the shortest

path between the current location and the target location. Positioning technique based on QR

codes has been used for finding the current location of the user inside a building and for

positioning in outdoor environments GPS is used. The algorithm used in this application to

perform path-planning tasks is discussed in the next section.

4.4.1.1 Indoor Route Planning

The routing graphs obtained from the process explained in the previous chapter contain nodes

connected through edges along with its topology. These graph are used in path finding

algorithm. The algorithm finds the shortest route between the nodes and renders it on the

map.

The buildings that have multiple floors are overlaid on top of one another in their respective

order and the user is allowed to switch from one floor to another in the application. When the

user requests a path between an origin and a destination, the application generates the shortest

path for the user between the two locations.

Complexity of the route is also important because people normally follow simple routes

instead of shortest route (Papataxiarhis, Riga, Nomikos, Sekkas, Kolomvatsos, Tsetsos,

Papageorgas, Vourakis, Xouris, Hadiiefthymiades and Kouroupetroglou, 2008). Complex

route can have too many left or right turns that the user may find hard to remember. This

problem is not covered in this prototype. But theoretically to overcome this problem weights,

based on the time it takes from origin to destination, are assigned to the edges in the routing

graph. The weights can also be assigned according to the comfort level derived from the

user’s preferences (Dudas, Ghafourian and Karimi, 2009) but this is out of the scope in this

prototype. The comfort level means that sometimes users chose directions, which are not

shorter but more convenient for users.

45

The shortest path is generated by the application using Dijkstra’s algorithm (How Routing

Algorithm Work, 2011). An example of a shortest path generated by the application from one

origin to destination is shown in figure 17. For calculating the shortest distance between two

points Euclidean distance formula is used.

46

Figure 17 Path generated by the application for indoor navigation

47

4.3.1.2 Outdoor Route Planning

Determining path in outdoor location is similar to indoor navigation system, despite the fact

that local indoor maps contain fewer nodes than the outdoor maps (Pomp, 2011). The

Dijkstra’s algorithm is also used in determining optimum path for outdoor navigation.

4.5 Chapter Summary

The application is designed and implemented based on the use cases discussed in the section

4 of this chapter. The application is designed in such a fashion that the look and feel is just

the same as the native iPad application.

The application generates a shortest path on user request between two locations. The shortest

path is calculated using the Dijkstra’s algorithm both in indoor and outdoor locations. The

generated path is shown graphically on top of the routing map layer as it can be seen in figure

17.

48

Chapter 5

Conclusions and Future Work

The application is implemented and tested interchangeably both on simulator and iPad

device. All the features are working equally and accordingly, producing the required results

based on user input. The user interface and the design of the application are kept similar to a

native iPad application.

Additionally, this thesis outlines manual but detailed process of producing indoor routing

maps out of the floor plans obtained originally in CAD format. The positioning technique

used is found to be more manual in a way that the user has to take images every time he/she

wants to locate his/her current location. For the prototype version the application will be

tested just for a single device when tracking a friend’s location.

In future, a particular automated technique will be implemented which will locate a user

automatically and continuously. Developing an algorithm to automate the extraction process

of walkways network from the CAD floor plans of the building. In future, the floor plans will

not only be used for navigation but also for finding different resources in vicinity. To

overcome the complexity of the planned path by developing a weight function which assigns

weights to the edges in the routing graph. A continuous and effortless technique for

positioning users inside a building is also a future plan. Wi-Fi based positioning technique

will be researched more broadly because it is one of the most efficient, automated and rather

less-expensive positioning techniques. The user interface will be more users friendly and

most of the feature will be operated by only finger touch. For example, in the current

prototype when the user wants to get directed to a destination, he/she has to input the current

and destination fields by himself/herself which is not a user friendly feature using an iPad.

49

Bibliography

Ali, A. Aloul, F. Aji, N. Al-Zarouni and Fakhro, N., Mobile RFID Tracking System, 2008.

A-GPS explained in historical context, http://www.gps-practice-and-fun.com/a-gps.html

Cited Online: [03.11.2011]

A-GPS (Assisted GPS), http://www.navigadget.com/index.php/gps-knowledge/a-gps-

assisted-gps Cited Online: [07.11.2011]

About QRcode, http://www.qrcode.com/index-e.html

Cited Online: [04.11.2011]

Ahamed, S., Technology The Effects of Global Positioning System for Reliable Positioning,

Navigation and Timing Services, Journal of Theoretical and Applied Information, India,

2005-2008

Android, http://www.android.com/, Cited Online: [12.05.2011]

Apple iOS, http://wiki.openstreetmap.org/wiki/Apple_iOS , Cited Online: [08.11.2011].

Assisted GPS, A-GPS, http://www.radio-

electronics.com/info/cellulartelecomms/location_services/assisted_gps.php , Cited Online:

[03.11.2011]

Assisted GPS and location-based services,

http://www.accessscience.com/content/Assisted%20GPS%20and%20location-

based%20services/YB094020, Cited Online: [03.11.2011]

Asset Tracking Mobile Solution (active RFID tags with wireless reader)

http://www.youtube.com/watch?v=yRQYZ5L9rH4, Cited Online: [16.11.2011].

Cell Phone Tracking is Easy (and Legal) With AT&T FamilyMap,

http://gps.about.com/od/mobilephonegps/gr/Cell_Phone_Tracking.htm, Cited Online:

[14.11.2011].

Cell-based positioning for improving LBS http://mycoordinates.org/cell-based-positioning-

for-improving-lbs/, Cited Online: [21.06.2011]

50

Designing Web Apps for the iPad, http://sixrevisions.com/web-applications/designing-web-

apps-for-the-ipad/, Cited Online: [08.11.2011]

Djuknic, G., Richton, R. Geolocation and Assisted GPS, 34(2): 123-125, Feb 2001.

Dudas, M., P., Ghafourian, M. and Karimi, A., H., ONALIN: Ontology and Algorithm for

Indoor Routing, Tenth International Conference on Mobile Data Management: Systems,

Services and Middleware, 2009

GPS Tracking Devices, http://goandtrack.com/, Cited Online: [16.11.2011].

How Does GPS Work, http://www.nasm.si.edu/gps/work.html,

Cited Online: [03.11.2011]

How GPS Receivers Work http://electronics.howstuffworks.com/gadgets/travel/gps.htm,

Cited Online: [25.10.2011]

How Routing Algorithm Work, http://computer.howstuffworks.com/routing-algorithm3.htm,

Cited Online: 1[1.11.2011]

How Do I Find a Friend on an AT&T Cell Phone?, http://www.ehow.com/how_6894837_do-

friend-at_amp_amp_t-cell-phone_.html, Cited Online: [14.11.2011].

How to locate your iPad if it’s lost or stolen, http://www.simplehelp.net/2010/04/14/how-to-

locate-your-ipad-if-its-lost-or-stolen/ Cited Online: [14.11.2011].

iPad Application Design, http://mattgemmell.com/2010/03/05/ipad-application-design/ Cited

Online: [08.11.2011]

iphone-qrcode, http://code.google.com/p/iphone-qrcode/ Cited Online: [17.10.2011]

Indoor Mapping, http://wiki.openstreetmap.org/wiki/Indoor_Mapping

Cited Online: [04.08.2011]

Lecture on Sensor Networks, http://www.slideshare.net/netfet/localization-presentation Cited

Online: [17.10.2011]

Location Tracking using Wi-Fi based RFID Tags, http://www.excitingip.com/335/location-

tracking-using-wi-fi-based-rfid-tags/ Cited Online: [16.11.2011].

Lenihan, N., A Local Optimal User Position System for Indoor Wireless Devices, Master

degree thesis

51

Le, M., H., Sargas, D. and Webb, N., Indoor Navigation System for Handheld Devices,

Bachelor’s thesis, Worcester Polytechnic Institute, October 2009.

Lau, Y. & Patil, A., Ni, L. & Liu, Y., LANDMARC: Indoor Location Sensing Using Active

RFID, Wireless Networks 10, 701-710, 2004

Maps everywhere http://micello.com/, Cited Online: [12.06.2011]

Memory-Map Remote Tracking, http://www.memory-

map.com/index_frame.html?http://www.memory-map.com/memory-

map_remote_tracking.htm, Cited Online: [16.11.2011]

Miu, A., Design and implementation of an Indoor Mobile Navigation System, Master Thesis,

Massachusetts Institute of Technology, 2002.

Mulloni, A. Wagner, D and Schmalstieg, D., Indoor Positioning and Navigation with

Camera Phones, April 2009.

Ning, F., Kao,S., Chang, C. and Meng, X., Preliminary Testing of Pseudolite to Improve GPS

Precision, 2004

Nelen, T.,Weyn, M. and Klepal, M., Indoor Navigation for Complex Environments, Master

Thesis, 2010-2011.

OpenStreetMap community, http://www.openstreetmap.org/ Cited Online: [04.08.2011]

Pan, S., Zheng, V., Yang, Q. and Hu, D., Transfer Learning for WiFi-based Indoor

Localization, 2008

Papataxiarhis, V., Riga, V., Nomikos, V., Sekkas, O., Kolomvatsos, K., Tsetsos, V.,

Papageorgas, P., Vourakis, S., Xouris,V., Hadjiefthymiades, S. and Kouroupetroglou, G.,

MNISIKLIS: Indoor Location Based Services for All, 2008

PhoneGap, http://www.phonegap.com/ [Cited: 12.05.2011]

Priyantha, N., Chakraborty, A., and Balakrishnan, H., The Cricket Location-Support System,

2000.

Pomp, A., Indoor Navigation [Comparing different indoor location determination

approaches], 2011.

Real-Time Location System (RTLS), http://www.ekahau.com/ Cited Online: [October 28,

2011]

52

Russia Place 3 More Satellites in Orbit, http://insidegnss.com/node/348 Cited Online:

[27.10.2011]

Ruppel, P. and Gschwandtner, F., Spontaneous and Privacy-friendly Mobile Indoor Routing

and Navigation, 2009

Salminen, T. and Hosio, S., Region-Based Positioning Method for Cellular Networks, 2006

Shortest Path Problem: DIjkstra’s Algorithm,

http://www.codeproject.com/Articles/19919/Shortest-Path-Problem-Dijkstra-s-Algorithm,

Cited Online : [07.02.2012]

Streiner, D. and Norman, G., ‘‘Precision’’ and ‘‘Accuracy’’: Two Terms That Are Neither,

2005.

Stook, J., Planning an indoor navigation service for a smartphone with Wi-Fi fingerprinting

localization, Master Thesis, TU Delft, August 2011.

Ting, S., Kwok, S., Tsang, A. and Ho, G., The Study on Using Passive RFID Tags For

Indoor Positioning, International Journal of Engineering Business Management, Vol. 3, No.

1, 2011

The Bat Ultrasonic Location System http://www.cl.cam.ac.uk/research/dtg/attarchive/bat/ ,

Cited Online: [10.10.2011]

They Are Up! EU Launches First Galileo IOV Satellites http://insidegnss.com/node/2796

Cited Online: [27.10.2011]

Top 10 QR Code Tech Support Questions http://www.qrstuff.com/blog/ Cited Online:

[17.10.2011]

Wang, J., Pseudolite Applications in Positioning and Navigation: Progress and Problems

Journal of Global Positioning Systems, Vol. 1 pg: 48-56, July 2002.

Wang, S., Min, J. and Yi, B., Location based Services for Mobiles: Technologies and

Standards, LG Electronics Mobile Research, USA, 2008

Want, R., Hooper, A., Falcao, V. and Gibbons, J., The Active Badge Location System, 1992

Weyn, Maarten, Schrooyen and Frederick A WiFi assisted GPS Positioning Concept, January

2008.

What's the difference between passive and active tags? http://www.rfidjournal.com/faq/18/68

[Cited: 11.10.2011]

53

What is Galileo, http://www.esa.int/esaNA/galileo.html Cited Online: [04.11.2011]

What is Android, http://developer.android.com/guide/basics/what-is-android.html Cited

Online: [08.11.2012

Xiang, Song, Z., Chen, S., Wang, J., H;et. Al., A wireless LAN-based indoors positioning

technology, IBM Journal of Research and Development; Sep-Nov 2004, pg. 617.

Zaruba, G., Huber, M., Kamangar, F. and Chlamtac, I., Indoor location tracking using RSSI

readings from a single Wi-Fi access point, June 2006

Zandbergen, P., Accuracy of iPhone Locations: A Comparison of Assisted GPS, Wi-Fi and

Cellular Positioning, Transactions in GPS, s1 pg.: 5-26, 2009.