Content uploaded by Ruoxi Jia

Author content

All content in this area was uploaded by Ruoxi Jia on Apr 07, 2016

Content may be subject to copyright.

sensors

Article

MapSentinel: Can the Knowledge of Space Use

Improve Indoor Tracking Further?

Ruoxi Jia 1,*, Ming Jin 1, Han Zou 2, Yigitcan Yesilata 3, Lihua Xie 2and Costas Spanos 1

1Department of Electrical Engineering and Computer Sciences, University of California, Berkeley,

CA 94720, USA; jinming@berkeley.edu (M.J.); spanos@berkeley.edu (C.S.)

2School of Electrical and Electronics Engineering, Nanyang Technological University,

Singapore 639798, Singapore; zouhan@ntu.edu.sg (H.Z.); elhxie@ntu.edu.sg (L.X.)

3Department of Electrical and Electronics Engineering, Middle East Technical University,

Ankara 06800, Turkey; yigitcan.yesilata@metu.edu.tr

*Correspondence: ruoxijia@berkeley.edu; Tel.: +1-510-693-7634

Academic Editor: Vittorio M. N. Passaro

Received: 25 January 2016; Accepted: 26 March 2016; Published: 2 April 2016

Abstract:

Estimating an occupant’s location is arguably the most fundamental sensing task in smart

buildings. The applications for ﬁne-grained, responsive building operations require the location

sensing systems to provide location estimates in real time, also known as indoor tracking. Existing

indoor tracking systems require occupants to carry specialized devices or install programs on their

smartphone to collect inertial sensing data. In this paper, we propose MapSentinel, which performs

non-intrusive location sensing based on WiFi access points and ultrasonic sensors. MapSentinel

combines the noisy sensor readings with the ﬂoormap information to estimate locations. One key

observation supporting our work is that occupants exhibit distinctive motion characteristics at

different locations on the ﬂoormap, e.g., constrained motion along the corridor or in the cubicle

zones, and free movement in the open space. While extensive research has been performed on

using a ﬂoormap as a tool to obtain correct walking trajectories without wall-crossings, there have

been few attempts to incorporate the knowledge of space use available from the ﬂoormap into the

location estimation. This paper argues that the knowledge of space use as an additional information

source presents new opportunities for indoor tracking. The fusion of heterogeneous information is

theoretically formulated within the Factor Graph framework, and the Context-Augmented Particle

Filtering algorithm is developed to efﬁciently solve real-time walking trajectories. Our evaluation in a

large ofﬁce space shows that the MapSentinel can achieve accuracy improvement of 31.3% compared

with the purely WiFi-based tracking system.

Keywords:

indoor tracking systems; non-intrusive; map-aided; WiFi; ultrasonic sensor networks;

particle ﬁlters

1. Introduction

The indoor location sensing technology has emerged as an inherent part of the “smart buildings”

as it provides great potential for building operation improvement and energy saving. For instance,

an on-demand ventilation or lighting control policy must know the usage of the building spaces,

which may involve when building occupants enter or exit the building, where they inhabit, what time

they occupy the spaces, the duration of occupancy, etc. Such applications require the location sensing

systems to provide real-time estimate of occupants’ locations, which is also termed “indoor tracking”,

in order to realize ﬁne-grained, responsive building operations.

Most indoor tracking systems necessitate each occupant to carry or wear a powered device such

as an infrared [

1

], ultrasonic [

2

–

4

], or Radio Frequency transceiver [

5

–

7

]. Even if the transceiver

Sensors 2016,16, 472; doi:10.3390/s16040472 www.mdpi.com/journal/sensors

Sensors 2016,16, 472 2 of 19

is miniaturized into a convenient form, occupants are not willing or likely to carry it at all times.

Another subset of tracking systems alleviate the need for carrying specialized devices by using the

inertial sensors on smartphones to perform dead reckoning [

8

–

10

]. However, specialized programs are

required to be installed on smartphones to continuously collect inertial sensing data, and thereby the

associated energy issues or occupants’ engagement become the main impediment.

On the contrary, we enable non-intrusive indoor tracking by developing an information fusion

system that takes advantage of noisy measurements from various sensors, namely, WiFi access points

and ultrasonic sensors. WiFi access points are beneﬁcial for wide spatial coverage while WiFi signals

transmitted in the indoor environments suffer from large variations [

11

]; ultrasonic sensors are able

to accurately locate the occupants in their detection zones which are nevertheless limited spatially.

Our vision is of occupants carrying some device with WiFi module, which can be smartphones,

tablets, wearable devices, etc., in the indoor space where ultrasonic sensors can provide opportunistic

calibration of the location estimation. The location sensing system is operating in a passive way, i.e.,

there is no need for specialized devices or programs for location inference.

In addition to the sensor measurements, another key input for our system is the ﬂoormap of the

indoor space of interest. Floormap information has been used to reﬁne walking trajectory estimates

by eliminating wall-crossings or unfeasible locations [

12

–

14

]. There has also been efforts to use the

ﬂoormap to reduce the complexity of the tracking task by properly quantizing the indoor space [

15

–

18

].

In effect, we can also acquire some prior knowledge of occupants’ dynamic motion from the ﬂoormap.

The indoor space comprises several typical components, such as cubicles, ofﬁces, corridors, open areas,

etc., where occupants’ motion exhibit distinctive patterns. For example, when located at his/her ofﬁce

or cubicle, the occupant is very likely to keep static; the occupant walking on a particular corridor

tends to continue the motion constrained along the corridor, while an occupant in an open space is

free to move in any direction. Such information of space use is useful to track occupants’ movement,

notwithstanding it is less considered in previous work. Gusenbauer et al. [

19

] exploited different types

of movements to improve the tracking model. This was done by introducing an activity recognition

algorithm based on accelerometer data to model pedestrians’ steps more reliably. Park [

20

] proposed

incorporating the ﬂoormap information by “path compatibility”, where occupants’ motion sequences

and motion-related information (e.g., duration and speed) are ﬁrst estimated based on mobile sensing

data, and then localization is achieved via matching occupants’ motion sequences and the hypothetical

trajectories provided by the ﬂoormap. Kaiser et al. [

21

] proposed a motion model based on the ﬂoormap,

which weights the possible headings of the pedestrian as a function of the local environment. Our work

differs from [

19

] and [

20

] in that our work does not rely on the inertial measurements to recognize

the motion. Instead, the motion information is extracted from the ﬂoormap. We exploit the prior

knowledge that the ﬂoormap endows us about the occupants’ typical movement and activity, not

merely the possible headings at each point of the ﬂoormap as in [

21

]. It is, therefore, the objective of

this paper to propose MapSentinel, a non-intrusive location sensing system via information fusion,

which combines the various sensor measurements with the ﬂoormap information, not only as a sanity

