a wsn-based, rss-driven, real-time location tracking system · a wsn-based, rss-driven, real-time...

26
ATOLS A WSN-based, RSS-driven, Real-time Location Tracking System for Independent Living Facilities Pawel Gburzynski Olsonet Communications, Ottawa, Canada University of Alberta, Computing Science, Edmonton, Canada Vistula University, Warsaw, Poland 1 DCNET 2016

Upload: phamcong

Post on 08-May-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

ATOLS

A WSN-based, RSS-driven, Real-time Location Tracking System

for Independent Living Facilities

Pawel Gburzynski

Olsonet Communications, Ottawa, Canada University of Alberta, Computing Science, Edmonton, Canada

Vistula University, Warsaw, Poland

1 DCNET 2016

Indoor Location Tracking

2 DCNET 2016

Radio-based:

TOA / TOF, TDOA / TDOF, AOA

Phase Difference

RSS

Non-radio-based:

Ultrasound, infrared, pressure sensors, active floor

considered passé these days

Problem definition

DCNET 2016 3

Estimate the location of people (and possibly other objects) wearing RF Tags.

Coordinates in 3D

Named places (within a building)

A practical project: a system was already deployed, and we wanted to extend it with the new functionality.

Preferably no new hardware

Militza (Brugges)

DCNET 2016 4

Annonciaden (Antwerp)

DCNET 2016 5

DCNET 2016 6

What is a “location”?

DCNET 2016 7

The WSN: Tags & Pegs

Tags implement some end functionality, e.g., sensing; a Tag can be mobile

Pegs act as semi-infrastructure (e.g., static, devoid of sensors/actuators, used solely for communication)

Pegs can be used as reference, e.g., for location tracking (if they are not mobile)

Power considerations: Pegs can be powered from external sources, while Tags are battery powered

The hierarchy is natural in many applications

DCNET 2016 8

Devices

7cm

CC430F6137 (MSP430 + CC1100)

4 KB RAM 32KB flash

BMA250 (accelerometer)

DCNET 2016 9

Devices

DCNET 2016 10

Prereqs

PicOS: the programming platform

TARP / VNETI: networking (multi-hop, true ad-hoc)

VUEE: emulation, virtual development

No additional devices (a software add on to what

was there already)

RSS-based (the radio doesn’t offer any fancier

attributes of the RF signal

DCNET 2016 11

RSS is a crude attribute

DCNET 2016 12

Profiling / surveying

Attempts at correlating RSS with distance via

blanket function don’t work too well

We can afford (relatively) many Pegs (say, tricky

areas can be better covered)

Profile Sample: a vector of readings collected from a known location

Tracking Sample: a vector of readings collected from a tracked device

DCNET 2016 13

A floor in Annonciaden

2

1

3

4

5

6

7

8

9

10

11

12

13

1

2

3 4 5

DCNET 2016 14

Location bursts

Tags emit “bursts” of 32 short packets transmitted

at increasing power levels [in groups of 4]:

. . .

PL 0 PL 1 PL 7

Pegs receive what they can and forward the

corresponding RSS vectors to the master.

DCNET 2016 15

A profile sample

# loc 1'0'2, att 5 "23-Jul-2016 19:59:03”

3 0 0 0 61 68 77 90 95

4 0 57 66 76 85 94 105 112

5 0 60 70 79 88 96 108 115

6 74 83 92 102 111 119 131 138

7 82 89 99 109 118 125 137 145

8 75 84 93 102 111 119 132 138

9 82 91 100 109 119 126 139 145

11 0 0 0 69 77 85 97 104

12 0 0 0 0 0 60 73 80

P0 P7

DCNET 2016 16

A tracking sample ...

... looks similar, except that the location isn’t known

Vectors arrive individually, the estimator can use

any set of three or more vectors to attempt an

estimation

Given a set of tracking vectors:

)},...,,{(70

iii RSSRSSP

... and a set of profile samples, guess at the most likely

location

DCNET 2016 17

The algorithm (a sketch)

Iterations by power levels, from low to high

Maintain the set of ranked candidate locations; each

iteration can trim the set and update the ranks of

whatever locations remain in the set

If after trimming the set becomes empty, the last

nonempty set (with its ranks) is returned

DCNET 2016 18

One iteration, level k

},{},,{},,{ 221100

kkkRSSPRSSPRSSP

Select up to three input vectors with the highest RSS

readings for level k; if empty skip the iteration

Find all samples that include readings for all the three Pegs

and the level k; group them into subsets by location (looking

at level k only).

DCNET 2016 19

Samples as points in 3D

The three Pegs being fixed, the RSS values can be treated

as coordinates of points in 3-space:

},{},,{},,{ 221100

kkkRSSPRSSPRSSP

x y z

),,( ttt zyx

mLiiiLiiiLiii zyxzyxzyx )},,{(,...,)},,{(,)},,{(21

tracking sample selected sets of profile samples

DCNET 2016 20

We define …

… the distance of sample to location

pLiii zyx )},,{(

as the Euclidean distance from the point

pL),,( ttt zyx

),,( ttt zyx

to the minimum convex hull encompassing the points in

),( Lkd

expressed in RSS units, or in dB

DCNET 2016 21

Combining the iterations

)},{( ii dLC current set of ranked candidate

locations, initially set to “all locations”

)},{(j

k

j

kk dLC set produced at level k [skip if empty]

kCC if is empty, stop with kC

otherwise kk CCC , sum the distances

return the location with the smallest distance in the last kC

DCNET 2016 22

More?

History option? Note that in the main application, the

tracking events tend to be sparse

Geometry info can be provided (a measure of time

to cross locations) and is relevant jointly with the

history option

Integrated into the event (sensor data) passing

network

DCNET 2016 23

Events

Event Issue location

burst

Issue the

event packet

Some events may (implicitly or explicitly) carry “location

hints”

DCNET 2016 24

Accuracy?

Difficult to quantify in a blanket

and meaningful way.

An error may be more tolerable

if the locations are easy to

reach from one another

DCNET 2016 25

Energy budget

Location burst: 32 x 80 @ 38400 + overhead 0.2s @ ca.

20 mA

Idle Tag current drain: 3uA

10s 3+ months (1000 mAh battery)

20s 6+ months

1m 1.5 year

1h practically forever

probably can be reduced to 16 or so

DCNET 2016 26

That’s it