!! PORTFOLIO (na wniosek firmy F16) Możliwości pozycjonowania wewnątrz budynków z wykorzystaniem radiolatarni Autor: Sebastian Ernst, Piotr Matyasik
Moøliwoúci pozycjonowania wewnπtrz budynków z wykorzystaniem radiolatarni dr inø. Piotr Matyasik dr inø. Sebastian Ernst Wersja: 2014-04-30 (796f81a) Spis treúci 1 Wprowadzenie 2 2 Opis standardu ibeacon 2 2.1 Wsparcie w platformach mobilnych.................................. 2 2.1.1 Apple ios............................................ 2 2.1.2 Android............................................. 3 2.1.3 Windows Phone........................................ 3 2.2 Moøliwoúci programowego generowania sygna ów.......................... 4 2.3 DostÍpne na rynku urzπdzenia-radiolatarnie............................. 4 3 Charakterystyka przeprowadzonych badaò 4 3.1 Zaimplementowane aplikacje testowe................................. 4 3.2 Scenariusze testów........................................... 4 4 Wyniki i analiza 6 5 Podsumowanie 12 1
1 Wprowadzenie Przez ostatnie kilka miesiícy obserwuje sií wzrost zainteresowania technologiπ tzw. radiolatarni nadajników radiowych, najczíúciej opartych o standard Bluetooth, emitujπcych sygna y dajπce sií odebraê przez urzπdzenia mobilne, takie jak smartfony oraz tablety. Technologia ta pozwala na dodanie do aplikacji úwiadomoúci lokalizacji (ang. location awareness) nie tylko na zewnπtrz (gdzie dostípny jest system GPS oraz technologie wspomagajπce), ale i wewnπtrz budynków. Podstawowym zadaniem radiolatarni jest wychwycenie znalezienia sií urzπdzenia w pewnym otoczeniu nadajnika, choê teoretycznie moøliwe jest teø wykorzystanie tej technologii do okreúlania lokalizacji urzπdzenia na planie pomieszczeò (a takøe np. wykrywanie piítra). Niniejszy raport przedstawia wstípne wyniki badaò dotyczπcych moøliwoúci lokalizowania urzπdzeò mobilnych przy pomocy radiolatarni. 2 Opis standardu ibeacon Standard ibeacon zosta wprowadzony przez firmí Apple w wersji 7 mobilnego systemu operacyjnego ios. Standard oparty jest o technologií Bluetooth Low Energy (BLE). Nadajniki charakteryzowane sπ przez kilka parametrów: proximity UUID identyfikator, który jest identyczny dla wszystkich radiolatarni zainstalowanych w jednej lokalizacji 1, major ID liczba ca kowita, grupujπca radiolatarnie na pierwszym poziomie hierachii (np. piítro, dzia ), minor ID liczba ca kowita, identyfikujπca poszczególne radiolatarnie w obríbie danej grupy. Aby umoøliwiê oszacowanie odleg oúci, radiolatarnie podajπ równieø dane kalibracyjne poziom sygna u (w db) w odleg oúci 1 metra od nadajnika. W przestrzeni wyposaøonej w radiolatarnie moøliwe jest prowadzenie dwóch operacji: 1. Monitorowanie regionów notyfikacja aplikacji, gdy urzπdzenie znajdzie sií w obríbie regionu, przy czym region moøe byê identyfikowany przez: sam proximity UUID, proximity UUID oraz major ID, wszystkie trzy parametry (proximity UUID, major ID oraz minor ID). 2. Namierzanie radiolatarni (ang. beacon ranging) skanowanie pasma w celu lokalizacji widocznych radiolatarni, przy czym konieczne jest podanie co najmniej parametru proximity UUID. 2.1 Wsparcie w platformach mobilnych 2.1.1 Apple ios Wsparcie obs ugi radiolatarni zgodnej ze standardem ibeacon zosta o wprowadzone w wersji 7.0 systemu ios. Centralnπ rolí gra tu framework Core Location, który udostípnia metody opakowujπce z kolei funkcjonalnoúê frameworku Core Bluetooth. DostÍpne sπ metody realizujπce obie opisane w sekcji 2 funkcjonalnoúci. Monitorowanie regionów realizowane jest w trybie asynchronicznym i inicjowane jest przy pomocy metody startmonitoringforregion: obiektu CLLocationManager. W przypadku wejúcia i wyjúcia z regionu wywo ywane sπ odpowiednio metody callback locationmanager:didenterregion: oraz locationmanager:didexitregion:. Skanowanie pasma inicjowane jest przy pomocy metody startrangingbeaconsinregion:. Po uzyskaniu nowych danych wywo ywana jest metoda callback locationmanager:didrangebeacons:inregion:, która otrzymuje jako jeden z parametrów tablicí sk adajπcπ sií z obiektów klasy CLBeacon. Kaødy z nich posiada nastípujπce informacje: dane identyfikacyjne proximityuuid, major, minor, 1 Przez lokalizacjí uznaje sií obszar (np. teren sklepu), zarzπdzany przez jednπ instytucjí, na którym prowadzone jest pozycjonowanie i/lub wykrywanie bliskoúci przez danπ aplikacjí mobilnπ. Wersja: 796f81a 2 2014-04-30 11:09:13 +0200
Stan Maksymalny czas aktualizacji Aktywne skanowanie (ranging) 1sekunda Skanowanie wy πczone do 15 minut (a) Czasy aktualizacji dla aplikacji pracujπcej w pierwszym planie Stan Maksymalny czas aktualizacji Telefon obudzony, notifyentrystateondisplay=yes 1sekunda Telefon obudzony, notifyentrystateondisplay=no nigdy UIBackgroundModes=location ON do 15 minut UIBackgroundModes=location OFF do 15 minut (b) Czasy aktualizacji dla aplikacji pracujπcej w tle Tablica 1: Czasy wykrywania radiolatarni w platformie ios [3] rssi si a sygna u odebranego, mierzona w db, proximity klasa bliskoúci; typ wyliczeniowy mogπcy przybieraê nastípujπce wartoúci [1]: CLProximityUnknown jeøeli odleg oúê nie moøe byê oszacowana, CLProximityImmediate radiolatarnia w bezpoúredniej bliskoúci uøytkownika, CLProximityNear radiolatarnia wzglídnie blisko uøytkownika, CLProximityFar radiolatarnia zlokalizowana daleko, accuracy szacowana odleg oúê w metrach od radiolatarni 2. CzÍstotliwoúÊ odúwieøania odpowiednio przy aplikacji pracujπcej na pierwszym planie i w tle przedstawiono (dla róønych wartoúci parametrów konfiguracyjnych) w Tab. 1. Programista nie ma moøliwoúci ingerowania w te parametry. 2.1.2 Android API dla Androida jest kopiπ API og oszonego dla ios. W teúcie zosta a wykorzystana implementacja wykonana przez http://developer.radiusnetworks.com. API pozwala na: powiadamianie, jakie nadajniki sπ widoczne, ustawienie czístotliwoúci powiadamiania o widocznych nadajnikach przy wybudzonym urzπdzeniu, ustawienie czístotliwoúci powiadamiania o widocznych nadajnikach przy uúpionym urzπdzeniu, powiadamianie o wejúciu w wybranπ strefí (Region), powiadamianie o osiπgniíciu wybranej pozycji w strefie (PROXIMITY IMMEDIATE, PROXIMITY NEAR, PROXIMITY FAR, PROXIMITY UNKNOWN), uruchamianie aplikacji po znalezieniu sií w danej odleg oúci w wybranej strefie. Us uga systemowa uúrednia sygna RSSI, nie wykonuje øadnej dodatkowej obróbki. 2.1.3 Windows Phone Przewidywane jest wsparcie w Windows Phone 8.1. 2 Wed ug dokumentacji, wartoúê ta s uøy wy πcznie do rozróøniania pomiídzy radiolatarniami z identycznym parametrem proximity. NienaleøyjejuøywaÊdooszacowaniadok adnejlokalizacjiradiolatarni. Wersja: 796f81a 3 2014-04-30 11:09:13 +0200
2.2 Moøliwoúci programowego generowania sygna ów RolÍ radiolatarni moøe pe niê dowolne urzπdzenie wyposaøone w modu Bluetooth 4.0 LE. Przyk adowo, moøliwe jest bardzo atwe przekszta cenie w radiolatarnií urzπdzenia pracujπcego pod kontrolπ systemu ios lub Mac OS X, korzystajπc z metod udostípnianych przez framework Core Bluetooth. 2.3 DostÍpne na rynku urzπdzenia-radiolatarnie Szybki wzrost zainteresowania technologiπ spowodowa pojawienie sií na rynku licznych urzπdzeò pe niπcych funkcjí radiolatarni zgodnych ze standardem ibeacon. Sπ to m.in.: http://estimote.com/ - szczegó owy opis znajduje sií pod adresem http://makezine.com/2014/01/ 03/reverse-engineering-the-estimote/ http://buyibeacons.com/ dowolny adapter Bluetooth 4.0 wspierajπcy BLE z oprogramowaniem 3 Charakterystyka przeprowadzonych badaò W badaniach wykorzystano radiolatarnie bazujπce na adapterach Bluetooth 4.0 BLE z oprogramowaniem bluez-ibeacon https://github.com/carsonmcdonald/bluez-ibeacon oraz ipad. PrzyjÍto nastípujπcy model zanikania sygna u: L(dB) =P 0 + 10 nlog 10 ( d d 0 )+X gdzie: n - wspó czynnik straty sygna u, d - odleg oúê pomiídzy nadajnikiem i odbiornikiem, X zmienna losowa o odchyleniu standardowym i P 0 moc odbierana w odleg oúci d 0. Dla RSSI, przy za oøeniu d o =1m i pominiíciu X ogranicza sií to do: - gausowska RSSI = gdzie P 1m jest mocπ odbieranπ w odleg oúci 1m. 3.1 Zaimplementowane aplikacje testowe 10 nlog 10 (d)+p 1m Dla systemu Android zosta a opracowana aplikacja monitorujπca radiolatarnie na bazie serwisu dostarczonego przez http://developer.radiusnetworks.com. W trakcie dzia ania wyúwietla ona i zapisuje do pliku widoczne radiolatarnie. 3.2 Scenariusze testów Poniøej znajdujπ sií opisy przeprowadzonych testów: 1. estymacja parametrów dla modelu zanikania sygna u dla róønych nadajników, 2. badanie zaleønoúci wzajemnej orientacji nadajnika i odbiornika na parametry modelu, 3. badanie wp ywu sposobu trzymania odbiornika na poziom RSSI, 4. badanie wp ywu innych osób na poziom RSSI, 5. okreúlenie odleg oúci od nadajników na podstawie poprzednio estymowanych parametrów modelu. Wersja: 796f81a 4 2014-04-30 11:09:13 +0200
RSSI 1m orientacja odbiornika RSSI 2m orientacja odbiornika -40 N -45 N -45 W -50 W -50 E S -55 E S -55-60 -60-65 -65 0 20 40 60 80 100 120-70 0 50 100 150 200 250 RSSI 3m orientacja odbiornika RSSI 5m orientacja odbiornika -50-55 N W -50-55 N W -60-65 -70 E S -60-65 E S -75-70 -80 0 50 100 150 200-75 0 50 100 150 200 Rysunek 1: RSSI w zaleønoúci od orientacji i odleg oúci dla wybranego nadajnika Nadajnik oszacowanie n Beacon1 3.0789 Beacon2 2.4915 Beacon3 1.5921 Tablica 2: Oszacowanie parametru n modelu dla kierunku N Nadajnik N W E S Beacon1-50.364-58.370-52.835-56.800 Beacon2-55.737-60.589-56.356-56.087 Beacon3-48.314-47.611-55.805-53.269 Tablica 3: Oszacowanie parametru A modelu w zaleønoúci od kierunku i nadajnika Wersja: 796f81a 5 2014-04-30 11:09:13 +0200
6 5 beacon1 beacon2 beacon3 4 3 2 1 0 0 100 200 300 400 500 600 700 Rysunek 2: Oszacowana odleg oúê bez filtracji 4 Wyniki i analiza Wykresy 1 przedstawiajπ si Í sygna u doczytywanπ przez urzπdzenie w zaleønoúci od orientacji wzglídem nadajnika. Tabela 3 przedstawia uúrednionπ wartoúê sygna u w odleg oúci 1m od nadajników w zaleønoúci od orientacji urzπdzenia. Przed uúrednianiem z próbki pomiarowej usuniíte zosta y te wartoúci, które odbiega y od úredniej o wiícej niø 20%. Mia o to na celu pozbycie sií pomiarów, które najprawdopodobniej by y wynikiem odbiê sygna u. Tabela 2 przedstawia oszacowanπ wartoúê parametru n modelu dla wszystkich czujników w po oøeniu N. Oszacowanie przeprowadzone zosta o z wykorzystaniem metody najmniejszych kwadratów. Naleøy podkreúliê, øe uøyte nadajniki by y tego samego modelu i zachowano identyczne warunki pomiarowe dla kaødego z nich. Wykres 2 przedstawia oszacowanπ odleg oúê bez filtracji. Wykres 3 przedstawia oszacowanπ odleg oúê filtrowanπ metodπ úredniej ruchomej. Pomiary by y wykonywane w odleg oúci 1,2,3 i 5 metrów. Wykres 4 przedstawia oszacowanπ odleg oúê filtrowanπ metodπ úredniej ruchomej, uúrednionπ po wszystkich nadajnikach. Wykres 5 przedstawia oszacowanπ odleg oúê filtrowanπ metodπ úredniej ruchomej, uúrednionπ po wszystkich nadajnikach. Dodatkowo wartoúci wyg adzono metodπ Tichonowa. Wykres 6 przedstawia zmianí úredniej wartúci RSSI wynikajπcπ tylko ze zmiany sposobu trzymania odbiornika w ríkach. Wzajemna orientacja odbiornika i nadajnika oraz odleg oúê pozostawa y bez zmian. Wykres 6 przedstawia zmianí úredniej wartúci RSSI wynikajπcπ z pojawiania sií i znikania osoby pomiídzy nadajnikiem i odbiornikiem. Wykres 8 wynik pomiaru RSSI dla testu polegajπcego na przemieszczeniu urzπdzenia z odleg oúci 5m do 1m i na powrót do 5m. Wykresy 2 do 12 przedstawiajπ estymacje odleg oúci filtrowane analogicznie jak w poprzednich przypadkach. Wersja: 796f81a 6 2014-04-30 11:09:13 +0200
6 5 beacon1 beacon2 beacon3 4 3 2 1 0 0 100 200 300 400 500 600 700 Rysunek 3: Oszacowana odleg oúê (úrednia ruchoma) Wersja: 796f81a 7 2014-04-30 11:09:13 +0200
7 6 5 4 3 2 1 0 0 100 200 300 400 500 Rysunek 4: Oszacowana odleg oúê (úrednia wszystkich nadajników) Wersja: 796f81a 8 2014-04-30 11:09:13 +0200
8 6 4 2 0 0 100 200 300 400 500 Rysunek 5: Oszacowana odleg oúê (úrednia wszystkich nadajników + Tichonow) Wersja: 796f81a 9 2014-04-30 11:09:13 +0200
-62-64 -66-68 -70-72 0 10 20 30 40 50 60 70 Rysunek 6: åredni RSSI przy róønym sposobie trzymania odbiornika Wersja: 796f81a 10 2014-04-30 11:09:13 +0200
-56-57 -58-59 -60-61 -62-63 0 10 20 30 40 50 60 Rysunek 7: åredni RSSI - osoba pojawiajπca sií pomiídzy nadajnikiem i odbiornikiem Wersja: 796f81a 11 2014-04-30 11:09:13 +0200
-40-50 beacon1 beacon2 beacon3-60 -70-80 -90-100 0 50 100 150 200 250 300 350 Rysunek 8: RSSI - test w ruchu 5 Podsumowanie Pozycjonowanie urzπdzenie wewnπtrz budynków pomimo wykorzystania róønych, podstawowych rodzajów filtrowania daje umiarkowanie zadowalajπce rezultaty. Uúredniona wartoúê b Ídu dla testu w ruchu oscyluje w granicy 1m. Pomiary dokonywane by y z zachowaniem sta ej orientacji urzπdzeò wzglídem siebie. Zastosowanie kilku urzπdzeò podnosi uøytecznoúê informacji, jakπ moøna uzyskaê. Wymaga to jednak dok adnej kalibracji kaødego z nich. Pomimo uøycia nadajników tego samego typu ich parametry znacznie sií róøni y. Zastosowane metody filtracji by y roønymi wariantami úredniej i dawa y pozytywne rezultaty. Ich uøycie jest konieczne ze wzglídu na duøy poziom szumu w sygnale, ale ogranicza to uøycie tej metody tylko do szacowania odleg oúci obiektów poruszajπcych sií stosunkowo wolno. Odleg oúê podawana przez API urzπdzenia jest ca kowicie bezuøyteczna. Zaleøy ona od emitowanego parametru A(RSSI w odleg oúci 1m), który moøe byê róøny w zaleønoúci od modelu urzπdzenia odbierajπcego, uøytych akcesoriów, sposobu noszenia, wzajemnej orientacji nadajnika i odbiornika. StopieÒ zbliøenia (proximity type) w danej strefie jest okreúlany na podstawie RSSI, stπd wystípujπ czíste przeskoki na granicy stref wynikajπce ze zmiany po oøenia, znalezienia sií osób lub obiektów na linii nadajnikodbiornik. Ewentualne dalsze kierunki badaò mogπce podnieúê uøytecznoúê technologii: opracowanie modelu zanikania sygna u uwzglídniajπcego wzajemne po oøenia nadajnika i odbiornika, uwzglídnienie w filtrze dodatkowych informacji (akcelerometr, øyroskop, magnetometr), uwzglídnienie wiedzy o wzajemnym po oøeniu kilku nadajników [2], Wersja: 796f81a 12 2014-04-30 11:09:13 +0200
6 5 beacon1 beacon2 beacon3 4 3 2 1 0 0 50 100 150 200 250 300 350 Rysunek 9: Odleg oúê - test w ruchu Wersja: 796f81a 13 2014-04-30 11:09:13 +0200
6 5 beacon1 beacon2 beacon3 4 3 2 1 0 0 50 100 150 200 250 300 Rysunek 10: Odleg oúê - test w ruchu - úrednia ruchoma Wersja: 796f81a 14 2014-04-30 11:09:13 +0200
6 5 4 3 2 1 0 50 100 150 200 250 Rysunek 11: Odleg óúê - test w ruchu - úrednia wszystkich nadajnków Wersja: 796f81a 15 2014-04-30 11:09:13 +0200
6 5 4 3 2 1 0 50 100 150 200 250 Rysunek 12: Odleg óúê - test w ruchu - úrednia wszystkich nadajnków wyg adzona m. Tichonova Wersja: 796f81a 16 2014-04-30 11:09:13 +0200
uwzglídnienie wiedzy o otoczeniu (rozmiar pomieszczenia, przeszkody, itp.), opracowanie zasad rozmieszczania nadajników tak, aby zminimalizowaê ewentualne zak ócenia. Literatura [1] Apple, Inc. CLBeacon class reference. https://developer.apple.com/library/ios/documentation/ CoreLocation/Reference/CLBeacon_class/Reference/Reference.html#//apple_ref/occ/cl/ CLBeacon, 2014. [2] Jagoba Arias, Aitzol Zuloaga, Jesús Lázaro, Jon Andreu, and Armando Astarloa. Malguki: an {RSSI} based ad hoc location algorithm. Microprocessors and Microsystems, 28(8):403 409, 2004. Resource Management in Wireless and Adhoc mobile networks. [3] David G. Young. ibeacon monitoring in the background and foreground. http://developer. radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html, November 2013. Wersja: 796f81a 17 2014-04-30 11:09:13 +0200