48
Faculteit Toegepaste Wetenschappen Vakgroep Informatietechnologie Voorzitter: Prof. Dr. Ir. P. LAGASSE Bepalen van de nauwkeurigheid van location based services door middel van simulatie door Tom Genbrugge Promotoren: Prof. Dr. Ir. B. Dhoedt, Dr. Ir. D. Colle Scriptie begeleider: Ir. Matthias Strobbe Scriptie ingediend tot het behalen van de academische graad van licentiaat in de informatica Academiejaar 2005–2006

Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Faculteit Toegepaste Wetenschappen

Vakgroep Informatietechnologie

Voorzitter: Prof. Dr. Ir. P. LAGASSE

Bepalen van de nauwkeurigheid van

location based services door middel van simulatie

door

Tom Genbrugge

Promotoren: Prof. Dr. Ir. B. Dhoedt, Dr. Ir. D. Colle

Scriptie begeleider: Ir. Matthias Strobbe

Scriptie ingediend tot het behalen van de academische graad van

licentiaat in de informatica

Academiejaar 2005–2006

Page 2: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken
Page 3: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Faculteit Toegepaste Wetenschappen

Vakgroep Informatietechnologie

Voorzitter: Prof. Dr. Ir. P. LAGASSE

Bepalen van de nauwkeurigheid van

location based services door middel van simulatie

door

Tom Genbrugge

Promotoren: Prof. Dr. Ir. B. Dhoedt, Dr. Ir. D. Colle

Scriptie begeleider: Ir. Matthias Strobbe

Scriptie ingediend tot het behalen van de academische graad van

licentiaat in de informatica

Academiejaar 2005–2006

Page 4: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Voorwoord

Allereerst zou ik mijn promotoren, Prof. Dr. Ir. B. Dhoedt en Dr. Ir. D. Colle en mijn begeleider,

Ir. Matthias Strobbe willen bedanken voor het uitschrijven van dit onderwerp. Hierbij zou ik

zeker Matthias van harte willen bedanken voor zijn goede begeleiding gedurende het hele jaar.

Zonder de inbreng van zijn kennis en ervaring over dit onderwerp, zijn adequate antwoorden

op verschillende vragen en het luisteren naar mijn soms chaotische uitleg, was deze thesis niet

geworden wat hij nu is. Ook dank ik hem voor het nalezen en verbeteren van deze tekst. Mijn

grote broer, mijn kleine broer en mijn ouders dank ik daar trouwens ook voor. Mijn vriendin

wil ik in de bloemetjes zetten voor haar steun en bemoedigende woorden tijdens het werken aan

deze opdracht.

Tenslotte zou ik mijn ouders hartelijk willen bedanken voor mij al die jaren onvoorwaardelijk

te steunen. Het zijn zij die mij de mogelijkheid hebben gegeven om te studeren. Ook hun

bijdragen tot dit geheel valt niet te onderschatten.

Tom Genbrugge, augustus 2006

Page 5: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Toelating tot bruikleen

“De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van

de scriptie te kopieren voor persoonlijk gebruik.

Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrek-

king tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit

deze scriptie.”

Tom Genbrugge, augustus 2006

Page 6: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Bepalen van de nauwkeurigheid van location

based services door middel van simulatiedoor

Tom Genbrugge

Scriptie ingediend tot het behalen van de academische graad vanlicentiaat in de informatica

Academiejaar 2005–2006

Promotoren: Prof. Dr. Ir. B. Dhoedt, Dr. Ir. D. ColleScriptie begeleider: Ir. Matthias Strobbe

Faculteit Toegepaste WetenschappenUniversiteit Gent

Vakgroep InformatietechnologieVoorzitter: Prof. Dr. Ir. P. LAGASSE

Samenvatting

De laatste tijd is er een grote opkomst van “location based services”. Deze systemen biedendiensten aan, gebaseerd op de positie van de gebruiker (bv. een gebruiker die in een luchthavennaar een gate begeleid wordt mbv. een navigatiesysteem). In deze scriptie werd een mana-gementstool geımplementeerd waarmee men het nut kan bepalen om een dergelijk systeem teinstalleren. Dit door het simuleren van personen die in een gebouw rondwandelen. Het bepalenvan een positie binnen een gebouw is tegenwoordig nog niet zo nauwkeurig, zodat een gebruikerwel eens verkeerd gestuurd wordt. Deze nauwkeurigheid kan men verbeteren door bv. meermetingen te doen, wat meer tijd in beslag neemt, of door meer apparatuur te plaatsen, wateen hogere kost met zich meebrengt. Natuurlijk is er ook een limiet aan het plaatsen van meerapparatuur en de nauwkeurigheid zal nooit perfect zijn. Men moet ook rekening houden dat eengebruiker niet altijd de aangeduide weg volgt en hoeveel zijn afwijking zal zijn.

Dit alles kan men ingeven/instellen in deze applicatie. Men kan tijdens het simuleren de personen(en de gegevens die ervan veranderen) volgen. Eens ze hun eindlocatie bereikt hebben kan mende nodige informatie aflezen (bv. hoe ver was het (gemiddelde) kortste pad en hoe ver werd ergemiddeld over gedaan).

Men kan ook gedurende elk stadium (bv. opbouw van de plattegrond, voor, tijdens en na desimulatie) alle gegevens opslaan, zodat men achteraf van dat punt verder kan werken.

Trefwoorden

Location based services, nauwkeurigheid, simulatie.

Page 7: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

Providing the accuracy of location based services bymeans of simulation.

Tom Genbrugge

Supervisor(s): Prof. Dr. Ir. B. Dhoedt, Dr. Ir. D. Colle, Ir. Matthias Strobbe

Abstract— This article describes a management-tool which can be usedto estimate the precision of a location based system. This is done by meansof simulation. Nowadays the precision to locate a person within a buildingis not exact. For instance, when we use an navigation system it could give usthe wrong direction. The precision of the system can be made better by, e.g.measuring more points, which takes more time, or by placing more trans-mitters, which has a higher cost. We must also take into account that peoplemake mistakes (e.g. because they are distracted) and therefore people cantake the wrong path.

To configure the application with all its properties, one can visually fol-low the persons and the properties of these persons who inserted into theapplication, once the simulation is started. Once they reached the end oftheir path, one can read the necessary information to evaluate the proper-ties of the system.

One can also save all of the data, e.g. the floor-plan, of the applicationbefore, during and after the simulation.

Keywords—Location based services, precision, simulation.

I. INTRODUCTION

NOWADAYS location based services are becoming moreand more current. Those services rely on the information

that you are on a specific position and they provide you witha service (such as finding the shortest path to your gate on theairport) based on that position. The most widely known systemis the Global Positioning System or GPS[1]. Nowadays we useGPS to locate the car for instance. When the system knows ourposition, a navigation system will tell us which direction youhave to follow to reach your destination. The big disadvantageof this system is that it does not work inside a building. Othersystems, such as Wi-Fi [2] and Bluetooth [3], can be used to getyour location. These services have, at the moment of writing,not the ideal accuracy. This accuracy can be improved by e.g.placing more transmitting equipment, which has a higher cost.

In this thesis we build a management-tool to estimate theprofit of installing a location based system. We should be able tohave the possibility to create a floor plan (with doors and rooms)and to add transmitters, hardware and its price and how this in-fluences the accuracy of the system. We should also have the op-portunity to create and add people with several properties (suchas their speed, are they rapidly distracted, and so on). We shouldalso be able to give a starting point (where a person enters thebuilding) and a destination point (e.g. an office in a office build-ing) to those people. Once the simulation is started, the systemshould (as it were) navigate the people to their destination point.The system will make mistakes because the (bad) position of thetransmitters (lower accuracy), as a result, people will not always

T. Genbrugge is a final-year student in the master in computer science. Themaster thesis corresponding to this article has been written in collaboration withthe INTEC Broadband Communications Networks research group, Ghent Uni-versity (UGent), Gent, Belgium.

follow the shortest path. We must also take into account thatpeople can make mistakes too. During and after the simulationwe can view and save the characteristics of the application.

II. THE ARCHITECTURE

The application is build in Java with two types of classes, onefor the data and calculations and one for the GUI (GraphicalUser Interface). Each class will be placed in the correspondingpackage (GUI classes in the GUI package, data classes in thedata package). We will describe the important parts in the fol-lowing. But first let us explain how the environment is broughtinto the system.

Door 1

Door 2

Door 3

Room

Fig. 1. A graph representing a room with two doors

The environment is represented in the computer by a graph(see figure 1). A door is represented as a vertex. A direct pathbetween two doors (belonging to the room) is represented by aedge. By a direct path, we mean a path that a human being canfollow physically without leaving the room. The room repre-sents a set of all connections possible between its doors. Theweight of the edge is the distance between the correspondingdoors. Now we can find the shortest path from the start locationto the destination.

A. Data-package

To calculate the shortest path we use a free Java graph libraryviz. JGraphT[4]. The class simulator simulates the movementsof the persons. One can give the update frequency of the de-vice the (virtual) person is wearing. The higher this frequency,the more accurate the system will be. But there is a limit to theupdate frequency because the system has to calculate the esti-mated position and that is time-consuming. There is also a limitto the precision of the system. With the given technology atthe moment, we cannot precisely tell where a person is located.Once we start the simulation, we can let the people move tothere destination. This is done by calculating the next positionto its previous one (whether or not wrongfully estimated, due

Page 8: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

to the inaccuracy of the system), considering that a person candeviate from the right path. Once we have got this location, welook at the accuracy of the system. For instance when the sys-tem has an accuracy of 3.5 meters (which is realistic), the nextlocation could differ 3.5 meters. One can see the path the personis following, and at the end compare it with the shortest path.

B. GUI-package