check of estimating trajectories but as an input for occupants’ kinematic models.

Our main contributions are as follows:

•

We build a non-intrusive location sensing network consisting of modiﬁed WiFi access points and

ultrasonic calibration stations, which does not require the occupants to install any specialized

programs on their smartphones and prevents the energy and occupant engagement issues.

•

We propose an information fusion framework for indoor tracking, which theoretically formalizes

the fusion of the ﬂoormap information and the noisy sensor data using Factor Graph.

The Context-Augmented Particle Filtering algorithm is developed to efﬁciently solve the walking

trajectories in real time. The fusion framework can ﬂexibly graft ﬂoormap information onto other

types of tracking systems, not limited to the WiFi tracking schemes that we will demonstrate in

this paper.

Sensors 2016,16, 472 3 of 19

•

We evaluate our system in a large typical ofﬁce environment, and our tracking system can achieve

signiﬁcant tracking accuracy improvement over the purely WiFi-based tracking systems.

The rest of this paper expands on each of these contributions. We conclude the paper and discuss

the future work in Section 6.

2. MapSentinel Architecture

Figure 1presents the overall architecture of MapSentinel. There are three key components in

MapSentinel: the non-intrusive sensing networks, the ﬂoormap processing engine, and the information

fusion algorithm. The non-intrusive sensing networks, as the name suggests, generate location-related

measurements without the need for computation on the smartphone end. Our sensing networks

consist of WiFi access points (APs) and ultrasonic calibration stations, which track locations by relating

the WiFi signal strength or the sound time-of-ﬂight to the distance. The ﬂoormap processing engine

converts the pictorial ﬂoormap to the information that can be directly combined with the sensor

measurements in the fusion algorithm. The output of the ﬂoormap processing engine represents the

prior knowledge obtained from the map, and can be computed in the ofﬂine phase. We will present

the details of the main components of MapSentinel in this section.

WiFi$Access$Points$ Floormap$

Processing$Engine$$

Ultrasonic$Sensor$

Networks$

Contextual$Map$

Reachable$Set$

InformaBon$

Fusion$Algorithm$

Real-time Location Estimate

Central Sever

Ultrasonic Station

WiFi Router

Figure 1.

MapSentinel architecture—WiFi APs keep tracking occupants’ locations, and the estimation

is periodically reﬁned using the ultrasonic stations deployed in the environment. Furthermore, the

sensor measurements and the ﬂoormap information are combined via the information fusion algorithm

to estimate location in real-time. The ﬂoormap processing engine helps transform the ﬂoormap to the

information accessible to the fusion algorithm.

2.1. WiFi Access Points

IEEE 802.11 (WiFi) is the most commonly used wireless networking technology with widely

available infrastructure in large numbers of commercial and residential buildings. Nearly every

existing commercial mobile device is WiFi enabled. The common method to utilize WiFi for indoor

location sensing is to enable the mobile device to collect WiFi Received Signal Strengths (RSS) of nearby

WiFi APs by installing an application on the mobile devices. Our system, on the contrary, leverages

Sensors 2016,16, 472 4 of 19

WiFi in a non-intrusive manner. Rather than modifying the hardware or software of occupants’ mobile

devices, we upgrade the software of the existing commercial WiFi APs to allow them to detect the RSS

of each mobile device, while providing basic internet service to occupants as well. The RSS and media

access control (MAC) address of each mobile device will be forwarded to the server and the occupant

can be identiﬁed through the unique MAC address of the mobile device.

2.2. Ultrasonic Calibration Stations

Ultrasonic sensors measure the distance to the obstacle in the front to accurately position the object

in its detecting range, which works by detecting the time of return, t, and the distance is given by:

d=vsound ×t

2(1)

where

vsound ≈

340 m/s is the velocity of sound in the air. The advantages include

centimeter-resolution distance measurements and limited span of detection angles, which make

it suitable for online calibration of indoor positioning systems. Figure 2demonstrates typical traces

of the ultrasonic sensor readings when the occupant moves across the detection zones. By properly

thresholding the distance measurements, the ultrasonic sensor can be used as an indicator of occupant

presence inside its detection zone.

50

100

22:01 22:02 22:03 22:04 22:05 22:06

Time

Distance (cm)

Ultrasonic Sensor Measurements

Sensor 1

Sensor 2

Sensor 3

The occupant

moves across the

detection zone

Figure 2.

The measurements of ultrasonic stations deployed in the space. When the occupant is within

the detection zone of the ultrasonic station, the sensor reading exhibits a smaller value.

The network consists of deployed ultrasonic stations and data collection center, which

communicate with XBee radio modules operating the IEEE 802.15.4 standard, more speciﬁcally, the

ZigBee protocols, as shown in Figure 3. The radios are low-power and can operate reliably in the

indoor space, where the network can be automatically established by the coordinator, in our case, the

data collection center. The data center controlled by Arduino enquires about the ultrasonic station for

measurements periodically, so that the measurement frequency is 1 Hz, and transfers the data to the

computer connected by serial ports. Each ultrasonic station is equipped with three ultrasonic sensors,

whose directions are offset by 15

◦

. As the measurement range spans 15

◦

for each ultrasound, this

covers an area of 45◦in the front of the station, which is sufﬁcient for indoor area localization.

Sensors 2016,16, 472 5 of 19

E

C

Database

Ultrasonic station

! ultrasonic sensor module

! Arduino board as controller

! XBee for communication

Coordinator

! XBee for data collection

! Processor: PC

Request'@'1Hz'

Response'

Wall'

Figure 3.

Illustration of the conﬁguration of the ultrasonic calibration station. The coordinator requests

measurements at 1 Hz frequency through the IEEE 802.15.4 protocol, and deposits collected data to the

local database. The ultrasonic station takes three independent measures from its sensor points to detect

occupant presence in the vicinity.

2.3. Floormap Processing Engine

The indoor space is well structured and typically organized into corridors, open areas, walls,

rooms, etc. Depending on the occupant’s present location, the motion is constrained by these external

factors. For instance, an occupant on a particular corridor has high probability continuing its motion

constrained along the corridor—or an occupant walking in the open area is free to move in any

direction. Likewise, an occupant in his/her cubicle area is more likely to stay static. Based on

different motion capabilities, we categorize the indoor space into several contexts, namely, open space,

constrained space and static space. In addition, the ﬂoormap processing engine is designed to convert

the original ﬂoormap into the contextual ﬂoormap that indicates the context of each point in the original

ﬂoormap. The details of each component of contextual ﬂoormap is provided in Table 1. We use the

word “canonical direction” to refer to the direction of constrained space along which the movement

has more freedom.

Table 1. Components of contextual ﬂoormap.

Context Symbols Motion Characteristics

