Upload
others
View
13
Download
1
Embed Size (px)
Citation preview
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 1
SUSTAVI PRIVIDNE STVARNOSTI U PROMETU
prof. dr. sc. Hrvoje Gold2009/2010
Sveučilište u ZagrebuFakultet prometnih znanosti
1
04. ARHITEKTURA SUSTAVA PRIVIDNE STVARNOSTI
SUSTAVI PRIVIDNE STVARNOSTI U PROMETU
2
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 2
Arhitektura sustava prividne stvarnosti
• Uvod
• Sustavi zasnovani na grafu scene
• Semantički model prividnog okruženja
• Generička arhitektura sustava prividne stvarnosti
• Raspodijeljena prividna okruženja
3
Uvod ...
• Izrada sustava prividne stvarnosti za podršku prividnim okruženjima– potrebna raznovrsna znanja
• npr. od psihologije do računalnih mreža
– široko područje primjene• znanstvene vizualizacije, simulacije, obuka, igre i sl.
• monolitne arhitekture sustava– posebno se razvijaju za pojedine primjene
– ograničena mogudnost ponovne upotrebljivosti sastavnica sustava
• modularne arhitekture sustava– razvoj ponovno upotrebljivih programskih alata i biblioteka klasa
4
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 3
Uvod ...
• Primjeri monolitnih arhitektura sustava prividne stvarnosti– raspodijeljeno interaktivno prividno
okruženje – DIVE (Distributed Interactive Virtual Environment)
– model, arhitektura i sustav za prostornu interakciju u prividnom okruženju –MASSIVE (Model, Architecture and System for Spatial Interaction in Virtual Environments)
– suradničko 3D okruženje na Internetu –NPSNET
– podesiva platforma za velika interaktivna umrežena okruženja – SPLINE (Scalable Platform for Large Interactive Networked Environments)
– sustav raspodijeljenog prividnog okruženja –dVS
DIVE
MASSIVE
NPSNET
SPLINE
5
Uvod ...
• Primjeri programskih alata– više platformski alat za razvoj
stvarnovremenskih 3D aplikacija –WorldToolkit
– okvir za raspodijeljenu prividnu stvarnost – Avocado
– nadogradljiva platforma za razvoj aplikacija prividne stvarnosti – VR Juggler
– razvojna okolina za izgradnju stvarnovremenih 3D aplikacija –Virtools
– programski okvir za simulaciju prividnih ljudskih likova – VHD++
Razvojna okolina za izgradnju stvarnovremenih 3D aplikacija
6
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 4
Arhitektura sustava prividne stvarnosti
• Uvod
• Sustavi zasnovani na grafu scene
• Semantički model prividnog okruženja
• Generička arhitektura sustava prividne stvarnosti
• Raspodijeljena prividna okruženja
7
Sustavi zasnovani na grafu scene ...
• Sustavi zasnovani na grafu scene– hijerarhijski prikaz prividnog okruženja
• graf scene – strukture stabla
– okruženje je sastavljeno od • objekata – podataka scene
• odnosa između objekata
– graf povezuje pravila igre, fiziku, animaciju i sustave umjetne inteligencije s grafičkim procesorom
– graf sastavljen od• čvorova roditelja, čvorova djece i objekata
8
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 5
Sustavi zasnovani na grafu scene ...
• Čvorovi roditelji / čvorovi skupine– priređuju i ponekad nadziru
tumačenje čvorova nasljednika– drže zajedno graf scene
• Čvorovi djeca su– čvorovi skupine ili krajnji čvorovi
• Krajnji čvorovi /listovi– nemaju nasljednika– opisuju osnovne semantičke
elemente grafa • geometriju – što treba nacrtati• zvukove – što treba svirati• osvjetljenje – kako osvijetliti objekte• ponašanje – koje naredbe izvršiti
– odnose se na podatke objekata– nisu čvorovi grafa scene, ali sadrže
podatke koje traže ‘listovi’
Prividni svijet
Grana sadržaja
Grana prikaza
Čvor grupe Čvor grupe
Lokalno
Ponašanje
Kôd ponašanja
Ambi.rasv.
Izrav.rasv.Čvor pretvorbe
Čvor pretvorbe Čvor pretvorbe Čvor pretvorbe
3D oblik 3D oblik 3D oblik
3D oblikIzgled Geome. Geome.
Čvor pretvorbe
Platformaprikaza
Pogled
Fizičkotijelo
Fizičkookruženje
3D plat.
Graf scene
9
Sustavi zasnovani na grafu scene ...
• Implementacije programskog korisničkog sučelja (Application Programming Interface – API) grafa scene– izrada stvarnovremenih vizualnih simulacija i interaktivnih
3D grafičkih aplikacija– OpenGL Performer
• komercijalna inačica Open Inventor projekta otvorenog kôda– objektu usmjereni model programiranja zasnovan na bazi podataka
(grafu) 3D scene – viša razina programiranja za OpenGL– biblioteka grafa scene
– Java3D• na grafu scene zasnovani API za razvoj 3D aplikacija u
programskom jeziku Java• razvoj web zasnovanih aplikacija sa stvarnovremenom 3D grafikom
– Cosmo3D (SGI), Vega Scene Graph, OpenSceneGraph
10
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 6
Sustavi zasnovani na grafu scene ...
• Implementacije grafa scene osnovane su na– hijerarhijskom prostornom prikazu objekata u sceni
• npr. na terenu je smještena kuda, unutar kude je osoba koja ima knjigu u ruci
• Semantička informacija zapisana u grafu scene– odgovara vizualnom gledištu, geometriji scene i
pridruženim zvučnim efektima
– navode se osnovni odnosi između objekata• npr. ‘pametnim’ jednostavnim objektima i alatima, knjiga,
upravljač, pridružena sučelja koja opisuju način dohvata i ponašanja objekata
11
Sustavi zasnovani na grafu scene ...
• Prilagodljivost i ponovna upotrebljivost sastavnica aplikacija prividnih okruženja– razvijeni okviri programskih sastavnica
• gospodarenje i izgradnja blokova sustava
• npr. prilagodljivo dinamičko okruženje u Javi – JADE (Java Adaptive Dynamic Environment) – dinamičko gospodarenje sastavnicama i sredstvima sustava prividnog okruženja za vrijeme izvođenja sustava
– na razini izvornog kôda• ostvarena ponovna upotrebljivost do određene mjere
– kod implementacije algoritama animacije, vizualizacije i interakcije
– otežano ponovno korištenje znanja pridruženog prividnim objektima
12
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 7
Arhitektura sustava prividne stvarnosti
• Uvod
• Sustavi zasnovani na grafu scene
• Semantički model prividnog okruženja
• Generička arhitektura sustava prividne stvarnosti
• Raspodijeljena prividna okruženja
13
Semantički model prividnog okruženja ...
• Semantički model prividnog okruženja – prikazi više razine značenja / semantike prividnih
okruženja• unapređuju sposobnosti ponovne upotrebljivosti i
prilagodljivosti prividnih objekata
– prividni objekti se promatraju kao složene jedinke sa različitim vrstama pridruženih podataka i znanja
– izgrađuje se na grafu scene • naglasak je na višim semantičkim razinama
– ne na vizualnim ili prostornim odnosima
14
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 8
Semantički model prividnog okruženja ...
• Semantički model
– za svaki objekt / digitalnu jedinku navode se
• geometrijski prikazi
• područja funkcionalnosti
– digitalna jedinka može biti
• prividni objekt koji se iscrtava kao dio scene
• nezavisno korisničko sučelje i kontrola za animaciju i interakciju
15
Semantički model prividnog okruženja ...
• Određenje semantičkog modela– osnovno obilježje prividnog entiteta (objekta ili lika) je
njegov prostorni oblik– prividno okruženje je geometrijski zasnovana aplikacija– zavisno o kontekstu oblik entiteta se mijenja
• postoje konteksti u kojima se istovremeno rukuje s brojnim oblicima koji pripadaju istom prividnom entitetu
• npr. prikaz prividnog lika na velikom zaslonu – potrebne su informacije za iscrtavanje 3D oblika u visokoj razlučivosti
– oblik se nadzire interaktivno preko različitih prikaza » pojednostavljenog oblika ili kontrola grafičkog korisničkog sučelja,
npr. izbornika, klizača– nezavisni prikazi zahtjevna sinkronizacija podataka
16
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 9
Scena
Semantički deskriptor
Kontroler Digital. jed. Geometrijski deskriptor
Oblik
Semantički model prividnog okruženja ...
• Semantički model– obuhvada skup geometrijskih
i /ili apstraktnih prikaza svakog prividnog objekta • s pridruženim opisom koji
obavještava sustave za iscrtavanje i sučelje o načinu rukovanja s objektom
– primjer dijagrama klasa semantičkog modela prividnog okruženja i mogudih alata za nadzor i interakciju s okruženjem
Semantički prikaz interaktivnog prividnog okruženja
17
Semantički model prividnog okruženja ...
• Scena – glavni spremnik modela prividnog okruženja– reference na digitalne jedinke– spremište podataka koje koriste
• digitalne jedinke i programski alati, npr. preglednici ili interaktivni uređaji
• Semantički deskriptor digitalne jedinke– informacije o digitalnoj jedinki
• u stroju i čovjeku čitljivom obliku
– ulazne točke za kontrole scene • odabir ispravne geometrije i sučelja za prikaz
– mjesto za pohranu opisa načina korištenja jedinke i njezinog odnosa prema ostalim jedinkama u sceni
18
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 10
Semantički model prividnog okruženja ...
• Geometrijski deskriptor digitalne jedinke– označava vrstu oblika pridruženog jedinki
• npr. izobličena mreža, člankovito tijelo s zglobovima i segmentima i sl.• H-Anim - standardni opis hijerarhijske strukture za animaciju
humanoidnog modela člankovitog tijela• mogude pridružiti i druge modele člankovitog tijela
– s različitim brojem zglobova i složenošdu segmenata – 3D oblika pridruženih svakom zglobu
• Za potpuni prikaz prividnog okruženja– semantički model izražava odnose između entiteta– semantički deskriptori
• opisuju objekte i/ili likove u sceni • izgrađuju graf scene
– digitalne jedinke sastavljene su od drugih jedinki i u različitim su međusobnim odnosima, npr. zajedno se kredu ili potiču druge
19
Semantički model prividnog okruženja ...
• Načini kontrole digitalnih jedinki– interaktivne kontrole
• zahtijevaju poticaj, npr. korisnika
– samostalne animacijske kontrole• algoritmi izgrađuju ponašanje ili animaciju
• Kontroler opisuje mogude interakcije– predprogramirano ponašanje objekta
• kao reakcija na čovjekov poticaj• način pristupa objektu• npr. interaktivna kontrola opisa animacije otvaranja i zatvaranja vrata i
parametara za nadzor tog ponašanja– ostvarenje različitih sučelja za pristup istim parametrima
» npr. 3D manipulatori ili 2D GUI kontrole
– digitalne jedinke se pokredu / animiraju samostalno ili na poticaj
20
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 11
Semantički model prividnog okruženja ...
• Kontrola i prikaz prividnih entiteta– preglednici i sučelja zavise o
• raspoloživim uređajima i sklopovlju
• informacijama pridruženim prividnom objektu ili liku
– npr. uz postojanje alternativnih prikaza u semantičkom deskriptoru prividni lik • se iscrtava kao
– 3D model visoke razlučivosti u OpenGL zasnovanom pregledniku
– pojednostavljeni lik prikazan na zaslonu džepnog računala – PDA
• i kontrolira – 3D manipulatorom ili
– 2D GUI kontroli
21
Semantički model prividnog okruženja
• Semantički model se koristi i u razvoju
– aplikacija s prilagodljivim kombiniranim sučeljima
– npr. prividni likovi se nadziru
• sustavom za prepoznavanje pokreta koji otkriva geste lica
• džepnim računalom kojem je dodan ulazni uređaj s šest stupnjeva slobode – ‘mobilni animator’
Mobilni animator
22
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 12
Arhitektura sustava prividne stvarnosti
• Uvod
• Sustavi zasnovani na grafu scene
• Semantički model prividnog okruženja
• Generička arhitektura sustava prividne stvarnosti
• Raspodijeljena prividna okruženja
23
Generička arhitektura sustava ...
• Generička arhitektura sustava prividne stvarnosti
– cilj je povedati ponovljivost upotrebe programskih alata uz povedanje raznolikosti razvijenih aplikacija
– sastavljena od
• aplikacijskog sloja
• grafičkog sloja
• sloja iscrtavanje
APLIKACIJSKI SLOJ
GRAFIČKI SLOJ
SLOJISCRTAVANJA
Generička arhitektura
24
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 13
Generička arhitektura sustava ...
• Aplikacijski sloj– izrada korisničkog sučelja
• GUI alati – Qt, Gtk, wxWidgets
• Grafički sloj– izrada 3D modela / grafičkih objekata
• strukturirani grafom scene • nadzirani grafovima ponašanja
– opisuju događajima i vremenom uvjetovano ponašanje objekata
• grafovi pohranjeni na platna (canvas) / spremnike
• Sloj iscrtavanja– priključivanje prilagodnika za različite tehnike iscrtavanja
• OpenGL, RenderMan, POVRay
25
Generička arhitektura sustava
• Dodatna sastavnica arhitekture– nadzor ulazno/izlaznih uređaja
• npr. lokatora kretanja ili osjetilnih rukavica
– nadzor uređaja vlastitim upravljačkim računalom
– razmjena podataka između upravljačkog računala i glavne aplikacije• mrežni prijenos TCP/IP protokol
• mogudnost podjele podataka koji opisuju prividno okruženje između više korisnika
– višekorisnička i raspodijeljena prividna okruženja
26
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 14
Arhitektura sustava prividne stvarnosti
• Uvod
• Sustavi zasnovani na grafu scene
• Semantički model prividnog okruženja
• Generička arhitektura sustava prividne stvarnosti
• Raspodijeljena prividna okruženja
27
Raspodijeljena prividna okruženja
• Raspodijeljena prividna okruženja– Distributed Virtual Environment – DVE – programski sustav koji omogudava
korisnicima računalne mreže međusobni interaktivan rad uz zajednički uvid u prividno okruženje
– porastom broja korisnika i rasprostranjenošdu mreže Internet • problem prilagođenja interakcije
radu u stvarnom vremenu
– pristupi nadogradivosti sustava• arhitektura komunikacijskog sustava,
upravljanje značajem, nadzor istodobnosti obnavljanja, preslikavanje podataka, raspodjela opteredenja
Raspodijeljena prividna okruženja
28
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 15
Arhitektura komunikacijskog sustava ...
• Arhitektura komunikacijskog sustava
– korisnik i poslužitelj
– ravnopravni korisnici
– ravnopravni korisnici i poslužitelj
29
Arhitektura komunikacijskog sustava ...
• Model korisnik – poslužitelj (client – server)
– sve poruke korisnika se upuduju poslužitelju
– poslužitelj poruke raspodjeljuje svima ili samo nekim korisnicima zavisno o potrebi istodobnosti dostave
– porastom broja korisnika – kašnjenje u obradi poslužitelja
• dodatni poslužitelj – kašnjenje u prijenosu
30
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 16
Arhitektura komunikacijskog sustava
• Model ravnopravnih korisnika (peer-to-peer)– korisnici izravno izmjenjuju poruke
– dijele sredstva računala, npr. memoriju• odgovornost za filtriranje i sinkronizaciju poruka na korisniku
• Model ravnopravnih korisnika i poslužitelja (peer-to-server)– dobre strane prethodnih modela
– poslužitelj – dosljednost u gospodarenju
– istodobni prijenos poruka grupi korisnika uz najpovoljnije usmjeravanje prijenosa podataka - multicast
31
Upravljanje značajem ...
• Upravljanje značajem (interest management)– mrežna oprema skuplja od opreme za obradu
– upravljanje porukama prema značaju• korisnik ne treba stalno primati sve podatke o
prividnom svijetu ved samo one za koje je zainteresiran
– postupci filtriranja poruka • podjela prividnog svijeta u područja
– izvan sustava (offline)
• ograničenje na područje zanimanja korisnika – u stvarnom vremenu
32
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 17
Upravljanje značajem
• Određenje razine primjedenosti između dva objekta– vrijednosti jačine usredotočenosti i ‘halo’ učinka
• objekt A usredotočen na objekt B• objekt A ima halo učinak na objekt B• objekt B usredotočen na objekt A• objekt B ima halo učinak na objekt A
– ako ‘aureole’ objekata A i B nemaju zajedničkih sastavnica vrijednosti su nula
– usredotočenost opisuje • usmjerenost pozornosti korisnika
– halo učinak opisuje • pojavnost i primjedenost opažanog objekta
– primjedenost sastavljena od aureole opaženog i usredotočenosti opažača
– aureola je podprostor koji djelotvorno ograničava prisustvo objekta unutar zadanog medija
– aureola, usredotočenost i halo učinak• više vrijedne funkcije proizvoljnog dosega i zavisne o mediju
Upravljanje značajem u suradničkim svijetovima
Halo učinak od B
Usredotočenost na A
Primjedenost B od A
33
Nadzor istodobnosti obnavljanja ...
• Informacije koje se dijele u suradničkoj mreži– preslika se sprema na svakom korisničkom mjestu
• posebno u slučaju zemljopisno udaljenih mjesta
• pristup i obnavljanje podataka na mjestu korisnika
• brža interakcija
– problem održavanja ažurnosti preslika• višestruka istodobna obnavljanja na mreži
• nedosljednost viđenja prividnog svijeta između korisnika
• porast kašnjenja prijenosa podataka– porast neusklađenosti između operacija
• nadzor istodobnosti obnavljanja preslika
34
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 18
Nadzor istodobnosti obnavljanja ...
• Nadzor istodobnosti obnavljanja preslika– pesimistički
– optimistički
– predviđanjem
• Pesimistički pristup– korisnik pristupa objektima samo kada mu je dodijeljena
dozvola pristupa, vlasništvo nad objektom
– osigurana potpuna dosljednost
– smanjenje interaktivnosti• veliki broj korisnika – kašnjenja u prijenosu podataka
35
Nadzor istodobnosti obnavljanja
• Optimistički pristup– korisnik pristupa objektima bez provjere mogudih
neusklađenosti između mjesnog i stvarnog stanja– pojavom neusklađenosti
• potreba za popravkom stanja• povedanje složenosti sustava
• Pristup predviđanjem– vlasnik objekta predviđa sljededeg vlasnika objekta
prije nego što korisnici zatraže vlasništvo nad objektom
– sljededi vlasnik se predviđa na osnovi pozicije, orijentacije i brzine navigacije ostalih korisnika
36
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 19
Preslikavanje podataka ...
• Preslikavanje podataka o prividnom svijetu– sa poslužitelja na računalo korisnika– stvarnovremena interakcija– korisnik obnavlja preslike
• lokalnim promjenama • objavom promjena sa poslužitelja
– vrijeme prvog preuzimanja podataka zavisi o veličini prividnog svijeta
– smanjenje kašnjenja u prijenosu podataka• prijenos na zahtjev – djelomično preslikavanje objekata
– preuzimaju se samo zahtijevani objekti, a ne svi objekti svijeta
• sažimanje geometrijski i slikovnih podataka
37
Preslikavanje podataka ...
• Djelomično preslikavanje podataka
– problem učinkovitog preslikavanja podataka uz smanjenje neprirodnih i nepotpunih scena radi neraspoloživosti svih podataka
• Metode
– prioritetni prijenos objekata
– predpohranjivanje i preddohvadanje
38
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 20
Preslikavanje podataka ...
• Prioritetni prijenos objekata
– razmatra objekte unutar vidokruga korisnika i prenosi samo objekte koji doprinose visokoj vjernosti scene za korisnika
• koristedi tehnike razine detalja ili višestruke razlučivosti
– povedava vjernost grafičkog prikaza objekata i brzinu interakcije
39
Preslikavanje podataka
• Predpohranjivanje i preddohvadanje
– neposredna raspoloživost zahtijevanih podataka
• na osnovi mjesta smještaja podataka
• prostorni odnosi i udaljenost između korisnika i objekata– objekti bliži korisniku povedavaju vjerojatnost da de im korisnik
ponovno pristupiti
40
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 21
Raspodjela opteredenja ...
• Raspodjela opteredenja na više poslužitelja
– osigurava nadogradivost i sposobnost rasta sustava
• npr. višekorisničke igre na mreži – Second Life, Lineage II
– smanjenje opteredenja pojedinog poslužitelja
• dijeljenje prividnog svijeta u više područja
• raspodjela odgovornosti za upravljanjem područjima na više poslužitelja
– omoguduje podršku istodobnog rada više korisnika i vedih prividnih okruženja
41
Raspodjela opteredenja ...
• Nejednolika raspodjela korisnika – dovodi do nejednolikog opteredenja poslužitelja
• poslužitelji napučenijih područja – kašnjenja u interakciji
• Dinamička preraspodjela opteredenja– preopteredeni poslužitelji prenose teret na manje
opteredene poslužitelje
• Metode dinamičke preraspodjele opteredenja– lokalna
– globalna
– dinamičkog prilagođenja
42
Sustavi prividne stvarnosti u prometu 15.09.2009.
Arhitektura sustava prividne stvarnosti 22
Raspodjela opteredenja ...
• Metoda lokalne preraspodjele– poslužitelj prenosi višak tereta samo na susjedne
poslužitelje • čija područja graniče sa područjem preopteredenog
poslužitelja
– poslužitelj treba raspolagati samo s podacima od susjednim poslužitelja
– neznatno premještanje korisnika na drugi poslužitelj
– problem u slučaju kada su i susjedni poslužitelji preopteredeni – slučaj nesimetričnog opteredenja
43
Raspodjela opteredenja ...
• Metoda globalne preraspodjele– uravnotežuje teret u mreži
• i kada postoji nesimetrično opteredenje
– na osnovi globalno dostupnih podataka svi poslužitelji sudjeluju u preraspodjeli
– poslužitelj koordinator • dinamički dijeli cijeli prividni svijet
– algoritmom podjele grafa
– porastom veličine prividnog okruženja i broja poslužitelja u sustavu raste učestalost podijele prividnog svijeta na područja i broj premještanja korisnika na druge poslužitelje
44