This package makes all the previous ones visible to the user.We can see persons walking around, see where the transmittersare, add rooms, add doors, etc. One can also follow one particu-lar person and see where he has been, what his current locationis, where the system thinks he is, etc. One can also see what thesystem accuracy is at a persons location by the size of an sur-rounding circle. The larger the radius, the smaller the accuracyis.

III. TESTRESULTS

We first have built an example of the floor plan (which youcan find in the application by clicking the menu help –> LoadDemo Data). Then we added about 200 people to walk in thissimulation. Before starting the test we set the chance that a per-son is distracted to zero and we let vary the systems accuracy.After the tests we can observe that the systems (in)accuracy isrealistic. When we have a near perfect system, the length of thepath is not much further then the shortest path. When the sys-tem is very inaccurate, the persons will travel a lot further thanthe shortest path. We also tested when the person is distracted.We came to the same conclusion: when he is a lot distracted hewill travel a lot further then when he is not. Both the systemaccuracy and the people’s distraction concur nicely and give theexpected results.

IV. CONCLUSIONS

We have created a management-tool which can be used to es-timate the precision of a location based system. We can draw afloor plan, add transmitters, persons,etc. We can also adjust thesystem accuracy. During the simulation we can follow the per-son. After the simulation we can view and save the end results.

REFERENCES

[1] Introduction to GPS.http://www.cmtinc.com/gpsbook/index.htm

[2] WiFihttp://www.wi-fi.org/

[3] http://www.bluetooth.com/bluetooth/[4] JGraphT a free Java graph library

http://jgrapht.sourceforge.net/

Page 9: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

INHOUDSOPGAVE i

Inhoudsopgave

1 Inleiding 1

1.1 Situering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Voorafgaande studie 3

2.1 Bestudeerde technologieen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.2 RADAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.3 GSM en UMTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.4 Smart Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.5 Active Badge en Active Bat . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.6 RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.7 Bluetooth en Zigbee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.8 WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Voorbeelden van lokalisatie bepalingen met WiFi . . . . . . . . . . . . . . . . . . 7

2.2.1 Lokalisatiebepaling met Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.2 Practical Robust Localisation over Large-Scale 802.11 Wireless Networks 8

3 Requirements 9

3.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Requirements per component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.1 Omgevingsmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.2 Algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.3 Simulatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.4 Persoon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Page 10: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

INHOUDSOPGAVE ii

3.2.5 Apparatuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2.6 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2.7 Persistentie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Architectuur en Implementatie 13

4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 Het datapakket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2.1 Algoritmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.3 Persoon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.4 Apparaten, ZendApparaten en Hardware . . . . . . . . . . . . . . . . . . 15

4.2.5 Ruimtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.6 Kamer en Gang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.7 Doorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.8 Deur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.9 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.10 LeesSchrijfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2.11 Punt3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3 Het guipakket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.1 MyMenuBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.3 Wereld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3.4 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3.5 JDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3.6 AddHardwareDialog en AddZendApparaatDialog . . . . . . . . . . . . . . 21

4.3.7 AddDeurDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3.8 AddKamerDialog en AddGangDialog . . . . . . . . . . . . . . . . . . . . . 21

4.3.9 AddPersoonDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3.10 SetSysNauwkDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.3.11 SelecteerPersoonDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3.12 SetDELAYDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 11: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

INHOUDSOPGAVE iii

5 Evaluatie 24

5.1 Opstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2 Variatie van de systeemnauwkeurigheid . . . . . . . . . . . . . . . . . . . . . . . 25

5.2.1 Globale systeem onnauwkeurigheid . . . . . . . . . . . . . . . . . . . . . . 26

5.2.2 De nauwkeurig hangt af van de zendapparaten . . . . . . . . . . . . . . . 27

5.2.3 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Variatie van de errorprobabiliteit van de persoon . . . . . . . . . . . . . . . . . . 28

5.3.1 Errorprobaliliteit van 0,1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3.2 Errorprobaliliteit van 0,5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3.3 Errorprobaliliteit van 0,9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.3.4 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.4 Variatie van systeemnauwkeurigheid en errorprobabiliteit van persoon . . . . . . 31

5.5 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6 Conclusie 33

A Layout van de bijgevoegde CD-ROM 36

Page 12: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

INLEIDING 1

Hoofdstuk 1

Inleiding

1.1 Situering

De laatste tijd is er een grote opkomst van “location based services”. Deze services hebben

allemaal te maken met het bepalen van de positie en de verschillende mogelijkheden die deze

extra informatie biedt. Het bekendste voorbeeld hiervan is het Global Positioning System of

GPS systeem[2, 3]. Dit systeem werd ontwikkeld voor de Amerikaans marine om wereldwijd

de plaats te kunnen bepalen van hun schepen. Tegenwoordig gebruikt men GPS in de auto

om een route te bepalen. Het grote nadeel van GPS is dat het niet binnen in een gebouw kan

gebruikt worden omdat het dan geen of bijna geen ontvangst heeft van de zendapparaten (hier

satellieten). Andere (nieuwere) systemen, die men op het eerste gezicht niet zou associeren met

positiebepaling kunnen dit echter wel. Denk bv. aan de WiFi-technologie [4], die vooral gebruikt

wordt om draadloos te surfen, de Bluetooth-technologie, die gebruikt wordt voor overdracht van

gegevens op korte afstand of de Zigbee-technologie [6], die gebruikt wordt voor draadloze lage

data-rate transportnetwerken.

Dergelijke diensten zijn nuttig als men bv. in een groot kantoren complex binnen komt en

zijn weg daar niet kent. Men kan dan de plattegrond en de routeplanner inladen op zijn mobiel

apparaat (vb. PDA), dat de lokalistietechnologie gebruikt, om zo al wandelend bv. een bureau

of een vergaderzaal te bereiken. Enig probleem met deze service is dat deze niet altijd even

nauwkeurig is, waardoor het systeem denkt dat de gebruiker zich op een andere locatie bevindt

zodat deze laatste verkeerd gestuurd kan worden. Ook mag men niet vergeten dat mensen altijd

mensen blijven en dus niet altijd de aangeduide weg volgen omdat ze bv. afgeleid zijn.

Page 13: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

1.2 Doelstelling 2

1.2 Doelstelling

De doelstelling van deze thesis is een managementstool te creeren om het nut van location based

services te gaan bepalen. Een bepaalde ruimte moet gemodelleerd kunnen worden, bv. een

luchthaven of een groot kantoorgebouw. Men moet kunnen aangeven waar een persoon vertrekt

(het gebouw binnen komt) en wat zijn eindbestemming is (bv. gates, vergaderzalen, ...). Er

kan opgegeven worden welk soort kortstepad-algoritme er gebruikt wordt, wat de gemiddelde

nauwkeurigheid gaat bepalen en wat de kost is om zo een nauwkeurigheid te verkrijgen. Ook de

plaatsing van het materiaal (bv. access points) in de ruimte kan opgegeven worden. Dit bepaalt

de specifieke nauwkeurigheid binnen het gebouw. Het materiaal brengt natuurlijk ook een kost

met zich mee dat ingebracht moet worden.

Simulaties kunnen dan uitgevoerd worden waarbij mensen zich van een van de ingangen

naar een van de eindbestemmingen begeven, waarbij ze dus zogezegd naar hun bestemming

genavigeerd worden via het lokalisatiesysteem. Afhankelijk van het gebruikte algoritme en de

plaatsing van de apparatuur, zal het systeem nu en dan fouten maken, waardoor de mensen niet

steeds het kortste pad zullen volgen. Ze kunnen natuurlijk ook zelf fouten maken, wanneer ze

bv. even een koffie willen drinken. Tijdens en na de simulatie kunnen dan de karakteristieken

van het systeem afgelezen worden. bv. Het afstandsverschil tussen de werkelijke locatie van de

persoon en de locatie waar het systeem denkt dat de persoon is. Of bv. het verschil tussen het

gemiddelde kortste pad en het gemiddelde werkelijke pad. Op die manier kan het nut van het

installeren van een dergelijk systeem bepaald worden.

Page 14: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

VOORAFGAANDE STUDIE 3

Hoofdstuk 2

Voorafgaande studie

Dit hoofdstuk behandelt de studie die voorafging aan het ontwerpen en implementeren van de

applicatie. Vooreerst wordt er gekeken welke technologieen er mogelijk zijn om dan uit te zoeken

hoe men (op dit moment) de locatie kan bepalen en hoe nauwkeurig dat allemaal wel is.

2.1 Bestudeerde technologieen

Hierbij wordt gekeken of de techniek toepasbaar is binnen in gebouwen, of de kost niet te groot

is om zo een systeem op poten te zetten en of de nauwkeurigheid groot genoeg is.

2.1.1 GPS

GPS is het systeem bij uitstek om uw positie te laten bepalen op aarde[3]. GPS is nauwkeurig

tot op 15 meter, maar met moderne technieken kan men zelf een nauwkeurigheid van 10 cm

verkrijgen. Dit lijkt ideaal, maar het grote nadeel van dit systeem is dat het een ’line of sight’

moet hebben om functioneel te zijn. Het moet dus een rechtstreekse (satelliet) verbinding

kunnen maken met minstens 4 satellieten, wat voor onze toepassing echter onmogelijk is omdat

we binnen in een gebouw bijna nooit contact kunnen maken het nodige aantal stations.

2.1.2 RADAR

Het welgekende RADAR-systeem [7] kan natuurlijk ook een positie bepalen. Denk maar aan een

vliegtuig dat een ander vliegtuig zou willen onderscheppen. Bij RADAR wordt er een signaal

uitgestuurd en wacht men tot het signaal, na terugkaatsing op een voorwerp, terug ontvangen

wordt. Men kan dan de afstand bepalen door het verschil in tijd te meten tussen zenden en

Page 15: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

2.1 Bestudeerde technologieen 4

ontvangen (en de snelheid van het signaal). Het probleem hiermee is dat het systeem werkt met