Free Space FS Move freely, e.g., rooms

Constrained Space CS Move along canonical direction, e.g., corridors

Static Space SS Stay static, e.g., cubicles

In addition, the occupant motion is also constrained by speed restrictions. Another function of

the ﬂoormap processing engine is to compute the reachable set containing all the points visited with

admissible speed from a given starting point. In the indoor space, the geographical distance between

two positions in a ﬂoormap does not necessarily equal to the walking distance between them due to

the block of walls and other obstacles. Hence, the physical features of the indoor environments would

be ignored if the reachable set is conﬁned within a ﬁxed radius centered around the given starting

point. The ﬂoormap processing engine addresses this problem by converting the ﬂoormap to a graph

where all the non-barricade nodes connect to their neighboring non-barricade nodes and the barricade

nodes do not have connections to any other nodes. In this way, the reachable set of a given node can

be computed through ﬁnding the nodes within the maximum depth from the root node, which can be

efﬁciently solved by breadth-ﬁrst search algorithm [22].

Sensors 2016,16, 472 6 of 19

3. Information Fusion Framework

In this section, we propose an information fusion framework that manages the heterogeneous

sensor measurements as well as the ﬂoormap and occupants’ context-related motion characteristics

to provide an online estimate of occupants’ location. There are two key components in the

fusion framework: Context-Dependent Kinematic Models (CDKM) and Probabilistic Sensor

Measurement Models (PSMM). CDKM is based on the observation that occupants’ movements exhibit

distinctive features in different parts of buildings as described in Section 2.3, and it captures this

context-dependency by deﬁning different kinematic models for distinctive contexts. PSMM models

each sensor measurement as a probability distribution and multiple sensor data are combined via

Bayes’ rule to support the location inference.

3.1. Problem Formulation

Consider that the indoor space of interest is composed of

M

contexts, in each of which

occupants exhibit a particular sort of kinematic patterns. Denote the context at time

k

as

mk

where

mk∈ {FS,CS1,· · · ,CSR,SS}

. The subscript of

CS

represents the index of the certain direction of

constrained space and

R

is the total number of different directions. Let the state

xk= (zk

,

mk)

consist of

the position and velocity components of the occupant in the Cartesian coordinates

zk= (xk

,

yk

,

˙

xk

,

˙

yk)

, as well as the context

mk

. If the position is known, the context can be uniquely determined by the

contextual ﬂoormap. We characterize this correspondence via a function

M:R4→R

which assigns

a speciﬁc context

mk

for

zk

. The tracking problem can be viewed as a statistical ﬁltering problem

where

zk

is to be estimated based on a set of noisy measurements

y1:k={y1

,

···

,

yk}

up to time

k

.

Speciﬁcally,

yk

is the measurements available at time

k

, and, in our case, it includes measurements

from multiple sensors,

{yn

k}Ns

n=1

where

Ns

is total number of sensors deployed in the space of interest.

We model the uncertainty about the observations and the states by treating them as random variables

and assigning certain probability distribution to each random variable. In this setting, we want to

compute the posterior distribution of the state given the measurements up to time k,i.e.,p(zk|y1:k).

The impact of introducing context as an auxiliary state variable is manifold. Firstly, the transition

of contexts

mk−1

to

mk

determines the type of motion executed during the time interval

(k−

1,

k]

.

For instance, if the context remains the same, then the occupant should follow the motion type deﬁned

by the two identical contexts; on the contrary, if the context varies during

(k−

1,

k]

, then the occupant

would execute the motion that is deﬁned by neither of the contexts. For simplicity, we will assume a

free motion. That is, the position/velocity state at time

k

,

zk

, depends on not only the past state

zk−1

and

mk−1

, but also the current context

mk

stochastically. Moreover, there is a deterministic mapping

between

zk

and

mk

as is speciﬁed by the contextual map. In order to facilitate visualization and

analysis of the complex dependencies among the variables, we use a factor graph to represent the

states, observations and the functions bridging these variables, as illustrated in Figure 4.

A factor graph has two types of nodes, variable node for each variable and function node for

each local function, which are indicated by circles and squares, respectively. The edges in the graph

represents the “is an argument of” relation between variables and local functions. For example, the

function

Tk

has four arguments,

zk

,

zk−1

,

mk−1

and

mk

. Three types of local functions are involved in

our model:

•Tk(zk

,

zk−1

,

mk

,

mk−1) = p(zk|zk−1

,

mk

,

mk−1)

: transition model, or the prior information on the

state evolution over time. Inspired by Variable Structure Multiple Model Estimator in [

23

], we

propose CDKM to capture the context-dependent characteristics of occupants’ motion in the

indoor space.

•Ok(zk

,

yk) = p(yk|zk)

: observation model, or how the unknown states and sensor observations

relate. We will introduce PSMM where the relationship between locations and sensor observations

is characterized by certain conditional probabilities and multiple sensor observations are combined

via Bayes’ theorem.

Sensors 2016,16, 472 7 of 19

•Ck(zk,mk): characteristic function that checks the validity of the correspondence between zkand

mkusing the contextual ﬂoormap.

Note that the prior knowledge abstracted from the ﬂoormap is inherently accommodated to

this problem by deﬁning characteristic function and parameterizing the transition model as will be

elaborated in the following section.

zk−1

yk−1

yk

yk+1

zk

zk+1

mk−1

mk

mk+1

Ck1

Ck

Ck+1

Ok1

Ok

Tk

Tk+1

Ok+1

Figure 4.

A factor graph model representation of the dependencies among location, velocity, context

and observation.

3.2. Context-Dependent Kinematic Model

We assume that given

zk−1

,

mk−1

and

mk

, the current position/velocity

zk

follows a Gaussian

distribution, of which the mean and covariance matrix are speciﬁed as

p(zk|zk−1,mk,mk−1)∼ N(F(mk−1,mk)zk−1,GQ(mk−1,mk)G0)(2)

The equivalent state space model of Equation (2) is given by

zk=F(mk−1,mk)zk−1+Gv(mk−1,mk)(3)

v(mk−1,mk)∼ N(0, Q(mk−1,mk))

where F(mk−1,mk)∈R4×4determines the mean of the distribution of the next state. Let adenote the

acceleration, we have the following kinematic equations,

xk=xk−1+˙

xk−1T+1

2aT2(4)

˙

xk=˙

xk−1+aT (5)

where

T

is the sampling period. We will assume constant velocity in this paper, and model

a

as a

Gaussian noise term. If we manipulate Equations (4) and (5) into matrix forms, then it can be identiﬁed

that F(mk−1,mk)has two possible values corresponding to moving or remaining static,

F0=

1 0 T0

0 1 0 T

0 0 1 0

0 0 0 1

,F1=

1000

0100

0000

0000

(6)

