Click here to load reader
View
2
Download
0
Embed Size (px)
SVEUČILIŠTE U ZAGREBU
FAKULTET ORGANIZACIJE I INFORMATIKE
V A R A Ž D I N
Marin Rukavina
AGENTI U 3D OKOLINI
DIPLOMSKI RAD
Varaždin, 2015.
SVEUČILIŠTE U ZAGREBU
FAKULTET ORGANIZACIJE I INFORMATIKE
V A R A Ž D I N
Marin Rukavina
Matični broj: 42617/13–R
Studij: Baze podataka i baze znanja
AGENTI U 3D OKOLINI
DIPLOMSKI RAD
Mentor:
Doc.dr.sc. Markus Schatten
Varaždin, studeni 2015.
I
Sadržaj
1. Uvod ...................................................................................................................................... 1
2. Agenti i višeagentni sustavi ................................................................................................... 3
2.1. Pojam agenta .................................................................................................................. 3
2.1.1. Programi, objekti, ekspertni sustavi i umjetna inteligencija ................................... 4
2.2. Višeagentni sustav .......................................................................................................... 6
2.3. Konačni automati ............................................................................................................ 6
2.3.1. Agent kao konačni automat ..................................................................................... 8
2.4. Vrste okolina .................................................................................................................. 8
3. Agenti u 3D okolini ............................................................................................................. 11
3.1. Pojam prostora u tri dimenzije ..................................................................................... 11
3.1.1. Euklidski vektorski prostor ................................................................................... 12
3.1.2. Gibanja i pomaci u Euklidovom prostoru ............................................................. 13
3.1.3. Agentno razumijevanje prostorne stereometrije .................................................... 14
3.2. Pokretni strojevi s mogućnosti programiranja .............................................................. 15
3.2.1. Roboti .................................................................................................................... 15
3.2.1.1. Primjeri ........................................................................................................... 16
3.2.1.2. Robot Shakey ................................................................................................. 19
3.2.2. Bespilotna prijevozna sredstva .............................................................................. 20
3.2.2.1. Bespilotne letjelice ......................................................................................... 20
3.3. Percepcija okoline i senzorska tehnologija ................................................................... 21
3.3.1. Senzori udaljenosti ................................................................................................ 22
3.4. Otkrivanje okoline ........................................................................................................ 24
3.4.1. Procjena položaja .................................................................................................. 26
3.4.2. Akvizicija 3D podataka ......................................................................................... 27
3.4.3. Mapiranje ............................................................................................................... 27
3.4.3.1. Reprezentacije metričkih mapa ...................................................................... 28
3.4.3.2. Implementacija metričkih mapa ..................................................................... 28
3.4.4. Istraživanje ............................................................................................................ 30
3.4.4.1. Rubne metode ................................................................................................. 31
3.4.4.2. Metode temeljene na dobitku informacija ...................................................... 31
4. Simulacija 3D višeagentnih sustava .................................................................................... 34
4.1. Potreba .......................................................................................................................... 34
4.2. Pregled postojećih višeagentnih 3D simulatora ........................................................... 34
4.2.1. V-REP ................................................................................................................... 35
II
4.2.2. Entorama ............................................................................................................... 37
4.2.3. AMP ...................................................................................................................... 38
4.2.4. FLAME ................................................................................................................. 40
5. Primjer: Simulator agentnog ponašanja u 3D okolini ......................................................... 42
5.1. Zamisao simulatora ...................................................................................................... 42
5.1.1. Vrsta okoline ......................................................................................................... 43
5.1.2. Podmornica kao agent ........................................................................................... 43
5.1.3. Učitavanje scenarija i neovisnost od definicije terena .......................................... 44
5.1.4. Orijentacija na modularna ponašanja .................................................................... 45
5.2. Odlučivanje o platformi ................................................................................................ 45
5.3. Pregled korištenih tehnologija i biblioteka ................................................................... 46
5.3.1. Three.js .................................................................................................................. 46
5.3.2. Tween.js ................................................................................................................ 48
5.3.3. Enmasse.io suita .................................................................................................... 49
5.3.3.1. Hypertimer ..................................................................................................... 50
5.3.4. Ostale tehnologije .................................................................................................. 51
5.4. Implementacija ............................................................................................................. 52
5.4.1. Definicija terena .................................................................................................... 52
5.4.2. Simulator ............................................................................................................... 54
5.4.2.1. Detekcija kolizija ............................................................................................ 54
5.4.3. Agenti .................................................................................................................... 55
5.4.4. Ponašanja ............................................................................................................... 57
5.4.4.1. Algoritmi istraživanja ..................................................................................... 59
5.4.5. Meniji, izgled simulatora i ostala funkcionalnost.................................................. 60
5.5. Diskusija ....................................................................................................................... 62
5.5.1. Akvizicija 3D podataka ......................................................................................... 63
5.5.2. Sposobnosti istraživačkog ponašanja .................................................................... 63
5.5.3. Organizacija koda .................................................................................................. 65
6. Zaključak ............................................................................................................................. 67
7. Literatura ............................................................................................................................. 68
8. Popis slika ............................................................................................................................ 70
9. Popis isječaka koda .............................................................................................................. 71
10. Prilozi ........................................................................................................................... 72
10.1. Resursi .................................................................................................................... 72