terugkaatsing en dus niet door permanente uitgezonden signalen van de zendapparaten (ook wel

’access points’ genoemd). Hierdoor wordt het onbruikbaar voor onze toepassing. RADAR kan

anderzijds ook geen signalen ontvangen als het een signaal aan het versturen is. Hierdoor moet

men een minimum afstand hebben tov het voorwerp (anders wordt het niet gedetecteerd).

2.1.3 GSM en UMTS

Met een GSM [8] kan je binnen in een gebouw telefoneren, dus denk je dat deze technologie wel

iets kan bieden. De eenvoudigste manier om een positie te bepalen met de GSM-technologie

is het zogenaamde Cell Identification. Het systeem kijkt met welke zendmast je in contact

bent en weet dan in welk gebied je je bevindt. Echter kan zo een gebied oplopen tot 30 km

(bv. op het platteland), wat dus onaanvaardbaar is voor deze toepassing. Men zou dan met

bv. 3 basisstations kunnen werken. Men vraagt dan de signaalsterktes op, waaruit men kan

afleiden hoe ver elk station van ons verwijderd is. Met deze drie afstanden en de locaties van de

zendmasten kan men de positie bepalen via trilateratie (zie Figuur 2.1).

5 m

5 m

3 m

Figuur 2.1: vb. van trilaterie, een positie bepalen met drie punten en drie afstanden

Wanneer je bv. 5 meter van punt 1, 5 meter van punt 2 en 3 meter van punt 3 verwijderd

bent, hebben de cirkels (die als straal de afstand hebben) een gemeenschappelijk snijpunt nl. de

positie waar je staat, gemeen. Dit werkt alleen in het vlak. In de ruimte (zoals positiebepaling

met GPS (zie 2.1.1)) heb je vier satellieten nodig (je werkt dan met snijpunten van bollen ipv

Page 16: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

2.1 Bestudeerde technologieen 5

met cirkels).

In de praktijk is het werken met drie zendmasten echter niet bruikbaar omdat er teveel

’ruis’ op zit. Het verzonden signaal van de masten kan weerkaatsen op gebouwen en andere

voorwerpen waardoor het systeem denkt dat de masten verder staan en zo de positie verkeerd

inschatten.

Een nieuwer systeem is het zogenaamd derde-generatienetwerk wat officieel gekend is als

UMTS (Universal Mobile Telecommunicatien System[9]). Hiermee kan een betere nauwkeurig-

heid geboden worden, omdat men met kleinere cellen werkt. Maar met een nauwkeurigheid van

75 to 125 meter is het ook niet geschikt voor onze toepassing.

2.1.4 Smart Floor

De “Smart Floor”[10] probeert om een persoon te lokaliseren via de vloer. Er worden onder elke

tegel druksensoren geplaatst. Wanneer een individu over een tegel wandelt, meten die sensoren

hoeveel druk erop gezet wordt. Men kan dus met 100 procent nauwkeurigheid te weten komen

dat daar een persoon staat. Nu kan men door het trainen van het systeem voor een kleine groep

van mensen met 90 procent nauwkeurigheid schatten wie daar staat. Het probleem van zo’n

systeem is dat de vloer ervoor moet uitgebroken worden, wat een serieuze extra kost met zich

meebrengt. Een ander probleem stelt zich wanneer er heel veel mensen op de vloer aanwezig

zijn. Deze technologie moet nog wat verder uitgewerkt worden om effectief in de praktijk te

kunnen worden toegepast voor grotere groepen.

2.1.5 Active Badge en Active Bat

Het Active Badge Systeem[11] werkt met een uniek infrarood signaal. Het apparaatje (de badge)

zendt elke 10 seconden een signaal uit. Nu kan men zijn positie bepalen door in de ruimtes

(kantoren, vergaderzalen,...) netwerksensoren te plaatsen die deze signalen kunnen detecteren.

Men kan dan de locatie opvragen via het WWW Active Badge Service, wat ook niet zo handig is

omdat men dan met het internet dient verbonden te zijn. Een ander nadeel is dat het zonlicht en

fluorescerend licht interfereren met het infrarood signaal. Een verbeterde versie van het Active

Badge systeem is het Active Bat systeem. Bij dit systeem kunnen de (nu ultrasone) signalen

de ruimte verlaten en worden dan ontvangen door sensoren op het plafond. Het heeft een

nauwkeurigheid van 9cm wat het uitermate geschikt maakt voor onze doeleinden. Een nadeel

met dit systeem is de extra kost en omdat men maar een bereik heeft van een zestal meter,

Page 17: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

2.1 Bestudeerde technologieen 6

zullen er veel sensoren nodig zijn.

2.1.6 RFID

Radio Frequency Identification (RFID)[12] (Identificatie met radiogolven) is een methode om

van een afstand informatie op te slaan en te lezen van zogenaamde RFID-”tags”die op of in

objecten zitten. Er bestaan RFID-tags in de meest uiteenlopende vormen en afmetingen. Ze

kunnen passief of actief zijn. Passieve tags hebben geen eigen energiebron, ze benutten het

elektromagnetische veld van een lezer om een stroom te induceren in de chip, hierdoor gaat het

signaal niet over een grote afstand, maar slechts van enkele centimeters tot ongeveer twee meter.

Wat in onze toepassing zou betekenen dat er enorm veel passieve tags zouden moeten geplaatst

worden. Actieve tags hebben daarentegen een batterij om de chip te activeren en kunnen een

signaal over een grotere afstand (van zo’n 100 meter tot zelfs een paar kilometer) uitzenden.

Wat een stuk beter is voor onze toepassing.

2.1.7 Bluetooth en Zigbee

Bluetooth[5] is een radioverbinding (in de 2,45 GHz band) voor spraak en data op de korte

afstand. Met Bluetooth kunnen bijvoorbeeld adresgegevens tussen mobiele telefoons worden

uitgewisseld, kan snel vanaf een handheld computer worden geprint, of kan een mobiele telefoon

worden uitgerust met een draadloze headset. Het werkt dus als vervanger voor korte kabels.

Bluetooth heeft een reikwijdte van 1 tot 10 meter, maar wanneer het zendvermogen wordt

opgevoerd, kan tot 100 meter worden gehaald. Het signaal kan ook door vaste materialen zoals

muren en deuren (zolang het maar geen metaal is) zodat het geen ’line of sight’ nodig heeft.

Een ander voordeel van Bluetooth is dat er geen ononderbroken verbinding tussen zender en

ontvanger nodig is (in tegenstelling tot infrarood verbindingen). Het nadeel van Bluetooth is

dat het een trage setup-fase heeft. Zigbee[6] is als technologie gelijkaardig aan Bluetooth, met

het verschil dat Zigbee minder stroom verbruikt en het beter geschikt is voor grote netwerken

dan Bluetooth. Nadeel is dat het dan een lagere datasnelheid heeft. Beide technieken komen

dus in aanmerking voor onze applicatie.

2.1.8 WiFi

Wi-Fi[4] staat voor Wireless Fidelity en is een certificatielabel (’logo’) voor draadloze datanet-

werkproducten, die werken volgens de internationale standaard IEEE 802.11 (beter bekend als

Page 18: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

2.2 Voorbeelden van lokalisatie bepalingen met WiFi 7

draadloos internet). Producten die volgens deze standaard werken maken gebruik van radiofre-

quenties in de 2,4 GHz en/of 5,0 GHz band (welke gratis zijn). Aangezien het radiofrequenties

zijn gaan ze dus ook door muren, ramen ed. WiFi werkt met twee verschillende topologieen:

Ad-Hoc en Infrastructuur. In de Ad-hoc mode wordt er direct van client naar client gecommu-

niceerd, wat voor ons van minder belang is. Van groter belang is de Infrastructuur mode. Hier

wordt gewerkt met basisstations, in 802.11 termen ’Access Points’ genoemd. De basisstations

zijn onderling verbonden door een Ethernet-infrastructuur. Tegenwoordig worden in vele pu-

bliek toegankelijke locaties zoals vliegvelden, hotels en bibliotheken basisstations geınstalleerd

zodat de infrastructuur reeds aanwezig is en enkel de software aangekocht dient te worden.

De manier waarop de positiebepaling gebeurt is in principe detzelfde die door sommige van

de voorgaande systemen ook gebruikt wordt, nl. de signaalsterkte die varieert naargelang men

zich dichter of verder van het toestel bevindt. Zo kan men met een drietal stations redelijk

precies de positie bepalen op eenzelfde verdieping. Met nog meer stations kan men zelfs bepalen

op welke verdieping men zich bevindt. De gemiddelde nauwkeurigheid van deze technologie kan

tegenwoordig gegarandeerd worden tot op 5 meter (in realistische omgevingen).

In de praktijk zijn er reeds heel wat projecten geweest die de locatie bepaalden via WiFi.

De volgende sectie behandelt er enkele voorbeelden van.

2.2 Voorbeelden van lokalisatie bepalingen met WiFi

De volgende projecten werden bestudeerd zodat een realistische simulatie van locatie gebaseerde

systemen kon gemaakt worden.

2.2.1 Lokalisatiebepaling met Wi-Fi

Dit was een vakoverschrijdend project van de 1ste Proef Burgerlijk Elektrotechnisch Ingenieur

aan de Universiteit van Gent (2004-2005)[13]. Het project (dat van de vakgroep INTEC uitging)

exploreert de mogelijkheden om met de bestaande draadloze netwerktechnologie lokalisatiebe-

paling in een complexe binnenomgeving uit te voeren. Het bestaat uit twee luiken: Enerzijds

richt het zich op het ontwikkelen van een computerapplicatie om de locatie van een gebruiker

te bepalen. Anderzijds wordt er gezocht of een signaalpropagatiemodel in staat was om op

nauwkeurige wijze de signaalsterktes van de verschillende access points te voorspellen.

