Onderzoeksrapport Mobile sensors
Organisatie: Opdrachtgever: Projectbegeleider: Projectleden: Datum: Versie:
Saxion Enschede H. van Leeuwen (Saxion) B. Loke (Noldus) R. Tangelder (Saxion) R. Borgonjen (Saxion, 135675) B. Oelgemöller (Saxion, 135140) 17 januari 2013 1.3
Mobile sensors
Versiebeheer Versie
Auteur
Omschrijving
Datum
0.1
R. Borgonjen
Initiële opzet onderzoeksrapport
24 september 2012
0.2
B. Oelgemöller
Invulling externe sensoren
27 september 2012
0.3
R. Borgonjen
Invulling interne sensoren
27 september 2012
0.4
B. Oelgemöller
Aanvulling communicatie en externe sensoren
1 oktober 2012
0.5
R. Borgonjen
Toekomstbeeld smartphones toegevoegd en diverse kruisverwijzingen in het document toegevoegd
3 oktober 2012
0.6
B. Oelgemöller
Software hoofdstuk ingevoegd en controle overige delen document
4 oktober 2012
0.7
R. Borgonjen
Controle document, literatuurlijst bijwerken
4 oktober 2012
0.8
R. Borgonjen
Aanpassingen op basis van assessment en aanvulling naar aanleiding van gesprek met Noldus
10 oktober 2012
0.9
R. Borgonjen
Invulling gegeven aan GPS probleemherkenning
12 november 2012
1.0
R. Borgonjen
Invulling gegeven aan filtering en databehandeling
22 november 2012
1.1
B. Oelgemöller
Resultaten toegevoegd
10 december 2012
1.2
R. Borgonjen
Aanbevelingen toegevoegd en controle volledig document
15 januari 2013
1.3
B. Oelgemöller
Volgorde gewijzigd, controle volledig document
17 januari 2013
Onderzoeksrapport – versie 1.3
2 / 44
Mobile sensors
Inhoudsopgave 1 Inleiding.............................................................................................................................................................5 2 Samenvatting.....................................................................................................................................................6 3 Stand van zaken.................................................................................................................................................7 3.1 Hardware smartphones..............................................................................................................................7
3.1.1 Interne sensoren.....................................................................................................................7 3.1.1.1 Gyroscoop.................................................................................................................................8 3.1.1.2 Acceleratiemeter........................................................................................................................8 3.1.1.3 Nabijheidssensor........................................................................................................................8 3.1.1.4 Omgevingslicht en RGB sensor.................................................................................................8 3.1.1.5 Touchscreen...............................................................................................................................8 3.1.1.6 Microfoon..................................................................................................................................8 3.1.1.7 Camera......................................................................................................................................8 3.1.1.8 Digitaal kompas.........................................................................................................................9 3.1.1.9 GLONASS en GPS....................................................................................................................9 3.1.1.10 Wi-Fi, Radio netwerk, Bluetooth.............................................................................................9 3.1.1.11 NFC.........................................................................................................................................9 3.1.1.12 Barometer................................................................................................................................9
3.1.2 Externe sensoren..................................................................................................................10 3.1.2.1 Communicatie..........................................................................................................................10
3.1.2.1.1 3.1.2.1.2 3.1.2.1.3 3.1.2.1.4 3.1.2.1.5
Audio-interface.....................................................................................................10 USB OTG - Host en Device.................................................................................10 WLAN..................................................................................................................10 Bluetooth..............................................................................................................10 Sensoren...............................................................................................................11
3.2 Software smartphones..............................................................................................................................11
3.2.1 Besturingssystemen.............................................................................................................11 3.2.1.1 Marktoverzicht besturingssystemen.........................................................................................11 3.2.1.2 Android....................................................................................................................................12 3.2.1.3 iOS...........................................................................................................................................12
3.2.1.3.1 3.2.1.3.2 3.2.1.3.3 3.2.1.3.4 3.2.1.3.5
iOS softwarestack.................................................................................................12 Cocoa Touch layer................................................................................................13 Media Services layer............................................................................................13 Core Service layer................................................................................................13 Core OS layer.......................................................................................................13
3.2.1.4 BlackBerry OS.........................................................................................................................14 3.2.1.5 Windows Phone ......................................................................................................................14
3.2.2 Softwarestack.......................................................................................................................14 3.2.2.1 Kernel......................................................................................................................................14 3.2.2.2 Middleware..............................................................................................................................15 3.2.2.3 AEE.........................................................................................................................................15 3.2.2.4 UI framework..........................................................................................................................15 3.2.2.5 Application suite......................................................................................................................15 4 Toekomst.........................................................................................................................................................15 4.1 Processor.................................................................................................................................................15 4.2 Sensoren..................................................................................................................................................16
Onderzoeksrapport – versie 1.3
3 / 44
Mobile sensors 4.3 Communicatie..........................................................................................................................................16 5 AnyTrack.........................................................................................................................................................18 5.1 Probleemherkenning................................................................................................................................19
5.1.1 Analyse................................................................................................................................21 5.1.1.1 Wegvallen van GPS.................................................................................................................21 5.1.1.2 Drift tijdens stilstand................................................................................................................23 5.2 Systeem...................................................................................................................................................25 5.3 Filtering...................................................................................................................................................28
5.3.1 Wegvallen van GPS.............................................................................................................28 5.3.2 Drift tijdens stilstand............................................................................................................28 5.4 Behandeling data.....................................................................................................................................28
5.4.1 Wegvallen van GPS.............................................................................................................29 5.4.2 Drift tijdens stilstand............................................................................................................30 5.5 Resultaten................................................................................................................................................31
5.5.1 Statistiek..............................................................................................................................32 6 7 8 9
Conclusie.........................................................................................................................................................35 Aanbevelingen.................................................................................................................................................36 Literatuurlijst...................................................................................................................................................37 Bijlagen...........................................................................................................................................................38 9.1 Smartphone sensoren...............................................................................................................................38 9.1 Marktaandeel...........................................................................................................................................39 9.2 Intel R&D pipeline..................................................................................................................................40 9.3 Softwarestack..........................................................................................................................................41 9.4 Exceptionele GPS waarden......................................................................................................................42 9.5 Wegvallen van GPS signaal.....................................................................................................................43 9.6 Probleem GPS drift..................................................................................................................................44
Onderzoeksrapport – versie 1.3
4 / 44
Mobile sensors
1 Samenvatting Smartphones worden tegenwoordig met steeds meer en verschillende sensoren uitgerust. Ook de communicatiemogelijkheden breiden zich uit. Hierdoor wordt het eenvoudiger externe sensoren op een smartphone aan te sluiten. De belangrijkste spelers voor mobiele besturingssystemen zijn Android, IOS en Windows Phone. Deze systemen zullen ook in de komende jaren naar verwachting leidend blijven op de mobiele markt. De hardware die in smartphones wordt gebruikt zal in de komende jaren op verschillende punten veranderen. Zo zullen de belangrijkste veranderingen voor de processoren plaatsvinden in het verkleinen van de transistoren, verhogen van de snelheid en het energieverbruik per transistor verlagen. De sensoren die de komende jaren naar verwachting meer zullen worden gezien zijn biometrische sensoren, omgevingssensoren en druksensoren. AnyTrack wordt ontwikkeld door het bedrijf Noldus uit Wageningen. En kan onder andere mensen en dieren tracken door gebruik te maken van GPS. De tracks worden ook gebruikt voor het analyseren van het gedrag van mensen en dieren. Om goede conclusies te trekken op basis van deze locaties is een goede GPS locatie gewenst. Echter in GPS treden een aantal problemen op die ongewenst zijn tijdens de analyse. Hierbij gaat het om drift van de locatie tijdens stilstand en exceptionele waarden op het moment dat het GPS signaal was weggevallen. Om de verschijnselen van deze problemen te bepalen worden diverse gegevens over de GPS, satellieten en acceleratie waarden verzameld. De gegevens worden vervolgens met een analysetool naast elkaar getoond waardoor visueel de data kan worden geanalyseerd in de probleemgebieden. Door de analyse zijn een aantal kenmerken van de problemen zichtbaar geworden. Zo is te zien dat kort voor het wegvallen van het GPS signaal het aantal zichtbare satellieten daalt. Wanneer vervolgens weer een GPS signaal wordt ontvangen stijgt dit aantal. Ook is hierbij te zien dat gedurende bepaalde tijd geen GPS updates binnenkomen vanuit de Android software. Dit is te verklaren, omdat er gedurende de wegval van het GPS signaal geen posities bepaald kunnen worden. Tijdens de drift die ontstaat bij stilstand is o.a. een lage gemiddelde snelheid zichtbaar, minder stabiele accuratie van de GPS locatie en lagere update frequentie. Daarnaast is gedurende stilstand een ander patroon in de acceleratiewaarden te zien als bij lopen. Om de specifieke problemen voor GPS te verhelpen wordt gebruik gemaakt van verschillende filters die elk een probleem filteren. Hierbij wordt gebruik gemaakt van de eigenschappen van de problemen. Voor het filteren van de drift tijdens stilstand wordt bepaald of de sensor beweegt of stilstaat. Deze indicatie wordt bepaald op basis van verschillende waarden, hierbij kan worden gedacht aan GPS snelheid, acceleratiewaarden en GPS accuratie. De gevonden indicatie die aangeeft of wordt bewogen of stilgestaan wordt ook gebruikt voor het bepalen hoe goed het filter is. Dit wordt gedaan door de werkelijke stops te vergelijken met de stops gedetecteerd door het filter. In de resultaten van deze test is te zien dat detectie van een overgang (stilstand naar beweging en vice versa) plaatsvindt met een vertraging. Deze vertraging kan worden verkleind door het systeem uit te breiden met meer indicatoren. Hierdoor kan de vertragingstijd worden verkleind en de betrouwbaarheid worden verhoogd.
Onderzoeksrapport – versie 1.3
5 / 44
Mobile sensors
2 Inleiding Het project 'Mobile sensors' zal worden uitgevoerd voor het lectoraat Ambient Intelligence(AmI) 1 en het bedrijf Noldus2 uit Wageningen. Het bedrijf Noldus houdt zich onder andere bezig met de ontwikkeling van software voor gedragsanalyse bij mensen en dieren. Een systeem dat hiervoor wordt gebruikt is AnyTrack. Voor de analyse kan gebruik worden gemaakt van locaties die zijn bepaald met bijvoorbeeld GPS. In het GPS systeem zijn een aantal problemen aanwezig die tijdens de analyse ongewenst zijn. Tijdens het onderzoek zullen deze problemen worden onderzocht en zal een mogelijke oplossing worden gegeven. Ter verkenning van de context en state of the art zal een beschrijving worden gegeven over de actuele staat van de smartphones. Hierbij wordt gekeken naar de interne sensoren, mogelijkheden om externe sensoren aan te sluiten en software die op smartphones wordt gebruikt. Tevens zal toelichting worden gegeven op de roadmap van smartphones. Dit wordt gedaan om een beeld te geven waar naar verwachting de smartphones in de komende 6 jaar toe in staat zullen zijn en in welke richting de technologieën zich zullen ontwikkelen. Dit hoofdstuk zal betrekking hebben op onder meer de communicatiemethoden en sensoren. Het tweede deel van het rapport zal zich richten op de specifieke problemen die optreden met betrekking tot GPS. Er zal worden begonnen met de herkenning van de problemen. Vervolgens worden een aantal testen uitgevoerd die specifieke informatie verschaffen over de problemen. Deze informatie wordt vervolgens gebruikt voor het analyseren van de problemen. Hierbij wordt gekeken naar de eigenschappen van de problemen, zodat een duidelijker beeld wordt verkregen van de problemen en mogelijke oplossingen. Op basis van deze analyse en eigenschappen zal een systeemontwerp en implementatie worden gemaakt als mogelijke oplossing voor de problemen. Om de kwaliteit van de oplossing te testen worden een aantal testen uitgevoerd die informatie verschaffen over het ontwikkelde systeem. Hierbij kan worden gedacht aan de snelheid waarmee de problemen worden gedetecteerd en de stabiliteit. Er zal worden afgesloten met de conclusie en aanbevelingen. Hierin zal het uitgevoerde werk worden behandeld en worden de aanbevelingen gegeven. Onder aanbevelingen kan worden gedacht aan kritieke punten in het ontwikkelde systeem, uitbreidbaarheid voor de toekomst, mogelijke aanpassingen die gedaan kunnen worden op basis van de gevonden resultaten en mogelijke aanpassingen in de analysetools.
1 2
http://www.saxion.nl/ami http://www.noldus.com
Onderzoeksrapport – versie 1.3
6 / 44
Mobile sensors
3 Stand van zaken 3.1 Hardware smartphones Smartphones kunnen tegenwoordig voor veel toepassingen gebruikt worden, waaronder navigatie, video gesprekken, spelletjes en bestanden oversturen naar een andere telefoon of computer. Voor veel van deze toepassingen wordt gebruik gemaakt van sensoren die intern in de telefoon zijn verwerkt. Dit hoofdstuk zal zich richten de sensoren in kaart te brengen die tegenwoordig in smartphones worden toegepast. Hierbij zal een korte beschrijving per sensor worden gegeven om duidelijk te krijgen waar ze actueel voor worden gebruikt. Tevens zal worden gekeken naar de mogelijkheden hoe externe sensoren kunnen worden aangesloten. Tot slot is er software nodig om de gemeten waarden beschikbaar te stellen aan applicaties die op het besturingssysteem draaien. Een beschrijving van de software zal dit hoofdstuk afsluiten.
3.1.1 Interne sensoren In deze paragraaf zal een korte beschrijving worden gegeven van de sensoren die tegenwoordig in smartphones worden toegepast. Als eerste zal een korte toelichting worden gegeven welke smartphones zijn bekeken. Vervolgens zal het begrip sensor nader worden toegelicht. Dit wordt gedaan om een duidelijk en helder beeld te krijgen wat een sensor daadwerkelijk is. Tot slot zullen de sensoren nader worden beschreven en toegelicht. Dit wordt gedaan om een beeld te krijgen wat de mogelijkheden van de sensoren zijn en hoe deze worden toegepast. In deze paragraaf zal een nadere toelichting worden gegeven op de sensoren die tegenwoordig in smartphones worden toegepast. Gezien de enorme hoeveelheid smartphones die tegenwoordig verkrijgbaar zijn op de markt is een beperkte selectie gemaakt. De selectie bestaat uit de Samsung Galaxy SIII, Apple iPhone 5, HTC One X en de Nokia Lumia 920. Deze toestellen zijn uitgekozen, omdat deze de meeste functionaliteit hebben. Hierdoor wordt meteen een indruk verkregen hoe de state of the art eruit ziet. Om een beeld te geven van de aanwezige sensoren zal eerst worden besproken wat onder sensoren wordt verstaan. Bij het begrip 'sensor' kunnen mogelijk verschillende gedachten bestaan. De definitie gegeven door het van Dale woordenboek3 zegt: 'instrument of orgaan dat veranderingen kan waarnemen, dat als oog en als oor kan fungeren'. Een tweede definitie gegeven door woorden-boek.nl 4 zegt: 'Orgaan dat de verandering in een geselecteerde fysische grootheid constateert en deze verandering omzet in een bruikbaar signaal voor een meet-,vastleggings- of regelorgaan'. Gezien bovenstaande definities kan een sensor worden opgevat als orgaan of instrument dat veranderingen kan waarnemen. Het type verandering is hierbij niet specifiek vastgelegd. Gezien de mogelijkheden van de huidige smartphones kunnen uit veel instrumenten informatie (veranderingen) worden verkregen. Als voorbeeld kan door middel van een omgevingslichtsensor een verandering in het omgevingslicht worden waargenomen, maar ook Bluetooth kan een verandering waarnemen in signaalsterkte. Aan de hand van deze definities kunnen door middel van veel hardware componenten veranderingen worden waargenomen. In de bijlage Smartphone sensoren is een overzicht gegeven van mogelijkheden in de huidige smartphones. Tevens kan worden opgemerkt dat een aantal punten in de lijst door de producenten niet als sensor worden aangegeven maar gezien bovenstaande definitie het wel zijn.
3 4
http://www.vandale.nl/opzoeken http://www.woorden-boek.nl
Onderzoeksrapport – versie 1.3
7 / 44
Mobile sensors 3.1.1.1
Gyroscoop
De gyroscoop[1] is een instrument dat een richtingsverandering kan bepalen zonder externe hulp of referenties. Onder de gyroscopen kan onderscheid worden gemaakt in twee categorieën. Namelijk de snelheid van een hoekverandering of de daadwerkelijke hoek. Het gros van de gebruikte gyroscopen in consumentenelektronica valt onder de snelheid van de hoekverandering bepalen. Toepassingen met dit type sensor zijn met name gericht op bewegingsdetectie.
3.1.1.2
Acceleratiemeter
Een acceleratiemeter is een instrument dat de versnelling kan meten. Deze acceleratie kan worden veroorzaakt door een persoon die de sensor verplaatst, maar ook door de gevolgen van de zwaartekracht.
3.1.1.3
Nabijheidssensor
De nabijheidssensor kan bepalen of een voorwerp in de buurt is. In de huidige smartphones wordt dit met name gebruikt om het touchscreen uit te schakelen, zodat niet per ongeluk een knop wordt ingedrukt. Tevens wordt het scherm in veel gevallen uitgeschakeld om het energieverbruik te beperken.
3.1.1.4
Omgevingslicht en RGB sensor
De omgevingslicht en RGB-sensor kunnen worden gebruikt voor het bepalen van de lichtsterkte. In de smartphones wordt deze sensor vaak gebruikt om de achtergrondverlichting automatisch aan te passen op basis van het omgevingslicht. De RGB sensor kan de lichtsterkte meten van de drie primaire kleuren in het zichtbare licht (rood, groen en blauw). Hierdoor is het ook mogelijk de lichtkleur te bepalen.
3.1.1.5
Touchscreen
Het touchscreen wordt tegenwoordig in het gros van alle smartphones gebruikt als interface met de gebruiker. De gebruiker kan bijvoorbeeld door het scherm op bepaalde plekken in te drukken in een gewenst menu komen. Touchscreens zijn er in verschillende types, onder andere weerstandsgevoelig en capacitief. In veel consumentenelektronica worden capacitieve touchscreens gebruikt. Deze hebben als voordeel dat multi-touch mogelijk is.
3.1.1.6
Microfoon
De microfoon kan geluiden meten. Met behulp van diverse filters kunnen bepaalde signalen uit het originele signaal gefilterd worden. Hierbij kan worden gedacht aan bepaalde frequenties. Maar ook op geluidssterkte kan gefilterd worden. Door het toepassen van specifieke filtering is het mogelijk bepaalde geluiden te 'zoeken'. Wanneer bijvoorbeeld wordt gezocht naar een bepaald nummer die op de radio wordt afgespeeld, kan de ruis worden verwijderd en het nummer worden opgezocht in een database.
3.1.1.7
Camera
De camera's worden tegenwoordig gebruikt voor het maken van foto's en video's maar er komen ook steeds meer applicaties die beeldbewerking en analyse toepassen op de gemaakte beelden. Hierdoor is het bijvoorbeeld mogelijk met de camera de hartslag van een persoon te bepalen. Dit wordt gedaan door de huidskleur te analyseren. Op basis van de analyse over meerdere beelden kan dan de conclusie worden getrokken wat de hartslag is. Naast dit voorbeeld zijn er meer mogelijkheden die nog in ontwikkeling zijn.
Onderzoeksrapport – versie 1.3
8 / 44
Mobile sensors 3.1.1.8
Digitaal kompas
Het digitaal kompas is een instrument dat kan worden gebruikt voor het bepalen van het noorden. Dit wordt gedaan door gebruik te maken van het magnetische veld van de aarde.
3.1.1.9
GLONASS en GPS
GPS (Global Positioning System) is een plaatsbepalingssysteem ontwikkeld door de verenigde staten (USA) en GLONASS (Global Navigation Satellite System) is de Russische tegenhanger. Beide systemen werken met behulp van satellieten en zijn qua nauwkeurigheid vergelijkbaar. Deze plaatsbepalingsmethoden worden in de huidige smartphones met name gebruikt voor navigatie toepassingen.
3.1.1.10 Wi-Fi, Radio netwerk, Bluetooth Deze communicatie mogelijkheden worden met name gebruikt voor communicatie met netwerken of peer to peer communicatie. Echter kan hier ook andere bruikbare informatie uitgehaald worden. Hierbij kan worden gedacht aan signaalsterkte. De benodigde informatie zal uiteraard afhankelijk zijn van de toepassing waarvoor het wordt gebruikt.
3.1.1.11 NFC NFC (Near Field Communication)[2] is een communicatiemethode die kan worden gezien als een extensie van RFID. Er zijn verschillende typen NFC apparaten namelijk, actieve en passieve. Actieve apparaten kunnen zowel gegevens lezen als schrijven en passieve apparaten kunnen data bevatten die actieve apparaten kunnen lezen. Bij passieve apparaten valt te denken aan chips die in een sleutelhanger zijn geïntegreerd voor het loggen van werktijden. Daarnaast is het mogelijk dat twee actieve apparaten gegevens met elkaar uitwisselen, bijvoorbeeld twee smartphones. Het grootste verschil tussen NFC en RFID is het bereik. NFC heeft een maximum bereik van ongeveer 10 cm tegenover RFID wat een bereik heeft die vele maler groter is.
3.1.1.12 Barometer Een barometer is een apparaat dat de luchtdruk kan meten. Deze gegevens worden onder andere gebruikt voor het voorspellen van het weer en hoogte.
Onderzoeksrapport – versie 1.3
9 / 44
Mobile sensors
3.1.2 Externe sensoren 3.1.2.1
Communicatie
Naast de interne sensoren kunnen steeds meer externe sensoren op de smartphones worden aangesloten. Om deze sensoren aan te sluiten is een communicatieverbinding nodig tussen de sensor en smartphone. Het eerste deel van dit hoofdstuk zal zich richten op de verschillende communicatiemogelijkheden. Dit hoofdstuk zal worden afgesloten met een lijst van sensoren die extern kunnen worden aangesloten.
3.1.2.1.1 Audio-interface Deze interface gebruikt de audiopoort van een smartphone die normaal wordt gebruikt voor de aansluiting van de oordopjes. De sensor gebruikt één van de stereokanalen als voeding en heeft hierdoor geen aparte voeding nodig. Onderstaand zal een voorbeeld worden gegeven van een toepassing die de audio-interface gebruikt voor het meten van data. Bij het HiJack[3] project wordt vanuit de smartphone een 22kHz signaal op een audio kanaal gezet. Dit signaal wordt op het sensorbord als voeding gebruikt. Dit signaal kan op het sensorbord een vermogen van 7.4mW opleveren. Het versturen van data van het sensorbord naar de smartphone kan op twee manieren, namelijk met behulp van Bell 202 FSK of Manchester-encoded direct-digitaal. Als Bell 202 FSK gebruikt wordt is een 300 baud verbinding mogelijk. De tweede mogelijkheid biedt een snelheid van 8.82 kbaud door gebruik te maken van Manchester-encoded direct-digitaal communicatie. Hier wordt gebruik gemaakt van de hardware accelerator op de HiJack microcontroller en een software-defined digitaal radio modulator/demodulator op de smartphone.
3.1.2.1.2 USB OTG - Host en Device Veel Android smartphones bevatten tegenwoordig USB On The Go (OTG)[4]. Hiermee kan de USB interface van een Android telefoon als USB host of device fungeren. Hierdoor kunnen externe apparaten direct op de USB poort worden aangesloten. Echter als de smartphone als USB host fungeert is de smartphone ook verantwoordelijk voor de voeding van de sensor wat tot gevolg heeft dat het energieverbruik stijgt en de gebruiksduur afneemt. Rekening moet worden gehouden met de beschikbaarheid van de USB host. Deze is namelijk vanaf Android versie 3.1 geïntroduceerd.
3.1.2.1.3 WLAN WLAN heeft het voordeel dat er een snelle dataverbinding mogelijk is en vaak een bestaande infrastructuur gebruikt kan worden. Om verbinding te maken met het netwerk moet de smartphone zich binnen het bereik van het accesspoint bevinden wanneer gebruik wordt gemaakt van een gecentraliseerd systeem. Tevens zijn er mogelijkheden een netwerk op te zetten tussen twee apparaten. Dit staat ook wel bekend als een ad-hoc verbinding.
3.1.2.1.4 Bluetooth Veel actuele smartphones beschikken over Bluetooth[5] om data met externe sensoren uit te wisselen. Door de groeiende vraag naar sensoren die kunnen worden gebruikt voor het verkrijgen van data met als speciale eis energiezuinigheid, hebben geleid tot de introductie van Bluetooth Smart. Deze Bluetooth versie is ontwikkeld voor het versturen van zeer kleine hoeveelheden data met een minimum aan energie. Doordat de manier van verzending anders is als de reeds bestaande Bluetooth versie is een Bluetooth Smart Ready apparaat nodig om te communiceren met het Bluetooth Smart device.
Onderzoeksrapport – versie 1.3
10 / 44
Mobile sensors 3.1.2.1.5 Sensoren Om een beeld te geven welke sensoren[6] op een smartphone kunnen worden aangesloten is hieronder een lijst weergegeven met mogelijke sensoren: •
glucose sensing[7] (meten van de bloedglucosespiegel);
•
hartslag sensing[8] (meten van de hartslagfrequentie);
•
loopcadans[9] (meet loopcadans en loopsnelheid);
•
trapcadans[10] (meet trapcadans en fietssnelheid);
•
GPS[11] (kan de absolute positie op aarde bepalen);
•
3-assige versnellingsmeter (kan versnellingen in drie richtingen meten);
•
3-assige magnetometer (een magnetometer kan elektrisch velden meten);
•
3-assige gyroscoop (geeft de relatieve draaiing aan);
•
barometer (meet de luchtdruk);
•
windsnelheid (meten van windsnelheden);
•
temperatuur;
•
infrarood thermometer (meet op afstand de temperatuur van oppervlakten);
•
licht (meet de omgevingslichtsterkte);
•
luchtvochtigheid (kan de luchtvochtigheid meten);
•
Geiger counter[12] (kan de atomaire alpha- beta- en gammastraling meten).
3.2 Software smartphones 3.2.1 Besturingssystemen Er zijn een aantal besturingssystemen op de markt beschikbaar voor smartphones. Eerst zal het marktoverzicht worden beschreven van de actuele hoofdspelers, zodat een beeld kan worden gevormd hoeveel de besturingssystemen worden gebruikt. Vervolgens zal per besturingssysteem een beschrijving worden gegeven.
3.2.1.1
Marktoverzicht besturingssystemen
In de bijlage Marktaandeel is een duidelijke trend te herkennen. Android is een jong besturingssysteem op het gebied van smartphone besturingssystemen en is binnen 3 jaren het meest gebruikte besturingssysteem geworden. Daarnaast wordt voorspeld dat iOS van Apple een redelijk stabiel marktaandeel houdt en dat Windows Phone de komende jaren zal groeien. De grootste deel van 'others' wordt ingenomen door Symbian (een groot deel van de Nokia's smartphones zijn gebaseerd op Symbian). Naar aanleiding van de grafiek lijken in de komende jaren 3 hoofdspelers de markt te gaan uitmaken; Android, iOS en Windows phone. Hieronder zullen deze besturingssystemen nader worden toegelicht en Blackberry OS.
Onderzoeksrapport – versie 1.3
11 / 44
Mobile sensors 3.2.1.2
Android
Android[13] is een open source besturingssysteem met onderliggend een Linux kernel. Binnen Android zorgt de Dalvik-VM (virtuele machine) dat applicaties kunnen worden uitgevoerd.
Applicatie ontwikkeling Voor het ontwikkelen van Android applicaties is de Java-SDK en Android-SDK nodig. Eerst wordt de Java broncode met een Java compiler vertaalt, gevolgd door een cross-compiler. Dit maakt het mogelijk in principe iedere Java ontwikkelingsomgeving te gebruiken. Het framework binnen Android is modulair en bijna alle componenten hebben dezelfde rechten. Alleen de virtuele machine en de lagere kernel zijn uitzonderingen. Door deze architectuur is het mogelijk met een eigen applicatie e-mails te versturen of een telefoongesprek te starten. Extra mogelijkheden buiten de Java code biedt de SDL (Simple Direct Media Layer) en JNI (Java Native Interface). Met behulp van een op Java gebaseerde wrapperklasse wordt met behulp van de JNI het gebruiken van native code mogelijk. Dit kan onder andere worden toegepast in tijd kritische toepassingen. De SDL kan worden gebruikt voor specifieke media toepassingen. Hieronder vallen ook complexe renderingen.
3.2.1.3
iOS
iOS[14] (tot 2010 'iPhone OS') is het standaard besturingssysteem van Apple producten (iPhone, iPod, iPad en Apple TV). iOS is gebaseerd op OS X(Mac OS) een biedt mogelijkheden voor iTunes en de App Store. Op 9 januari 2007 tijdens de presentatie van de eerste iPhone was het revolutionair een smartphone met één vinger te kunnen bedienen. Het concept achter de iOS user-interface is een intuïtief en gebruikersvriendelijke smartphone. Voor applicatieontwikkelaar was het tot versie 3.2.2 niet mogelijk gebruik te maken van multitasking (alleen applicaties van Apple hadden hier toegang tot). Vanaf iOS 4 wordt multitasking door een aantal programmeer interfaces mogelijk gemaakt.
3.2.1.3.1 iOS softwarestack iOS bestaat uit verschillende lagen. In Afbeelding 1: iOS software stack zijn de verschillende lagen zichtbaar. In de volgende paragrafen zullen deze lagen nader worden toegelicht.
Afbeelding 1: iOS software stack Onderzoeksrapport – versie 1.3
12 / 44
Mobile sensors 3.2.1.3.2 Cocoa Touch layer De Cocoa Touch laag is de bovenste van de vier softwarelagen en bevat toegang tot een aantal frameworks die hieronder zullen worden toegelicht. Cocoa Touch is voor het grootste deel in objective-C geprogrammeerd en is gebaseerd op de Cocoa API van Mac OS X. Cocoa Touch stelt de volgende frameworks beschikbaar: •
UIKit Framework; Creëert en beheert de basis elementen in de user-interface (tekstvelden, buttons, kleuren) en handelt gebeurtenissen af. Hierbij is te denken aan bijvoorbeeld de interactie met behulp van het touchscreen. Ook communicatie tussen de verschillende processen is hier geïmplementeerd. Tevens zorgt deze laag voor de toegang naar eventueel benodigde sensoren.
•
Map Kit; Biedt een aantal API functies waarmee de ontwikkelaar landkaart gebaseerde functies in de applicatie kan realiseren. Hierbij is te denken aan het scrollen op een kaart afhankelijk van de actuele positie of een overlay toepassen op de map.
•
Push Notification Service; Maakt het mogelijk de gebruiker over gebeurtenissen te informeren.
•
Message UI Framework; Biedt de mogelijkheid e-mails direct vanuit een programma te versturen en kan hierbij ook diverse userinterfaces aanbieden, bijvoorbeeld voor het opstellen van een e-mail.
•
Address Book UI Framework; Biedt direct toegang naar de adres en contactinformatie.
•
Game Kit Framework. Wordt gebruikt om peer-to-peer verbindingen op te zetten tussen verschillende apparaten. Dit framework is specifiek bedoelt voor spellen.
3.2.1.3.3 Media Services layer Deze laag biedt de ontwikkelaar toegang tot de audio- (AV Fundation framework), video- (Media Player framework) en grafiekfunctionaliteiten (OpenGL ES framework) en het tekenen van twee dimensionale elementen (Core Graphics Framework) inclusief animaties (Quarz Core Framework).
3.2.1.3.4 Core Service layer De Core Service laag biedt een groot aantal functionaliteiten die worden gebruikt door bovenliggende lagen. Hierbij kan worden gedacht aan database functies (SQLite bibliotheek), toegang naar de App Store inclusief transacties (Store Kit Framework) en databeheer (Core Data Framework).
3.2.1.3.5 Core OS layer Deze laag zit direct boven de hardware en omvat de kernel (een gemodificeerde Mach-Kernel) en heeft verschillend services. Hier zijn o.a. de netwerkfunctionaliteit (CFNetwork Framework) en toegang naar externe devices (External Accessory framework) geïmplementeerd maar ook fundamentele besturingssysteem functionaliteiten. Hierbij is te denken aan veiligheidsfuncties (Security Framework met verschillende methodieken), geheugen beheer en Threads (LibSystem).
Onderzoeksrapport – versie 1.3
13 / 44
Mobile sensors 3.2.1.4
BlackBerry OS
BlackBerry OS[15] is een multitasking besturingssysteem en wordt door Research In Motion Limited (RIM) ontwikkelt. Applicaties kunnen in de BlackBerry App World gekocht worden. BlackBerry OS is in C++ geprogrammeerd en biedt een Java omgeving (J2ME – MIDP) met speciale interfaces voor services en applicaties.
Applicatie ontwikkeling BlackBerry Voor ontwikkelaars zijn een aantal officiële tools beschikbaar, echter deze zijn pas beschikbaar na registratie. Het ontwikkelen[16] van applicaties is besturingssysteem onafhankelijk en kan in verschillende omgevingen gebeuren (Windows, Mac OS of Linux). Hiervoor is de BlackBerry Native SDK nodig. Deze SDK bevat bibliotheken, API's en ontwikkeltools. Naast het testen op de daadwerkelijke smartphone zijn er mogelijkheden de applicatie te testen in een simulator. Hierdoor kunnen ook applicaties ontwikkeld worden zonder de telefoon daadwerkelijk te hebben.
3.2.1.5
Windows Phone
Windows Phone is een besturingssysteem van Microsoft en de opvolger van Windows Mobile (nu Windows Phone Classic). Net als de andere besturingssystemen heeft ook Windows Phone toegang tot een onlineshop voor applicaties en spellen (Windows Phone Marketplace). Microsoft heeft belangrijke punten (contacten, office, afbeeldingen, sociale netwerken, muziek, video en spellen) in hubs geplaatst. Deze hubs bevatten bepaalde functionaliteit en zijn geïntegreerd in het besturingssysteem. Deze kunnen in een venster (Live Tiles) worden getoond die op een interactief startbeeldscherm zijn geplaatst. Als veranderingen optreden, bijvoorbeeld een nieuwe e-mail kan dit meteen worden gevisualiseerd.
Applicatie Ontwikkeling De applicaties en programma's worden met C# of VB.NET (Silverlight en XNA) ontwikkelt. Voor het ontwikkelen van applicaties is Windows Phone Developer Tools pakket nodig. Deze bestaat uit Visual Studio 2010 Express for Windows Phone, een emulator, Silverlight + XNA-Resources en Expression Blend (gebruikers interface design). Deze tools zijn compatibel met Visual Studio 2010 en alleen voor Windows Vista en Windows 7 verkrijgbaar. Multitasking voor applicaties is beperkt om de gebruiksduur van de accu te verhogen.
3.2.2 Softwarestack In de volgende paragrafen zal worden beschreven hoe de software in een smartphone is opgebouwd. Hierbij wordt specifiek gekeken naar de lagen die algemeen in de software worden gebruikt.
3.2.2.1
Kernel
In smartphones is de kernel de brug tussen applicaties en de hardware. Bij hardware is te denken aan de CPU, geheugen en andere modulen die aanwezig zijn. De kernel is verantwoordelijk voor het verdelen van resources. Als een applicatie bepaalde resources nodig heeft beheert de kernel de toegang naar de hardware, dus ook de toegang naar de processor die voor het uitvoeren essentieel is. De kernel is ook verantwoordelijk dat processen geen toegang tot geheugen van andere processen kunnen krijgen. Omdat de kernel de verbinding naar de hardware is wordt hier ook de aansturing van het beeldscherm en het afhandelen van toetsinvoer ontvangen.
Onderzoeksrapport – versie 1.3
14 / 44
Mobile sensors 3.2.2.2
Middleware
Middleware[17] is software die ervoor zorgt dat applicaties met elkaar kunnen communiceren. Middleware bevat ook netwerkfunctionaliteiten die het voor ontwikkelaars makkelijker maken communicatie kanalen te gebruiken.
3.2.2.3
AEE
De AEE (Application Execution Environment)[18] is een applicatiemanager en beschikt over application programming interfaces (API's). Deze API's kunnen door ontwikkelaars worden gebruikt om functionaliteit uit lagere lagen te gebruiken.
3.2.2.4
UI framework
De user-interface framework is een verzameling van grafische componenten (schermen, buttons, comboboxen, etc.). Deze laag zorgt ook voor de “Look and feel” van de user-interfaces.
3.2.2.5
Application suite
De application suite is een verzameling van essentiële smartphone applicaties, hierbij is te denken aan contacten, e-mail en browser. Deze applicaties vormen de interface welke de gebruiker vaak gebruikt.
4 Toekomst Het beeld hoe smartphones er in de toekomst uit zullen zien zal worden opgedeeld in verschillende componenten. Eerst zal de processor worden behandeld. Deze voert daadwerkelijk alle berekeningen uit. Vervolgens zullen de sensoren worden behandeld gevolgd door de communicatie.
4.1 Processor De toekomstbeelden van de processoren worden door veel fabrikanten niet in de verre toekomst (komende 6-8 jaar) publiekelijk vrijgegeven. Echter heeft Intel op het Mobile World Congres (MWC) een verwachting gegeven van processoren voor mobiele toepassingen tot 2014. De verwachte processoren worden in afmeting kleiner en zijn op het gebied van performance naar verwachting ongeveer 4 maal sneller zijn als de huidige generatie. Wel heeft Intel een research en development (R&D) diagram vrijgegeven waarin is aangegeven in welke richting de processoren zullen gaan tot 2015 en verder. De sheet kan worden gevonden in bijlage Intel R&D pipeline, en is door Intel gepresenteerd op de Intel Annual Investor Meeting in Santa Clara. Het algemene toekomstbeeld voor het gebruik van microprocessors[19] zal zich met name in drie richtingen gaan veranderen. De afmetingen van de processoren zullen in vergelijking tot het aantal transistoren verkleinen. Dit wil zeggen dat het aantal transistoren op een gelijkblijvend oppervlak zal toenemen. Ten tweede zal de snelheid van de processoren toenemen. Ten derde zal het energieverbruik in vergelijking tot het aantal transistoren afnemen.
Onderzoeksrapport – versie 1.3
15 / 44
Mobile sensors
4.2 Sensoren De verwachting is dat het aantal sensoren zich zal uitbreiden naast de reeds bestaande sensoren. Hierbij zal het naar verwachting met name gaan om uitbreiding op het gebied van biometrische sensoren, omgevingssensoren en druksensoren. Door de introductie van deze sensoren kunnen nieuwe applicaties worden verwacht die de gebruiker beter ondersteunen, doordat de software zich aan de gebruiker kan aanpassen. Gezien de groeiende hoeveelheid sensoren in smartphones kunnen steeds meer gegevens worden gemeten. Voor specifieke toepassingen worden ook gegevens uit verschillende sensoren gecombineerd, bijvoorbeeld video conferenties. Hier worden camera beelden gecombineerd met geluid. Voor toepassingen waarbij conclusies moeten worden getrokken kan het mogelijk goed zijn nog meer gemeten waarden uit verschillende sensoren met elkaar te combineren. Hierdoor kan de betrouwbaarheid van de conclusie worden verhoogd.
4.3 Communicatie Afgelopen jaren zijn er diverse radiotechnologieën[20] op de markt gekomen waardoor telefoons kunnen communiceren. Tussen het uitbrengen van de verschillende technologieën zit gemiddeld 8 tot 10 jaar. Per technologie zal het gemiddeld 18 tot 20 jaar duren voordat deze technologie zijn hoogte punt heeft bereikt. Met hoogtepunt wordt hier het maximaal aantal gebruikers bedoelt. In Afbeelding 2: Communicatie roadmap is een overzicht te zien wanneer de verschillende technologieën op de markt zijn gekomen en waar het hoogtepunt ligt of verwachtte hoogtepunt.
Afbeelding 2: Communicatie roadmap
Onderzoeksrapport – versie 1.3
16 / 44
Mobile sensors De verschillende typen van radiocommunicatie brengen voor de eindgebruiker verschillende datasnelheden en services met zich mee. Doordat de snelheden worden verhoogd en services worden uitgebreid heeft dit consequenties voor de gebruikte technologie. In Afbeelding 3: Radio communication generations kan een overzicht worden gevonden met de belangrijkste veranderingen per generatie. Op het moment wordt onderzoek verricht naar de 5G generatie, echter de officiële ontwikkeling is nog niet begonnen. Met de introductie van de 4G generatie ook wel LTE genoemd is de beschikking gekomen over zeer snelle draadloze communicatie. LTEadvanced zou officieel een maximale download snelheid moeten kunnen halen van 1Gbit/s en een maximale upload snelheid van 500Mbit/s. Door deze zeer snelle draadloze verbindingen wordt het voor de gebruiker mogelijk grote hoeveelheden data te versturen en ontvangen. Hierbij kan bijvoorbeeld worden gedacht aan hoge kwaliteit videobeelden. Mogelijke toepassingen die grote datastromen gebruiken zijn augmented reality toepassingen. Daarnaast is de 4G technologie IP gebaseerd. Dit houdt in dat er wordt gecommuniceerd over het internet protocol (IP).
Afbeelding 3: Radio communication generations
Onderzoeksrapport – versie 1.3
17 / 44
Mobile sensors
5 AnyTrack AnyTrack is een systeem dat op het moment in ontwikkeling is. Het kan worden gebruikt voor de tracking van mensen, dieren en objecten. Bij objecten kan onder andere worden gedacht aan auto's en bussen. Deze data kan ondersteunen bij gedragsanalyse. AnyTrack heeft mogelijkheden om zowel indoor als outdoor te tracken. Een specifieke indoor toepassing is het tracken van bezoekers in een museum. Dit kan worden gebruikt om te bepalen in welke kunststukken interesse is en welke minder. Tevens kan het informatie opleveren over het gedrag van de bezoekers. Een specifiek outdoor project is de tracking van een bus in Wageningen. Tijdens dit testproject is in de bus een GPS tracker aangebracht die positiedata opslaat die vervolgens door AnyTrack kan worden ingelezen. Met behulp van deze positiedata is het mogelijk onder andere te achterhalen of de bus op tijd rijdt.5 Tracks kunnen in AnyTrack visueel in een kaart worden getoond maar ook in tabellen. Tevens kunnen de tracks worden geanalyseerd waarbij in de track labels worden geplaatst. Deze labels kunnen bijvoorbeeld aangeven of een persoon stilstaat of loopt. Zoals hierboven vermeld kan AnyTrack positiedata ontvangen, analyseren en tonen op verschillende manieren. Wanneer GPS wordt gebruikt kan er incorrecte of onnauwkeurige data worden ontvangen. Hierin kunnen exceptionele waarden voorkomen. Onder exceptionele waarden worden waarden verstaan die niet haalbaar zijn in een specifieke situatie. Als voorbeeld kan bij voetgangers worden gedacht aan een snelheid boven de 60km/h. Dergelijke problemen kunnen in verschillende situaties voorkomen, namelijk: • • •
drift tijdens stilstand; wegvallen GPS signaal (bijv. in een tunnel) en een incorrecte/onnauwkeurige locatie wanneer er weer een signaal is; drift in de buurt van hoge gebouwen of canyons.
Om deze problemen te onderzoeken zijn de volgende vragen opgesteld: •
Hoe kan de kwaliteit van een track worden verbeterd door manipulatie of verwijdering van de GPSpositie en toevoeging van acceleratiedata? ◦ Hoe kan een gemeten maar incorrecte/onnauwkeurige positie herkend worden? ◦ Welke filtering kan worden toegepast om de kwaliteit van de track te verbeteren? ◦ Hoe kan een incorrecte/onnauwkeurige positie worden behandeld om de kwaliteit van de track te verhogen?
Onderstaand zullen deze vragen in meer detail worden behandeld en toegelicht.
5
http://www.noldus.com/innovationworks/research/anytrack
Onderzoeksrapport – versie 1.3
18 / 44
Mobile sensors
5.1 Probleemherkenning Om de problemen te herkennen is met behulp van de Samsung Galaxy S3 een aantal tracks opgenomen. Dit is gedaan met een applicatie die data direct uit de onderliggende API opvraagt en wegschrijft naar een bestand. Dit houdt in dat er na het opvragen van de data geen filtering of manipulatie wordt uitgevoerd. De data die wordt opgeslagen is: •
•
• • •
• •
•
•
•
•
6
latitude; wordt aangegeven in graden ten opzichte van de evenaar. Hierbij lopen de graden richting de noordpool op tot maximaal 90 graden en -90 graden richting de zuidpool. longitude; wordt aangegeven in graden ten opzichte van de prime meridian. Dit punt wordt gebruikt als 0 graden. De graden lopen van +180 graden oostwaarts tot -180 westwaarts. altitude; wordt aangegeven in meters ten opzichte van zeeniveau. tijd; wordt aangegeven bij de locatie fix. accuratie6; geeft de verwachte nauwkeurigheid aan in meters. Accuratie wordt hierbij gedefinieerd als de radius met een waarschijnlijkheid van 68%. In andere woorden, wanneer een cirkel rondom de locatie wordt getekend met een radius gelijk aan de accuratie, dan is er een waarschijnlijkheid van 68% dat de echte locatie zich hierbinnen bevindt. In statistische termen; er wordt van uitgegaan dat de locatiefouten willekeurig zijn, met een normale distributie. Hierbij representeert de 68% zekerheidscirkel één standaard deviatie. Merk op dat in de praktijk locatie fouten niet altijd voorkomen met deze eenvoudige distributie. Daarnaast is de accuratie alleen uitgevoerd in het horizontale vlak. Hierbij wordt geen rekening gehouden met de accuratie van bearing, snelheid of hoogte. snelheid uit beschikbare software; wordt aangegeven in m/s over de grond, en is berekend door de onderliggende software. bearing; bearing geeft de horizontale bewegingsrichting aan van het apparaat. Dit is niet gerelateerd aan de apparaat oriëntatie. De bearing wordt aangegeven in graden in een range van 0 tot 360 graden. berekende afstand tussen de tweede laatste punten; de afstand wordt bepaald op basis van de coördinaten van de laatste twee locaties en aangegeven in meters. De afstand wordt bepaald in het filter met behulp van de WGS84 ellipsoïde. berekende snelheid op basis van afstand en tijd; de snelheid wordt bepaald op basis van de gemeten afstand in het filter en de tijd tussen de laatste twee coördinaten. Deze snelheid wordt ook in het filter berekend. berekende versnelling; de versnelling wordt bepaald op basis van de laatste twee snelheden en de tussenliggende tijd. De versnelling wordt evenals de afstand en snelheid berekend in het filter. acceleratiedata. deze data bestaat uit acceleratiedata van de accelerosensor. Hierbij wordt de acceleratiedata van de drie assen weggeschreven. Het gaat hierbij om de acceleratiedata van de x-as, y-as en z-as.
http://developer.android.com/reference/android/location/Location.html#getAccuracy%28%29
Onderzoeksrapport – versie 1.3
19 / 44
Mobile sensors Per satelliet: • signal to noise ratio; geeft de verhouding aan tussen de signaalsterkte en sterkte van de achtergrondverstoringen. Een verhouding groter als 1:1 betekent dat de sterkte van het signaal groter is als dat van de ruis. • gebruikt in laatste fix; geeft aan of de satelliet is gebruikt in de laatste locatiebepaling. • elevation; geeft de hoek aan t.o.v. de satelliet in graden. De range van de hoek varieert tussen 0 en 90 graden. • azimuth; geeft de richting aan tussen twee punten in graden. De range ligt tussen 0 en 360 graden. • pseudo random number; dit is het nummer van de satelliet. • almanac beschikbaarheid; de almanac is een datafile die informatie bevat met een benadering van de orbit informatie van alle satellieten. Deze data is niet heel precies en geldig voor maximaal enkele maanden. Deze datafile wordt door alle satellieten verstuurd. • ephemeris beschikbaarheid. de ephemeris is precieze informatie over orbit gegevens van de satelliet. Door deze hoge precisie is de data geldig voor maximaal 30 minuten. De satelliet verstuurt alleen ephemeris data van zichzelf elke 30 seconden. De eerste test is lopend uitgevoerd door het centrum van Enschede. In de afgelegde route zijn een aantal vreemde verschijnselen te zien. Deze zijn opgenomen in de bijlagen Exceptionele GPS waarden en Wegvallen van GPS signaal. De verschijnselen hebben met name betrekking op de snelheid en acceleratie. Deze hebben extreme uitschieters naar 230 km/h en 64 m/s². Gezien het feit dat de route lopend is afgelegd, zijn dit waarden die niet haalbaar zijn. Deze uitschieters zijn alleen zichtbaar op de overgang van geen GPS signaal naar wel een GPS signaal. De tweede test heeft plaatsgevonden bij een grenspaal op de heide. Dit is gedaan om negatieve omgevingseffecten te minimaliseren. Hierbij valt te denken aan reflecties in de stad of verstoringen door andere signalen. Deze test zal informatie verschaffen over de nauwkeurigheid van GPS en de ontvanger. De vraag die bij deze test centraal staat is: Hoeveel afwijking heeft GPS in een gebied zonder obstakels en elektrisch apparaten? De test is op de heide in het grensgebied tussen Duitsland en Nederland uitgevoerd. Deze plek is gekozen, omdat de coördinaten van de grenspalen bekend zijn. Daarnaast zijn er geen elektrisch apparaten, huizen of andere storingsbronnen aanwezig die in de stad wel aanwezig kunnen zijn. Voor de test zijn twee Samsung Galaxy S3 smartphones op de grenspaal gelegd. De gemeten GPS data is in een CSV bestand opgeslagen, zodat deze op een later moment kunnen worden geanalyseerd. De test is uitgevoerd over een periode van 2 uren op dinsdag 6 november 2012 tussen 12:00 en 14:00 uur.
Onderzoeksrapport – versie 1.3
20 / 44
Mobile sensors Uitkomsten van de test: (Zie ook bijlage Probleem GPS drift.) Smartphone I
Smartphone II
1627
1245
Diameter van de bereik waar alle gemeten posities binnen liggen
26,8 meter
24,2 meter
Afwijking t.o.v. grenspaal als alle posities worden gemiddeld
2,8 meter
1,2 meter
Maximale afwijking t.o.v. grenspaal
17,2 meter
17 meter
Aantal positie veranderingen
Tabel 1: Drift tijdens stilstand Conclusie: De test heeft over een aantal uren plaatsgevonden. Hierbij zijn geen abrupte uitschieters in de data te zien die exceptionele waarden veroorzaken. Wel is zichtbaar dat de positie zich geleidelijk rondom de grenspaal beweegt met maximale uitschieters tot meer dan 17 meter.
5.1.1 Analyse Om de problemen te analyseren zijn diverse testen uitgevoerd. Deze zijn gericht om de problemen in kaart te brengen. Specifiek zal naar de drift tijdens stilstand en wegvallen van het GPS signaal worden gekeken.
5.1.1.1
Wegvallen van GPS
Om de fenomenen te analyseren die tijdens het wegvallen en ontvangst van het GPS signaal gebeuren is een route uitgezet waarbij een aantal keer een ronde wordt gelopen door een passage waarbij het GPS signaal wegvalt. Op het moment dat er weer een GPS signaal is kan een incorrecte/onnauwkeurige locatie worden gezien. Dit heeft tot gevolg dat er incorrecte waarden ontstaan in de snelheid en acceleratie. Bij de screenshots die het verlies en terugkomen van het GPS signaal tonen zijn twee regels in de datalijst gemarkeerd. Deze zijn de laatste meting voor en de eerste meting na het signaalverlies.
Onderzoeksrapport – versie 1.3
21 / 44
Mobile sensors
Afbeelding 4: Wegval GPS signaal Afbeelding 4: Wegval GPS signaal toont het signaalverlies tijdens het doorlopen van de 'Hofpassage' in Enschede. In de datalijst is onder 'Time Difference' te zien dat er gedurende 38 seconden geen locaties zijn ontvangen. De eerste locatie gemeten nadat het GPS signaal weer is ontvangen geeft een snelheid van 8,5 km/h en de tweede 7,1 km/h. Deze waarden zijn niet gehaald tijdens de test. De verhoogde snelheid is ontstaan doordat de eerste metingen na het terugkomen van het GPS signaal niet nauwkeurig zijn. Hierdoor kan het gebeuren dat de afstanden tussen de metingen groter zijn als in werkelijkheid. De snelheid wordt bepaald op basis van de afstand en tijd tussen de metingen en vallen hierdoor hoger uit als in de werkelijkheid. Bij de opvolgende locaties daalt de snelheid, omdat de locaties nu dichter bij elkaar liggen. In Afbeelding 5: Wegval GPS signaal is hetzelfde fenomeen te zien. De snelheid bereikt hier een maximale waarde van 19,7 km/h. De snelheden zijn niet gelijk aan de andere metingen, omdat de foutieve locaties niet een vast patroon volgen. Maar hier is net als bij het voorgaande voorbeeld te herkennen dat er onrealistische snelheden ontstaan.
Onderzoeksrapport – versie 1.3
22 / 44
Mobile sensors
Afbeelding 5: Wegval GPS signaal Tijdens het wegvallen en terugkomen van het signaal zijn de volgende eigenschappen herkenbaar: •
gedurende langere tijd geen locatie update;
•
geen zichtbare satellieten gedurende de wegval van het signaal;
•
bij terugkomst van het signaal kunnen in de eerste samples exceptionele waarden optreden;
•
tijdens de eerste samples loopt het aantal zichtbare satellieten op.
5.1.1.2
Drift tijdens stilstand
Om de drift tijdens stilstand te kunnen analyseren zijn diverse testen uitgevoerd. Voor een langzaam verplaatsende positie is een route uitgezet waarbij 30 seconden wordt gelopen, vervolgens 2 minuten wordt gestopt en dit wordt 20 keer herhaald. Voor een iets hogere snelheid wordt fietsend een vaste route afgelegd waarbij op een vaste positie gedurende twee minuten wordt stilgestaan. In het derde scenario worden gegevens in de trein opgeslagen. Hierbij vinden de stops op de stations plaats.
Onderzoeksrapport – versie 1.3
23 / 44
Mobile sensors
Afbeelding 6: Stilstand tijdens looptest Tijdens de stilstandstest die lopend is uitgevoerd is de drift tijdens stilstand duidelijk zichtbaar (Afbeelding 4: Wegval GPS signaal). Echter de drift bij stilstand tijdens de trein- en fietstesten zijn veel minder goed zichtbaar. Hierbij is in veel gevallen helemaal geen drift zichtbaar. Wel is tijdens de testen die lopend en fietsend worden uitgevoerd duidelijk te zien dat de acceleratiewaarden sterker zijn als in stilstand. Dit komt voor een groot deel door trillingen die ontstaan tijdens het lopen en fietsen. In de trein zijn deze verschillen veel kleiner. De volgende eigenschappen zijn tijdens de drift herkenbaar (specifiek kijkend naar het lopen): •
lage gemiddelde snelheid;
•
minder krachtige acceleratiewaarden in vergelijking tot fietsen of lopen;
•
kleine afstand tussen de locaties;
•
GPS accuratie minder stabiel als bij beweging;
•
GPS updates tijdens stilstand niet periodiek en grotere intervallen als bij beweging.
Onderzoeksrapport – versie 1.3
24 / 44
Mobile sensors
5.2 Systeem Tijdens de probleemherkenning zijn de problemen nader toegelicht. Tevens is hier de analyse van de gegevens te vinden. Hiermee wordt bepaald welke gegevens een indicatie geven van een incorrecte of onnauwkeurige positie. Met behulp van de analyse is het globale systeem ontwerp opgesteld. Deze zal hieronder nader worden toegelicht.
Afbeelding 7: Filter interface De GPS- en acceleratiedata kunnen vanuit de Android applicatie worden opgevraagd. Deze kunnen vervolgens worden doorgegeven aan het filter. Het filter bestaat uit meerdere filters die elk een specifieke taak hebben. Het wegvallen van GPS filter dient ervoor vreemde waarden in de GPS locaties te herkennen en manipuleren op het moment dat het signaal was weggevallen. Ook zal hier tijdens opstart van de GPS een aantal waarden worden weggefilterd om eventuele opstartverschijnselen te verwijderen. Om de drift tijdens stilstand te detecteren zal gebruik worden gemaakt van GPS data in combinatie met acceleratiedata. De filters worden in serie geschakeld waardoor nieuwe filters relatief eenvoudig kunnen worden toegevoegd door deze in de reeks van filters toe te voegen. Op het moment dat een gefilterde locatie beschikbaar is zal het filter een event afgeven waar gebruikers zich op kunnen abonneren. Hierdoor hoeft de gebruiker niet te wachten wanneer het filter bezig is. Dit maakt het mogelijk het filter in multi-threaded toepassingen te gebruiken. In Afbeelding 8: Filter beheer is een overzicht te zien wat de eigenschappen van de filters zijn er wie deze beheert. Vanuit de filtermanager is het mogelijk bepaalde filters in- en uit te schakelen. Eventueel andere filters om het systeem uit te breiden kunnen ook door de filtermanager worden beheerd.
Onderzoeksrapport – versie 1.3
25 / 44
Mobile sensors
Afbeelding 8: Filter beheer Het overzicht van het driftfilter is weergegeven in Afbeelding 9: Drift filter. Op basis van de beschikbare informatie zal extra informatie worden afgeleid. Dit gebeurt in de extractors. Hierbij kan worden gedacht aan snelheid, acceleratie op basis van GPS snelheden en acceleratie van de acceleratiesensoren. Vervolgens zullen op basis van deze gegevens indicaties worden bepaald. Dit vindt plaats in de indication calculators. Elk van de indicaties geven een beeld of de sensor stilstaat of beweegt. De indicaties kunnen worden bepaald op enkel GPS data, enkel acceleratiedata maar ook een combinatie van beide. Door voor de verschillende gegevens uit de GPS data en acceleratie data een indicatie te berekenen ontstaat een collectie van indicaties die elk een gewicht hebben. Dit kan inhouden dat de indicatie van de GPS snelheid zwaarder meeweegt als de indicatie van de z-as versnelling van de acceleratiesensor. Door vervolgens al deze indicaties te combineren ontstaat een uiteindelijke indicatie die aangeeft of de sensor beweegt of stilstaat. Hoe meer indicaties worden toegevoegd hoe betrouwbaarder de beslissing kan zijn.
Onderzoeksrapport – versie 1.3
26 / 44
Mobile sensors
Afbeelding 9: Drift filter Op basis van de indicaties en bijbehorende gewichten wordt een gemiddelde indicatie bepaald. Dit wordt gedaan in de indication comparator. Vervolgens wordt aan de hand van deze gemiddelde indicatie bepaald of de GPS ontvanger stilstaat of beweegt. Op basis van deze conclusie is het mogelijk de locaties te manipuleren of verwijderen. Dit is afhankelijk wat gewenst is. In de volgende paragrafen zal nader worden ingegaan op de verschillende filters en hoe de data wordt behandeld.
Onderzoeksrapport – versie 1.3
27 / 44
Mobile sensors
5.3 Filtering In het systeem zijn meerdere filters opgenomen. Deze filters hebben elk een specifieke taak. In de volgende paragrafen zal dit nader worden toegelicht met de manier waarop dit wordt geïmplementeerd.
5.3.1 Wegvallen van GPS Het doel van het filter is incorrecte of exceptionele data te detecteren op het moment dat het signaal was weggevallen. Eigenschappen van dit probleem zijn reeds onder de probleemanalyse behandeld. Dit zijn: •
gedurende langere tijd geen locatie update;
•
geen zichtbare satellieten bij geen signaal;
•
bij terugkomst van het signaal kunnen in de eerste samples exceptionele waarden optreden;
•
tijdens de eerste samples loopt het aantal zichtbare satellieten op.
5.3.2 Drift tijdens stilstand Tijdens de drift bij stilstand is te zien dat de locaties zich rondom de werkelijke locatie bevinden. Echter gebeurt dit niet met abrupte uitschieters of vaste patronen. Eigenschappen tijdens stilstand zijn: •
lage gemiddelde GPS snelheid;
•
minder krachtige acceleratiewaarden in vergelijking tot fietsen of lopen;
•
kleine afstand tussen de locaties;
•
GPS accuratie minder stabiel als bij beweging;
•
GPS updates tijdens stilstand niet periodiek en grotere intervallen als bij beweging.
5.4 Behandeling data Er zijn verschillende manieren om de data te behandelen. Deze zullen onderstaand nader worden toegelicht gevolgd door de gekozen methode. Op het moment dat een probleem is gedetecteerd moet deze bewerkt worden. Onder bewerking kan het aanpassen van data worden verstaan maar ook verwijderen. De keuze waar voor wordt gekozen is afhankelijk van de data en de situatie. Onderstaand zullen per methode een aantal mogelijkheden worden opgesomd met de voor- en nad
Onderzoeksrapport – versie 1.3
28 / 44
Mobile sensors
Locatie bewerking Extrapolatie Bij extrapolatie worden locaties bepaald die buiten de reeks met locaties liggen. Om dit toe te passen kan de laatste incorrecte en/of exceptionele locatie worden verwijderd en op basis van eerdere locaties een locatie bepalen. Het voordeel van deze methode is dat een locatie kan worden bepaald op basis van eerdere locaties waarbij er weinig vertraging optreed. Met name bij live tracking kan vertraging ongewenst zijn. Een nadeel is dat het alleen gebruikt kan worden over kleine afstanden. Dit komt met name doordat onbekend is in welke richting de GPS ontvanger zich zal verplaatsen.
Interpolatie Bij interpolatie kunnen locaties worden bewerkt die binnen twee bekende datasets liggen. Door de incorrecte/exceptionele waarden in het midden van een reeks te verwijderen ontstaan twee datasets waarbinnen geïnterpoleerd kan worden. Het voordeel van deze methode is dat het mogelijk nauwkeuriger is als extrapolatie, omdat de data zich binnen twee bekende datasets bevinden. Evenals bij extrapolatie kan het onnauwkeurig zijn over langere tijd of grote afstanden. Dit komt met name doordat onbekend is in welke richting de GPS ontvanger zich zal verplaatsen. Daarnaast heeft deze methode het nadeel dat er een vertraging optreedt, omdat de locatie pas aangepast kan worden wanneer ook latere locaties bekend zijn. Dit zal met name bij live tracking ongewenst kunnen zijn.
Locaties verwijderen Naast het bewerken van data, kan data worden verwijderd wanneer een incorrecte/exceptionele waarde wordt gedetecteerd. Hoe dit wordt ingevuld is afhankelijk van het probleem dat opgelost moet worden. Bij de exceptionele waarden als het signaal is weggevallen is te zien dat voor dit moment gedurende bepaalde tijd geen GPS signaal is ontvangen. Op het moment dat weer een GPS signaal beschikbaar is kunnen een bepaald aantal samples worden verwijderd. Met betrekking tot de drift tijdens stilstand kunnen alle locaties worden verwijderd op het moment dat wordt gedetecteerd als de GPS ontvanger niet beweegt.
5.4.1 Wegvallen van GPS Op het moment dat het GPS signaal wegvalt kan er geen locatie worden bepaald. Wanneer er weer een signaal beschikbaar is zijn de eerste locaties niet accuraat waardoor exceptionele waarden kunnen optreden. De eerste locaties na het wegvallen van het signaal zullen in de implementatie worden verwijderd. Hiervoor is gekozen, omdat de hoeveelheid locaties die niet accuraat zijn om enkele seconden gaat. Daarnaast zou het bewerken van de locaties niet gedaan kunnen worden op basis van eerdere locaties. Dit komt doordat de tijd tussen de terugkomst en wegvallen van het signaal een onbekende tijd kan beslaan. Wanneer de locaties worden gecorrigeerd op basis van latere locaties zal een vertraging optreden aangezien een aantal latere locaties nodig zijn om de incorrecte locatie te corrigeren. Dit kan met name tijdens live tracking ongewenst zijn. De hoeveelheid locaties die worden verwijderd zal worden bepaald aan de hand van het aantal beschikbare satellieten. In Afbeelding 10: Wegval GPS signaal is duidelijk te zien hoe het aantal beschikbare satellieten varieert op het moment dat het GPS signaal wegvalt en terugkomt.
Onderzoeksrapport – versie 1.3
29 / 44
Mobile sensors Op het moment van terugkomst van het signaal zijn niet direct alle satellieten beschikbaar. In de komende seconden neemt dit aantal toe tot een bepaalde waarde waar deze stabiliseert. In Afbeelding 10: Wegval GPS signaal is dit bij 16 satellieten. Dit aantal is niet bij elke wegval hetzelfde maar er is wel een vergelijkbaar patroon te zien waarbij het aantal satellieten toeneemt en op een bepaald moment stabiliseert.
Afbeelding 10: Wegval GPS signaal
5.4.2 Drift tijdens stilstand Hoe de drift tijdens stilstand kan worden gedetecteerd is behandeld onder filtering. Hieruit komt een factor die een indicatie geeft of de sensor stilstaat of beweegt. Op het moment dat deze factor boven een ingestelde grens komt wordt aangenomen dat de GPS ontvanger stilstaat. Vanaf dit moment zullen de locaties worden verwijderd. Eveneens zal een grens worden ingesteld vanaf waar wordt uitgegaan dat wordt bewogen. Vanaf dit moment zullen locaties worden doorgestuurd. Door met grenzen te werken wordt alleen de drift uit de route verwijderd. De instellingen van de grenzen kan ook worden gebruikt voor het instellen van de marges. Op het moment dat een lage indicatie wordt genomen voor het detecteren van stilstand kan het zijn dat gegevens worden verwijderd waarbij eigenlijk nog wordt bewogen. Dit geldt ook voor de indicatie op beweging. Wanneer deze verkeerd wordt ingesteld kunnen waarden worden verwijderd wanneer in werkelijkheid wordt bewogen.
Onderzoeksrapport – versie 1.3
30 / 44
Mobile sensors
5.5 Resultaten Het doel van de filtering is het verwijderen van een aantal problemen die zich voordoen bij GPS. Tijdens het onderzoek is specifiek gekeken naar de drift tijdens stilstand en exceptionele waarden wanneer het GPS signaal was weggevallen en teruggekomen. Voorgaand is behandeld wat de eigenschappen van de problemen zijn en hoe deze worden gebruikt voor het detecteren van de problemen. Om het effect van de filtering visueel aan te tonen is de originele track en gefilterde track in één kaart getoond (zie Afbeelding 11: Effect filtering). In deze kaart is de rode track de gefilterde track en de paarse de originele track. Hierbij ligt de gefilterde track voor een groot deel over de originele track. Echter de punten waar drift heeft opgetreden zijn duidelijk zichtbaar in de originele track waar deze in de gefilterde track zijn verwijderd.
Afbeelding 11: Effect filtering Om meer inzicht te geven over de filtering en de invloed hiervan zijn testen uitgevoerd waarmee een beeld wordt gegeven over de kwaliteit van het filter. Hierbij zal naar verschillende punten worden gekeken. Hierbij kan worden gedacht aan de snelheid waarmee stilstand kan worden gedetecteerd. Snelheid waarmee beweging wordt gedetecteerd en de stabiliteit van de beslissing die het filter heeft genomen. Deze gegevens zullen in de volgende paragraaf nader worden toegelicht.
Onderzoeksrapport – versie 1.3
31 / 44
Mobile sensors
5.5.1 Statistiek De test is uitgevoerd op een vaste route die in totaal 26 keer is uitgevoerd. Op deze route wordt 5 keer gestopt en stilgestaan. Het systeem zal de stops moeten kunnen detecteren en gebruiken om waarden te verwijderen waar nodig. Zoals bovenstaand is aangegeven wordt de drift tijdens stilstand gedetecteerd op basis van meerdere gegevens. Belangrijke data die met behulp van de test worden bepaald zijn de snelheid waarmee stilstand wordt gedetecteerd, of de stilstandstijden overeenkomen en detectie van stilstand naar beweging. In de volgende grafieken zijn de resultaten weergegeven. Op de x-as zijn de verschillende testen uitgezet (26 stuks in totaal). Op de y-as zijn verschillende gegevens te zien. Deze zullen per grafiek worden behandeld.
Vertraging [ms]
Vertraging 30000 20000 10000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Test [nummer]
Gemiddelde stilstandsvertraging
Gemiddelde bewegingsvertraging
Bovenstaande grafiek geeft een beeld van de vertragingen in het detecteren van overgangen. Bij overgangen moet worden gedacht naar een toestand van beweging naar stilstand en vice versa. Het huidige systeem kan deze overgang niet direct detecteren maar met een vertraging. De vertraging geeft een beeld van de snelheid waarmee de overgang wordt gedetecteerd door de software. De blauwe lijn geeft de vertraging aan van de toestand lopen naar stilstand. Per test hebben 5 stops plaatsgevonden. De vertraging van deze 5 stops worden gemiddeld en in bovenstaande grafiek weergegeven. Tevens wordt met de rode lijn de vertraging weergegeven van de overgang stilstand naar beweging. Er is te zien dat de vertraging bij het detecteren van de overgang van beweging naar stilstand varieert tussen 7 en 22 seconden. En de vertraging van stilstand naar beweging varieert tussen 3 en 6,6 seconden. Deze vertragingen kunnen worden verkleint door meer sensordata uit verschillende sensoren toe te voegen. Daarnaast kan de beslissing hierdoor betrouwbaarder worden gemaakt.
Onderzoeksrapport – versie 1.3
32 / 44
Mobile sensors In onderstaande grafiek is te zien hoeveel procent van de tijd de detectie in de software overeenkomt met de werkelijkheid. Er zijn twee lijnen in de grafiek te zien. De lijnen geven de tijd aan die overeenkomt tijdens stilstand en beweging. Er is te zien dat het percentage van de stilstandstijd iets hoger ligt. Dit wordt veroorzaakt doordat de stilstandstijd veel hoger ligt als de bewegingstijd (stand:120 s / lopen 30 s) en het meeste verschil tussen de toestanden bij de overgang optreedt. In de vorige grafiek (die de vertragingen weergeven) is te herkennen dat de vertraging voor het herkennen van stilstand een aantal seconden hoger ligt, maar het percentage daalt door de langere tijd tijdens stilstand niet significant.
Percentage [%]
Percentage 100% 80% 60% 40% 20% 0% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Test [nummer]
Procent stilstandstijd
Procent bewegingstijd
Naast de percentages die een indicatie geven of de software overeenkomt met de werkelijkheid, zijn in onderstaande grafieken nogmaals de vertragingen getoond. In de stilstandsgrafiek wordt met de blauwe staven de totale stilstandstijd aangegeven. De groene staven geven aan hoeveel tijd door de software ook wordt detecteert als stilstand binnen de werkelijke stop. Tot slot geven de rode staven aan hoeveel tijd als beweging wordt gedetecteerd terwijl in werkelijkheid wordt stilgestaan.
Stilstand 800000 Tijd [ms]
600000 400000 200000 0 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526 Test [nummer]
Totale stilstandstijd Tijd software komt niet overeen met realiteit
Onderzoeksrapport – versie 1.3
Tijd software komt overeen met realiteit
33 / 44
Mobile sensors Onderstaand is een vergelijkbare grafiek te zien alleen voor beweging. Ook hier wordt met blauw de totale looptijd aangegeven. Groen geeft de tijd aan die de software ook als bewegen heeft gedetecteerd in de periode dat werkelijk wordt bewogen. Rood geeft de tijd aan dat stilstand wordt detecteert terwijl in werkelijkheid wordt beweegt.
Beweging
Tijd [ms]
200000 150000 100000 50000 0 1
3
5
7
9
11
13
15
17
19
21
23
25
Test [nummer]
Totale bewegingstijd Tijd software komt niet overeen met realiteit
Onderzoeksrapport – versie 1.3
Tijd software komt overeen met realiteit
34 / 44
Mobile sensors
6 Conclusie Met behulp van de analysetools en Android applicatie kan GPS- en acceleratiedata worden verzameld en geanalyseerd. Hierdoor is het mogelijk acceleratiedata en GPS-data op sampleniveau te analyseren. Door data te analyseren in de probleemgebieden kunnen indicaties worden bepaald die een aanwijzing kunnen geven of het probleem optreedt. Door deze indicaties vervolgens in de filters te gebruiken wordt het mogelijk de problemen te herkennen. Hierdoor kan na het herkennen van de problemen de data worden gemanipuleerd of verwijderd. Om een beeld te geven over de nauwkeurigheid van de GPS ontvanger in de Samsung Galaxy S3 is een test uitgevoerd op de heide7. De uitkomst van deze test laat zien dat de drift tijdens stilstand een afwijking tot ongeveer 17 meter oplevert. De afwijkingen ontstaan niet abrupt maar verlopen geleidelijk in willekeurige richtingen. Op basis van de analyse is een implementatie gemaakt van een filter die de geanalyseerde problemen moet detecteren en behandelen. De testresultaten van dit filter laten zien dat de problemen herkent kunnen worden. Hierbij treedt in de huidige implementatie nog wel een vertraging op bij de detectie. Deze kan mogelijk worden verkleind door gebruik te maken van meer indicatoren en verfijning van de instellingen van het huidige filter. Hierdoor zal het actuele filter niet voor alle toepassingen bruikbaar zijn. Bij het actuele gebruik van het filter worden foutief gedetecteerde waarden verwijdert, dit lijkt in veel toepassingen een goede optie te zijn. Maar dit kan nieuwe problemen of afwijkingen introduceren, omdat de overgangen van lopen naar stilstand en vice versa vertragingen kunnen opleveren. Zo kunnen bij de overgang van stilstand naar lopen de eerste seconden nog als drift worden gezien en onterecht worden verwijderd. Als dit niet gewenst is kunnen de instellingen van het filter worden aangepast. Uit het onderzoek blijkt dat er mogelijkheden zijn foutieve GPS-data te herkennen en deze te behandelen. Of deze worden bijgewerkt of verwijderd moet per situatie worden bekeken. In het scenario dat tijdens de test is gebruikt is het mogelijk de kwaliteit van een afgelegd track significant te verbeteren door het verwijderen van samples.
7 Bijlage Probleem GPS drift
Onderzoeksrapport – versie 1.3
35 / 44
Mobile sensors
7 Aanbevelingen Voor een mogelijk vervolg van het project zijn er een aantal aanbevelingen die hieronder zullen worden behandeld. Zoals het systeem nu is opgezet is het mogelijk om de drift tijdens stilstand nog beter te detecteren. Dit kan worden gerealiseerd door het toevoegen van meer sensordata uit verschillende sensoren. Hierdoor zijn er meerdere indicatoren die een indicatie kunnen geven of de ontvanger stilstaat of beweegt. Het toevoegen van deze extra sensordata is in de huidige opzet van het systeem relatief eenvoudig. Evenals bij de detectie van stilstand kan de betrouwbaarheid en nauwkeurigheid van het wegvallen van het signaal worden verbeterd door gebruik te maken van meer verschillende indicatoren. Hierdoor wordt het mogelijk een betere beslissing te nemen of het signaal daadwerkelijk is weggevallen en welke waarden foutief kunnen zijn. Ook kunnen de instellingen van het actuele filter worden verbetert. Hoe deze ingesteld moeten worden is afhankelijk van de situatie en toepassing waarvoor het filter wordt gebruikt. Zo zullen de instellingen voor het detecteren van stilstand in een looproute anders zijn als voor detectie van stilstand in een trein. Afhankelijk van de toepassing en eigenschappen van het systeem kan het mogelijk beter zijn de filters parallel aan elkaar te plaatsen. Dit is in de huidige opstelling niet toegepast. Hierin zijn de filters in serie geplaatst. Naast de problemen van GPS die in dit onderzoek zijn behandeld kunnen er in de huidige GPS opstelling nog meer problemen optreden. Hierbij kan worden gedacht aan drift in de buurt van hoge gebouwen, canyons of bebossing. Deze problemen kunnen ook worden behandeld met behulp van filters. Door deze naast de bestaande filters te gebruiken is het mogelijk de functionaliteit van het huidige systeem uit te breiden. Wanneer dit project zal worden voortgezet wordt aanbevolen de foutafhandeling in de analysetools verder uit te werken. Op dit moment wordt dit alleen gedaan voor de belangrijkste problemen, echter het kan voorkomen dat de analysetools crashen in bepaalde situaties. Hierbij valt te denken aan corrupte logbestanden van de Android applicatie. Tot slot zal het filter moeten worden aangepast wanneer gebruik wordt gemaakt van een andere GPS ontvanger als aanwezig in de Samsung Galaxy S3. Dit wordt veroorzaakt doordat het filter ook gebruik maakt van specifieke eigenschappen die afkomstig zijn uit de software die op de Samsung Galaxy S3 wordt gebruikt.
Onderzoeksrapport – versie 1.3
36 / 44
Mobile sensors
8 Literatuurlijst 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Trusov A. (2011), Overview MEMS Gyroscopes, Verkregen op 27 september 2012, via http://www.alexandertrusov.com/uploads/pdf/2011-UCI-trusov-whitepaper-gyros.pdf Near Field Communication (2012), Near Field Communication, Verkregen op 26 september 2012, via http://www.nearfieldcommunication.org/ Kuo Y. en Schmid T. en Dutta P. (z.d.), HiJack, Verkregen op 3 oktober 2012, via http://www.eecs.umich.edu/~prabal/pubs/papers/kuo10hijack-islped.pdf Android (2012), USB On The Go, Verkregen op3 oktober 2012, via http://developer.android.com/guide/topics/connectivity/usb/index.html Bluetooth (2012), Bluetooth, Verkregen op 3 oktober 2012, via http://www.bluetooth.com VariableTech (2012), sensoren, Verkregen op 3 oktober 2012, via http://www.variabletech.com Pancreum (2012), glusoce sensing, Verkregen op 3 oktober 2012, via http://pancreum.com Zephyr (2012), hartslag sensing, Verkregen op 3 oktober 2012, via http://www.zephyrtechnology.com/products/fitness Wahoo (2012), loop cadans, Verkregen op 3 oktober 2012, via http://www.wahoofitness.com/Products/Wahoo-Fitness-Wahoo-Stride-Sensor.asp Wahoo (2012), Trap cadans, Verkregen op 3 oktober 2012, via http://www.wahoofitness.com/Products/Wahoo-Fitness-Wahoo-Cycling-SpeedCadence-Sensor.asp TomTom (2012), GPS ontvanger, Verkregen op 3 oktober 2012, via http://www.tomtom.com/en_gb/products/accessories/products/wireless-gps-receiver/ Radiation-watch (2012), Geiger counter, Verkregen op 3 oktober 2012, via http://www.radiationwatch.org/p/english.html Wikipedia (2012), Android, Verkregen op 2 oktober 2012, via http://de.wikipedia.org/wiki/Android_ %28Betriebssystem%29 Wikipedia (2012), iOS, Verkregen op 3 oktober 2012, via http://de.wikipedia.org/wiki/Apple_iOS Wikipedia (2012), BlackBerry OS, Verkregen op 3 oktober 2012, via http://de.wikipedia.org/wiki/BlackBerry_OS BlackBerry (2012), Ontwikkeling BlackBerry, Verkregen op 3 oktober 2012, via https://developer.blackberry.com/ Wikipedia (2012), Middleware, Verkregen op 2 oktober 2012, via http://en.wikipedia.org/wiki/Middleware Vision Mobile (2006), Application execution environment, Verkregen op 1 oktober 2012, via http://www.visionmobile.com/rsc/researchreports/Mobile_Operating_Systems_The_New_Generation.pdf Borkar S. en Chien A. (2011), The future of microprocessors, Verkregen op 2 oktober 2012, via http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.227.3582 4g americas (2012), Communicatie, Verkregen op 27 september 2012, via http://www.4gamericas.org/index.cfm?fuseaction=page§ionid=361 Samsung (2012), Samsung Galaxy S3, Bekeken op 27 september 2012, via http://www.samsung.com/global/galaxys3/specifications.html Apple (2012), , Bekeken op 27 september 2012, via http://www.apple.com/iphone/specs.html HTC (2012), HTC One X, Bekeken op 26 september 2012, via http://www.htc.com/nl/smartphones/htc-onex/#specs Nokia (2012), Nokia Lumia 920, Bekeken op 26 september 2012, via http://www.nokia.com/global/products/phone/lumia920/specifications/ Tyson M. (2012), Intel R & D pipeline, Bekeken op 1 oktober 2012, via http://hexus.net/tech/news/cpu/39381-intel-currently-developing-14nm-aiming-towards-5nm-chips/
Onderzoeksrapport – versie 1.3
37 / 44
Mobile sensors
9 Bijlagen 9.1 Smartphone sensoren Smartphone
Samsung Galaxy S3 [21]
Apple iPhone 5 [22]
HTC One X [23]
Nokia Lumia 920 [24]
Magnetisch veld meter
Nee
Nee
Nee
Ja
Digitaal kompas
Ja
Ja
Ja
Nee
Barometer
Ja
Nee
Nee
Nee
RGB sensor
Ja
Nee
Nee
Nee
NFC
Ja
Nee
Ja
Ja
Bluetooth
Ja
Ja
Ja
Ja
Radio netwerk
Ja
Ja
Ja
Ja
WI-FI
Ja
Ja
Ja
Ja
GPS
Ja
Ja
Nee
Ja
GLONASS
Ja
Ja
Nee
Ja
Camera
Ja
Ja
Ja
Ja
Microfoon
Ja
Ja
Ja
Ja
Touch screen
Ja
Ja
Ja
Ja
Omgevingslichtsensor
Nee
Ja
Ja
Ja
Nabijheidssensor
Ja
Ja
Ja
Ja
Acceleratiemeter
Ja
Ja
Ja
Ja
Gyroscoop
Ja
Ja
Ja
Ja
Onderzoeksrapport – versie 1.3
38 / 44
Mobile sensors
9.1 Marktaandeel
8
8 http://en.wikipedia.org/wiki/File:World_Wide_Smartphone_Market_Share_outlook.png, gebaseerd op IDC actuals and forecast Onderzoeksrapport – versie 1.3
39 / 44
Mobile sensors
9.2 Intel R&D pipeline 9
Afbeelding 12: Intel R&D pipeline[25]
9
http://hexus.net/tech/news/cpu/39381-intel-currently-developing-14nm-aiming-towards-5nm-chips/ , bekeken op 1 oktober 2012
Onderzoeksrapport – versie 1.3
40 / 44
Mobile sensors
9.3 Softwarestack
Onderzoeksrapport – versie 1.3
41 / 44
Mobile sensors
9.4 Exceptionele GPS waarden
Onderzoeksrapport – versie 1.3
42 / 44
Mobile sensors
9.5 Wegvallen van GPS signaal
Onderzoeksrapport – versie 1.3
43 / 44
Mobile sensors
9.6 Probleem GPS drift
Onderzoeksrapport – versie 1.3
44 / 44