Eindrapport
Augmented reality
Yvonne Nieuwerth Versie 2.0 11-‐12-‐2012
Table of Contents 1.
VERSIEHISTORIE .............................................................................................................................. 2
2. OPDRACHT AUGMENTED REALITY ............................................................................................ 3 2.1. DOEL ................................................................................................................................................................... 3 2.2. UITBREIDINGEN ................................................................................................................................................ 3 3. ONDERZOEK ....................................................................................................................................... 3 3.1. WAT IS AUGMENTED REALITY? ...................................................................................................................... 4 3.2. WAT ZIJN DE TOEPASSINGEN VAN AUGMENTED REALITY? ....................................................................... 4 3.3. WAT ZIJN DE BENODIGDHEDEN OM GEBRUIK TE MAKEN VAN AUGMENTED REALITY IN DIT PROJECT4 3.4. HOE KAN JE HET BESTE DE DATA WEERGEVEN? ......................................................................................... 4 3.5. WAT IS DE AFSTAND WAAROP EEN MARKER HERKEND? ........................................................................... 5 3.6. HOEVEEL MARKERS KUNNEN ER TEGELIJKERTIJD WORDEN HERKEND? ................................................ 5 4.
DATABASE .......................................................................................................................................... 6
5.
WEBSERVICE ...................................................................................................................................... 8
6. ARCHITECTUUR ................................................................................................................................ 9 6.1. WEBSERVICE ..................................................................................................................................................... 9 6.2. APPLICATIE ..................................................................................................................................................... 10 7.
INTERFACE ........................................................................................................................................ 12
8. GRAFISCHE WEERGAVE SENSORDATA IN ANDROID .......................................................... 12 8.1. GOOGLE CHARTS API ..................................................................................................................................... 12 8.2. CHARTS4J ........................................................................................................................................................ 12 8.3. AFREECHART .................................................................................................................................................. 13 8.4. ANDROIDPLOT ................................................................................................................................................ 13 8.5. SNOWDON ....................................................................................................................................................... 13 8.6. ACHARTENGINE ............................................................................................................................................. 14 8.7. GRAPHVIEW .................................................................................................................................................... 14 8.8. TE GEBRUIKEN TOOL ..................................................................................................................................... 14 9.
AANBEVELINGEN ............................................................................................................................ 19
10.
CONCLUSIE ..................................................................................................................................... 19
12.
BIJLAGEN ........................................................................................................................................ 20
13.
BIBLIOGRAPHY ............................................................................................................................. 21
1
1. Versiehistorie Datum 09-‐10-‐2012 14-‐11-‐2012 15-‐11-‐2012 19-‐11-‐2012
Versie 0.1 0.2 0.3 0.4
30-‐11-‐2012
1.0
4-‐12-‐2012
1.1
7-‐12-‐2012
1.2
11-‐12-‐2012
2.0
Aanpassingen Eerste versie Database, webservice onderzoeksresultaten Grafieken android. Architectuur project. Updates architectuur en verslag. Aanpassingen n.a.v. assessement fase 2 Verdere aanpassingen na assessement. Markertesten toegevoegd, ontwerp aangepast aan laatste versie. Aanbevelingen conclusie.
2
2. Opdracht Augmented Reality
Hoe kan augmented reality de veiligheid op de werkvloer verbeteren? Om veiligheid voor mensen op de werkvloer te verbeteren zou het goed zijn om onzichtbare (potentiële) gevaren weer te geven. Sensoren kunnen hierbij een belangrijke rol spelen. Door middel van augmented reality kan er sensordata worden weergeven wanneer je er naar kijkt. Als deze data afwijkend is of duidt op een gevaarlijke situatie kan dit kenbaar worden gemaakt.
2.1.
Doel
2.2.
Uitbreidingen
Het zichtbaar maken van sensordata als je naar de sensor kijkt door middel van augmented reality.
-‐ -‐ -‐ -‐
Afwijkende sensordata (mogelijk gevaarlijke situaties) weergeven. Historie van sensordata weergeven. (grafiek) Sensoren in machines plaatsen waardoor preventief actie kan worden ondernomen. Sensoren in een (gevaarlijke) ruimte hangen die vlak buiten de ruimte uit te lezen zijn.
3. Onderzoek
Voordat er kan worden begonnen met de implementatie zal er het een en ander onderzocht moeten worden. De volgende zijn onderzocht: -‐ Wat is augmented reality? -‐ wat zijn de toepassingen van augmented reality? -‐ Wat zijn de benodigdheden om gebruik te maken van augmented reality in dit project? -‐ Hoe kan je het beste de data weergeven? -‐ wat is de afstand waarop een marker herkend? denk aan resolutie markers, resolutie camera -‐ Hoeveel markers kunnen er tegelijkertijd worden herkend? Voor de complete onderzoeksresultaten zie bijlage A (Onderzoeksrapport). Hieronder een kort antwoord op de vragen.
3
3.1.
Wat is augmented reality?
Augmented reality betekent: “het toevoegen van iets aan de realiteit”. Het is dus het zichtbaar maken van iets wat je normaal gesproken niet ziet.
3.2.
Wat zijn de toepassingen van augmented reality?
Augmented reality kent op het moment vele toepassingen op diverse gebieden. Zo valt er op elk gebied wel een toepassing te bedenken om augmented reality te gebruiken.
3.3.
Wat zijn de benodigdheden om gebruik te maken van augmented reality in dit project
Om een augmented reality systeem te maken zijn er een aantal essentiële benodigdheden. Deze vallen onder te verdelen in drie categorieën: -‐ Displays. Om de data op weer te geven. Denk hierbij aan onder andere een bril, een telefoon of tablet of een projectie. -‐ Waarnemen/meten. De data om weer te geven en / of de positie van de gebruiker moet worden verkregen. Dit kan door sensoren. -‐ Weergeven. De data die aan de realiteit moet worden toegevoegd.
3.4.
Hoe kan je het beste de data weergeven?
Als de weer te geven data duidt op een veilige situatie dan zal de data in groene kleuren worden weergegeven. Zodra een situatie onveiliger wordt zal de kleur van groen, naar oranje en in de gevaarlijkste situatie naar rood veranderen. Ook zal er bij een waarschuwing en verbod een symbool worden gegeven. Om een waarschuwing weer te geven kan er gebruik worden gemaakt van het volgende standaard symbool: Figuur 1 waarschuwing Om een gebruiker de toegang te verbieden kan het volgende symbool worden gebruikt: (ISO, 2011) (ISO, 2004) figuur 2 verbod
4
Voor het weergeven van de historische sensordata wordt dit weergegeven in een grafiek. Dit kan er bijvoorbeeld zo uit komen te zien:
figuur 3 grafiek voorbeeld
3.5.
wat is de afstand waarop een marker herkend?
Aan de hand van een uitgevoerde test zijn is er een formule opgesteld om de markergrootte te bepalen als je weet vanaf wat voor afstand je de marker wilt herkennen. De constante is een gemiddelde genomen van de verhouding tussen afstand en markergrootte bij daglicht en tl-‐licht: x = y * 4,31 waarbij: x = markergrootte in centimeter. y = afstand in meter. en een formule om de afstand te bepalen als je de markergrootte weet: y = x / 4,31 waarbij: x = markergrootte in centimeter. y = afstand in meter.
3.6.
Hoeveel markers kunnen er tegelijkertijd worden herkend?
5
Er zijn 10 markers getoond aan de applicatie. Zodra er meer dan 5 markers op het scherm werden vertoond kwam er maar op 5 markers een tekst te staan. Het maximale aantal markers dat tegelijk kan worden herkend is dus: 5.
4. Database De database zal van alle sensoren de gemeten waarden bevatten. Hiervoor zijn twee tabellen opgesteld. Een tabel met alle sensoren met hun sensorid en naam, marker en eenheid en een tabel met alle waarden van de sensoren op een bepaalde tijd gekoppeld aan een sensorid. De sensorid’s van de twee tabellen zijn aan elkaar gekoppeld. Tabel 1 sensoren tabel sensoren PK
sensorid
TINYINT
naam Marker Eenheid
VARCHAR(50) VARCHAR(50) VARCHAR(15)
waarnemingen FK sensorid Waarde Tijd
TINYINT FLOAT TIMESTAMP
Tabel 2 waarnemingen tabel
PK = primary key FK = foreign key
6
De tabellen zijn op de volgende manier gemaakt: CREATE TABLE sensoren( sensorid TINYINT NOT NULL UNIQUE, naam VARCHAR(50) NOT NULL, PRIMARY KEY(sensorid) ); CREATE TABLE waarnemingen ( sensorid TINYINT NOT NULL, waarde FLOAT, tijd TIMESTAMP NOT NULL, FOREIGN KEY(sensorid) REFERENCES sensoren(sensorid) ); In de sensoren tabel zijn hier later nog de marker en eenheid kolom aan toegevoegd.
7
5. Webservice
Er is voor gekozen om gebruik te maken van een webservice. Dit maakt communicatie mogelijk tussen het Android apparaat, de server, de sensoren en de database. Er zijn twee veel gebruikte manieren om een webservice te ontwerpen. Dit zijn REpresentional State Transfer (REST) en Simple Object Acces Protocol (SOAP). REST is een client-‐server architectuur bedoeld voor stateless interactie. (Wikipedia, 2012) De cliënt initieert een request aan de server. De server zal hier dan een reactie op terugsturen. Dit gebeurt met het http-‐protocol. REST heeft geen XML parsing nodig, en er hoeft ook geen header te worden meegestuurd. Dit resulteert in minder bandwidth. (Oracle, 2006) SOAP is meer bedoeld voor ‘grotere’ web services die op een formele manier moeten communiceren. De manier van communicatie is vastgelegd in een zogeheten Web Service Description Language (WSDL). SOAP is over het algemeen iets meer ‘zwaargewicht’ dan REST maar kan daarentegen ook beter omgaan met een groot gedistribueerd netwerk. De keuze voor dit project is gevallen op een REST webservice. Voor mobiele devices is het belangrijk dat de bandwidth zo minimaal mogelijk wordt gehouden. Daarnaast is het ook simpeler om te gebruiken in een project waarbij er alleen client-‐server communicatie is. Daarnaast ondersteunt android communicatie via het http-‐protocol en kan er daar (zonder gebruik van externe tools/bibliotheken) gebruik van worden gemaakt. Voor onze REST webservice server is er gebruik gemaakt van Restlet. Dit is een framework voor het opzetten van een REST server. In deze server maken we via een DAO verbinding met de database. Met behulp van Restlet is er een GET methode gemaakt. Deze methode haalt de waarden op uit de database en kan vanaf een android applicatie worden aangeroepen.
8
6. Architectuur
De totale architectuur van het project bevat een Server waarop een database staat en een apparaat met de Android applicatie. De server bevat daarnaast ook nog een webservice waarmee de Android applicatie kan communiceren. Er kunnen ook sensoren worden gekoppeld aan de database. Dit is in dit project niet geïmplementeerd.
Figuur 4 architectuur
6.1.
Webservice
De webservice bestaat uit een RESTLETApplication klasse. Deze klasse zorgt ervoor dat de juiste resources gelinkt worden aan de URL’s die worden aangeboden. Dit gebeurt in de methode createInboundRoot(). Zo zal in de applicatie de klasse RESTLETResource gelinkt worden aan de url: “/ar/{sensorid}” en de RESTLETWaardeReeks aan “/ar2/{sensorid}”. RESTLETResource zal met de waarde uit de database een Sensor object aanmaken, en RESTLETWaardeReeks een WaardenReeksLijst object. Deze objecten worden vervolgens door middel van een JSON representatie naar de client gestuurd. Zodra de android applicatie dan verbinding maakt met de URL serverip/ar/sensorid dan zal de @get methode in RESTLETResource worden aangeroepen. Dit geld ook voor serverip/ar2/sensorid voor de waardenreeks. Deze methoden halen met behulp van de SensorWaardeDAO de waarde(n) op uit de database die hoort/horen bij het sensorid.
9
Figuur 5 webservice architectuur
6.2.
Applicatie
De applicatie bevat de benodigde klassen voor een Android applicatie. Dit is in de eerste plaats een Android Activity. In dit project erft deze activity van een AndarActivity. Deze klasse zorgt ervoor dat het mogelijk is om markers te herkennen en start daarnaast ook een camerapreview. Daarnaast worden in deze klasse de sensoren toegevoegd met de bijbehorende (bestandsnaam van een) marker zodat de applicatie weet welke marker bij welke sensor hoort. Voor al deze sensoren wordt een ARObject gemaakt genaamd SensorWaarde. De activity bevat daarnaast ook nog een ChartView. Deze klasse kan een grafiek weergeven aan de gebruiker. Op het moment dat de applicatie een marker herkend wordt er in de SensorWaarde klasse een ‘draw’ methode gestart. In deze methode wordt er via de mainactivity een connectie gemaakt met de webservice. Dit gebeurt door middel van de interfaces SensorResource en WaardenReeksResource. De applicatie zal in een JSON notatie de gevraagde waarden krijgen. Deze worden vervolgens omgezet in een object klasse. Respectievelijk Sensor en WaardenReeksLijst. Met deze object kan vervolgens de data op het scherm worden getoont.
10
Het tekenen van de tekst op de marker gebeurt in de klassen GLText, TextureRegion, SpriteBatch en Vertices. Deze klassen zorgen ervoor dat het juiste lettertype wordt ingeladen en er wordt berekend hoe breed/groot de letters zijn zodat ze netjes naast elkaar worden weergegeven. Daarnaast moet de tekst ook nog meedraaien en bewegen met de marker.
Figuur 6 applicatie architectuur
11
7. Interface
In eerste instantie zijn de sensorwaarden aan de rechterkant van het scherm getoond. Hier kwam dan een lijst te staan met de naam van de sensor met haar waarde. Na feedback is dit veranderd naar tekst direct op de marker. Ook was gevraagd om de grafiek weer te geven als de gebruiker op de tekst klikt die op de marker verschijnt. Dit was binnen de tijd van het project echter niet mogelijk. Er is nu een knop te zien die de grafiek toont van een sensor. De achterliggende techniek voor het weergeven van de grafiek werkt en moet dus alleen nog gekoppeld worden aan het klikken op de tekst. Voor het lettertype is gekozen voor Frutiger, een ‘humanist’ font. Dit lettertype zal makkelijk en snel te lezen moeten zijn (Barry, 2012). Het lettertype komt van (Azinman, 2010).
8. Grafische weergave sensordata in android
Om de historische data van de sensoren op een overzichtelijke manier weer te geven is ervoor gekozen om dit in een grafiek te zetten. Er zijn veel frameworks die daarbij kunnen helpen. Deze zijn wel erg verschillend in mogelijkheden en uiterlijk. Er is onderzocht wat de beste optie is voor de grafiek. Hierbij wordt gekeken naar de mogelijkheden, het uiterlijk en de manier van implementatie.
8.1.
Google charts api
Google charts api maakt gebruik van html5/SVG (scalable vector graphics). Dit wordt op android in de standaard browser alleen ondersteund vanaf versie 3.x. Nog ruim 50% van de android gebruikers hebben versie 2.x waardoor het dus voor veel mensen niet zou werken. Aangezien er vergelijkbare andere methoden zijn die wel ondersteuning hebben voor lagere android versies valt google charts api af.
8.2.
Charts4j
Charts4j is een API voor Java ontwikkelaars die gebruik willen maken van “google chart tools”. Het is een lichtgewicht API die altijd een internet connectie nodig heeft. Ook met een grafiek met heel veel data zou deze API niet optimaal zijn. De API is goed gedocumenteerd en heeft veel opties waardoor er altijd wel een grafiek te maken is die er goed uit ziet. Het gebruik van
Figuur 7 Charts4J
12
google chart tools heeft als nadeel dat de ondersteuning hiervan ergens in 2015 zou stoppen aangezien Google dan compleet overstapt naar google charts API. (google, 2011)
8.3.
Afreechart
Afreechart is gebaseerd op jfreechart , een Java bibliotheek voor grafische weergave van data. Afreechart is gemaakt voor Android. Het bevat veel opties en is goed te implementeren aangezien er ervaring is met JFreechart. (google, 2012)
8.4.
Figure Figuur 1 8 Afreechart
Androidplot
Androidplot is een API om dynamisch en statische grafieken weer te geven in een Android applicatie. Het heeft niet heel veel verschillende mogelijkheden maar kan wel een lijn-‐grafiek tekenen. Er valt aan het uiterlijk helaas niet heel veel aan te passen waardoor de grafiek er niet precies zo uit kan komen te zien zoals je dat wilt. (Androidplot.com, 2012)
8.5.
Figuur 9 Androidplot
Snowdon
Met Snowdon is het mogelijk om in Android grafieken weer te geven. Helaas is het uiterlijk niet heel erg mooi en kan je slecht zien wat de waarde van een punt in een grafiek precies is. Daarnaast zijn de mogelijkheden beperkt. (google, 2011)
Figuur 10 Snowdon
13
8.6.
Achartengine
Achartengine heeft de mogelijkheid om grafieken weer te geven in een Android applicatie. De documentatie is echter heel erg beperkt dus is er niet goed te zien wat de mogelijkheden zijn. (The 4ViewSoft Company, 2012)
8.7.
Graphview
Graphview is ook erg beperkt in documentatie. De mogelijkheden hiervan lijken niet heel divers. (GraphView, 2012)
8.8.
Figuur 11 Achartengine
Figuur 12 Graphview
Te gebruiken tool
Om een grafiek weer te geven in dit project zal er een keuze moeten worden gemaakt over de te gebruiken tool om grafieken weer te geven. Afgaande op de documentatie, mogelijkheden en uiterlijk zijn er twee mogelijkheden die allebei goed zouden passen. Dit zijn Charts4j en Afreechart. Deze hebben allebei veel mogelijkheden en zijn goed gedocumenteerd. Het feit dat er al ervaring is met JFreechart (waarop Afreechart is gebaseerd) en dat de ondersteuning gaat stoppen voor Charts4J zal er gebruik worden gemaakt van Afreechart.
14
9. Ethische Legale Sociale Impact (ELSI)
Augmented reality (AR) is een krachtige technologie die direct invloed heeft op de ervaring van de gebruiker. AR is een persuasive technologie die een impact heeft op de gebruiker terwijl er ondertussen allerlei informatie wordt opgehaald over de persoon en de omgeving. Op het moment wordt augmented reality gebruikt om mensen te informeren, manipuleren, vermaken en overhalen op basis van deze informatie. Deze techniek kan wel een ethische impact hebben. Daarnaast zijn er nog ethische bedenkingen bij het gebruik van de opgehaalde informatie. Deze kunnen van invloed zijn op de privacy en veiligheid van de gebruiker. Ook is er juridisch gezien wel wat over te zeggen. Hoe betrouwbaar is het systeem en wie is er aansprakelijk in het geval van een ongeluk?
9.1.
Autonomie & informed consent (autonomie van betrokkenen)
Augmented reality is een sterk middel om mensen over te halen om iets te doen. Dit kan omdat het een overtuigende ervaring kan weergeven. Het verandert de wereld om ons heen en dus ook hoe we er op reageren, wat we zien verwachten en ervaren. Hierdoor is het belangrijk om ook stil te staan bij de ethische vragen die bij augmented reality komen kijken. (Pase, 2012) Op het moment dat er gebruik wordt gemaakt van een augmented reality systeem dan zal er moeten worden nagedacht over autonomie en informed consent. Is de gebruiker volledig op de hoogte van de situatie en in hoeverre kan de gebruiker nog zelf een beslissing maken over zijn of haar doen en laten? Stel dat een persoon door middel van augmented reality een gevaar zou kunnen “zien”. Afhankelijk van de implementatie van het systeem is het volgende mogelijk: -‐ Als het systeem alleen het gevaar weergeeft, dan is het nog aan de gebruiker om te beslissen wat zijn reactie hierop is. De gebruiker kan dan autonoom een beslissing nemen. -‐ Zodra het systeem naast het weergeven van het gevaar ook een reactie onderneemt, dan kan het zijn dat de gebruiker hier zelf niet autonoom op kan reageren. Denk hierbij bijvoorbeeld aan een kamer waarin sensoren hangen. Deze sensoren meten een gevaarlijke hoeveelheid gas in de kamer. Het systeem zal deze kamer nu afsluiten zodat er niemand meer naar binnen kan lopen. (fysieke barrière). De gebruiker kan niet zelf meer er voor kiezen om de kamer in te gaan.
15
In het geval van dit project zal de gebruiker alleen te zien krijgen waar het gevaar ligt. De gebruiker kan hierop reageren zoals ze dat zelf zou willen. Het kan wel zo zijn dat het project wordt uitgebreid. Dan kan het zo zijn dat het systeem zal reageren waardoor de gebruiker minder autonoom kan handelen. Afhankelijkheid Ook is het de vraag hoe afhankelijk een persoon kan worden van de technologie. Hoewel een augmented reality systeem veel nieuwe mogelijkheden kan bieden is het wel zo dat, hoe simpeler de taak, hoe minder een persoon hoeft te weten. In het extreme geval kan dit leiden tot vermindering van kennis op de werkvloer. Als een persoon of bedrijf afhankelijk wordt van een augmented reality systeem dan moeten er ook vragen worden gesteld bij de betrouwbaarheid van dit systeem. (Obst & Troeller, 2009)
9.2.
Privacy
Privacy is een veelbesproken onderwerp bij augmented reality applicaties. Worden bijvoorbeeld alle locatie gegevens van een gebruiker bijgehouden? Hoe vaak ze een locatie bezoeken en hoe lang? Wat voor aankopen ze doen via hun telefoon? Wordt dit soort informatie bijgehouden, hoe is deze informatie dan opgeslagen? Is het beveiligd of wordt dit verkocht aan adverteerders? Zijn de gebruikers op de hoogte van welke informatie van hun wordt bijgehouden? Hebben ze hier enige controle over? Dit soort vragen laten zien dat het een ethisch dilemma is en dan ontwikkelaars van augmented reality systemen hier wel rekening mee moeten houden. Ook een veelbesproken probleem is gezichtsherkenning. Er worden ondertussen augmented reality applicaties gemaakt die een gezicht van een persoon kan scannen en dan online proberen om deze persoon te linken aan foto’s die te vinden zijn. Als dit soort applicaties publiek beschikbaar worden dan zijn de ethische consequenties groot. Het wordt dan makkelijke om informatie op te zoeken over een vreemdeling zonder dat hij of zij daar van af weet of daar toestemming voor heeft gegeven. Er is over veel mensen veel te vinden op het internet. Van hun relatiestatus, vrienden, persoonlijke contactinformatie, politieke en religieuze voorkeuren etc. Dit kan allemaal leiden tot privacy gevaren, stalken en worden benaderd door misleidende reclame en oplichters. (Pase, 2012) Het augmented reality project voor deze minor verzameld geen privacygevoelige informatie. Er wordt geen gebruik gemaakt van locatievoorzieningen dus kan er ook niet bepaald worden waar een persoon zich bevindt.
16
9.3.
Goed leven & identiteit / good life ( verandering kwaliteit van leven, flexibiliteit oplossingen)
Op het moment dat een augmented reality systeem op de werkvloer zoveel taken over gaat nemen van de werknemer dat de werknemer alleen nog maar hoeft te doen wat het systeem zegt dan zal de identiteit van de werknemer niet erg sterk zijn. Het zou zelfs zo kunnen zijn dat werknemers niet meer de juiste kennis moeten hebben om ergens te kunnen werken omdat het systeem de belangrijke beslissingen neemt.
9.4.
Goede zorg / good care (veranderingen kwaliteit van zorg, of algemener functionaliteit/werk)
Er zijn echte ethische zorgen te maken met betrekking tot veiligheid voor mensen die een augmented reality applicatie gebruiken. Deze applicatie vereisen vaak de aandacht van de gebruiker. Mensen hebben beperkte capaciteit om zich te focussen op meerdere activiteiten tegelijk. Dit doordat de hersenen gelimiteerd zijn in het aantal handelingen en onthouden van verschillende activiteiten. Als een persoon zeer gefocust is op het scherm van de smartphone, tablet, brillenglazen, alsmede de informatie die daarop wordt weergegeven dan zal de aandacht op de rest van de wereld om hen heen minder zijn. Hierdoor kunnen ongelukken gebeuren. Denk hierbij aan een jongen die met zijn telefoon vermoedelijk met ‘geocaching’ een schat probeerde te vinden. Hij was te veel gefocust op zijn telefoon waardoor hij de weg overstak en werd aangereden. Nu was dit geen augmented reality applicatie, maar het toont wel aan dat het gevaarlijk is om te weinig aandacht op de realiteit te hebben. (RTV Oost, 2012) De augmented reality applicatie die tijdens dit project wordt ontworpen kan ook wel een gevaar zijn voor de veiligheid. Er wordt sensordata weergegeven op het moment dat de gebruiker naar de marker kijkt. Op dit moment zal de gebruiker zijn aandacht hebben gevestigd op deze sensordata en niet op de omgeving. Dit risico is echter redelijk beperkt aangezien de tijd dat de gebruiker naar de data kijkt niet heel erg lang hoeft te zijn.
9.5.
rechtvaardigheid / justice (in-‐ en uitsluiting van groepen mensen)
Een ander punt om aan te denken bij het ontwikkelen van een augmented reality applicatie is rechtvaardigheid. Rechtvaardigheid houdt in dat alle mensen over dezelfde hoeveelheid goederen en diensten kunnen beschikken, en dat voor alle mensen dezelfde regels en wetgeving gelden.
17
In het geval van de augmented reality applicatie moet je denken aan vragen als: Wie heeft er een smartphone/tablet/bril met de applicatie? Wie heeft er toegang tot de sensordata? Mag iedereen deze sensordata zien, of alleen een paar mensen?
9.6.
Juridische aspecten
Doordat augmented reality applicaties potentieel gevaarlijk kunnen zijn zullen de ontwikkelaars hier rekening mee moeten houden. Er zijn steeds meer mensen die gebruik gaan maken van augmented reality en dus ook steeds meer mensen die gevaar lopen. Er wordt ook voorspelt dat er wel rechtszaken aan zullen komen nadat er een ongeluk is gebeurt door middel van een augmented reality applicatie. (Wassom, 2013) Hoewel veel ontwikkelaars een mooie boeiende applicatie waar mensen zich in verdiepen willen maken, zal er toch moeten worden nagedacht over manieren om de potentiele gevaren te verminderen. Er zijn simpele maatregelen die genomen kunnen worden om deze potentiele gevaren te verminderen. Ten eerste zou een mobiele applicatie een “time-‐out of pauze” functie kunnen bevatten waardoor de gebruiker op een snelle manier de mogelijkheid krijgt om de omgeving te zien. Daarnaast kan bij het opstarten van de applicatie een disclosure worden getoond waarin de gebruiker wordt geïnformeerd over de potentiele gevaren die de applicatie bevat. Als laatste moet de applicatie de hoeveelheid informatie om weer te geven limiteren. Hoe minder informatie, hoe minder afleiding de gebruiker heeft. Dit is vooral belangrijk voor glazen en autoruiten. Er moet ook worden nagedacht over de manier waarop de informatie wordt weergegeven. Aansprakelijkheid speelt ook een rol bij het ontwikkelen van augmented reality applicaties. Dit kan grotendeels voorkomen worden door het plaatsen van disclaimers in de applicatie. Bijvoorbeeld: “De uitgever is niet aansprakelijk voor schade die is of dreigt te worden toegebracht door middel van het gebruik van de applicatie”. Het is altijd zo dat de gebruiker in de beste positie is om de virtuele data te koppelen aan de echte-‐wereld condities.
18
10. Aanbevelingen
Er zijn nog een aantal aanbevelingen die ik wil doen. Er zijn nog veel uitbreidingsmogelijkheden voor dit project. -‐ Klikbaar maken van de getoonde tekst: Zodra de gebruiker op de tekst klikt die op een marker wordt getoond, zou de grafiek kunnen worden getoond. -‐ Weergeven van waarschuwingssymbolen: Als er afwijkende sensordata worden gemeten zou het mooi zijn als er een waarschuwingssymbool wordt getoond aan de gebruiker. -‐ Echte sensoren koppelen: Dit project is getest met handmatig ingevulde data. Er zouden echte sensoren kunnen worden gekoppeld die vervolgens de database vullen. Deze data kan dan worden uitgelezen in de applicatie.
11. Conclusie
Het doel van het project was: Het zichtbaar maken van sensordata als je naar de sensor kijkt door middel van augmented reality. Dit doel is behaald. Er is een applicatie ontwikkeld voor het Android platform waarop sensorwaarde wordt getoond zodra de gebruiker naar een marker kijkt. Als deze marker in de buurt van een sensor hangt, dan kan dus de sensorwaarde worden uitgelezen. Van de uitbreidingsmogelijkheden is het tonen van de grafiek geïmplementeerd. Er kan van een sensor data in een grafiek worden weergegeven.
19
13. Bijlagen Bijlage A
Titel Onderzoeksrapport.pdf
B
Plan van aanpak.pdf
C
Urenverantwoording totaal.xls
Omschrijving Onderzoeksvragen en antwoorden. Plan van aanpak opgesteld in 1e fase. urenverantwoording
20
14. Bibliography Wassom, B. (2013, 1 4). Wassom.com discussion on the law of social & emerging media. Opgeroepen op 1 7, 2013, van Wassom.com: http://www.wassom.com/5-‐ predictions-‐for-‐augmented-‐reality-‐law-‐in-‐2013-‐and-‐a-‐look-‐back-‐at-‐2012.html Wikipedia. (2012, november 23). representational state transfer. Opgeroepen op december 7, 2012, van Wikipedia -‐ the free encyclopedia: http://en.wikipedia.org/wiki/Representational_state_transfer Azinman. (2010). Defuse. Opgeroepen op 1 8, 2013, van Bitbucket: https://bitbucket.org/azinman/defuse/src/5ae1c83377f4/frontend/fonts/fontfacek it/Frutiger/ Androidplot.com. (2012). an Android api for creating charts and plots. Opgeroepen op december 7, 2012, van androidplot.com: http://androidplot.com/wiki/Home Barry, K. (2012, 9 26). Study: Typefaces Key to Reducing Driver Distraction. Opgeroepen op 1 8, 2013, van Wired: http://www.wired.com/autopia/2012/09/typefaces-‐driver-‐distraction/ google. (2012, april 27). afreechart Graphing/Charting library for Android. Opgeroepen op december 7, 2012, van google project hosting: http://code.google.com/p/afreechart/ google. (2011, juni 6). Charts4j -‐ Let the computer in the cloud build your charts. Opgeroepen op december 7, 2012, van google project hosting: http://code.google.com/p/charts4j/ google. (2011, september 26). snowdon A simple, fast, graphing library for Android. Opgeroepen op december 7, 2012, van google project hosting: http://code.google.com/p/snowdon/ GraphView. (2012). Opgeroepen op december 7, 2012, van Android Application Development Tutorials and Free Components: http://android.arnodenhond.com/components/graphview ISO. (2011, 04 15). INTERNATIONAL STANDARD ISO 3864-‐1. ISO. (2004, 10 15). INTERNATIONAL STANDARD ISO 3864-‐2. Obst, B., & Troeller, L. (2009). Augmented Reality. Ausarbeitung zum Seminar “Innovationsforum” . Oracle. (2006, augustus). Restful Webservices. Opgeroepen op december 7, 2012, van Oracle hardware and software: http://www.oracle.com/technetwork/articles/javase/index-‐137171.html Pase, S. (2012). Ethical Considerations in Augmented Reality Applications.
21
RTV Oost. (2012, 11 28). Dodelijk ongeluk N36 mogelijk door geocaching. Opgeroepen op 1 7, 2013, van RTV Oost: http://www.rtvoost.nl/nieuws/default.aspx?nid=154306 The 4ViewSoft Company. (2012). news. Opgeroepen op december 7, 2012, van Achartengine: http://www.achartengine.org/index.html
22