Er worden enkele WiFi acces points opgesteld binnen een testruimte. Dan wordt er binnen

de testruimte gemeten wat de signaalsterktes zijn van de verschillende access points. Deze

Page 19: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

2.2 Voorbeelden van lokalisatie bepalingen met WiFi 8

metingen gebeuren op welbepaalde afstanden van elkaar (een grid ahw.). Deze informatie wordt

dan samen met de bijhorende positie opgeslagen in een databank op een server. Met deze

gegevens kunnen dan schattingen gemaakt worden van waar de persoon zich bevindt. Men

kan uit de testresultaten besluiten dat, als er geen invloed is van aanwezige personen, en men

gebruik maakt van drie access points, men een positie kan bepalen met een nauwkeurigheid van

3.5 meter.

Het grote nadeel van deze aanpak is echter dat men in elke kamer een grid moet opmeten,

waarbij elke meting ongeveer een minuut duurt. Voor een kleine kantoorruimte kan dit misschien

nog te doen zijn, maar voor een groot kantoorgebouw zou dat heel veel tijd in beslag nemen.

Ook al zou de meting versneld kunnen worden, dan nog zou het veel tijd kosten.

Een andere techniek komt in het volgende bestudeerde project naar voren.

2.2.2 Practical Robust Localisation over Large-Scale 802.11 Wireless Net-

works

Dit was een project aan de Rice University in de USA[14]. Hier wordt er gedemonstreerd

dat men met een op probabilistische technieken gebaseerd systeem zeer accuraat een persoon

kan lokaliseren met alleen maar een build-in signaal intensiteitsmeter van een standaard 802.11

kaart. Zoals we in het vorig project zagen, wordt er veel manuren gestoken in het opbouwen van

de signaal-map. In dit project is er echter minder dan 1 minuut nodig per kantoor of andere

ruimte om het systeem te trainen. Hiermee kunnen ze een gebruiker exact lokaliseren in 95

procent van de gevallen. Zelfs in de slechtste gevallen wordt een persoon bijna nooit verder dan

1 naburig bureau gelokaliseerd. Een gebruiker kan deze nauwkeurigheid bereiken met slechts

twee of drie signaal intensiteitsmeters (access points). Voor de robuustheid van het systeem

wordt een Gaussian fit sensor model gebruikt. Er wordt in het algemeen een goede algemene

performantie en een uitstekende robuustheid van het systeem verkregen. Het systeem is klaar

om te gebruiken op hun campus voor mensen die locatiebewuste applicaties willen gebruiken.

In een latere fase zal het systeem ook beschikbaar zijn voor andere gebouwen zolang ze maar

een 802.11 netwerk hebben geınstalleerd.

Maar voor men zo een netwerk wil/kan installeren is het altijd belangrijk om de kost van

zo´ n systeem te kunnen inschatten. Hier komt dan dit geleverd werk handig van pas om eens

te simuleren wat de kost zou zijn om een bepaalde nauwkeurigheid te verkrijgen.

Page 20: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

REQUIREMENTS 9

Hoofdstuk 3

Requirements

Nu we weten hoe er aan lokalisatie bepaling gedaan wordt, kunnen we de requirements van het

systeem opstellen. Dit hoofdstuk geeft een overzicht van de componenten die nodig zijn voor

onze applicatie.

3.1 Algemeen

We hebben verschillende componenten nodig die de besturing van het programma vlot moeten

laten verlopen. In het algemeen zijn er twee soorten van klassen. De eerste soort zijn de klassen

die te maken hebben met het verwerken en bijhouden van de data (de zogenaamde controller).

De tweede soort zijn klassen die te maken hebben met de werking van de GUI (Grafische User

Interface).

Voor het bijhouden van data (tijdens het draaien van de applicatie) wordt er geopteerd

voor het omgevingsmodel. Ook wordt er een klasse aangemaakt waar men het kortstepad laat

berekenen. Tenslotte is er nog de klasse waar het simulatiegedeelte geregeld wordt.

Voor de werking van de GUI zijn er natuurlijk de verschillende dialoogvensters nodig die de

invoer van nieuwe gegevens moeten regelen. Ook zijn er verschillende panelen om de opbouw

van de ruimte en de simulatie kunnen volgen.

In wat volgt geven we meer specifieke uitleg over de requirements (vereisten) van de verschil-

lende onderdelen.

Page 21: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

3.2 Requirements per component 10

3.2 Requirements per component

3.2.1 Omgevingsmodel

Deur 1

Deur 2

Deur 3

Kamer

Figuur 3.1: Kamer met 2 deuren

Een omgeving wordt voorgesteld door middel van een graaf (zoals bv. in Figuur 3.1). Een

deur stelt een knoop voor terwijl een rechtstreekse verbinding tussen twee deuren een boog

voorstelt (de twee deuren behoren tot dezelfde kamer). Een kamer stelt dan een verzameling

van alle verbindingen die mogelijk zijn tussen een aantal deuren voor. Het gewicht van die boog

is dan gelijk aan de afstand tussen twee deuren. Zo kan men de graaf opstellen en gemakkelijk het

kortste pad berekenen. Het omgevingsmodel moet ook bijhouden waar er apparatuur aanwezig

is en wat het effect is op de nauwkeurigheid. Er moet ook bijgehouden worden hoeveel personen

er aanwezig zijn en waar ze zich bevinden (volgens het systeem ).

3.2.2 Algoritme

Het gebruikte kortstepad algoritme moet kunnen aangegeven worden. Men kan dan de algoritmes

vergelijken om dan later een keuze te maken welke het beste is voor die bepaalde toepassing.

3.2.3 Simulatie

Dit gedeelte zorgt voor het eigenlijk simuleren van de bewegingen van de personen. Men moet

hier de updatefrequentie voor het bepalen van zijn positie kunnen ingeven. Hoe hoger die

frequentie is, hoe nauwkeuriger het systeem wordt. Men kan ook niet oneindig nauwkeurig

gaan omdat de apparatuur dat niet toelaat. Ook kan men niet constant updaten, omdat de

Page 22: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

3.2 Requirements per component 11

berekening van de locatie een bepaalde tijd in beslag neemt en een te hoge updatefrequentie

zorgt er immers ook voor dat de batterij van het draagbare toestel een stuk intensiever gebruikt

zal worden. Verder moet men de kans op het fout lopen van een persoon, of de kans dat het

systeem de persoon fout lokaliseert kunnen te weten komen.

De simulatie, eenmaal gestart, bestaat dan uit een aantal stappen bepaald door de snelheid

van de gebruiker en de updatesnelheid van het lokalisatiesysteem. Eerst wordt bepaald, uit de al

dan niet verkeerd verkregen positie van de vorige stap, welke afstand er dient afgelegd te worden

en in welke richting de persoon moet gaan. Deze richting wordt ook beınvloed door de kans dat

de persoon verkeerd loopt. Eens we die locatie hebben, wordt er gekeken naar de precisie van

het systeem. Als bv. een systeem tot op 3.5 meter nauwkeurig is, kan die locatie dus 3.5 meter

verschillen van de effectieve locatie. De eigenlijke weg die de gebruiker aflegt wordt bijgehouden

en kan dan op het einde van de simulatie vergeleken worden met het kortste pad tussen begin-

en eindpunt. Over alle gebruikers kan dan een gemiddelde afstand van de kortste paden en de

gemiddelde afgelegde afstand getoond worden.

3.2.4 Persoon

Een persoon moet ook gemodelleerd kunnen worden. Hij zal een start-en eindlocatie toegewezen

krijgen. De simulatie zal dan moeten simuleren welk pad die persoon zal volgen. Ook krijgt de

persoon een naam en heeft hij een snelheid. De kans dat hij een fout maakt en de afwijking

van de richting als hij een fout maakt moet kunnen worden ingegeven. Er moet dan ook een

mogelijkheid bestaan om aan te geven hoeveel personen met deze specificaties zullen rondlopen.

3.2.5 Apparatuur

Door plaatsing van de apparatuur zal ervoor gezorgd worden dat de nauwkeurigheid in het

gebouw niet overal dezelfde is. Aangezien ze een specifieke locatie hebben moeten ze dan ook

ingebracht worden in het model en als resultaat wordt een foutmargeverdeling van de hele

plattegrond verkregen die dan gebruikt wordt bij de simulaties.

3.2.6 GUI

Met behulp van de GUI (Graphical User Interface of in het Nederlands de grafische gebrui-

kersomgeving) kunnen de parameters van de simulatie gemakkelijk ingesteld worden, kan de

Page 23: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

3.2 Requirements per component 12

apparatuur geplaatst worden, kunnen er personen toegevoegd worden en kan de volledige plat-

tegrond getekend worden. Eens gestart, zal men de simulatie visueel kunnen volgen nl. de

bewegingen van de personen.

3.2.7 Persistentie

Alles wat men met de GUI kan tekenen moet kunnen opgeslagen worden. Ook de verschillende

instellingen van de personen (zoals de start-en eindlocatie, de huidige locatie,...) of de alge-

menere instellingen van het systeem (welk kortstepad algoritme wordt er gebruikt, wat is de

updatefrequentie,...). Eens een simulatie is uitgevoerd zal men ook de verzamelde informatie

moeten kunnen opslaan.

Page 24: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

ARCHITECTUUR EN IMPLEMENTATIE 13

Hoofdstuk 4

Architectuur en Implementatie

Nu we weten wat we nodig hebben gaan we de architectuur opbouwen.

4.1 Inleiding

We verdelen best de klassen in twee packages (pakketten), zodat de data gescheiden wordt van

het uiterlijk (de GUI). Het ene pakket noemen we het datapakket, het andere het guipakket (zie

Figuur 4.1).

Packagedata

Packagegui

Figuur 4.1: De twee pakketten met de interfaces en klassen

Deze twee pakketten zullen gemakkelijk met elkaar kunnen communiceren. vb. op het