F1

imposes the velocity component of the state

zk

to be zero and

F=F1

when the context remains

to be static space, i.e.,mk−1=mk=SS; otherwise, F=F0.

Sensors 2016,16, 472 8 of 19

The matrix Gis given by

G=

T2/2 0

0T2/2

T0

0T

(7)

Q(mk−1

,

mk)

stands for the process noise and, as the notation indicates, it is also a function

of the context transition from

k−

1 to

k

. We will adopt the concept of directional noise to handle

the constraints imposed by the contextual map. To see this, note that occupants in the free space

(

mk−1=mk=FS

) can move in any direction with equal probability, therefore using equal process

noise variance in both xand ydirection, i.e.,

Q0="σ2

f0

0σ2

f#(8)

For occupants moving on the constrained space (

mk−1=mk=CSi

,

∀i=

1,

···

,

R

) such as

corridors, more uncertainty exists along than orthogonal to the corridor. Denote the variances along

and orthogonal to the corridor by

σ2

a

and

σ2

o

(

σ2

a>σ2

o

), respectively, and the canonical direction of the

constrained space

CSi

is speciﬁed by the angle

φi

(measured clockwise from y-axis). Then the process

noise covariance matrix corresponding to the motion in the constrained space is given by

Qi="−cos φisin φi

sin φicos φi#" σ2

o0

0σ2

a#" −cos φisin φi

sin φicos φi#(9)

The preceding model speciﬁcation incorporates the scenarios where the context remains the same

during the time interval

[k−

1,

k]

and the occupant will keep the motion type deﬁned by the two

identical contexts. On the contrary, if the context switches during the time interval

[k−

1,

k]

, we will

assume a free motion pattern, i.e.,

F=F0

,

Q=Q0

. Table 2summarizes our model given all possible

context transitions.

Table 2. Context-dependent kinematic models.

Context Transition Model Speciﬁcation

F(mk−1,mk)Q(mk−1,mk)

mk−1=mk=FS F0Q0

mk−1=mk=CSiF0Qi

mk−1=mk=SS F1Q0

mk−16=mkF0Q0

3.3. Probabilistic Sensor Measurement Model

We construct probabilistic models for each sensor and multisensor fusion can be performed via

Bayes’ rule. Assuming that

Ns

different sensors function independently, then the observation model

p(yk|zk)can be factored as

p(yk|zk) =

Ns

∏

n=1

p(yn

k|zk)(10)

This actually forms a convenient and uniﬁed interface to combine distinctive sensor data by

projecting the heterogeneous measurements (

yn

) to the probability space via likelihood function,

p(yn|z)

.

If one more sensor is added into the system, then the observation model can be simply updated by

Sensors 2016,16, 472 9 of 19

multiplying the corresponding likelihood. Different likelihood functions requires being trained for

different types of sensors.

WiFi Measurement.

In the free space, the WiFi signal strength is a log linear function of the

distance between the transmitter and receiver. However, due to the multipath effect caused by

obstacles and moving objects in the indoor environments, the log linear relationship no longer holds.

Previous work has proposed to adding a Gaussian noise term to account for the variations arising

from the multipath effect; however, the simple model-based method can hardly guarantee a reasonable

performance in practice. Another popular way is to construct a WiFi database comprising WiFi

measurements at known locations to ﬁngerprint the space of interest, but it requires onerous calibration

to ensure the accuracy. We propose a novel WiFi modeling method based on a relatively small WiFi

training set to accommodate for the complex variations of WiFi signals in the indoor space. The key

insight is to use Gaussian process (GP) to model the WiFi signal where the simple model-based method

provides a prior over the function space of GP.

We collect WiFi signal strength data at

Nw

reference points over the space and let

{lj

,

yj

w}Nw

j=1

denote the training dataset, where

lj

is a vector containing the distances of

j

th reference point to each

of the WiFi APs deployed in the ﬁeld and

yj

w

is the observed WiFi signal strengths. Assume the WiFi

observations are drawn from the GP,

yw∼ GPµ(l),k(l,l0)(11)

where the mean function

µ(·)

is imposed to be a linear model with the parameters adapted to the

training samples. The covariance function k(·,·)takes the squared exponential form,

k(l,l0) = σ2

fexp(−1

2r2(l−l0)2) + σ2

n(12)

where

σ2

n

stands for the variance of the additive Gaussian noise term in the observation process, and

σ2

f

and

r

are the hyperparameters of the GP. These parameters can be tweaked according to the training

data, and we set

σn=

4,

σf=

2,

r=

5 in our experiments. At an arbitrary point

l∗

in the space of

interest, the posterior mean and variance of the WiFi signal y∗are

¯

y∗=µ(l∗) + K(l∗,L)[K(L,L) + σ2

nI]−1yw(13)

cov(y∗) = K(l∗,l∗)−K(l∗,L)[K(L,L) + σ2

nI]−1K(L,l∗)(14)

where

L

and

yw

are the vectors concatenated by

{lj}Nw

j=1

and

{yj

w}Nw

j=1

, respectively.

K(l∗

,

L)

denotes the

1

×Nw

matrix of the covariances evaluated at all pairs of training and testing points, and similarly for

the other entries

K(L

,

L)

and

K(L

,

l∗)

. In previous work using GP to model the WiFi signal strength [

24

],

the WiFi signal is assumed to follow the Gaussian distribution with the mean and variance given by

Equations (13) and (14), respectively. However, the posterior variance derived from GP is a indicator

of estimation conﬁdence. It depends largely on the density of training samples in the vicinity of

the evaluated position. That is, if the evaluated point

l∗

happens to fall into the area that is densely

calibrated, then the posterior variance will be relatively small. The posterior variance derived from GP

cannot truly reﬂect the variations of WiFi signals over time. Therefore, instead of using the posterior

Variance (14) in classical predictive equations, we model the likelihood as

y∗∼ N(¯

y∗,σ2

n)(15)

Ultrasonic Measurement.

Essentially, each of the ultrasonic sensors in the ultrasonic station

can output the distance to the occupant passing in front of it. However, due to the missing data

and measurement noise, the distance measurement is not always steady. Here, we will consider the

Sensors 2016,16, 472 10 of 19

ultrasonic station to be a binary sensor to indicate the occupancy in its detection zone. To be speciﬁc,

the likelihood function is modeled as

p(yk<η|zkin the detection zone) = 1 (16)

where ηis the threshold for ultrasonic measurements.

3.4. Characteristic Function

The characteristic function imposes constraints on the correspondence between the position

and the context, and embodies the prior knowledge available from the ﬂoormap. In the preceding

section, we have deﬁned a function

M

that sets up the relationship between the context and the

position/velocity, i.e.,

mk=M(zk)

, and

M

can be readily read out from the contextual map. We

