Location awareness is a key requirement for many pervasive
applications. Collaborative localization techniques are interesting
because they help to improve accuracy and coverage indoors and improve
power consumption by duty-cycling GPS outdoors. We use Bluetooth
for collaborative localization of mobile personal devices. Specifically,
we embed information in Bluetooth device names to improve latency
of information exchange between participating nodes. We identify
and demonstrate on real hardware two problems in the Bluetooth stack
that negatively impact localization accuracy: a) device name caching
that introduces significant device-specific delays in transmitting information
between nodes, and b) poor accuracy of time synchronization in
modern mobile devices. Our solution is to append additional time information
to the device name and track time o↵sets between nodes. We
verify experimentally that this helps to both detect outliers and correct
for time-synchronization errors and thus mitigate localization errors.
Towards Collaborative Localization of Mobile Users with Bluetooth
1. Towards Collaborative Localization of Mobile Users
with Bluetooth
Alexandre Barreira
CSIRO ICT Centre, Brisbane,
Australia
Philipp Sommer
Brano Kusy
Raja Jurdak
UTC/Georgia Tech.
2. Localisation
• Indoors
• Specialized tracking devices
• Infrastructure deployment cost
• Setup phase
• Outdoors
• GPS!
• Reasonably accurate …
• …yet energy expensive
• Collaborative Bluetooth Localisation
• Can help both
• Built-in to smart phones/laptops
• No infrastructure/setup in office
environments
• More energy-efficient than GPS
3. • Problem
• Protocol imposes pairing/piconet association
• Solution
• Avoid expensive handshake
• Use friendly name to share location info – up to 248 characters
• Embed location info
• Indoors: coordinates
• Outdoors: GPS
• Problem
• Infrastructure setup
• Solution
• Use only existing infrastructure with bluetooth
• Laptops
• Desktops
• Use office directory to map names to locations
Bluetooth Localization Overview
11. Bluetooth neighbor discovery for localization
name = (LOCx, LOCy, LOCz)
A
B
C
name?
(name, RSSI, class)
Neighbour Location RSSI class
B
C
2,3,4
4,3,5
-75
-66
Phone
Desktop
13. Device Name Caching
• Discovery phase every several seconds
•Varies per device/manufacturer
• In the meantime, node keeps neighbor
location information
•Risks stale neighbor list
•Risks inaccurate location
•Smart phone OS limits control
•No methods to flush cache
•Caching strategies vary per device
model/OS version
14. Rejecting cached device names
• Include timestamp into device name
• Receiver can estimate time offset between remote device and
local clock
name = (LOCx, LOCy, LOCz, t)
A
B
C
name?
(name, RSSI, class)
Neighbou
r
Locatio
n
time Min
offset
RSSI class
B
C
2,3,4
4,3,5
20
35
19
13
-75
-66
Phone
Desktop
15. Simple Approach to Reject Cached Names
• Assumption: mobile phone clocks remain stable over short time
intervals
• Set (or learn) lower bound for time offset with each neighbor
• IF a name with offset>lower bound+c
• Discard this name
16. Rejecting cached device names
• Include timestamp into device name
• Receiver can estimate time offset between remote device and
local clock
name = (LOCx, LOCy, LOCz, t)
A
B
C
name?
(name, RSSI, class)
Neighbou
r
Locatio
n
time Min
offset
RSSI class
B
C
2,3,4
4,3,5
20
35
19
13
-75
-66
Phone
Desktop
17. Rejecting cached device names
• Include timestamp into device name
• Receiver can estimate time offset between remote device and
local clock
name = (LOCx, LOCy, LOCz, t)
A
B
C
name?
(name, RSSI, class)
Neighbour Locatio
n
time Min
offset
RSSI class
B
C
2,3,4
4,3,5
20
35
19
13
-75
-66
Phone
Desktop
18. Experiments
• 2 Samsung Nexus S phones
• Both running Android 2.3.3
• Both phones
• continuously update their Bluetooth device names once every
second with the current local time
• perform periodic Bluetooth device inquiries
• Local clocks of the devices are only loosely synchronized with a
clock offset of 9.5 seconds.
0 500 1000 1500 2000 2500 3000 3500
Time [s]
0
5
10
15
20
25
30
35
Time[s]
Time Difference Sender-Receiver
Lower Bound for Clock Offset
Latency Sender-Receiver (after Correction)
19.
20. Summary
• Collaborative Bluetooth localization
• Indoors
• Fill coverage gaps
• Increase density
• Outdoors
• Saves on using GPS frequently
• Simple method to avoid device name caching
• Establish pairwise clock offsets
• Discard names that diverge from these offsets
• Open issues
• Learning and adapting pairwise offsets
• Bounding uncertainty with high mobility
• Versatile localization algorithms
21. Thank you
Thank you
Dr. Raja Jurdak
CSIRO ICT Centre
Principal Research Scientist
Research Group Leader
Phone: +61 (0)7 3327 4059
Email: raja.jurdak@csiro.au
Web: http://jurdak.com
University of Queensland
Adjunct Associate Professor
Hinweis der Redaktion
Although several other GP frameworks are available for the Java platform, none is suitable for Android because Android replaces several subsets of Java class libraries from the JavaSE with its own new classes.