moment dat de GUI een locatie van een persoon nodig heeft, of wanneer men de data wil

verkrijgen over een deur die geplaatst wordt. In de volgende punten zullen deze twee pakketten

nader bekeken worden.

4.2 Het datapakket

In het datapakket staat het model centraal (zie Figuur 4.2). Vanuit deze klasse kan men alle

andere (datapakket) klassen bereiken. Om bv. een luchthaven te simuleren is er natuurlijk

Page 25: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.2 Het datapakket 14

een grondplan nodig. De twee basiscomponenten van een grondplan zijn doorgangen (vb. een

deur, trap,lift,...) en ruimtes (vb. kamer, gang,...). Beide componenten/interfaces beschrijven

de algemene kenmerken van de onderliggende klassen. Zo kan je bv. aan een doorgang vragen

wat zijn beginpunt is en wat zijn eindpunt is. Verder moeten er dan Apparaten toegevoegd

worden in de vorm van zendapparaten. Deze zullen dan voor de precisie van het systeem

moeten zorgen. Hoe meer zendapparaten hoe beter de nauwkeurigheid, maar hoe groter de

kost. Eens deze geınstalleerd zijn kunnen de personen toegevoegd worden. (De volgorde van

toevoegen is eigenlijk gelijk. Men kan bv. eerst personen toevoegen, dan zendapparatuur en

dan het grondplan tekenen.)

Nu alles op zijn plaats is kan er begonnen worden met het simuleren van de wandelingen van

de personen door ”het gebouw”. Daarvoor zorgt de simulator. Deze laatste maakt gebruik van

de klasse Algoritmes om het kortste pad te verkrijgen tussen twee punten (vb. startlocatie en

eindlocatie, maar evengoed tussen gelijk welke andere punten binnen het gemaakte grondplan).

Model

SimulatorAlgoritmes

<<interface>>Ruimte

<<interface>>Doorgang

<<interface>>Apparaat

Package data

Persoon

LeesSchrijfData

Punt3D

Figuur 4.2: De details van het datapakket

In de volgende puntjes zullen we de klassen en interfaces wat meer in detail bekijken.

Page 26: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.2 Het datapakket 15

4.2.1 Algoritmes

In deze klasse wordt het kortste pad berekend (mbv. een graaf-pakket JGraphT [15]) volgens

het Dijksta-of volgens het BellmanFord-algoritme. De graaf wordt er opgebouwd (met de init()

methode) door eerst alle doorgangen als knopen toe te voegen, dan directe paden tussen twee

deuren als bogen toe te voegen (met direct bedoelen we een fysiek mogelijk wandelpad van een

persoon van de ene doorgang naar de andere, zonder door een andere doorgang te wandelen).

Het gewicht is dan de wandel afstand tussen beide.

4.2.2 Simulator

Deze klasse is ook een soort van timer. Hij zal per keer er moet geupdate worden de effectieve

locatie (door de al dan niet juiste verplaatsing van de persoon) en de locatie waar het systeem

denkt dat de persoon staat, berekenen. Dit allemaal volgens de ingestelde updatefrequentie.

Een persoon zal dan per update een bepaalde afstand hebben afgelegd, afhankelijk van zijn

snelheid (zie volgend puntje). Men kan dus de simulatie heel snel laten uitvoeren (want per

keer er geupdate wordt legt de persoon een vaste afstand af) om zo tot een snel eindresultaat

te komen, of men kan de simulatie traag laten verlopen zodat men het verschil tussen de locatie

waar de persoon zich bevindt en de locatie waar het systeem denkt dat de persoon zich bevindt

kan bekijken. Men kan ook de simulatie stoppen en weer starten wanneer men maar wil. Als

men de simulatie stopt, dan zal zij weer starten met de waarden waarmee zij gestopt is.

4.2.3 Persoon

In de klasse persoon worden heel wat informatie over de persoon bijgehouden. Zo kan je er de

naam, snelheid, start-en eindlocatie, de effectieve locatie, de systeem locatie (waar het systeem

denkt dat de persoon staat), de geschiedenis van al de locaties, de reeds afgelegde afstand, ’of

een persoon het einde reeds bereikt heeft, en dergelijke meer instellen. Ook houdt een persoon

bij wat zijn te volgen pad is (ga eerst door deze deur, dan door de volgende, enz.). De kans dat

een persoon verkeerd loopt en de richtingsafwijking als gevolg van het verkeerd lopen kunnen

hier veranderd worden.

4.2.4 Apparaten, ZendApparaten en Hardware

Het belangrijkste van de interface Apparaten is dat het een kost heeft en een locatie. De afgeleide

klassen ZendApparaten en Hardware implementeren die interface(zie Figuur 4.3).

Page 27: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.2 Het datapakket 16

ZendApparaat Hardware

<<interface>>Apparaat

Figuur 4.3: De Apparaat interface en bijhorende afgeleide klassen

4.2.5 Ruimtes

Deze interface zorgt ervoor dat het model eenduidig kan communiceren met objecten die de

algemene eigenschappen hebben van een ruimte (bv. een kamer, gang, bureau,..). Zo kan men

het programma later gemakkelijk uitbreiden met objecten die onder de categorie van Ruimte

vallen (denk bv. aan een klaslokaal waar je je niet zo gemakkelijk kan in verplaatsen)(zie Figuur

4.4).

Kamer Gang

<<interface>>Ruimte

Figuur 4.4: De Ruimte interface en bijhorende afgeleide klassen

4.2.6 Kamer en Gang

De klassen Kamer en Gang moeten dus de eigenschappen van Ruimte implementeren. Een

Kamer (en ook een gang, maar een gang en een kamer verschillen niet echt veel van elkaar, alleen

in vorm dan) wordt opgebouwd door telkens de coordinaten van de hoekpunten toe te voegen

aan de kamer (zie onderdeel 4.3.8 puntje AddKamer en AddGang). Men kan ook rechtstreeks

een Doorgang verbinden met de Kamer om zo een graaf te creeren. Men kan ook de afmetingen

opvragen en kijken of een punt al dan niet in de kamer ligt.

Page 28: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.2 Het datapakket 17

4.2.7 Doorgang

De interface Doorgang staat voor alle objecten waar men zogezegd kan doorlopen (bv. een deur

of een poort), maar men het kan ook ruimer zien. Als men bv. een soort van klein afgeschermd

bureautje heeft (in een ruimte met meerdere van die opstellingen), maar dat ”kotje”heeft geen

een deur, maar eerder een plaats waar men een deur zou kunnen steken, dan voegt men gewoon

bij die grote ruimte een kleinere ruimte met een zogenaamde ”virtuele deur”. Een Doorgang

heeft bv. ook een doorloopsnelheid. Denk bv. aan een lift waar je even op moet wachten. Men

kan ook Ruimtes toevoegen waartussen deze doorgang zich bevindt.

Deur Lift

<<interface>>Doorgang

Figuur 4.5: De Doorgang interface en bijhorende afgeleide klassen

4.2.8 Deur

De klasse Deur erft en implementeert dus alle methodes van de ouder-interface Doorgang. Zo

heeft een deur een beginpunt en een eindpunt (volgorde speelt geen rol). Zo kan men ook de

lengte van de deur opvragen.

4.2.9 Model

In het model worden alle lijsten van Doorgangen, Ruimtes, ZendApparaten, Hardware en Per-

sonen bijgehouden. Wil men in de simulatie een kamer toevoegen, dan zal men dit moeten doen

door de kamer toe te voegen aan het model. Ook de klassen Algoritmes en d Simulator zijn

hier in terug te vinden. Zo kan men, als men bv. een persoon toevoegt gemakkelijk de GUI

verwittigen dat er iets veranderd is.

Men kan hier ook de nauwkeurigheid (of beter gezegd de nauwkeurigheidsgradaties) instel-

len. Het instellen van de gradaties gebeurt via het guipakket, meer bepaald met de klasse

SetSysNauwkDialog (zie onderdeel 4.3.10 puntje SetSysNauwkDialog)

Page 29: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 18

4.2.10 LeesSchrijfData

Deze klasse zorgt voor de persistentie. Men kan een bestand openen en men kan de reeds ver-

zamelde gegevens in een bestand opslaan. Zo kan je, eens je een plattegrond hebt, deze opslaan

voor later gebruik. Ook al de apparaten, personen en de instellingen (zoals de updatesnelheid)

worden bewaard.

4.2.11 Punt3D

Aangezien java (de taal waarin deze simulatie is geschreven) geen voorzieningen heeft voor een

punt in de 3-dimensionale ruimte weer te geven, zijn we genoodzaakt om zelf een klasse te

schrijven. Het bevat een x-,y- en z-coordinaat (die men kan instellen of opvragen)en men kan

de afstand tussen twee punten opvragen. Deze klasse wordt in praktisch elke andere klasse van

deze simulatie gebruikt.

4.3 Het guipakket

Het guipakket zorgt voor de grafische voorstelling van de gegevens. Centraal staat de klasse

gui. Vanuit deze klasse worden de verschillende dialoogvensters (uitbreidingen van JDialog)

opgeroepen. In het guipakket zit ook nog een klasse die de menubar voorstelt (nl. MyMenuBar)

en nog twee klassen die grafisch iets weergeven nl. Wereld en Info. In de klasse Wereld wordt de

plattegrond en daarbij horende apparatuur ed. voorgesteld, terwijl de klasse Info zowel algemene

(bv hoeveel is de gemiddelde afgelegde afstand op dit moment), als persoonsafhankelijke (hoe

snel loopt deze persoon) weergeeft. Een meer gedetailleerde beschrijving vinden we in wat volgt.

4.3.1 MyMenuBar

In MyMenuBar wordt de menubar gecreeerd. Met de menubar kan je alle opties en mogelijkheden

van dit programma instellen en gebruiken. Het heeft als actionListener de klasse GUI.