thereby deﬁne the characteristic function to be

Ck(zk,mk) = I[M(zk)−mk=0](17)

where

I[·]

is an indicator function. In other words, the characteristic function enforces the local

correspondence deﬁned by M.

4. Context-Augmented Particle Filter

In this section, we will discuss how to perform inference on the underlying factor graph of the

tracking problem we formulated previously. The particle ﬁlter is a technique for implementing a

recursive Bayesian ﬁlter by Monte-Carlo simulations [

25

]. The key idea of particle ﬁlter is to represent

the required posterior density function by a set of random samples or “particles” associated with

discrete probability mass, and compute the state estimate based on these “particles”. The original

particle ﬁlter proposed by Gordon et al. [

26

] was designed for a simple hidden Markov chain, which is

also a cycle-free factor graph, using the Sampling Importance Resampling (SIR) algorithm to propagate

and update the particles. However, the factor graph in our problem, as illustrated in Section 4, does

have cycles due to the introduction of the context variable, and only approximate inference algorithms

exist. We present a recursive approximate inference method for the cyclic factor graph by extending

the particle ﬁlter and the resulting algorithm is termed Context-Augmented Particle Filter (CAPF).

To see the operation of the CAPF, consider a set of particles

{zi

k−1

,

mi

k−1}N

i=1

that represents the

posterior distribution

p(zk−1

,

mk−1|y1:k−1)

of the state. Note that

mi

k−1

can be uniquely determined by

zi

k−1

via the characteristic function. At time

k

, we have some new measurement

yk

. It is required to

construct a new set of particles

{zi

k

,

mi

k}N

i=1

which characterizes the posterior distribution

p(zk

,

mk|y1:k)

.

Now, suppose we have an “oracle" that is capable of providing the context value

mi

k

of the corresponding

zi

keven before we generate zi

k’s, then our task is equivalent to draw samples from the distribution

p(zk|mk,y1:k)(18)

This can be carried out in two steps: First, the historical density

p(zk−1

,

mk−1|y1:k−1)

is propagated

via the transition model p(zk|zk−1,mk,mk−1)to produce the prediction density

p(zk|mk,y1:k−1) = Zp(zk|zk−1,mk)p(zk−1|y1:k−1)dzk−1(19)

where

p(zk|zk−1

,

mk) = p(zk|zk−1

,

mk

,

mk−1)

since

mk−1

is completely determined conditioning on

zk−1

. Second, our interested density

p(zk|mk

,

y1:k)

can be updated from the prediction density using

Bayes’ theorem,

Sensors 2016,16, 472 11 of 19

p(zk|mk,y1:k) = p(yk|zk)p(zk|mk,y1:k−1)

p(yk|y1:k−1,mk)(20)

=γp(yk|zk)p(zk|mk,y1:k−1)(21)

where

γ

is a normalization constant. Thus, Equations (19) and (20) form a recursive solution to

Equation (18). In particle ﬁlter framework, the aforementioned prediction and update steps are

performed by propagating and weighting the random samples.

Prediction Step. In the prediction phase, we generate the predicted particles by

ezi

k∼p(zk|zi

k−1,e

mi

k,mi

k−1)(22)

where

{e

mi

k}N

i=1

is a set of particles representing the estimates of

mk

produced by the “oracle”. Given

the different possible values of

mi

k−1

and

e

mi

k

,

ezi

k

will be sampled from different models, detailed in

Table 2. We will then perform sanity check on newly generated particles, where the particles

ezi

k

absent

from the reachable set of zi

k−1will be eliminated.

Update Step.

To update, each predicted particle

ezi

k

is assigned with a weight proportional to

its likelihood.

e

wi

k=p(yk|ezi

k)(23)

The weight is then normalized by

wi

k=e

wi

k

∑N

i=1e

wi

k

(24)

We resample

N

times with replacement from the set

{ezi

k}N

i=1

using weights

{wi

k}N

i=1

to obtain a

new set of samples

{zi

k}N

i=1

such that

p(zi

k=ezi

k) = wi

k

. Correspondingly, the contexts

mi

k

’s are obtained

through the characteristic function, i.e.,

mi

k=M(zi

k)(25)

“Oracle” Design.

The oracle is supposed to be able to answer the query about the next

possible contexts

mk

, based upon which the position/velocity component of the state can be properly

propagated according to different transition models. For computational efﬁciency, we adopt a simple

discriminative model to produce

e

mk

’s. Given a small database of WiFi ﬁngerprints, we apply the

K-Nearest Neighbors (K-NN) algorithm and a modiﬁed distance weighted rule to generate an empirical

distribution of the context. To be speciﬁc, let the WiFi database be denoted by

{(mj

,

yj

w)}Nw

j=1

, and

Nw

is

the number of WiFi ﬁngerprints. When the new WiFi observation

yk

is querying the possible contexts,

the

K

nearest neighbors of

yk

are found among the given training set. Let these

K

nearest neighbors

of

yk

, with their associated context, be given by

{(mj0

,

yj0

w)}K

j0=1

. In addition, let the corresponding

distances of these neighbors from

yk

be given by

dj0

,

j0=

1,

···

,

K

. The weight attributed to the

j0

th

nearest neighbor is then deﬁned as

e

qj0=dK−dj0

dK−d1,j0=1, ··· ,K(26)

We then normalize the weights,

qj0=e

qj0

∑K

j0=1e

qj0

, and sample the context according to the following

discrete probability distribution,

Sensors 2016,16, 472 12 of 19