4.3.2 GUI

Deze klasse is een extensie van de klasse JFrame. Hier worden alle (grafische) componenten op

geplaatst nl. het Wereldscherm en het Infoscherm. Ook worden hier de nodige dialoogvensters

aangemaakt en getoond, in het kader van dat de GUI een actionlistener is.

Page 30: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 19

Package gui

gui

AddDeurDialog

SetDELAYDialog SelecteerPersoonDialog

MyMenuBar

Info

AddZendApparaatDialog

AddPersoonDialog

AddKamerDialogAddHardwareDialog

Wereld

SetSysNauwkDialog

Figuur 4.6: De details van het guipakket

4.3.3 Wereld

De klasse Wereld is een paneel waar de plattegrond op getekend wordt. Het nulpunt wordt aan-

gegeven en de Kamers en Deuren worden er op gevisualiseerd. Als de te tekenen objecten buiten

het venster zouden liggen, past het zich vanzelf aan, door ofwel, als de tekening niet groter is

dan het kijkvenster, verschuift het kijkvenster vanzelf totdat de gehele figuur te zien is, ofwel

worden er scrollbars aan toegevoegd. Na het tekenen van de plattegrond worden daarboven de

apparaten en de hardware geplaatst. Als laatste worden de personen erop gezet. Dit vraagt

nog om enige verduidelijking. Bij het tekenen van een persoon zal een klein blauw bolletje zijn

effectieve locatie tonen. Dit bolletje ligt in het midden van een blauwe cirkel. De straal van deze

cirkel is recht evenredig met de nauwkeurigheid. (vb. een nauwkeurigheid van 3, zal een cirkel

opleveren van 3). Zo is het gemakkelijk te zien wat de nauwkeurigheid is op de positie van de per-

soon. De positie waar het systeem denkt dat de persoon is, wordt gevisualiseerd door een groen

Page 31: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 20

bolletje. Zo kan het bolletje nooit buiten de “nauwkeurigheidscirkel” liggen. Als laatste worden

alle locaties waar de persoon effectief heeft gestaan op het paneel aangebracht. Zo kan men in

een oogwenk zien waar de persoon overal geweest is (zie ook puntje “SelecteerPersoonDialog”

van dit onderdeel (4.3.11) om een andere persoon te kunnen selecteren).

4.3.4 Info

Zoals je in Figuur 4.7 kan zien heb je bovenaan algemene info zoals het aantal personen, deuren,

kamers,... De kost van alle apparatuur wordt ook weergegeven. Als er reeds personen werden

toegevoegd, zal hier ook verschijnen hoeveel het gemiddelde kortste pad is en hoeveel de ge-

middelde reeds afgelegde afstand is. Verder kan men nog zien of iedereen is aangekomen of

niet.

Figuur 4.7: Voorbeeld van het infopaneel

Onder de voorgaande informatie worden specifieke gegevens van een persoon getoond. Deze

persoon kan je selecteren door op Opties –> Selecteer persoon te klikken. Je kan de naam

van de persoon zien, de effectieve locatie en de locatie waar het systeem denkt dat de persoon

staat. Extra duidelijk wordt ook aangegeven hoeveel afstand er ligt tussen deze laatste twee.

Daarnaast wordt ook nog de nauwkeurigheid van het punt waar de persoon staat getoond, samen

met de reeds afgelegde afstand. De lengte van het kortste pad en de snelheid van de persoon

kunnen er eveneens terug gevonden worden, evenals de kans dat hij of zij een fout maakt (Error

Probabiliteit) en welke maximum afwijking in graden dat dan kan zijn. Tenslotte wordt ook nog

zijn eindlocatie weergegeven.

Wanneer nu alle personen zijn aangekomen worden het totale gemiddelde kortste pad en

de totale gemiddelde afgelegde afstand rood gekleurd. Als een persoon aangekomen is zal het

Page 32: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 21

opvallen dat ook zijn afgelegde afstand en de lengte van zijn kortste pad in het rood worden

aangegeven.

4.3.5 JDialog

JDialog is een standaardklasse uit de javax.swing bibliotheek waarmee je gemakkelijk dialoog-

venstertjes op het scherm kan tekenen. Men kan dan enkele gegevens ingeven om het al dan niet

correct af te sluiten. De GUI klasse zal dan het nodige doen om de acties te laten voltooien. De

volgende klassen zijn allemaal extensies (uitbreidingen) van JDialog, zodat ze de eigenschappen

overerven.

4.3.6 AddHardwareDialog en AddZendApparaatDialog

AddHardwareDialog en AddZendApparaatDialog zijn eenvoudige venstertjes waar je de locatie

en de kost van de zendapparaten en de andere hardware kan ingeven. Je kan ze laten verschijnen

door op Tekenen –> addHardware of door Tekenen –> addZandApp te klikken.

4.3.7 AddDeurDialog

De AddDeurDialog kan je ook laten verschijnen door op Tekenen –> addDeur... te klikken. De

AddDeurDialog toont een venstertje zodat je een deur kan toevoegen aan de applicatie. Men

hoeft alleen de begincoordinaat en de eindcoordinaat van de deur in te geven.

4.3.8 AddKamerDialog en AddGangDialog

Dit dialoogvenster komt te voorschijn als je in de menubar op tekenen –> addKamer... klikt. Je

krijgt er dan drie lijntjes om coordinaten in te geven. Deze stellen de hoekpunten voor van de

kamer voor. Initieel wordt er dus een driehoekige kamer getekend. Als je een vier- of vijfhoekige,

of in het algemeen een meer dan driehoekige kamer wil moet je op de bovenste knop duwen zodat

er een coordinaat extra kan toegevoegd worden. De coordinaten moeten wel in de juiste volgorde

toegevoegd worden (zie Figuur 4.8).

4.3.9 AddPersoonDialog

Dit dialoogvenster (in Tekenen –> addPersoon) laat u in de mogelijkheid om een persoon toe

te voegen. Men kan er de start-en eindlocatie, de naam en de snelheid van die persoon ingeven.

De kans dat de persoon fout loopt is een getal tussen 0 en 1. De maximale afwijking in graden

Page 33: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 22

Kamer 1 Kamer 2

0,0 0,10

10,100,10

0,0 0,10

10,100,10

a. b.

Figuur 4.8: Voorbeeld van goed en fout ingeven van de coordinaten. In a. is de volgorde (0,0)

(10,0) (10,10) (0,10), terwijl het in b. (0,0) (10,10) (0,10) (10,0) is.

heeft in principe geen limiet. Als men bv. 90 graden zou invullen betekend dit dat de persoon

maximum 90 graden met de wijzers van de klok mee, of maximum 90 graden tegen de wijzers

van de klok in kan draaien. Tenslotte wordt er ingegeven hoeveel personen met die instellingen

worden gecreerd. Als men meer dan een persoon creert, wordt er bij de naam een extra nummer

toegevoegd zodat we de individuen gemakkelijk van elkaar kunnen scheiden. vb. als er tien

Jannen tegelijk toegevoegd worden, zal de eerste Jan de naam “Jan 1” dragen, de tweede “Jan

2”,enz.

4.3.10 SetSysNauwkDialog

SetSysNauwkDialog of voluit “set systeem nauwkeurigheid dialoog venster” werkt met hetzelfde

principe als AddKamerDialog, nl. als je er nog een lijntje bij wil, moet je maar op de bovenste

knop klikken van het venstertje.

Uit de voorafgaande studie blijkt dat de nauwkeurigheid van het systeem afhangt van twee

parameters, nl. de afstand van een persoon tot het zendapparaat en het aantal zendapparaten.

Om dit te kunnen simuleren kan in dit dialoogvenstertje de nodige granulariteit ingeven worden.

Omdat het om een simulatie gaat zal men de nauwkeurigheid niet effectief kunnen meten, maar

moet men die ook ingeven. Men geeft als eerste parameter het aantal apparaten in, als tweede

parameter de afstand dat die apparaten maximaal van de persoon mogen verwijderd zijn en als

laatste welke nauwkeurigheid dit geeft.

Om dat allemaal in te stellen klik je op Opties –> Set Systeem Nauwkeurigheid.

Om nu bv. de nauwkeurigheid van het vakoverschrijdend project (uit de voorstudie) te simu-

leren, kan men als eerste parameter (het aantal apparaten) vier opgeven, als tweede parameter

Page 34: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

4.3 Het guipakket 23

(het aantal meter dat ze maximaal van de persoon verwijderd zijn) bv. 18 en als derde (de

nauwkeurigheid) 3,5. Let wel op dat als een persoon (meer bepaald het apparaat dat de persoon

draagt) niet genoeg zendapparaten in zijn buurt vindt, dat hij hopeloos verdwaald loopt. Wat

je best kan doen is een algemene regel toevoegen op het einde van het lijstje in de zin van: 1

apparaat op 500 meter geeft een nauwkeurigheid van 50. Er moet niet op volgorde van nauw-

keurigheid of zo ingegeven worden, wel moet men er op letten dat wanneer men nieuwe gradaties

toevoegt aan het systeem, de oude verdwenen zijn.

4.3.11 SelecteerPersoonDialog

Door dit dialoogvenster op te roepen (via Opties –> Selecteer Persoon) kan men een persoon

selecteren die men dan in het Wereldpaneel, en de details in het Infopaneel, kan volgen.

4.3.12 SetDELAYDialog

Dit dialoogvenster, eveneens onder het menu Opties, stelt de updatefrequentie in. Hoe kleiner

het getal, hoe sneller de simulatie een stap verder zal zetten, ongeacht de snelheid van de persoon.

Dit getal komt overeen met het aantal milliseconden dat er tussen twee stappen zit. Daarom

mag het ingegeven getal niet kleiner zijn dan 1 (omdat de Timer-klasse van java alleen werkt

met gehele getallen).

Page 35: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

EVALUATIE 24

Hoofdstuk 5

Evaluatie

In dit hoofdstuk voeren we testen uit op onze implementatie. Eerst beschrijven we de opstelling

van de plattegrond, de apparatuur en de personen die we gaan creeren. Voorts laten we de

personen wandelen zonder dat ze fouten maken, maar de globale systeemnauwkeurigheid laten

we varieren. Daarna stellen we de systeemnauwkeurigheid op nul in (zodat het systeem de

perfecte route aangeeft) en laten we de kans dat een persoon een fout maakt en zodus een

verkeerde richting volgt veranderen. Tenslotte testen we de combinatie van de twee.

Figuur 5.1: De test-opstelling

5.1 Opstelling

De opstelling kan gemakkelijk worden teruggevonden door in het help menu op de Load Demo

Data te klikken of het bestand DemoData.dat te openen. Voor een voorstelling van de omgeving

Page 36: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.2 Variatie van de systeemnauwkeurigheid 25

zie Figuur 5.1.

Er worden vier kamers, zes deuren en twaalf zendapparaten toegevoegd.

Figuur 5.2: Nauwkeurigheid = 0, kans dat de persoon afwijkt van de aangegeven richting = 0

Tenslotte voegen we 200 personen toe (we voegen 200 personen toe omdat we zo een beter

gemiddelde krijgen van de resultaten). Elke persoon heeft als naam Jan <nr> (met nr het

volgnummer), startlocatie (0,0), eindlocatie (300,199), snelheid = 2,0, errorprobabiliteit = 0,0

en de afwijking in graden = 90. Dit laatste geeft hier wel geen effect omdat de errorprobabiliteit

gelijk is aan 0. We werken voorlopig met een algemene systeem nauwkeurigheid. In deze

opstelling gaan we er van uit dat het systeem perfect verloopt. We geven dan bv. de volgende

getallen in: 1 (zend apparaat in een straal van) 5000 ((meter) geeft een systeem nauwkeurigheid

van) 0. Omdat we snel het eindresultaat willen bereiken stellen we de updatesnelheid op 1

milliseconde in. Nu laten we de simulatie lopen. Het eindresultaat kan u zien op Figuur 5.2.

Na aankomst zien we dat het gemiddelde kortste pad gelijk is aan de gemiddelde afgelegde

afstand. Het aantal kamers, deuren, zendapparatuur, hardware, de kost (van de zendapparatuur

en de hardware) en de personen worden allemaal netjes uitgeschreven. Alles is klaar om te testen.

In wat volgt zal de lengte van het kortste pad altijd even lang blijven nl.382,13 (meter).

5.2 Variatie van de systeemnauwkeurigheid

We laten de persoon het perfecte pad volgen, maar laten een onnauwkeurigheid van het systeem

toe. Eerst zal het systeem globaal onnauwkeurig zijn, later zal het dan afhangen van de positie

van de zendapparatuur.

Page 37: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.2 Variatie van de systeemnauwkeurigheid 26

Figuur 5.3: Nauwkeurigheid = 1, kans dat de persoon afwijkt = 0

5.2.1 Globale systeem onnauwkeurigheid

• Het systeem is globaal nauwkeurig tot op 1 meter

Met een globale systeem nauwkeurigheid van 1 meter zien we (in Figuur 5.3) dat de

gemiddelde afgelegde afstand gelijk is aan 390,83 meter, wat een verschil is van ongeveer

8 meter. Het wandelpad van Jan 1 is nu ook niet meer zo rechtlijnig. Deze Jan heeft

het blijkbaar beter gedaan dan het gemiddelde aangezien hij er maar 389,85 meter over

gedaan heeft. Bemerk ook dat de systeemlocatie ietsje verschilt van de locatie waar Jan

effectief staat. Het verschil is 0,4977 meter.

• Het systeem is globaal nauwkeurig tot op 5 meter

We stellen de globale nauwkeurigheid in op 5 meter. We pauzeren even de simulatie (zie

Figuur 5.4) en zien dat tussen (50,50) en (100,100) de personen niet zo mooi het ideale

pad meer volgen. Dit komt overeen met onze verwachtingen.

Eens ze allemaal waren aangekomen was de gemiddelde kortste afstand gelijk aan 594,43

meter wat al een heel pak meer is dan bij een nauwkeurigheid van 1 meter. Met een

nauwkeurigheid van 5 meter loopt men dus ongeveer 50% verder dan het kortste pad.

• Het systeem is globaal nauwkeurig tot op 20 meter

Wanneer we nu een stuk extremere waarden aannemen voor de nauwkeurigheid (bv. 20

meter), is de gemiddelde globale afgelegde afstand gelijk aan 1598,43 meter. Dit is meer

Page 38: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.2 Variatie van de systeemnauwkeurigheid 27

Figuur 5.4: Een moment-opname. Nauwkeurigheid = 5, kans dat de persoon afwijkt = 0

dan vier keer het kortste pad (gelijk aan 382,13 meter)! We moeten dus opletten dat ons

systeem niet te onnauwkeurig wordt, anders wordt het pad veel te lang.

5.2.2 De nauwkeurig hangt af van de zendapparaten

Laten we nu de volgende drie regels invoeren als granulariteit:

4 zendapparaten in een straal van 50 (meter) geeft een systeem nauwkeurigheid van 1,

3 zendapparaten in een straal van 110 (meter) geeft een systeem nauwkeurigheid van 5 en

3 zendapparaten in een straal van 5000 (meter) geeft een systeem nauwkeurigheid van 20.

Figuur 5.5: De nauwkeurigheid hangt af van de positie

Starten we nu de simulatie. Nadat iedereen is aangekomen zien we (op Figuur: 5.5) dat de

Page 39: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.3 Variatie van de errorprobabiliteit van de persoon 28

gemiddelde afstand 589,58 is. Dit is net ietsje beter dan de globale nauwkeurigheid van 5 meter.

Dit hadden we ergens wel verwacht omdat er een stuk tussen zit waar de personen nauwkeuriger

lopen.

Laten we nu even nader de weg van Jan 22 bekijken. In het begin liep hij redelijk goed. Hij had

(zogezegd met zijn toestel) een precisie van 5 meter en is vlot naar de andere kamer kunnen gaan.

In die kamer werd hij hier en daar verkeerd gestuurd totdat hij 4 zendapparaten in een straal

van 50 meter had. We zien dat hij nu bijna perfect naar de deur geleid wordt. Wanneer hij dan

in de kamer ernaast terug maar 3 zendapparaten binnen een straal van 110 meter heeft, wordt

hij terug niet goed begeleid door het systeem en kronkelt zijn pad naar de eindlocatie. Jan 22

zelf heeft een afstand afgelegd van 798,84, wat ongeveer 200 meter meer is dan het gemiddelde

en 400 meter meer dan het kortste pad.

5.2.3 Besluit

We kunnen dus besluiten dat de systeemnauwkeurigheid op een realistische manier wordt gesi-

muleerd. Bij een zeer nauwkeurig systeem zal de afgelegde afstand niet veel meer zijn dan het

kortste pad, terwijl bij een minder nauwkeurig systeem de afstand soms zeer ver kan zijn.

5.3 Variatie van de errorprobabiliteit van de persoon

Na de nauwkeurigheid van het systeem getest te hebben, gaan we eens kijken hoe de persoon

het ervan afbrengt als hij verkeerd loopt. In het volgende zal steeds de systeemnauwkeurigheid

gelijk zijn aan 0, wat het ideale systeem zou zijn. De persoon zal eerst een errorprobaliliteit van

0,1 en dan een van 0,5 hebben. We eindigen met een test waar de persoon in 90 procent van de

gevallen fout loopt.

5.3.1 Errorprobaliliteit van 0,1

Stel nu dat het systeem perfect loopt, maar de persoon niet. Laten we, om te starten, beginnen

met kleine waarden. Stel dat een persoon een errorprobabiliteit van 0,1 wordt toegewezen. Dit

wil zeggen dat de persoon een op de tien keer verkeerd loopt. We stellen nu zijn maximumaf-

wijking op 45 graden in. Wat wil zegen dat, als hij verkeerd loopt, hij maximaal 45 graden van

de juiste richting zal afwijken. Starten we nu de simulatie. Op het moment dat alle personen

aangekomen zijn krijgen we een gemiddelde afstand van 386,5 meter, wat maar 4,37 meter ver-

schilt van het kortste pad (dat gelijk is aan 382,13 meter). In het totaal komt er maar 1% van

Page 40: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.3 Variatie van de errorprobabiliteit van de persoon 29

de afstand bij.

We veranderen nu even de hoek van 45 graden naar 90 graden (de errorprobabiliteit blijft

gelijk). We verkrijgen een totale gemiddelde afstand van 396,38 meter. Dit is ongeveer 10 meter

verder dan de test met 45 graden en 15 meter (of 4%)verder dan het kortste pad.

Laten we nog steeds een errorprobabiliteit van 0,1 gebruiken, maar nu de maximale rich-

tingsafwijking op 180 graden instellen. De uitkomst is dat ze er gemiddeld 423,76 meter over

gedaan hebben. Hetgeen ongeveer 25 meter slechter is dan het vorige resultaat met 90 graden,

37 meter verschilt van de test met 45 graden en 21 meter (of 5%) scheelt met het kortste pad.

We kunnen uit deze resultaten besluiten dat als de persoon in 10 procent van de gevallen

een fout maakt, zijn totale afstand vermeerderd wordt met 1% bij 45 graden, 4% bij 90 graden

en 5% bij 180 graden.

5.3.2 Errorprobaliliteit van 0,5

De persoon krijgt nu een errorprobabiliteit van 0.5 wat wil zeggen dat hij een op de twee keer een

verkeerde richting neemt. Stel nu, als hij een verkeerde richting neemt, zijn afwijking maximaal

45 graden is. Het gemiddelde kortste pad bedraagt nu 403,67, wat iets minder dan 6% verder is