P(e

mk=mj0) = (qj0(1−α) + α,mj0=mk−1

qj0(1−α),mj06=mk−1

(27)

where

α

is a context resilience factor and

α∈[

0, 1

]

. We incorporate

α

to accommodate for the prior

knowledge that the context will not change too often and to make the “oracle” more robust to the

observation noise. Moreover, for the particles on the boundary of distinctive contexts,

e

mk

is equally

probable to be these contexts. The pseudo-code of the CAPF algorithm is provided in Algorithm 1.

Algorithm 1 Context-Augmented Particle Filter

function CAPF(y1:T,wi f i_database,reachable_set)

Initialization:

Uniformly generate Nsamples {zi

0}N

i=1

Set mi

0=M(zi

0),wi

0=N−1,i=1, ··· ,N

for k=1, ··· ,Tdo

for i=1 : Ndo

Context Estimate:

if zi

k−1on the boundary of {mb}B

b=1then

Uniformly sample e

mi

kfrom {mb}B

b=1

else

Sample e

mi

kfrom Equation (27)

end if

Prediction Step:

ezi

k∼p(zk|zi

k−1,e

mi

k,mi

k−1)

Discard particles ezi

k6∈ reachable_set(zi

k−1)

Update Step:

Compute weight e

wi

k=p(yk|ezi

k)

end for

Normalize weights: wi

k=e

wi

k

∑N

i=1e

wi

k

Resampling:

Select Nparticle indices i0∈ {1, ··· ,N}according to weights {wi

k}N

i=1

Set zi

k=ezi0

kand wi

k=N−1

Set mi

k=M(zi

k)

Estimate:

ˆzk=∑N

i=1wi

kzi

k

end for

return ˆz1:T

end function

5. Performance Evaluation

Our experiment was carried out in the Singapore–Berkeley Building Efﬁciency and Sustainability

in the Tropics (SinBerBEST) located in CREATE Tower at the National University of Singapore campus,

which is a typical ofﬁce environment consisting of cubicles, individual ofﬁces, corridors and obstacles

like walls, desks, etc. The total area of the testbed is around 1000 m

2

. There are 10 WiFi routers and

four ultrasonic stations deployed in the testbed in total. We utilize TP-LINK TL-WDR4300 Wireless

N750 Dual Band Routers (manufactured in Shenzhen, China) as WiFi APs and HC-SR04 Ultrasonic

Sensors (manufactured in Shenzhen, China) as the components of ultrasonic stations. The ﬂoormap

and the corresponding contextual map are shown in Figure 5. Different contexts are colored differently

in the contextual map. The static space contains the seating areas in the cubicles and ofﬁces, where

occupants hardly move. The corridors of horizontal and vertical directions are considered to be

two types of constrained spaces (HCS and VCS, respectively). The free space includes the open areas

where occupants can freely move. We seek to answer the questions including how well MapSentinel is

Sensors 2016,16, 472 13 of 19

able to track the occupant, and whether the map information exploited by way of MapSentinel can

bring additional beneﬁts to the tracking performance.

WiFi Routers

Ultrasonic Stations

Ground Truth Walking Trajectories

45.6 m

31.1 m

2

1

3

FS

SS

Vertical CS (VCS)

Horizontal CS (HCS)

Obstacle

Figure 5.

The ﬂoormap (

top

) and corresponding contextual map (

bottom

) of the testbed. Four different

contexts (FS, SS, VCS, HCS) are deﬁned and color coded as illustrated in the legend.

Experimental methodology.

In a real-world setting, we expect the occupant to carry the

smartphone as they walk through various sections of an indoor space. Moreover, occupants are

unlikely to walk continuously; they would walk between locations of special interest and dwell at

certain locations for a signiﬁcant length of time. Our experiment aims at emulating these practical

scenarios in an ofﬁce environment and incorporating all the contexts deﬁned in our model. Therefore,

the following routes were designed as the ground truth for evaluation: (1) A enters the ofﬁce from

the front gate and walks through the corridors to ﬁnd her colleague (different CSs are included);

(2) B enters the ofﬁce from the side door, walks to her own seat, stays there for a while and exits the

ofﬁce from the front gate (CSs, SS are included); (3) C enters the ofﬁce from the front gate, walks

through corridors, takes some time at her ofﬁce and goes to the open area (CSs, SS, FS are included).

We asked the experimenter to behave as usual when walking in the space. At the same time, the WiFi

APs and ultrasonic stations constantly collect the measurements and send them to the central server.

Sensors 2016,16, 472 14 of 19

To obtain the ground truth at the sampling time of the tracking system, we mark the ground with a 1 m

grid on the pre-speciﬁed route and ask the experimenter to create lap times with a stopwatch when

happening to be on the grid. By recording the starting time of the experiment, we can obtain the time

stamp of each grid and then interpolate the ground truth at the sampling time.

Does the “oracle” work?

The current context estimation done by the “oracle” is critical to the

CAPF algorithm, as the tuple of the current and previous context jointly steer the states in our model.

Here, we would like to evaluate the context prediction performance of the “oracle” we constructed in

light of several design rules presented in the Section 4. Figure 6illustrates the result of the context

estimation for different walks. Since the context estimates are represented by a set of particles in the

algorithm, we visualize the context estimate by the purple lines centered at the possible contexts,

and the lengths of the purple lines are scaled by the proportions of the particles of different contexts.

Ideally, the purple cloud should scatter around the ground truth context. Figure 6suggests that

the estimates given by the “oracle” can generally capture the ground truth. Evidently, the context

estimate is not perfect, especially for the static space (SS). However, these approximate “ground truths”

essentially present other possibilities of the current context and avoids particles trapping in the static

space. We deﬁne the context estimation accuracy to be the ratio of the number of particles with correct

context estimate to the total number of particles. The context estimation accuracy is calculated for

each time step of the experiments, and the empirical distribution of the context estimation accuracy is

illustrated in Figure 7, where the mean accuracy is 52.41%. With this noisy “oracle”, the system can

achieve median tracking error of 1.96 m, while the tracking error would be 1.84 m if a perfect “oracle”

was utilized. Therefore, our work has the potential to be further improved with a more advanced

“oracle” design.

FS

HCS

VCS

SS

Time

1st Walk 2nd Walk 3rd Walk

Ground Truth of Contexts Estimate of Contexts

Figure 6.

The context estimate produced by the “oracle" versus the ground truth context. The radius of

the purple cloud is proportional to the number of particles of the estimated context which the cloud is

centered around.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Context Estimation Accuracy

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

Frequency

Normalized Histogram of Context Estimation Accuracy

Figure 7.

Normalized histogram of context estimation accuracy of the “oracle”. The mean accuracy

is 52.41%.

Sensors 2016,16, 472 15 of 19

Figure 8demonstrates some snapshots of the CAPF algorithm in progress. At the beginning,

the particles are initialized to be uniformly distributed in the space. In addition, the spread of the

particles shrinks as the new WiFi observations come. When the ultrasonic station reports a detection,

the particles are concentrated in the corresponding detection zone. As the occupant exits the detection

zone, the particles spread out along the direction of the corridor. When the occupant sits in the

cubicle, the particles distribute over the seating area as well as some possible routes through which

the occupant might leave the seating area. The particles distribute evenly along different directions

when the occupant is moving in the free space, in which case our model is identical to the traditional

constant velocity dynamic model for the particle ﬁlter.

(a) t=0. Initialization. (b) t=3. Particles shrink. (c) t=

5. Passing the

ultrasonic station.

(d) t=

15. Moving in the

constrained space.

(e) t=

53. Seating in the

static space.

(f) t=

205. Moving in the

free space.

Figure 8.

The snapshots of the intermediate steps of the CAPF algorithm visualized. The location

estimate, ground truth location, particles are presented by the red cross, blue circle, green dots,

respectively. As before, the black square and white triangles give the positions of WiFi routers and

ultrasonic stations.

MapSentinel’s tracking performance.

We aggregate the data from different walks and compare

the performance of MapSentinel against the fusion system of WiFi and ultrasonic station without

leveraging the ﬂoormap information, as well as the purely WiFi-based tracking system. The tracking

error distributions are depicted in Figure 9. As can be seen, the MapSentinel achieves an essential

performance improvement, 31.3% over the WiFi tracking system and 29.1% over the fusion scheme.

Note that adding the ultrasonic calibration into the WiFi system is able to realize a small amount of

accuracy increment. Due to the high degree of uncertainty of WiFi signals, the effect of ultrasonic

calibration will not last for long. The map information elongates the effect of the ultrasonic calibration

via imposing additional constraints to the motion, and that is why MapSentinel greatly enhances the

tracking performance compared with the purely WiFi-based system. We also evaluate the tracking

performance in different contexts, and the result is shown by boxplots in Figure 10. Here, “without

map” means using the WiFi and ultrasonic sensing systems without taking into account the reachable

set as well as the context-dependent kinematic model. A uniﬁed dynamical model, the free space

model, is applied in this case, and a traditional particle ﬁlter is implemented to estimate the location.

Sensors 2016,16, 472 16 of 19

As can be readily read from the ﬁgure, the MapSentinel performs better in all contexts. More signiﬁcant

increase is achieved in constrained spaces and static spaces, as expected.

Tracking Error (m)

0123456789

CDF

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1MapSentinel

WiFi+US

WiFi

Figure 9.

Tracking performance of MapSentinel, the fusion system of WiFi and ultrasound sensor, the

pure WiFi system. The median tracking accuracy of the MapSentinel is 1.96 m, MapSentinel can achieve

the performance improvement of 31.3% over the purely WiFi-based tracking system, 29.1% over the

fusion system.

Context-wise Tracking Error

Figure 10. Tracking error in different contexts for the MapSentinel and the WiFi+Ultrasound system.

Figure 11 compares the performance of tracking systems with distinctive ﬂoormap usage.

MapSentinel exploits the ﬂoormap information in two folds: ﬁrst, MapSentinel integrates the context

information into the kinematic model, and the movement patterns of people on different locations of

the map are better captured. Secondly, MapSentinel takes into account the speed restrictions as well

as physical obstacles in the indoor space by checking if the particles fall inside the reachable set at

each time step. The second fold of the ﬂoormap information has been widely utilized in the previous

work, while the context information is less explored. We therefore compare the tracking error of our

system with the one that merely uses the reachable conditions. Figure 11 shows that incorporating

information about physical constraints, as the previous work did, is surely beneﬁcial to the tracking

system. Particularly, the performance can be further improved by 19.8% by introducing the context

information into the tracking system.

Sensors 2016,16, 472 17 of 19

0 1 2 3 4 5 6 7 8 9

Tracking Error (m)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

CDF

MapSentinel (Context+RSC)

RSC

w/out Map

Figure 11.

Tracking performance of different usage of ﬂoormap information. “RSC” stands for reachable

set check. MapSentinel extracts the context information from the ﬂoormap, and simultaneously

eliminates the particles falling outside the reachable set. MapSentinel is compared with the tracking

system without using context information (i.e., only performing RSC) and the one without using the

map information at all. The median tracking errors of MapSentinel, the system only performing RSC,

and the one without exploiting the ﬂoormap information are 1.96 m, 2.44 m and 2.77 m, respectively.

To better understand how the map helps improve the location estimation, we demonstrate the

velocity estimation of different tracking schemes in Figure 12. Typically, the occupants will not perform

complex motions in the indoor space due to the constraints of the wall and other barricades. The more

the velocity estimate deviates from the canonical directions deﬁned by the indoor environment, the

worse the tracking performance can be. Using the fusion schemes of WiFi and ultrasonic calibration,

only the location is the observable state. The velocity estimates depend largely on the location

estimate and it has little effect in smoothing out the location estimate. Hence, extensive research has

been focusing on using inertial measurements to perform dead reckoning, which makes the velocity

observable. Analogously, the MapSentinel creates a virtual inertial sensor for the occupant, which

mimics the actual inertial sensor to provide the possible walking speed and directions. As is shown in

Figure 12, the velocity estimation without map information tends to point to any direction while the

MapSentinel constrains the velocity via the context-dependent kinematic model.

MapSentinel

w/out Map

Velocity Estimate w/ or w/out Map Information

Figure 12.

The velocity estimation for the MapSentinel and the WiFi+Ultrasound system. The vector

indicates the speed and direction of the estimated motion.

Sensors 2016,16, 472 18 of 19

6. Conclusions

This paper presents MapSentinel, a system for real-time location tracking that emphasizes both

non-intrusiveness and accuracy. The non-intrusive sensing networks comprise the modiﬁed WiFi

access points and the ultrasonic calibration stations. The MapSentinel makes novel attempts to exploit

the ﬂoormap information by categorizing the indoor space into different contexts to capture the

diversity of typical motion characteristics. This mimics having an inertial sensor attached to the

occupant to obtain the knowledge of velocity. We formalize the fusion of ﬂoormap information as well

as the noisy sensor readings using the Factor Graph, and develop the Context-Augmented Particle

Filtering algorithm to efﬁciently solve real-time walking trajectories. Our evaluation in the large typical

ofﬁce environment shows that MapSentinel can achieve the performance improvement of 31.3% over

the purely WiFi-based tracking system. MapSentinel is among the early attempts to obviate the need

for the inertial sensors in indoor tracking, and our results are promising.

For future work, we would like to explore multiple occupant tracking. The ultrasonic sensor

is essentially anonymous and cannot identify the occupant entering its detection zone. The WiFi

access points are able to identify the occupant from the MAC address of the mobile device and can

approximately tell which occupant is approaching the ultrasonic station. The ultrasonic calibration

will work if the occupant can be identiﬁed with the MAC information without ambiguity; however,

if the identity of the occupant within the range cannot be uniquely determined, as in the crowded

scenario, the calibration may not work effectively. Further work to reliably track multiple occupants is

necessary. Moreover, we would like to integrate our tracking method to the control of lighting and

ventilation systems to improve energy efﬁciency of buildings.

Acknowledgments:

This research is funded by the Republic of Singapore’s National Research Foundation through

a grant to the Berkeley Education Alliance for Research in Singapore (BEARS) for the Singapore–Berkeley Building

Efﬁciency and Sustainability in the Tropics (SinBerBEST) Program. BEARS has been established by the University

of California, Berkeley as a center for intellectual excellence in research and education in Singapore.

Author Contributions:

Ruoxi Jia proposed the information fusion framework; Ruoxi Jia, Ming Jin, Han Zou

and Yigitcan Yesilata conducted the experiment. Lihua Xie and Costas Spanos supervised the work and revised

the paper.

Conﬂicts of Interest: The authors declare no conﬂict of interest.

References

1.

Want, R.; Hopper, A.; Falcao, V.; Gibbons, J. The active badge location system. ACM Trans. Inf. Syst.

1992

,

10, 91–102.

2.

Medina, C.; Segura, J.C.; De la Torre, A. Ultrasound indoor positioning system based on a low-power

wireless sensor network providing sub-centimeter accuracy. Sensors 2013,13, 3501–3526.

3.

Priyantha, N.B.; Chakraborty, A.; Balakrishnan, H. The cricket location-support system. In Proceedings of

the Sixth Annual International Conference on Mobile Computing and Networking, Boston, MA, USA, 6–11

Augest 2000; pp. 32–43.

4.

Hazas, M.; Hopper, A. Broadband ultrasonic location systems for improved indoor positioning. IEEE Trans.

Mob. Comput. 2006,5, 536–547.

5.

Weekly, K.; Zou, H.; Xie, L.; Jia, Q.S.; Bayen, A.M. Indoor occupant positioning system using active RFID

deployment and particle ﬁlters. In Proceedings of the 2014 IEEE International Conference on Distributed

Computing in Sensor Systems (DCOSS), Marina Del Rey, CA, USA, 26–28 May 2014; pp. 35–42.

6.

Bekkali, A.; Sanson, H.; Matsumoto, M. RFID indoor positioning based on probabilistic RFID map and

Kalman ﬁltering. In Proceedings of the Third IEEE International Conference on Wireless and Mobile

Computing, Networking and Communications, White Plains, NY, USA, 8–10 October 2007; pp. 21.

7.

Saab, S.S.; Nakad, Z.S. A standalone RFID indoor positioning system using passive tags. IEEE Trans.

Ind. Electron. 2011,58, 1961–1970.

8.

Chen, Z.; Zou, H.; Jiang, H.; Zhu, Q.; Soh, Y.C.; Xie, L. Fusion of WiFi, smartphone sensors and landmarks

using the Kalman ﬁlter for indoor localization. Sensors 2015,15, 715–732.

Sensors 2016,16, 472 19 of 19

9.

Beauregard, S.; Haas, H. Pedestrian dead reckoning: A basis for personal positioning. In Proceedings of

the Third Workshop on Positioning, Navigation and Communication, Hannover, Germany, 16 March 2006;

pp. 27–35.

10.

Wang, H.; Sen, S.; Elgohary, A.; Farid, M.; Youssef, M.; Choudhury, R.R. Unsupervised indoor localization.

In Proceedings of the Tenth International Conference on Mobile systems, Applications, and Services,

New York, NY, USA, 25 June 2012; pp. 197–210.

11.

Bose, A.; Foh, C.H. A practical path loss model for indoor WiFi positioning enhancement. In Proceedings of

the 6th International Conference on Information, Communications & Signal Processing, Singapore, 10–13

December 2007; pp. 1–5.

12.

Evennou, F.; Marx, F.; Novakov, E. Map-aided indoor mobile positioning system using particle ﬁlter.

In Proceedings of the 2005 IEEE Wireless Communications and Networking Conference, New Orleans, LA,

USA, 13–17 March 2005; pp. 2490–2494.

13.

Wang, H.; Lenz, H.; Szabo, A.; Bamberger, J.; Hanebeck, U.D. Enhancing the map usage for indoor

location-aware systems. In Human-Computer Interaction. Interaction Platforms and Techniques; Springer: Berlin,

Germany, 2007; pp. 151–160.

14.

Evennou, F.; Marx, F. Advanced integration of WiFi and inertial navigation systems for indoor mobile

positioning. Eurasip J. Appl. Signal Process. 2006,2006, 164.

15.

He, C.; Guo, S.; Yang, Y. Voronoi diagram based indoor localization in wireless sensor networks.

In Proceedings of the 2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June

2015; pp. 3269–3274.

16.

Liao, L.; Fox, D.; Hightower, J.; Kautz, H.; Schulz, D. Voronoi tracking: Location estimation using sparse and

noisy sensor data. In Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and

Systems, Las Vegas, NV, USA, 27–31 October 2003; pp. 723–728.

17.

Swangmuang, N.; Krishnamurthy, P. Location ﬁngerprint analyses toward efﬁcient indoor positioning.

In Proceedings of the Sixth Annual IEEE International Conference on Pervasive Computing and

Communications, Hong Kong, China, 17–21 March 2008; pp. 100–109.

18.

Hilsenbeck, S.; Bobkov, D.; Schroth, G.; Huitl, R.; Steinbach, E. Graph-based data fusion of pedometer and

WiFi measurements for mobile indoor positioning. In Proceedings of the 2014 ACM International Joint

Conference on Pervasive and Ubiquitous Computing, Seattle, WA, USA, 13–17 September 2014; pp. 147–158.

19.

Gusenbauer, D.; Isert, C.; Krösche, J. Self-contained indoor positioning on off-the-shelf mobile devices.

In Proceedings of the 2010 International Conference on Indoor Positioning and Indoor Navigation (IPIN),

Zurich, Switzerland, 15–17 September 2010; pp. 1–9.

20.

Park, J.G. Indoor localization using place and motion signatures. Ph.D. Thesis, Massachusetts Institute of

Technology, Cambridge, MA, USA, 2013.

21.

Kaiser, S.; Khider, M.; Robertson, P. A human motion model based on maps for navigation systems.

EURASIP J. Wirel. Commun. Netw. 2011,2011, 1–14.

22.

Skiena, S.S. In The Algorithm Design Manual: Text; Springer Science & Business Media: Berlin, Germany, 1998.

23.

Arulampalam, M.S.; Gordon, N.; Orton, M.; Ristic, B. A variable structure multiple model particle ﬁlter for

GMTI tracking. In Proceedings of the Fifth International Conference on Information Fusion, Annapolis, MD,

USA, 8–11 July 2002; pp. 927–934.

24.

Ferris, B.; Haehnel, D.; Fox, D. Gaussian processes for signal strength-based location estimation.

In Proceedings of the Robotics Science and Systems, Philadelphia, PA, USA, 16–19 Augest 2006.

25.

Arulampalam, M.S.; Maskell, S.; Gordon, N.; Clapp, T. A tutorial on particle ﬁlters for online

nonlinear/non-Gaussian Bayesian tracking. IEEE Trans. Signal Process. 2002,50, 174–188.

26.

Gordon, N.J.; Salmond, D.J.; Smith, A.F. Novel approach to nonlinear/non-Gaussian Bayesian state

estimation. IEE Proc. F Radar Signal Process. 1993,140, 107–113.

c

2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access

article distributed under the terms and conditions of the Creative Commons by Attribution

(CC-BY) license (http://creativecommons.org/licenses/by/4.0/).