dan het kortste pad.

Als we nu een hoek van 90 graden als maximale afwijking nemen, blijkt dat er gemiddeld

465,65 meter over gedaan wordt. Dit is ongeveer 80 meter of bijna een vierde verder dan het

kortste pad.

Stel nu dat de persoon, de fout maakt in een richting die maximaal 180 graden kan afwijken.

We laten de simulator lopen en zien op Figuur 5.6 dat de gemiddelde afgelegde afstand 753,97

is, wat bijna het dubbele is van de lengte van het kortste pad.

Omdat er eigenlijk geen limiet zit op het aantal graden dat een persoon verkeerd kan lopen

proberen we eens te lopen met een maximum afwijking van de richting van 270 graden. Het

resultaat is een beetje bevreemdend. Men zou denken dat die personen ongeveer even ver lopen

als de test hiervoor, maar na het runnen van de simulatie werd er gemiddeld een afstand van

953,41 meter afgelegd. Dit is zo’n 200 meter verder dan de vorige test en ongeveer 2,5 keer het

kortste pad. Dit komt omdat hij, als hij een fout maakt, meer kans heeft om achteruit te lopen

dan vooruit te lopen. Als je 270 graden kan afwijken, is dat 1 op 3 kans dat je vooruit loopt en

2 op 3 dat je achteruit loopt.

Page 41: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.3 Variatie van de errorprobabiliteit van de persoon 30

Figuur 5.6: Een persoon loopt voor de helft van de tijd verkeerd met een afwijkende richting

van 180 graden

5.3.3 Errorprobaliliteit van 0,9

Stellen we nu de errorprobabiliteit van een persoon op 0,9. Als eerste testen we wat hij zou doen

als hij een maximale afwijking zou hebben van 45 graden. We passen de simulator aan en laten

hem lopen. Wat blijkt, de gesimuleerde personen lopen maar 10% (of 40 meter) verder dan het

kortste pad. Laten we dit even nader bekijken.

Alhoewel een persoon voor 90 procent verkeerd loopt, zal zijn effectieve afwijking maar

maximaal 45 graden verschillen van de juiste richting, wat nog steeds ongeveer de goede richting

is. Maar als hij dan in een volgende stap terug verkeerd loopt, maar nu met een tegengestelde

hoek (bv. eerst liep hij 20 graden verkeerd, nu loopt hij -20 graden verkeerd), komt hij terug op

het juiste pad terecht.

Als nu de maximale afwijking op 90 graden staat bekomen we een gemiddelde afstand van

570,72 meter. Wat 50% verder is dan het kortste pad.

Een laatste test met een errorprobaliliteit van 0,9 voeren we uit met een afwijking van 180

graden. Na enige tijd merken we dat de personen nogal wat in het rond aan het lopen zijn (zie

Figuur 5.7). Let vooral op de gemiddelde afgelegde afstand. Deze is dan ook al vijf keer de

afstand van het kortste pad. Uiteindelijk komen alle personen aan is en het gemiddelde pad

3287,86 meter, wat 8,6 keer verder is dan het kortste pad.

Page 42: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.4 Variatie van systeemnauwkeurigheid en errorprobabiliteit van persoon 31

Figuur 5.7: Tussenresultaat voor 90% kans op verkeerdlopen en een afwijking van 180 graden

5.3.4 Besluit

Bij een errorprobaliliteit van 0,1 volgt de persoon nog goed het kortste pad (hij loopt max 6%

verder in onze test). Als nu de errorprobabiliteit 0,5 is, dan is de afwijking van 45 graden

nog aanvaardbaar (6% verder), deze van 90 graden een stuk minder aanvaardbaar (25% verder)

en is de afwijking van 180 graden niet meer aanvaardbaar (het dubbele van het kortste pad).

Voor de extreme gevallen waar de persoon in 90 procent van de gevallen verkeerd liep, werd

voor een maximale afwijking van 45 graden maar 10% verder gelopen. Dit komt waarschijnlijk

doordat als een persoon in een ene stap een bepaalde afwijking van richting had, deze afwijking

gecompenseerd werd door een andere stap. Voor een grotere afwijking van de richting werd er

bij de bovengrens van 90 graden 50% verder gelopen en werd bij een bovengrens van 180 graden

de afstand van het kortste pad meer den verachtvoudigd.

5.4 Variatie van systeemnauwkeurigheid en errorprobabiliteit

van persoon

Nu we weten dat de systeemnauwkeurigheid en het errorprobabiliteitssyteem goed werken kun-

nen we ze beiden tegelijk gaan testen. Stellen we nu dezelfde granulariteit in als in onderdeel

5.2.2. We brengen terug 200 personen aan met een kans op afwijking van 0,25 en een maximale

afwijking van de richting van 45 graden. Dit geeft een gemiddelde afstand van 605,09 meter,

wat 59% verder is dan de kortste afstand.

Page 43: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

5.5 Besluit 32

We geven nu de personen een errorprobabiliteit van 0,5 meter en een afwijking van maximaal

90 graden als ze verkeerd lopen. Nadat alle personen zijn aangekomen hebben we een gemiddelde

afstand van 728,44 meter, wat bijna het dubbele is van het kortste pad.

Figuur 5.8: Tussenresultaat voor 90% kans op verkeerdlopen en een afwijking van 180 graden

We stellen nu wat extremere waarden in voor de persoon nl. een errorprobabiliteit van 0.9

en een afwijking van maximaal 360 graden. Een tussen resultaat kan je zien op figuur 5.8.

Iedereen loopt een beetje overal, wat ook wel te verwachten was. We zijn maar gestopt toen

ze een gemiddelde afstand van 2500 meter hadden afgelegd, omdat het toch niet veel nut meer

heeft.

We kunnen dus samenvatten dat met beide onnauwkeurigheden, het systeem en de persoon,

de simulatie een realistisch beeld schept.

5.5 Besluit

We kunnen nu uit de testen besluiten dat de simulator werkt volgens verwachting als je alleen

maar systeemonnauwkeurigheid hebt, alleen een persoon die af en toe verdwaald hebt, of de

combinatie van de twee vorige hebt.

Page 44: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

CONCLUSIE 33

Hoofdstuk 6

Conclusie

We hebben met deze thesis onze doelstelling bereikt. We hebben een managementstool gecreeerd

zodat het nut van location based services kan bepaald worden (door simulatie). Er kan een

plattegrond getekend worden met kamers en deuren. Zendapparatuur en hardware hebben een

bepaalde kost en kunnen toegevoegd worden. Zendapparatuur heeft ook een invloed op de

nauwkeurigheid van het systeem. Men kan meerdere personen toevoegen en ingeven waar men

vertrekt en waar men zal aankomen. Men kan ook tussendoor opslaan (bv. men heeft de kamers

en deuren getekend, maar men wil testen met verschillende opstellingen van zendapparatuur).

De simulatie kan dan gestart worden en de gesimuleerde personen kunnen dan genavigeerd

worden (goed of fout, afhankelijk van de nauwkeurigheid) naar hun eindlocatie. De gebruiker

van deze applicatie zal dan de “wandeling” van de ingevoerde personen kunnen volgen. Tijdens

het verloop van de simulatie kan men ook verschillende info raadplegen zoals de reeds afgelegde

afstand, hoeveel kamers, deuren, zendapparatuur er zijn,... Men kan ook als men de simulatie

tussendoor even stopt, deze gegevens opslaan.

Eens de simulatie gestopt is (alle personen hebben hun eindbestemming bereikt) kan men

de bekomen gegevens bezichtigen en opslaan om ze later te raadplegen als dat nodig zou zijn.

Page 45: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

BIBLIOGRAFIE 34

Bibliografie

[1] http://java.sun.com/

[2] Wikipedia, the free encyclopedia that anyone can edit.

http://en.wikipedia.org

[3] Inleiding tot de GPS.

http://www.gps.oma.be/nl/lbesch nl ok css.htm

[4] WiFi

http://www.wi-fi.org/

[5] http://www.bluetooth.com/bluetooth/

[6] zigbee

http://www.zigbee.org

[7] RADAR

http://www.radarpages.co.uk/

[8] R. Periannan, “Existing Technology of Cellular Networks-Mobile Phones”,

http://www.doc.ic.ac.uk/nd/surprise 96/journal/vol1/pr4/article1.html

[9] http://www.umtsworld.com/

[10] smartfloor

http://www-static.cc.gatech.edu/fce/smartfloor/

[11] The Active Badge System

http://www.cl.cam.ac.uk/Research/DTG/attarchive/ab.html

[12] RFID

http://www.rfid-technologie.nl/index.php

Page 46: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

BIBLIOGRAFIE 35

[13] J.Leybaert, D. Thom, W. Vandendriessche, R. Verplancke, “Localisatiebepaling met Wi-Fi”

in Vakgroep INTEC, Universiteit Gent, 2005.

[14] A. Haerberlen, E. Flannery, A. M. Ladd, A. Rudys, D. S. Wallach, L. E. Kavraki “Practical

Robust Localization over Large-Scale 802.11 Wireless Networks” Rice University, 2004.

[15] JGraphT a free Java graph library

http://jgrapht.sourceforge.net/

Page 47: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken

LAYOUT VAN DE BIJGEVOEGDE CD-ROM 36

Bijlage A

Layout van de bijgevoegde CD-ROM

Op de bijgevoegde CD-Rom bevindt zich alle gebruikte software:

• De broncode van de applicatie

• De applicatie zelf

• De broncode en het pdf bestand van deze scriptie

U kan de applicatie starten door op thesis.bat te klikken in de map programma.

Page 48: Bepalen van de nauwkeurigheid van location based services door …lib.ugent.be/fulltxt/RUG01/001/020/501/RUG01-001020501... · 2020. 2. 25. · Ir. Matthias Strobbe willen bedanken