77
UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO Bojan Blažica IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V GEOINFORMACIJSKEM SISTEMU DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA Mentor: doc. dr. Boštjan Murovec Ljubljana, 2009

IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

UNIVERZA V LJUBLJANI

FAKULTETA ZA ELEKTROTEHNIKO

Bojan Blažica

IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V GEOINFORMACIJSKEM

SISTEMU

DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA

Mentor: doc. dr. Boštjan Murovec

Ljubljana, 2009

Page 2: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko
Page 3: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

Zahvala

Zahvaljujem se tatu Borisu in mami Darinki, punci Vanji, bratu Tilnu, mentorju Boštjanu, podjetju

Xlab in prijateljem. Za vzpodbudo, podporo, pomoč in lepe trenutke v času študija. Hvala!

Page 4: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko
Page 5: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

Povzetek

Diplomska naloga obravnava področje večdotičnih (ang.: multitouch) zaslonov. Zajema pregled

področja, izdelavo zaslona in razvoj programske opreme zanj.

Podane so osnovne definicije področja, prednosti večdotičnih zaslonov v primerjavi z zasloni, ki

zaznavajo samo en dotik in posledice, ki iz tega izvirajo. Opisani so pomembnejši mejniki v

zgodovini področja ter opis tehnik izdelave večdotičnih zaslonov s poudarkom na optičnih

metodah zaznave dotikov.

Drugi del naloge predstavi izdelavo zaslona na praktičnem primeru. Definira želje in potrebe na

podlagi katerih smo se odločili za metodo izdelave, opisuje izbiro komponent in opredeli njihovo

vlogo v sklopu celotnega sistema ter poda rešitve za probleme, ki so se med izdelavo pojavili.

V tretjem delu so v splošnem opisane programske komponente, potrebne za izdelavo aplikacije,

ki izkorišča zmogljivosti večdotičnih zaslonov. Na kratko je predstavljen protokol TUIO, ki definira

komunikacijo med komponentami. Opisano je tudi, kako smo te komponente implementirali v

navezi z aplikacijo Gaea+.

Ključne besede: večdotični zasloni, LED svetlobna ravnina, naravni uporabniški vmesnik, razpoznavanje gest, strojni vid, protokol TUIO.

Page 6: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko
Page 7: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

Abstract

This thesis discusses the field of multitouch displays. It comprises the overview of the field, the

building process of such a display and the development of appropriate software.

The first part provides basic definitions within the field, advantages of multitouch displays

compared to standard touchscreens that detect only one touch, and the consequences

originating from them. Following are major milestones in the history of the area and a description

of construction techniques of multitouch displays with an emphasis on optical methods.

The second part is a case study of building a multitouch display. First wishes and needs are

defined on the basis of which we have chosen one of the construction techniques, followed by

an explanation of the selection of components and their role within the system. Problems that

have occurred during the building process and their solutions are also addressed in this part.

Software components necessary for producing applications that exploit the potential of

multitouch displays are described in the third part of the thesis. TUIO, a protocol that defines the

communication between components, is briefly presented. The implementation of both,

components and protocol, is explained through the process of developing a plug-in that enables

multitouch functionality within the application Gaea+.

Key words: multitouch, LED laser plane, natural user interface, gesture recognition, machine vision, TUIO protocol.

Page 8: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko
Page 9: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

i

Kazalo

1 Uvod ....................................................................................................................................... 1

2 Pregled področja .................................................................................................................... 3

2.1 Kaj je večdotičnost? ........................................................................................................ 3

2.1.1 Nekaj pojmov s področja MT tehnologij ................................................................... 5

2.2 Zgodovina razvoja ........................................................................................................... 6

2.3 Obstoječe MT tehnologije .............................................................................................. 10

2.3.1 Neoptične metode .................................................................................................. 10

2.3.2 Optične metode ...................................................................................................... 12

2.3.3 Primerjava metod ................................................................................................... 18

3 Strojna oprema ..................................................................................................................... 21

3.1 Izbira metode izdelave .................................................................................................. 21

3.2 Opis postopka izdelave ................................................................................................. 22

3.2.1 Predelava LCD monitorja ...................................................................................... 22

3.2.2 Kamera ................................................................................................................... 24

3.2.3 IR osvetlitev ............................................................................................................ 26

4 Programska oprema ............................................................................................................. 33

4.1 Zaznavanje in sledenje objektom .................................................................................. 33

4.1.1 Poenostavitve zaznavanja in sledenja predmetov ................................................. 34

4.1.2 Sledilnik Community core vision (CCV) ................................................................. 35

4.2 Komunikacija med sledilnikom in aplikacijo – protokol TUIO ........................................ 37

4.3 Razpoznavanje gest ...................................................................................................... 38

4.3.1 Gaea+ .................................................................................................................... 39

4.3.2 G2RE – Gaea+ gesture recognition engine ............................................................ 40

Page 10: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

ii

4.4 Implementacija MT gest v aplikaciji Gaea+ ................................................................... 44

5 Zaključek ............................................................................................................................... 47

6 Literatura ............................................................................................................................... 49

Dodatek A - ohišje ........................................................................................................................ 53

Dodatek B - programska koda ..................................................................................................... 55

Page 11: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

iii

Kazalo slik

Slika 1: Večdotični (multitouch) zaslon. ......................................................................................... 3

Slika 2: 'Ščip' (ang.: pinch) gesta za povečanje slike, znana iz iPhone-a. ..................................... 4

Slika 3: Študija upravljanja računalnika z obema rokama . ........................................................... 7

Slika 4: Pameten telefon Simon ..................................................................................................... 8

Slika 5: FingerWorksova MT naprava ............................................................................................ 8

Slika 6: MT zaslon, ki obravnava posamezne točke levo ter zaslon, ki obravnava vrstice in

stolpce desno . ............................................................................................................................. 10

Slika 7: Uporaba ogledal pri montiranju projektorja v MT zaslon . ............................................... 13

Slika 8: Princip delovanja FTIR metode . ..................................................................................... 14

Slika 9: Lomni zakon levo in popolni odboj desno. ...................................................................... 14

Slika 10: Prikaz vpliva sevalnega kota diode na lom svetlobe v pleksi steklu (slika ni v merilu). 15

Slika 11: Razpršena osvetlitev . ................................................................................................... 16

Slika 12: Razpršena površinska osvetlitev . ................................................................................ 17

Slika 13: Laserska svetlobna ravnina . ........................................................................................ 17

Slika 14: Zaznavanje sredinskega prsta je onemogočeno zaradi pojava 'sence'. ....................... 18

Slika 15: Monitor Samsung 193P. ............................................................................................... 23

Slika 16: Samsung 193P razstavljen na zaslon, ohišje in stojalo. ............................................... 23

Slika 17: Napajalni kabli, ki smo jih podaljšali (zelena) in podatkovni kabli, ki jih nismo podaljšali

(rdeča). ........................................................................................................................................ 23

Slika 18: Zadnja stran monitorja in beli odbojnik. ........................................................................ 24

Slika 19: Filtri za boljšo sliko. ....................................................................................................... 24

Slika 20: Ker je za delovanje filtra pomembno kako je obrnjen, so zavihki (črn krog) narejeni

tako, da je možen samo pravilen način pritrditve. ........................................................................ 24

Slika 21: Žarnice za osvetlitev zaslona. ....................................................................................... 24

Page 12: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

iv

Slika 22: PS3 Eye kamera ........................................................................................................... 25

Slika 23: Testiranje diod s spletno kamero Canyon z IR filtrom iz magnetnega traku. ................ 25

Slika 24: Prepustnost IR filtra v odvisnosti od valovne dolžine svetlobe . .................................... 26

Slika 25: Pogled na diode skozi filter z valovno dolžino 880 nm (levo) in zajeti svetleči predmeti

(desno). ........................................................................................................................................ 26

Slika 26: Testiranje FTIR efekta ................................................................................................... 27

Slika 27: 1 mm debela reža, ki IR svetlobo usmeri v ravnino. ..................................................... 28

Slika 28: Izračun razdalje med diodami. ...................................................................................... 29

Slika 29: V 'laboratorijski' vir napetosti predelan računalniški ATX napajalnik. ............................ 30

Slika 30: Vezalna shema diod (U = 12 V, R = 1 Ω). ..................................................................... 30

Slika 31: IR svetilna dioda Osram SFH 485. ............................................................................... 31

Slika 32: Shematski prikaz zgradbe MT aplikacije. ...................................................................... 33

Slika 33: Prejšnje stanje (levo), trenutno stanje (na sredini) in določitev prehoda med stanji

(desno) . ....................................................................................................................................... 35

Slika 34: Uporabniški vmesnik sledilnika Community core vision ................................................ 36

Slika 35: Kalibracija sledilnika. ..................................................................................................... 37

Slika 36: Protokol TUIO . ............................................................................................................. 37

Slika 37: 3D vizalizacijsko orodje Gaea+. .................................................................................... 40

Slika 38: Odločitveno drevo razpoznavalnika. ............................................................................. 43

Slika 39: Shematski prikaz razredov razpoznavalnika G2RE. ...................................................... 44

Slika 40: Skica jedra zaslona – osnova okrog katere je mizar izdelal ohišje. V času pisanja

diplome je ohišje še v izdelavi. ..................................................................................................... 53

Slika 41: Slike prototipa MT zaslona. ........................................................................................... 53

Page 13: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

1

1 Uvod

Razvoj na področju večdotičnih (ang.: multitouch, multi-touch) tehnologij se odvija že skoraj

trideset let, vse bolj popularen pa postaja v današnjem času kot naslednji logični korak v razvoju

naravnih uporabniških vmesnikov. Zato smo se v sodelovanju s podjetjem Xlab d.o.o. odločili za

obravnavo tematike v tej diplomski nalogi.

Podjetje XLAB d.o.o., Pot za Brdom 100, Ljubljana [1] se ukvarja z razvojem poslovne

programske opreme za enostaven dostop in nadzor oddaljenega namizja ter sestanke in

komunikacijo preko medmrežja na zahtevo. Izdelki ISL Online [2] so združeni v poslovni paket

»Vse v enem«, ki nudi vsem od malih, srednjih in velikih podjetij do posameznikov nov, preprost

in varen način dostopa do oddaljenega računalnika, sodelovanja s strankami, partnerji in

zaposlenimi v dejanskem času.

Raziskovalni oddelek XLAB Research že več let uspešno sodeluje tako pri domačih kot

mednarodnih razvojno-raziskovalnih projektih (XtreemOS, DeDiSys, SLA@SOI, Mosaica,

Odyssey ... [3]). Rezultat dobrega medsebojnega sodelovanja pri projektih je visoka tehnična

usposobljenost podjetja in razvoj lastnega produkta Gaea+ [4]. To je trirazsežnostno

vizualizacijsko orodje, s katerim na enostaven način prikazujemo najrazličnejše uporabne

informacije v kontekstu resničnega geografskega prostora, tudi v realnem času.

Področje večdotičnih tehnologij obsega tako izdelavo zaslonov, ki so sposobni zaznati več

hkratnih točk dotika kot tudi razvoj programske opreme, ki v celoti izkorišča prednosti takšnih

zaslonov. Delo smo razdelili v tri korake:

• splošen pregled področja,

• izdelava večdotičnega zaslona,

• razvoj aplikacije, ki izkorišča prednosti večdotičnega zaslona.

V prvem delu diplomske naloge nas zanima kaj večdotičnost sploh je, kaj prinaša novega in

kakšne so možnosti za realizacijo večdotičnega zaslona. Pogledali smo si tudi, kako se je

področje razvijalo s časom in kakšni izdelki so trenutno dostopni na tržišču.

Page 14: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

2

Sledi opis postopka izgradnje zaslona. Izmed vseh metod opisanih v prvem delu smo eno izbrali

in po njej realizirali zaslon. Navedli smo potrebne komponente ter njihovo vlogo in vpliv na

končni izdelek. Dotaknili smo se tudi problemov, ki so se sproti pojavljali in uporabljenih rešitev

zanje.

Programski del naloge predstavlja zajemanje podatkov, ki jih pošilja zaslon, njihovo obdelavo,

razpoznavanje ukazov in uporabo v aplikaciji. Na kratko opisujemo protokole in odprtokodne

knjižnice, ki smo jih uporabili. Podrobneje pa predstavljamo dodatek (ang.: plug-in), ki izbrani

aplikaciji (Gaea+) doda večdotično funkcionalnost.

Page 15: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

3

2 Pregled področja

2.1 Kaj je večdotičnost?

Beseda večdotični je nadpomenka za zaslone, občutljive na več dotikov. Uradnega slovenskega

prevoda še ni, zato v nadaljevanju uporabljamo prevod večdotični zaslon, večdotične tehnologije

ali kar okrajšavo MT za angleško besedo multitouch.

Slika 1: Večdotični (multitouch) zaslon.

Večina prenosnih računalnikov ima sledilno ploščico (ang.: touchpad) in že dolgo so med nami

zasloni, občutljivi na dotik. Pri slednjih dejansko vidimo tisto, česar se dotikamo. To je za

uporabnika precejšen napredek, saj je upravljanje naprave preko takega zaslona naravno in

samoumevno. Zasloni MT to izkušnjo razširijo s sposobnostjo zaznavanja več mest dotika, kar

odpira ogromno novih možnosti pri komunikaciji človeka z računalnikom.

Upravljanje računalnika preko zaslona, občutljivega na dotik je še vedno v domeni uporabniških

vmesnikov, ki jih označuje angleška kratica WIMP (ang.: Windows, Icons, Menus, Pointing

device), kar pomeni okna, ikone, meniji, miška. S povezovanjem gibanja zaznanih točk – prstov

v geste, lahko uporaba MT zaslona pripelje do spremembe, podobne tisti ob prehodu od ukazne

vrstice k WIMP sistemu. Če lahko z miško ali enim prstom na določen grafični objekt zgolj

pokažemo (ga označimo) ali premaknemo, lahko sedaj z več prsti ta objekt povečamo,

pomanjšamo, zavrtimo …

Page 16: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

4

Slika 2: 'Ščip' (ang.: pinch) gesta za povečanje slike, znana iz iPhone-a.

Bill Buxton, priznani strokovnjak s področja komunikacij človek stroj, svoja razmišljanja o MT

tehnologijah temelji na naslednjih treh načelih [5]:

• Zapomnimo si, da je od tega, da sta Engelbart in English leta 1965 iznašla miško, do

tega, da je z izdajo operacijskega sistema Windows 95 postala samoumevna, minilo 30

let. MT tehnologije čaka torej še 5 let, preden se bodo razvile do primernosti za širšo

uporabo.

• Vsaka stvar je najprimernejša za nekaj in neprimerna za nekaj drugega. Pomembno je,

da vemo, kaj je kaj, za kaj, za koga, kje in še posebej kdaj. Miška je za nekatera opravila

slaba, za druga pa naravnost odlična, zato bi bilo napačno misliti, da bodo MT zasloni

miško nadomestili. Pri iskanju novih vhodnih naprav se izziv skriva v tem, da najdemo

naprave, ki jih lahko upravljamo hkrati z miško (npr. v drugi roki) ali pa prinašajo

prednosti na področjih, kjer je miška slaba.

• Trud, delo in stroški, da neko vhodno napravo izboljšamo za določeno mero, so veliko

manjši, kot če bi za isto mero hoteli izboljšati izhodno napravo. Razlog tiči v dejstvu, da

smo ljudje in družba, v kateri živimo, osredotočeni predvsem na vidno zaznavanje.

Posledično so zasloni razvojno gledano precej bolj zreli kot vhodne naprave. Hkrati to

pomeni, da je področje vhodni naprav na široko odprto za inovacije.

Page 17: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

5

2.1.1 Nekaj pojmov s področja MT tehnologij

Da bi se izognili splošnim napakam v razumevanju novosti, ki jih MT zasloni prinašajo, si

razjasnimo še nekaj pojmov s tega področja [5]:

• Grafične tablice in zasloni na dotik: Bistvena razlika med grafičnimi tablicami in

zasloni na dotik je v tem, česa se dotikamo. Pri prvih gledamo zaslon in se dotikamo

tablice, medtem ko pri zaslonih na dotik gledamo in se dotikamo iste površine.

• Diskretna in zvezna interakcija: Narava interakcije z MT vhodno napravo je zelo

odvisna od podpore diskretnim in/ali zveznim gibom. Uporabniški vmesnik, ki nam ga

nudi tipkovnica na MT zaslonu, je tipičen primer diskretne interakcije (npr. doseganje

velike tiskane črke L s hkratnim pritiskom tipk Shift in l ), medtem ko je povečanje slike

primer zvezne interakcije (z dvema prstoma se dotaknemo slike in vlečemo narazen).

• Prostostne stopnje (ang.: degrees of freedom, DOF): Raznovrstnost interakcije je

tesno povezana s številom prostostnih stopenj, ki nam jih naprava omogoča. Grafični

uporabniški vmesnik temelji na premikanju miškinega kazalca v dveh dimenzijah, kar

predstavlja 2DOF. Zaznavanje dveh prstov nam omogoča 4DOF, treh prstov 6DOF in

tako naprej. Vidimo, da se z MT tehnologijo lahko približamo raznovrstnosti interakcije, ki

jo srečamo v vsakdanjem življenju. Ob primerni uporabi nam to omogoča, da za

upravljanje računalnika uporabljamo veščine, ki smo se jih priučili že od majhnega. Tak

način interakcije je naraven in intuitiven, saj ne zahteva posebnega učenja.

• Pomen velikosti: Velikost MT zaslona v grobem določa, katere mišične skupine

uporabljamo, koliko rok/prstov je lahko hkrati prisotnih na površini in kakšne geste so

primerne za napravo. Pomembna je tudi velikost površine, ki smo jo sposobni zaznati.

Telefon, ki zazna prisotnost lica na zaslonu, to pretvori v ukaz 'sprejmi klic'.

• Pomen orientacije – horizontalno ali vertikalno: Vodoravno postavljene površine, ki

lahko zaznajo samo eno točko dotika, so problematične. Če namreč ob prstu, s katerim

zaslon upravljamo, nanj položimo še roko, naprava ne deluje več pravilno. V primeru, da

je ista naprava postavljena navpično, do tega problema ne prihaja.

• Zaznavanje dotika ni samo prisotnost stika in lokacija: Kljub temu, da večina MT

naprav zazna samo prisotnost in lokacijo dotika, lahko pri zaznavanju dotika upoštevamo

še druge vidike, kot so:

o Stopnja dotika, občutljivost na pritisk: Zvezno zaznavanje pritiska za vsako

točko dotika nam odpre povsem novo dimenzijo interakcije. Pri tem je treba

povedati, da v večini primerov ne gre za direktno merjenje pritiska, ampak

Page 18: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

6

zaznavanje stranskih posledic močnejšega pritiska (npr.: ob močnejšem pritisku

na površino se blazinica prsta razširi).

o Vpadni kot: Nekaj sistemov omogoča zaznavanje kota, pod katerim se prst

dotika površine. To doda prstu funkcionalnost igralne palice v točki dotika (primer

naprave, ki to izkorišča je Sensor Frame [6])

• En prst ali več prstov: Večina površin, občutljivih na dotik, ki so trenutno v uporabi,

podpira zaznavanje enega samega prsta. To v primerjavi z miško ne prinaša nič novega,

saj se jedro MT-ja skriva ravno v zaznavanju gest, ki jih lahko naredimo z več prsti.

2.2 Zgodovina razvoja

Kljub temu, da so MT tehnologije postale popularne šele zadnjih nekaj let, se njihov razvoj odvija

že zelo dolgo. Tudi klavir in tipkovnico lahko štejemo med MT naprave, saj po njiju pritiskamo z

desetimi prsti hkrati. Prvi prototipni MT zasloni pa segajo v leto 1984.

1982 Nimish Mehta, Univerza v Torontu: Prva naprava z možnostjo zaznavanja več dotikov.

To je bila zamrznjena steklena plošča, katere optične lastnosti so omogočale, da je kamera pod

njo videla dotike kot črne lise na beli površini. Oblika lis je bila odvisna od sile dotika – kako

močno je prst pritiskal na površino. Naprava ni bila pravi MT zaslon, saj sta zaznavanje prstov in

prikaz slike potekala na različnih površinah.

1983 Myron Krueger: Na videu temelječ sistem za spremljanje gibanja rok, ki je omogočal

interakcijo več uporabnikov prek gibov rok in prstov. Zaznavanje gibov in prikaz slike sta še

vedno potekala na različnih površinah. Sistem je prepoznaval širok nabor gest, med njimi

najdemo tudi gesto za povečanje fotografije, znano iz iPhone-a. Bill Buxton opisuje Kruegerjevo

delo kot 'navdihujoče in več kot desetletje pred svojim časom' [5].

1984 Bob Boie, Bell labs: Prvi zaslon sposoben zaznavanja več dotikov, z odličnim odzivnim

časom za tiste čase. Na CRT monitor so položili prozorno folijo kapacitivnih senzorjev.

1985 Univerza v Torontu: Tablica za spremljanje več dotikov, ki je zaznala mesto dotika in

stopnjo pritiska. Za detekcijo dotika so namesto na videu temelječega sistema uporabili

kondenzatorje [7].

1985 Univerza Carnegie mellon: ‘Senzorski okvir' (ang.: Sensor frame) [6] je imel optične

senzorje, s pomočjo katerih je zaznaval prste, postavljene v kote CRT zaslona. Sposoben je bil

detekcije treh prstov. Pri več prstih se pojavijo sence, s čimer se zanesljivost naprave zmanjša.

Page 19: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

7

Poleg položaja prstov je senzorski okvir zazna tudi kot, pod katerim je uporabnik s prstom kazal

na zaslon.

1986 Univerza v Torontu, Apple: Na univerzi v Torontu opravijo študijo o tem, kako smo

uporabniki dovzetni za upravljanje računalnikov z dvema rokama [8].

Slika 3: Študija upravljanja računalnika z obema rokama (preslikano iz [8]).

Slika 1Slika 3 prikazuje okolje pri enem izmed eksperimentov. Preizkušanec je imel v levi roki

drsnik, v desni pa miško. Ljudje so avtomatsko, brez da bi jim to kdo naročil, naloge opravljali

simultano, tako da so jih razdelili na obe roki. Študija je pokazala, da je tak način upravljanja

računalnika naraven in hitrejši.

Istega leta so v sodelovanju z Applom razvili programsko opremo, ki je omogočala uporabo dveh

mišk na istem računalniku, a do serijske proizvodnje ni prišlo. Iz tega vidimo, da je bilo že

dvajset let nazaj izvedljivo, kar postaja danes tako popularno.

1991 Xerox PARC: Prva razmišljanja o 'dvosmernih' ploskih zaslonih (LCD), ki bi bili uporabni

tudi kot vhodne naprave. Istega leta se je pojavila tudi tako imenovana digitalna miza (ang.:

digital desk) [9]. Nad mizo so bile kamere in zvočna tipala, katerih naloga je bila spremljanje

gibanja rok in prstov ter zaznavanje objektov na mizi.

1992 Xerox PARC: Tipkovnica, ki ima na hrbtni strani tablico, občutljivo na dotik. Uporabnik je

tipkovnico obrnil in prek tablice upravljal računalnik s kretnjami.

1992 IBM in Bell South: Pojavi se prvi pametni telefon Simon z zaslonom, občutljivim na en

sam dotik. Na sliki 4 vidimo, da je zasnova sodobnih telefonov podobna Simonovi.

Page 20: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

8

Slika 4: Pameten telefon Simon

1992 Wacom: Podjetje predstavi vrsto grafičnih tablic za vnos podatkov, ki so imele sposobnost

zaznati mesto in moč pritiska pisala na površino in sočasno tudi položaj miški podobne ploščice.

1995 DSI Datotech: Grafična tablica s sposobnostjo zaznavanja več dotikov hkrati. Dodan je bil

tudi program za prepoznavanje gest.

Slika 5: FingerWorksova MT naprava

1998 FingerWorks: John Elias in Wayne Westerman iz Univerze v Delaware-u ustanovita

podjetje Fingerworks. Izdelki (primer tablice prikazuje slika 5) temeljijo na Westermanovi

doktorski disertaciji Hand Tracking, Finger Identification and Chordic Manipulation on a Multi-

Touch Surface [10]. Leta 2005 podjetje prevzame Apple, ki s tem pridobi znanje in patente s

področja MT tehnologij.

2001 MERL (Mitsubishi Electric Research Laboratories): V laboratorijih podjetja Mitsubishi

razvijejo Diamond Touch [11]. Poleg zaznavanja prstov in kretenj je naprava sposobna

ločevanja med različnimi uporabniki.

2003 JazzMutant, Francija: Podjetje JazzMutant [12] razvije prvi pravi MT zaslon za

komercialno rabo. Uporabi ga v digitalni mešalni mizi Lemur.

Page 21: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

9

2005 Tactiva 2005: Podjetje Tactiva napove TactaPad [13]. To je tablica občutljiva na več

dotikov, ki hkrati snema naše roke in njihovo senco prikaže na zaslonu. Na ta način se sicer loči

površina dotika od površine zaslona, po drugi strani pa ostane položaj uporabnika za

računalnikom bolj ergonomičen. Posnetki naprave prikazujejo uporabo v programih za grafično

oblikovanje, kjer uporaba desetih prstov delo izjemno pohitri.

2006 Jeff Han, Univerza v New Yorku: Jeff Han razvije MT sistem temelječ na FTIR metodi

[14]. Zaradi preproste izgradnje, odličnega delovanja in nizke cene naprave postane video

predstavitve na konferenci TED (tehnologija, razvedrilo, dizajn) izjemno popularen.

2007 Apple: Ob Apple-ovi izdaji iPhone-a se zanimanje za MT tehnologije izrazito poveča [15].

iPhone je prvi mobilni telefon z MT zaslonom. To omogoča priljubljene funkcije kot so

povečevanje in rotiranje slik z uporabo gest.

2007 Microsoft: Microsoft izda Surface – interaktivno mizo z MT zaslonom [16]. Namenjena je

domači rabi (pregledovanje slik, videa), kot nadomestek mize v restavracijah (pregledovanje

menujev, naročanje), kot pripomoček za nakupovanje, informacijska tabla ...

2007 Microsoft: Razvoj prototipa LCD zaslona, ki ima v sebi vgrajene oddajnike in sprejemnike

IR svetlobe [17]. Če pred zaslon postavimo prst, se svetloba iz oddajnika odbije in tako zaznamo

dotik. Tehnologijo odlikuje natančnost in majhna poraba prostora.

2009 Microsoft: Operacijski sistem z vgrajeno podporo MT interakcije z računalnikom. V času

pisanja diplomskega dela je napovedan izid Windows 7 dne 22. oktobra 2009.

Page 22: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

10

2.3 Obstoječe MT tehnologije

V grobem delimo metode za izdelavo MT zaslonov v dve skupini: optične in ostale - neoptične.

Prve so primerne za izdelavo večjih zaslonov, druge pa se uporabljajo predvsem za manjše

naprave (npr. mobilni telefoni).

2.3.1 Neoptične metode

Neoptične metode zahtevajo industrijsko proizvodnjo in niso primerne za samogradnjo. Ker je

eden izmed ciljev diplomskega dela izdelava MT zaslona, bomo te metode zgolj našteli in

razložili osnovni princip njihovega delovanja.

Slika 6: MT zaslon, ki obravnava posamezne točke levo ter zaslon, ki obravnava vrstice in stolpce desno (preslikano iz [18]).

Te metode delujejo tako, da območje zaznavanja razdelijo na manjše enote. V primeru

zaznavanja posameznih točk (slika 6 levo) pride do problemov zaradi količine povezav med

senzorji in krmilnikom zaslona. Sprejemljivo ločljivost zaznavanja MT zaslona določa velikost

grafičnih objektov (npr.: ikone), ki se jih bomo na zaslonu dotikali. To pomeni, da najmanjša

zaznana enota ne sme biti večja od 5 mm. Pri tej ločljivosti mreža 10 x 10 senzorjev, ki zahteva

100 povezav do krmilnika, zadostuje za zaslon velikosti dobrih 20 cm2. Pri zaznavanju

posameznih osi (slika 6 desno) pa smo omejeni na zaznavanje lokacije enega in prisotnosti

drugega dotika. Za več dotikov je potrebno število osi povečati. Velja pravilo, da za n dotikov

potrebujemo n+1 osi [18].

Omenimo še dejstvo, da je bila večina neoptičnih metod razvita za navadne zaslone, občutljive

na en dotik. Večdotično funkcionalnost jim dodamo s posebnimi krmilniki, dodajanjem plasti in

podobnimi prijemi.

2.3.1.1 Uporovni zasloni

Uporovni zaslon sestavlja steklena plošča, premazana s tankima kovinskima slojema, ki ju

ločuje distančnik. Prvi sloj je uporoven in ima priključka na levi in desni strani zaslona, drugi pa

Page 23: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

11

prevoden s priključkoma na zgornji in spodnji strani zaslona. Izmenično je eden izmed slojev pod

napetostjo, medtem ko na drugem napetost merimo. Ob dotiku zaslona ustvarimo napetostni

delilnik, ki nam pove koordinato dotika [19][20].

Takšni zasloni so poceni, porabijo malo energije in so izjemno vzdržljivi. Njihova slabost je, da

niso popolnoma prosojni, saj prepuščajo le od 75 % do 85 % svetlobe.

2.3.1.2 Kapacitivni zasloni

Elektrode na vsaki strani zaslona na prevodnem sloju vzdržujejo natančno določeno količino

naboja, ki vzpostavi enakomerno električno polje. Pri dotiku zaslona se delček naboja prenese

na uporabnika in s tem se naboj na prevodni plasti zmanjša. To zmanjšanje naboja merimo z

vezji, ki se nahajajo v vseh štirih kotih zaslona.

Med kapacitivne zaslone sodijo tudi zasloni s 'projicirano' kapacitivnostjo (ang.: projected

capacitance). Zgrajeni so iz dveh serij vzporednih tankih žic, ki sta med seboj pravokotni in

vgrajeni med dvema plastema stekla. Žice tvorijo mrežo kondenzatorjev, ki projicira električno

polje skozi vrhnje steklo. Uporabnikov dotik spremeni kapacitivnost kondenzatorjev v bližini

dotika. Na podlagi te spremembe določimo koordinate dotika [21]. Takšen zaslon uporablja

telefon iPhone.

Kapacitivni zasloni imajo manj težav s prosojnostjo, saj dve prevodni plasti nadomestimo z eno.

Njihova slabost je, da delujejo le ob dotiku s prstom in jih ne moremo upravljati v rokavicah ali s

palčko.

2.3.1.3 Zasloni s površinskimi zvočnimi valovi

Na robove zaslona montirani piezoelektrični sprejemniki in oddajniki na površini zaslona

vzdržujejo ultrazvočne valove. Ob dotiku se del zvočnih valov absorbira, s sledenjem

spremembam pa lahko določimo lego dotika. Večina takšnih zaslonov je sposobna zaznati dva

dotika [22].

So občutljivi na zunanje razmere (prah, packe na zaslonu) in ne zaznavajo majhnih predmetov

(kemični svinčnik). Prednost zaslonov s površinskimi zvočnimi valovi je v tem, da ne vsebujejo

električnih komponent, ki bi zmanjševale prosojnost zaslona.

Page 24: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

12

2.3.2 Optične metode

Enostavna izgradnja, nizka cena in razširljivost. To so ključne lastnosti, zaradi katerih so optične

metode izjemno priljubljene in predstavljajo velik delež trenutno obstoječih MT naprav. Mednje

sodijo: FTIR (ang.: frustrated total internal reflection), razpršena osvetlitev (ang.: diffused

illumination), laserska/led svetlobna ravnina (ang.: laser/led light plane) in razpršena površinska

osvetlitev (ang.: diffused surface illumination).

Vse metode temeljijo na istem principu delovanja: s pomočjo kamere zaznavamo infrardečo

svetlobo, ki se odbija od prstov na površini, ki hkrati služi kot zaslon. Za izdelavo takega zaslona

potrebujemo tri osnovne komponente [23]:

• Vir infrardeče svetlobe: Infrardeča (IR) svetloba je elektromagnetno sevanje, ki obsega

valovne dolžine treh velikostnih razredov in sicer med 700 nm in 1 mm. Uporabljamo jo,

ker je izven človekovega vidnega spektra. To je pomembno, ker je površina, katere se

dotikamo, hkrati tudi zaslon. Oba procesa, ki se tu dogajata, zaznavanje dotika in

podajanje vizualne povratne informacije, sta optične narave, zato lahko med njima pride

do interakcije v obliki motenj – slabše zaznavanje dotika zaradi trenutne slike na površini

ter popačenje slike zaradi osvetljevanja prstov. S premikom zaznavanja dotika v IR

spekter rešimo oba problema. Možni viri IR svetlobe so LED diode, laserji in IR reflektorji,

katerega izberemo, pa je odvisno od uporabljene metode. Laserji pridejo v poštev pri

laserski svetlobni ravnini, reflektorji pri razpršeni osvetlitvi, diode pa povsod drugod. Pri

diodah je potrebno določiti še, ali bomo uporabili posamezne diode ali LED trak in

seveda na podlagi danih zahtev izbrati primeren model diod. Pomembni podatki so

valovna dolžina, sevalni kot (+/-48° stopinj za FTIR, čim večji kot za razpršeno osvetlitev)

in sevalna moč (najmanj 80 mW, več je bolje).

• Optični senzor (običajno je to kamera): Za MT aplikacije je zanimivo predvsem bližnje

infrardeče območje (700 nm - 1000 nm , near infrared - NIR). Večina digitalnih kamer

zaznava NIR svetlobo, zato so te kamere opremljene s filtrom, ki do senzorja prepušča

zgolj vidni spekter. Če ta filter zamenjamo s takšnim, ki prepušča zgolj NIR svetlobo,

dobimo digitalno kamero, občutljivo samo na svetlobo v NIR spektru.

Kamera direktno vpliva na dve pomembni lastnosti MT naprave, odzivnost in natančnost,

zato je pomembno, da izberemo kamero z visoko hitrostjo zajemanja (vsaj 30 slik na

sekundo) in zadovoljivo ločljivostjo (vsaj 320 x 240 slikovnih točk). Poleg tega si pogosto

želimo, da ima kamera čim krajšo goriščno razdaljo, ker jo tako lahko postavimo bliže

zaslonu in je zaradi tega ohišje naprave manjše. Potrebno pa je paziti, da ne

Page 25: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

2.3.2.1

V MT

'frustra

temelj

pretiravam

(izbočenje

USB ali IE

predvsem

spletne ka

zajemanje

priljubljeno

nadomestn

Vista) so b

Vizualna projektor, z

moramo u

želimo ma

do podvoje

površine.

projektorji

poznavanj

precej eno

Slika 7

1 Prekinjen

skupnosti s

ated total in

i.

mo, saj pride

, ribje oko),

EEE 1394 (F

hitrost. Zara

amere. Med

v ločljivost

osti te kame

ne IR pasov

bili spisani sa

povratna inza manjše n

poštevati nj

ajhno ohišje.

ene slike, je

LCD zaslon

tudi ni prob

u delovanja

ostavna.

: Uporaba ogl

n popolni no

se ime FTIR

nternal reflec

e pri izjemno

ki otežujejo

FireWire). P

adi zadovolji

njimi še pos

ti 640 x 48

ere v MT s

vne filtre raz

amo zaradi ž

nformacija:naprave pa

jegovo reso

Pomagamo

e potrebno

ni ponujajo

blemov s pr

a LCD tehno

ledal pri mont

otranji odboj

uporablja z

ction' se de

o kratkih go

o kalibracijo

rvega odliku

vih tehničnih

sebej izstop

80 slikovnih

skupnosti p

zličnih valov

želje po upo

V splošne

pridejo v po

lucijo ter ra

o si lahko z

uporabiti og

odlično sliko

rojekcijsko r

ologije in izd

tiranju projekt

j ­ FTIR

za metodo, k

ejansko nan

oriščnih razd

o naprave. O

uje nizka ce

h lastnosti in

pa Sony PS3

h točk pri h

riča tudi de

vnih dolžin.

rabi v MT na

m se za iz

oštev tudi LC

zdaljo proje

ogledali, ko

gledala z od

o po izjemn

azdaljo in p

delave zaslo

torja v MT zas

ki jo je razvi

aša na opti

daljah do hu

Omeniti velja

ena in peste

n nizke cene

3 Eye, ki za

hitrosti 30 s

ejstvo, da la

Tudi goniln

apravah.

zpis slike na

CD zasloni.

ekcije. Ta na

ot prikazuje s

dbojno plast

no ugodni c

popačitvijo s

onov je upo

lon (preslikan

il Jeff Han [

ični pojav, n

udih popačit

a še vodilo

er izbor, drug

e se veliko u

a slabih 30 €

slik na seku

ahko zanjo

niki za Okna

a površini u

Pri izbiri pro

aj bo čim kr

slika 7. Da

tjo na predn

ceni. V prim

slike. Ob pri

oraba v MT

no iz [22]).

14]. Besedn

na katerem

13

tev slike

kamere,

gega pa

uporablja

€ ponuja

undo. O

kupimo

a (XP in

uporablja

ojektorja

rajša, če

ne pride

nji strani

merjavi s

mernem

napravi

na zveza

metoda

Page 26: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

14

Slika 8: Princip delovanja FTIR metode (preslikano iz [23]).

Za izdelavo takega MT zaslona v osnovi potrebujemo le pleksi steklo in primerne IR diode, ki jih

montiramo kot prikazuje slika 8. Zaradi pojava popolnega odboja (total internal reflection) se IR

svetloba ujame v pleksi steklu. Ob pritisku s prstom na površino pojav prekinemo (od tu beseda

frustrated v imenu), kar povzroči, da se svetloba od prsta razprši. To svetlobo nato kamera

zazna kot svetleče predmete (ang.: blob – bright luminescent object).

Slika 9: Lomni zakon levo in popolni odboj desno.

Fizikalno gledano dogajanje opisuje lomni zakon, ki pravi, da se svetlobni žarek na meji dveh

snovi z različnima lomnima količnikoma delno odbije, delno lomi (slika 9 levo, odbojni žarek ni

narisan). Razmere med vpadnim in lomnim kotom opisuje enačba 1. Če vpadni kot povečujemo,

pride do pojava popolnega odboja, ko se svetlobni žarek v celoti odbije (slika 9 desno).

Vpadnemu kotu, pri katerem se to zgodi, pravimo mejni kot. Izračunamo ga po enačbi 2.

sin θ1sin θ2

n2n1 1

Page 27: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

15

θ0 sin‐1n2n1

2

S pomočjo mejnega kota lahko izračunamo primeren sevalni kot za IR diode. Pri lomnem

količniku zraka n0 = 1 in pleksi stekla n1 = 1.49 dobimo mejni kot θ0 42°. Sevalni kot diode naj

bo čim večji, da je pleksi steklo preplavljeno z IR svetlobo, zgornjo mejo tega kota pa določa

ravno mejni kot popolnega odboja in sicer 48° (180° - 90° - 42°, slika 10).

Slika 10: Prikaz vpliva sevalnega kota diode na lom svetlobe v pleksi steklu (slika ni v merilu).

Izdelava MT zaslona po FTIR metodi prinaša še druge izzive, ki pa za samo razumevanje

delovanja niso bistveni, zato jih bomo le našteli:

• Diode je potrebno tokovno napajati, zato jim v serijo vežemo pravilno dimenzioniran upor

in jih montiramo tako, da ne svetijo direktno v kamero.

• Da bo slika na površini vidna, moramo na pleksi steklo položiti dodatno plast iz materiala,

primernega za projiciranje.

• Med vlečenjem prstov po površini se FTIR pojav izredno oslabi. Ta problem rešimo tako,

da na zaslon dodamo plast iz lepljivega materiala (ang.: compliant layer), navadno je to

silikon.

2.3.2.2 Razpršena osvetlitev

Delovanje metode razpršene osvetlitve (ang.: diffused illumination) je izjemno enostavno in ga

nazorno prikazuje slika 11. S pomočjo IR reflektorjev osvetlimo površino, ki služi kot zaslon. Prst

ali predmet v neposredni bližini zaslona bo to svetlobo odbil nazaj in kamera jo bo zaznala. Da

dosežemo enakomernejšo osvetlitev, pod zaslon položimo difuzor. Ta hkrati prepreči odbijanje

svetlobe od predmetov, ki so od zaslona preveč oddaljeni.

Page 28: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

16

Slika 11: Razpršena osvetlitev (preslikano iz [23]).

Nekaj IR svetlobe se odbije tudi od materiala, na katerega sliko projiciramo, zato je kontrast med

prsti in ozadjem izrazito manjši kot pri FTIR metodi. Ta metoda omogoča zaznavanje premika po

površini brez dodatnih plasti in, kar je še pomembnejše, omogoča zaznavanje predmetov,

položenih na zaslon. Zaznane predmete lahko nato identificiramo na podlagi oblike ali z uporabo

posebnih markerjev (ang.: fiducials), ki jih predhodno nanje nalepimo. To s pridom izkoriščata

Microsoftov Surface in Reactable.

Omeniti velja še različico te metode, ki za delovanje ne potrebuje dodatnega izvora IR svetlobe,

saj izkorišča kar IR svetlobo iz okolja. V tem primeru se ob prisotnosti prsta na sliki pojavi senca.

2.3.2.3 Razpršena površinska osvetlitev

Na prvi pogled (slika 12) zgleda metoda razpršene površinske osvetlitve (ang.: diffused surface

illumination) nekakšen križanec prejšnjih dveh metod. Diode so montirane kot pri FTIR napravi,

princip delovanja pa je kot pri zaslonih z razpršeno osvetlitvijo. Dejansko je razpršena

površinska osvetlitev nastala kot rešitev problema enakomerne osvetlitve pri metodi z razpršeno

osvetlitvijo. Trik se skriva v uporabljenem materialu (posebno pleksi steklo Endlighten), ki

vsebuje majhne delce, ki delujejo kot ogledala. IR svetloba se na njih odbije in tako enakomerno

osvetli površino.

Page 29: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

17

Slika 12: Razpršena površinska osvetlitev (preslikano iz [23]).

2.3.2.4 Laserska svetlobna ravnina

IR laser sveti tik nad površino zaslona in ustvarja ravnino, debelo približno 1 mm. Ko s prstom

predremo to ravnino, povzročimo, da se svetloba od robov našega prsta odbije navzdol proti

kameri, kot prikazuje slika 13.

Slika 13: Laserska svetlobna ravnina (preslikano iz [23]).

Metoda laserske površinske osvetlitve (ang.: light laser plane) je poceni in razmeroma

enostavna za izdelavo. Potrebujemo 2 do 4 laserje, postavljene na robovih zaslona. Močnejši

kot so, svetlejši bodo obrisi naših prstov na sliki. Ker laser oddaja svetlobo točkovno,

potrebujemo še dodatne leče, ki to svetlobo usmerijo v ploskev.

Page 30: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

18

Med delom z laserji je pomembno, da poskrbimo za primerno zaščito oči, saj lahko pri

neposrednem pogledu v laser utrpimo trajne poškodbe.

Največjo pomanjkljivost te metode prikazuje slika 14. Vidimo, da lahko pride do situacije, ko je

kateri izmed prstov v 'senci' in ga zato sploh ne zaznamo. Vendar bo v primeru, da MT zaslon

upravlja samo ena oseba, takih izpadov izredno malo.

Slika 14: Zaznavanje sredinskega prsta je onemogočeno zaradi pojava 'sence'.

2.3.2.5 Led svetlobna ravnina

Metoda LED svetlobne ravnine (ang.: LED light plane) deluje na povsem enakem principu kot

metoda z lasersko svetlobno ravnino, le da namesto laserjev na robove zaslona montiramo LED

diode, ki svetijo čez površino. Ker diode sevajo sferično, ta površina ni tako tanka kot pri uporabi

laserja. To predstavlja določen izziv pri sami konstrukciji naprave in zahteva veliko potrpljenja pri

kalibraciji. Metoda se uporablja večinoma v kombinaciji z LCD zasloni.

2.3.3 Primerjava metod

Vsaka izmed naštetih metod ima svoje prednosti in slabosti, katero bomo izbrali, pa je odvisno

od naših zahtev, potreb in zmožnosti. Tabela 1 na naslednji strani podaja pregled lastnosti

optičnih metod izdelave MT zaslona.

Page 31: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

19

prednosti slabosti

FTIR

• ne potrebujemo zaprtega ohišja

• močan kontrast zaznanih

svetlečih predmetov

• možno posredno zaznavanje

pritiska

• lahko upravljamo s kemičnim

svinčnikom

• ne more zaznati

predmetov položenih na

zaslon

• težavna konstrukcija

zaradi cinjenja diod in

izdelave dodatne plasti

razpršena osvetlitev

• možno zaznavanje predmetov in

markerjev

• enostavna izdelava, ker ni potrebe

po cinjenju in dodatni plasti

• problemi z

enakomernostjo osvetlitve

• nižji kontrast svetlečih

predmetov in možnost

napačnega zaznavanja

• potrebno je zaprto ohišje

razpršena površinska osvetlitev

• možno zaznavanje predmetov in

markerjev

• zaznavanje pritiska.

• enakomerna osvetlitev

• dražji material

• nižji kontrast svetlečih

predmetov.

• omejitve glede velikosti

zaradi mehkega materiala

laserska ravnina, LED svetlobna ravnina

• ni potrebe po zaprtem ohišju

• enostavna izdelava.

• cenejša od ostalih metod

• ne more zaznati

predmetov

• ne more zaznati pritiska

• možen pojav senc v

zaznavanju

Tabela 1: Primerjava optičnih metod izdelave MT zaslonov.

Page 32: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

20

Page 33: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

21

3 Strojna oprema

Med pregledom področja MT tehnologij smo zbrali potrebne informacije za začetek izdelave MT

zaslona. Sledila je izbira metode izdelave, zbiranje sestavnih delov ter izdelava sama. V tem

poglavju bomo opisali kako je to potekalo, kakšni problemi so se ob tem pojavili in kako smo jih

rešili.

3.1 Izbira metode izdelave

Za izbiro metode izdelave je bilo potrebno najprej natančno opredeliti, kakšne so naše želje, kaj

od zaslona pričakujemo, za kaj ga bomo uporabljali in podobno. To lahko strnemo v naslednji

točki:

• Naš osnovni cilj je bil preizkusiti uporabniško izkušnjo, ki jo MT zaslon prinaša. Da to

dosežemo, ne potrebujemo ogromnega zaslona, zato smo se odločili za razmeroma

majhno izvedbo – 15 do 30 palcev. V prid tej odločitvi govorijo tudi manjši stroški za

material in lažji proces izdelave, saj so komponente dovolj majhne, da jih lahko obdeluje

en sam človek.

• Vedeli smo, da bomo zaslon uporabljali v navezi z aplikacijo Gaea+. To je pomenilo, da

od zaslona zahtevamo predvsem natančno in zanesljivo razpoznavanje gibanja prstov,

medtem ko razpoznavanje predmetov ni tako pomembno.

Zaradi slednjega smo se odločili za FTIR metodo, saj nudi največji kontrast svetlečih predmetov.

Kot bo opisano kasneje, smo v skladu s to metodo nabavili pleksi steklo ter naročili IR LED

diode. Med čakanjem nanje pa se je na forumih MT skupnosti Nuigroup [24] pojavila razprava o

novi metodi, ki smo jo v prejšnjem poglavju opisali pod imenom LED svetlobna ravnina. Razvil jo

je Nima Motamedi [25]. Omogoča uporabo navadnega LCD zaslona kot sredstva za

prikazovanje slike. To nam zagotavlja večjo resolucijo slike pri nižji ceni in olajša izdelavo, saj ni

potrebe po zamudnem montiranju projektorja in ogledal v ohišje zaslona. Tudi izdelava dodatne

silikonske plasti odpade. Metoda je še posebej primerna za MT zaslon manjših dimenzij. Ker je

bil v skladišču Xlab-a na razpolago 19 palčni monitor, smo se torej odločili za metodo LED

svetlobne ravnine.

Page 34: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

22

3.2 Opis postopka izdelave

Princip delovanja metode je opisan v poglavju 2.3.2.4. Na tem mestu se bomo osredotočili na

potrebne korake pri izdelavi takšnega zaslona. To so: predelava LCD zaslona, montiranje LED

diod, predelava kamere in izdelava ohišja.

3.2.1 Predelava LCD monitorja

Če želimo predelati monitor, da bo deloval po naših željah, je najprej potrebno, da se seznanimo

s sestavo in tehnologijo izdelave LCD monitorjev [22].

3.2.1.1 Sestava in izdelava LCD monitorja

Vsaka slikovna točka (ang.: pixel) monitorja je sestavljena iz treh elektronsko krmiljenih filtrov

(rdeč, zelen in moder filter), ki modulirajo svetlobo iz ozadja. Na tak način slikovna točka zasveti

v želeni barvi. Načeloma je LCD plošča prosojna, ko skozi njo ne teče električni tok. Ker pa

imamo na prednji in zadnji strani plošče navzkrižne polarizirajoče filtre, ki ne prepuščajo vidne

svetlobe, dobi plošča svoj značilni črni videz. Ti filtri pa ne vplivajo na prepustnost IR svetlobe,

zato je zaslon zanjo še vedno popolnoma prosojen. Ta koncept je odločilen za uporabo LCD

zaslonov v optičnih MT sistemih.

Za LCD ploščo se nahajajo vir svetlobe in različni filtri, ki poskrbijo za enakomerno osvetljenost

slike. Monitorji manjši od 23 palcev so osvetljeni z dvema dolgima fluorescentnima žarnicama

(slika 21), postavljenima vzdolž daljših stranic monitorja. Med njima leži plošča iz pleksi stekla, ki

ima na zadnji strani vzorec satovja. Zaradi popolnega odboja svetloba iz žarnic potuje po steklu,

dokler se na vzorcu ne razprši. Večji monitorji kot vir svetlobe uporabljajo mrežo iz

fluorescentnih žarnic.

Zaradi polarizirajočih filtrov in načina kako LCD plošča filtrira svetlobo je sam vir svetlobe

premalo, da bi dosegli kvalitetno sliko. Predvsem se tu pojavijo problemi z vidnim kotom

monitorja. Za izboljšanje svetlobnih lastnosti zaslona LCD proizvajalci vključujejo več slojev

različnih filtrov, ki vplivajo na modulacijo svetlobe iz ozadja na različne načine. Najpogostejši filtri

so:

• Difuzor: ta filter razprši svetlobo iz ozadja v vse smeri.

• Fresnelova leča: filter je namenjen je razpršitvi svetlobe v 180°.

• Bel odbojnik (slika 18): to je bel neprozoren filter. Postavljen je za pleksi steklo in odbija

svetlobo, usmerjeno stran od filtrov.

Page 35: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

23

Izmed naštetih filtrov je edini, ki ne prepušča IR svetlobe, beli odbojnik.

3.2.1.2 Predelava LCD monitorja za uporabo v MT zaslonu

Slika 15: Monitor Samsung 193P.

Za izdelavo MT zaslona smo uporabili 19 palčni monitor Samsung 193P (slika 15). Odlikujeta ga

kakovost slike in privlačen videz. Prav slednji je botroval zahtevnemu odpiranju ohišja, saj na

prvi pogled skorajda nima vijakov. Delno razstavljen zaslon prikazuje slika 16. Pri razstavljanju

moramo biti pazljivi, da ne poškodujemo samega zaslona, podatkovnih kablov (slika 17) ali

elektronike. Brez poškodb ohišja pa verjetno ne gre, vsaj v našem primeru ni šlo.

Slika 16: Samsung 193P razstavljen na zaslon, ohišje

in stojalo.

Slika 17: Napajalni kabli, ki smo jih podaljšali (zelena)

in podatkovni kabli, ki jih nismo podaljšali (rdeča).

Page 36: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

24

Slika 18: Zadnja stran monitorja in beli odbojnik.

Slika 19: Filtri za boljšo sliko.

Slika 20: Ker je za delovanje filtra pomembno kako je

obrnjen, so zavihki (črn krog) narejeni tako, da je možen samo pravilen način pritrditve.

Slika 21: Žarnice za osvetlitev zaslona.

Slika 19 prikazuje plasti filtrov v monitorju. Odstranili smo beli odbojnik in preverili, kakšna je IR

prepustnost zaslona skupaj s preostalimi filtri. To smo storili tako, da smo med IR diodo in

predelano spletno kamero (zaznava samo IR svetlobo, glej poglavje 3.2.2) postavili zaslon.

Slabše zaznavanje IR svetlobe zaradi zaslona in filtrov je bilo opazno, a še vedno zanemarljivo,

zato smo se odločili, da ohranimo vse filtre. S tem smo dosegli minimalen upad kvalitete slike.

Ker smo zaslon postavili v drugo ohišje, smo morali še podaljšati kable napajanja, osvetlitve in

kable gumba za vklop. Zaradi njihove številčnosti podatkovnih kablov nismo podaljševali.

Njihovo dolžino smo upoštevali že pri načrtovanju ohišja.

3.2.2 Kamera

Zaradi nizke cene in preverjenega delovanja smo se odločili za kamero Sony PS3 Eye (slika 22).

Ponuja nam zajemanje v ločljivosti 640 slikovnih točk x 480 slikovnih točk, kar pri 19 palčnem

zaslonu (38,61 cm x 28,96 cm) predstavlja 0,6 mm razmika med dvema točkama zaznavanja

oziroma 1,7 slikovnih točk/mm. To velja samo v primeru, ko je kamera postavljena na takšno

Page 37: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

25

razdaljo od zaslona, da ta prekriva celotno vidno polje kamere. Pri širokokotni nastavitvi kamere

(FOV = 75°) in 19 palčnem zaslonu znaša ta razdalja 31,44 cm. Izračunamo jo po enačbi 3, kjer

so r iskana razdalja, d diagonala zaslona in FOV kot vidnega polja.

r d2

tanFOV2 (3)

V poglavju 2.3.1 smo kot zadovoljivo ločljivost zaznavanja omenili zaznavanje točk z razmakom

5 mm. S PS3 Eye bi pri v ločljivosti izdelali MT zaslon velikosti 320 cm x 240 cm, kamera pa bi

morala biti postavljena na razdalji 260,65 cm od zaslona.

Slika 22: PS3 Eye kamera

Sony PS3 Eye

Vidno polje (FOV): 75° ali 56°

Vodilo: USB 2.0

Načini zajemanja:

• 320 slikovnih točk x 240 slikovnih točk

pri 120 posnetkov/s

• 640 slikovnih točk x 480 slikovnih točk

pri 60 posnetkov/s

Preden smo dobili PS3 Eye, smo za testiranje diod uporabljali spletno kamero proizvajalca

Canyon (slika 23). Kot IR prepustni filter smo ji čez objektiv nalepili magnetni trak, narejen iz

računalniške diskete. Druga opcija za poceni filter je uporaba razvitega barvnega fotografskega

filma. Kamero smo preizkusili tudi za zaznavanje svetlečih predmetov, vendar se po

pričakovanjih zaradi nizke hitrosti (7 posnetkov/s) ni obnesla.

Slika 23: Testiranje diod s spletno kamero Canyon z IR filtrom iz magnetnega traku.

Page 38: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

26

3.2.2.1 IR Filter

Sony PS3 Eye smo odstranili originalni filter, ki blokira IR svetlobo in ga zamenjali s pasovno

prepustnim filtrom, ki prepušča svetlobo iste valovne dolžine (880 nm), kot jo oddajajo

uporabljene diode. Prepustnost filtra v odvisnosti od valovne dolžine prikazuje slika 24, vpliv ki

ga ima na zajeto sliko pa slika 25. V primerjavi z negativom ali magnetnim trakom, ki prepuščata

širok spekter infrardeče svetlobe, uporaba takega filtra zmanjša svetlobne motnje iz okolja, ki se

pojavijo zaradi naravne ali umetne osvetlitve prisotne v prostoru.

Slika 24: Prepustnost IR filtra v odvisnosti od valovne dolžine svetlobe (preslikano iz [26]).

Slika 25: Pogled na diode skozi filter z valovno dolžino 880 nm (levo) in zajeti svetleči predmeti (desno).

3.2.3 IR osvetlitev

Uporabljena metoda kot vir IR svetlobe predvideva uporabo svetilnih ali LED diod (ang.: light

emitting diode). To so polprevodniški elementi, ki proizvajajo hladno svetlobo, kjer nastanejo

fotoni vidne ali infrardeče svetlobe ob rekombinaciji elektronov v pn spoju. Za razliko od žarnice

s kovinsko nitko, ki deluje na principu segrevanja Wolframove nitke, pri LED diodi ni segret

Page 39: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

27

noben sestavni del za proizvodnjo svetlobe. Posledično imajo LED diode boljši izkoristek (do

95 %), daljšo življenjsko dobo ter so manj občutljive na mehanske vplive, kot so vibracije. Imajo

pa še eno pomembno lastnost in sicer sposobnost proizvajanja svetlobe izbrane valovne

dolžine. Praviloma LED diode niso zgrajene iz silicija, temveč iz drugih materialov. Uporabljeni

material določa kolensko napetost diode, od katere je neposredno odvisna valovna dolžina

oddane svetlobe [27].

3.2.3.1 Izbira diod

Na začetku poglavja smo omenili, da je bila za izdelavo zaslona prvotno izbrana FTIR metoda.

Kot je opisano v poglavju 2.3.2.1, predvideva ta metoda uporabo diod s čim širšim kotom

sevanja in visoko sevalno močjo. Na podlagi tega smo izbrali v MT skupnosti izredno priljubljene

diode Osram SFH 485.

Prevodna

napetost UF

Enosmerni

prevodni toki IF

Valovna

dolžina Λ

Trajna izgubna

moč Ptot Sevalna moč

Polovični

sevalni kot φ

1,5 (< 1,8) V 100 mA 880 nm 200 mW 160 mW/sr ± 20°

Tabela 2: Lastnosti IR diod Osram SFH 485.

Tabela 2 podaja njihove pomembnejše lastnosti, povzete po tehnični dokumentaciji [28]. Sevalni

kot (40°) je sicer na spodnji meji priporočenega [23], vendar se diode v praksi še vedno izredno

dobro obnesejo, čemur botruje izjemna sevalna moč 160 mW/sr (minimalna priporočena je 80

mW/sr). Testiraje FTIR efekta prikazuje slika 26. Kljub slabim svetlobnim pogojem (zasilni filter

na kameri, odprta škatla, ki prepušča dnevno svetlobo … ) je zaznavanje prstov kakovostno.

Slika 26: Testiranje FTIR efekta

Menjava metode izdelave MT zaslona je pripeljala do problemov ravno zaradi izbranih diod. Pri

obeh metodah je želena čim večja sevalna moč, zahtevi glede sevalnega kota pa sta si ravno v

Page 40: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

28

nasprotju. Želimo si namreč čim tanjše svetlobne ploskve nad površino zaslona, za kar

potrebujemo diode z ozkim sevalnim kotom. V nasprotnem primeru, ko je IR svetloba razpršena

v širokem območju nad zaslonom, pride do lažnih svetlečih predmetov, še preden se zaslona

sploh dotaknemo. Problem smo rešili tako, da smo svetlobo 'usmerili' skozi tanke 1 mm debele

reže. Sprva smo jih izdelali iz dveh aluminijastih profilov. Med profila in zaslon smo na treh

mestih postavili 1 mm debele distančnike. Ker sta se profila pod lastno težo ukrivila, reža ni bila

enakomerna, kar se je poznalo na slabem zaznavanju svetlečih predmetov v sredini zaslona. Z

uporabo medeninastih profilov je bila težava odpravljena.

Slika 27: 1 mm debela reža, ki IR svetlobo usmeri v ravnino.

3.2.3.2 Montaža diod

Ko prst postavimo na zaslon, se IR svetloba odbije od robov prsta skozi zaslon v kamero. Če

LED diode postavimo samo na eno stranico zaslona, na primer levo, bo prst osvetljen samo z

leve. Posledično bo zaznana točka (svetleči predmet) v primerjavi s prstom pomaknjena

malenkost v levo, kar predstavlja napako delovanja MT zaslona. Razmere izboljšamo tako, da

postavimo diode na vse štiri stranice LCD zaslona. Ker so prsti nesimetrični in jih na zaslon

postavljamo pod določenim kotom, se še vedno pojavi majhen premik med centrom dotika in

zaznano točko. Popravimo ga z natančno kalibracijo zaslona. Osvetlitev z vseh štirih strani

skoraj popolnoma izniči tudi drugo pomanjkljivost te metode – pojavljanje senc (slika 14).

Situacije, ko je prst zasenčen z vseh štirih strani, so izredno redke in odvisne od gest, ki jih

aplikacija implementira. Geste v aplikaciji Gaea+ zahtevajo uporabo največ treh prstov, zato do

pojava senc ne pride.

Sprva smo diode namestili v lesene letvice 4,5 cm oddaljene od zaslona. Ker mora biti zaslon

osvetljen v vsaki točki, smo maksimalno dopustno razdaljo (enačba 4) med diodami ocenili na

podlagi razmer, ki jih prikazuje slika 28. Pri 19 palčnem zaslonu to pomeni 9 diod na krajši in 12

Page 41: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

29

diod na daljši stranici. Končno število uporabljenih diod smo nato določili z eksperimentiranjem

okrog teh vrednosti. Izkazalo se je, da lahko uporabimo manj diod.

X 2 · 4,5 · tan 20° 3,25 (4)

x

y

4,5 cm

φ

Slika 28: Izračun razdalje med diodami.

Za stabilno delovanje potrebujejo diode tokovno napajanje [29], kar dosežemo z zaporedno

vezavo diode in upora. Velikost upora določimo na podlagi enačbe 5, kjer je UN napajalna

napetost, UF prevodna napetost diode, IF enosmerni prevodni tok diode in n število diod vezanih

v serijo. Ker ne izdelujejo uporov poljubnih upornosti, izberemo tistega, ki je izračunani vrednosti

najbolj blizu.

R UN – n · UFIF (5)

Med eksperimentiranjem smo kot napetostni vir uporabili prirejen računalniški ATX napajalnik

(slika 29) [30]. Zeleno žico, preko katere matična plošča napajalnik vklaplja in izklaplja, smo

vezali na ozemljitev. S tem smo omogočili vklapljanje in izklapljanje napajalnika preko stikala na

hrbtni strani. Napajalnik ima priključke za ± 5 V, ± 12 V ter ozemljitev.

Page 42: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

30

Slika 29: V 'laboratorijski' vir napetosti predelan računalniški ATX napajalnik.

Najprej smo preizkusili vezalno shemo, ki jo prikazuje slika 30. Vsako vejo s po osmimi diodami

smo postavili na svojo stranico monitorja. V shemi je sicer manj diod kot smo ocenili, da bo

potrebno, vendar se je v praksi takšna osvetlitev izkazala za izjemno kakovostno. Zaznavanje

prstov je bilo na vseh predelih zaslona zadovoljivo in konsistentno (odvisnost velikosti svetlečih

predmetov od položaja na zaslonu je bila zanemarljiva).

Slika 30: Vezalna shema diod (U = 12 V, R = 1 Ω).

Pri povečanju števila diod v seriji na 16 ni bilo zaznati bistvenih sprememb v kakovosti

zaznavanja svetlečih predmetov. Nasprotno so se pri petih diodah v seriji pojavila območja v

kotih zaslona, kjer ni bilo zaznavanja. Izkazalo se je, da ponuja osem diod v seriji dobro

razmerje med kakovostjo osvetlitve in številom porabljenih diod. Zaradi uporov z upornostjo 1 Ω

je pri napajanju z napetostjo 12 V to tudi vezava z najmanjšo energijsko porabo (1,21 W).

Page 43: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

31

Slika 31: IR svetilna dioda Osram SFH 485.

Po izbiri vezalne sheme je sledila dokončna montaža. Kot zahteva dokumentacija, smo diode

spajkali pri temperaturi 250 °C in priključne spoje obdali s termokrčljivo cevjo. V nasprotju z

večino svetlinih diod ima dioda Osram SFH 485 (slika 31) anodo označeno s krajšim

priključkom.

3.2.3.3 Izdelava ohišja in končno montiranje

Izdelavo ohišja smo prepustili mizarju, skica in slike prototipa so v dodatku A.

Page 44: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

32

Page 45: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

33

4 Programska oprema

Programiranje MT aplikacij poteka na treh nivojih: razpoznavanje in sledenje objektom (prstom)

na zaslonu, razpoznavanje gest ter pravilna interpretacija gest v kontekstu aplikacije. Slika 32

shematično ponazarja zgradbo MT aplikacije.

Slika 32: Shematski prikaz zgradbe MT aplikacije.

Naloge lahko obravnavamo kot module, ločeno enega od drugega. Prva dva, sledenje objektom

in razpoznavanje gest, sta od končne uporabe v aplikaciji neodvisna. Ko enkrat izdelamo rešitvi

zanju, ju lahko uporabimo v različnih aplikacijah. Na izbiro pa imamo tudi že obstoječe prosto

dostopne rešitve, ki jih lahko uporabimo ali nadgradimo.

V nadaljevanju si bomo podrobneje pogledali vsak posamezni modul in opisali kako smo ga

realizirali. Module bomo poimenovali sledilnik, razpoznavalnik gest in aplikacija. Ogledali si

bomo tudi kako poteka komunikacija med njimi.

4.1 Zaznavanje in sledenje objektom

Sledenje objektom je eden temeljnih elementov področja strojnega vida. Naloga zahteva, da

smo sposobni zanesljivo razpoznati prisotnost istega predmeta na zaporedju slik. V splošnem je

to težavna naloga, saj moramo predmet najprej zaznati (pogosto v gruči predmetov, zastrt ali v

Page 46: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

34

različnih svetlobnih pogojih) na vseh slikah in nato podatke s slik med seboj primerjati, da

zaznani predmet identificiramo.

Razvitih je bilo veliko pristopov k reševanju problema sledenja. Večina njih slike najprej obdela z

adaptivnim algoritmom za odstranjevanje ozadja. Na ta način se znebimo statičnih predmetov na

sliki, ki bi pri sledenju gibajočih predmetov predstavljali motnjo. Pogosto orodje, ki se danes

uporablja na področju računalniškega vida za sledenje predmetov je Kalmanov filter. S stališča

sledenja pomaga oceniti nov položaj gibajočega se predmeta in negotovost njegovega položaja.

Napove kje iskati predmet v naslednji sliki in kolikšno naj bo področje iskanja [31].

4.1.1 Poenostavitve zaznavanja in sledenja predmetov

Za uporabniško izkušnjo, ki jo nudi MT aplikacija, je razpoznavanje in sledenje predmetov

ključnega pomena, saj neposredno vpliva na natančnost delovanja celotnega sistema. V primeru

slabega delovanja sledilnika lahko pride do zamika med tem kar na zaslonu vidimo in tem česar

se dotikamo (npr. ob dotiku ikone se sproži ukaz, ki je sicer povezan z neko drugo ikono).

Strojna oprema, uporabljena v optičnih MT sistemih nalogo razpoznavanja in sledenja

predmetom izredno olajša. Razmere se poenostavijo do te mere, da postane tudi

najenostavnejši Kalmanov filter odveč in izkaže se, da večino procesorske moči sledilnik porabi

za izdelavo in vzdrževanje modela ozadja [23]. Ker pa že uporaba IR osvetlitve in IR prepustni

filter na kameri izloči večino ozadja, postane tudi adaptivni filter ozadja odveč. Dovolj je, da

zajamemo eno statično sliko zaslona, ko na njem ni predmetov in to sliko uporabljamo kot model

ozadja. Slike nato obdelamo tako, da najprej od njih odštejemo ozadje in nato z upragovljanjem

dobimo bele predmete (prste ali markerje) na črnem ozadju.

Pri zajemanju s hitrostjo 30 posnetkov/s je časovni interval med dvema zaporednima slikama

približno 33 ms. Vemo, da bo predmet (prst) v tem času prepotoval razmeroma majhno razdaljo.

Na podlagi tega dejstva se lahko izognemo modeliranju dinamike objektov in za identifikacijo

istega objekta na dveh zaporednih slikah uporabimo pravilo k najbližjih sosedov.

Page 47: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

35

Slika 33: Prejšnje stanje (levo), trenutno stanje (na sredini) in določitev prehoda med stanji (desno) (preslikano iz [32]).

Slika 33 prikazuje sledenje prstom med dvema zaporednima slikama. Ker je v trenutnem stanju

več svetlečih predmetov kot v prejšnjem, sledilnik to interpretira kot pojav novega svetlečega

predmeta. Nato za vse možne prehode iz množice p1, p2 v množico c1, c2, c3, izračuna pri

prehodu prepotovane razdalje. Svetleči predmeti so razpoznani tako, kot predvideva prehod, ki

zahteva najmanjšo razdaljo (slika 33 desno).

4.1.2 Sledilnik Community core vision (CCV)

Za sledilnik smo se odločili uporabiti eno izmed prosto dostopnih rešitev, ki jo ponuja skupnost

NUI Group (ang.: natural user interface ali naravni uporabniški vmesnik). Sledilnik Community

Core Vision (CCV) [33], bivši tBeta, je sledilnik narejen posebej za potrebe MT sistemov. Deluje

na različnih platformah – Windows, Linux, Mac. Tok video podatkov pretvori v sledilne podatke

(npr. koordinate in velikost svetlečih predmetov) in dogodke (ang.: events, npr. prst na mizi,

premik prsta ali odstranitev prsta z zaslona) s katerimi gradimo MT aplikacije. CCV zna upravljati

z različnimi spletnimi kamerami, lahko se poveže po protokolih TUIO ali OSC in podpira vse

metode izdelave optičnih MT zaslonov.

Page 48: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

36

Slika 34: Uporabniški vmesnik sledilnika Community core vision

Slika 34 prikazuje uporabniški vmesnik sledilnika CCV, iz katere je razvidno, kaj vse nam ta

omogoča. Največ prostora zavzamejo zajeta slika (ang.: source image) in obdelana slika (ang.:

tracked image). Preslikavo med njima določamo z drsniki in gumbi, ki določajo naslednje

funkcije:

• Nivo upragovljanja (ang.: image threshold): slikovni elementi z nižjo vrednostjo od praga

bodo odstranjeni, tisti z višjo pa gredo naprej v obravnavo.

• Odstranitev ozadja (ang.: remove background): shrani trenutno zajeto sliko in jo uporabi

pri vseh naslednjih kot model ozadja.

• Dinamična odstranitev ozadja (ang.: dynamic subtract): uporaba dinamičnega modela

ozadja - za MT sisteme, ki delujejo v izjemno spreminjajočih se svetlobnih pogojih.

• Glajenje (ang.: smooth): zgladi sliko in iz nje odstrani šum.

• Visokoprepustni filter (ang.: highpass blur/noise): odstrani medle dele slike in ohrani

ostre (highpass blur). Po tej operaciji sledi ponovno odstranjevanje šuma (highpass

noise). Oboje lahko reguliramo z drsnikom.

• Ojačenje (ang.: amplify): Ojači šibke slikovne elemente.

Page 49: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

Vsi na

izdelav

CCV p

hitrost

aplika

jih mo

4.2

ašteti filtri po

ve MT sistem

Ko na zasl

Izključimo

Vklopimo g

Če so svet

Nastavimo

poleg naštet

ti in ločljivo

cijam in kali

ramo zapore

Komunika

onujajo možn

ma. Pri meto

lonu ni objek

visokoprepu

glajenje in ga

tleči predme

o nivo uprago

tega omogo

osti zajeman

bracijo napr

edno dotakn

acija med

nost vklopa

odi LED svet

ktov, zajame

ustni filter in

a nastavimo

eti šibki, vklo

ovljanja, tak

oča še navp

nja (preko X

rave. Slednja

niti.

Slika 35

sledilniko

Slika 36: Proto

in izklopa, k

tlobne ravni

emo sliko oz

ojačenje.

o na primern

pimo ojačen

o da na obd

pično in vodo

XML datote

a poteka tak

5: Kalibracija s

om in aplik

okol TUIO (pre

katere upora

ne je postop

adja.

o vrednost.

nje.

elani sliki ni

oravno pres

eke), pošilja

ko, da nam p

sledilnika.

kacijo – pr

eslikano iz [34

abimo, pa je

pek sledeč:

lažnih svetl

slikavo zajet

anje sledilni

program izriš

rotokol TU

4]).

odvisno od

ečih predme

e slike, nas

h podatkov

še mrežo to

UIO

37

metode

etov.

tavljanje

v drugim

čk, ki se

Page 50: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

38

Protokol TUIO se je uveljavil kot standard na področju prenosa podatkov med sledilnikom in

razpoznavalnikom gest ali MT aplikacijo. Razvit je bil posebej za uporabo na MT področju in

omogoča zaznavanje in opis prstov in predmetov. Strežnik in odjemalec, ki temeljita na tem

protokolu sta že implementirana v različnih jezikih (Java, C#, C++, Python …) Delovanje

protokola povzemajo naslednje točke [34]:

• Lastnosti zaznanih objektov, prikazuje jih tabela 3, se pošiljajo ob vsaki spremembi

stanja s pomočjo sporočila 'set'.

• Po odstranitvi objekta strežnik pošlje sporočilo 'alive', ki vsebuje seznam vseh trenutno

prisotnih objektov.

• Na podlagi sporočil 'set' in 'alive' odjemalec dojame odstranitev ali dodajanje objekta.

• Sporočilo 'fseq' združi edinstveno id številko posnetka z naborom sporočil 'set' in 'alive'.

• Da bi dosegli manjše zakasnitve v komunikaciji, protokol uporablja UDP transport.

s ID seje, ID trenutnega predmeta, int32

i ID razreda, ID markerja, int32

x, y, z pozicija, float32, razpon 0 -1

a, b, c kot, float32, razpon 0 – 2 π

X, Y, Z vektor premika (premik, hitrost in smer), float32

A, B, C rotacijski vektor (rotacija, hitrost in smer),

float32

m pospešek, float32

r rotacijski pospešek, float32

P prost parameter

Tabela 3: Podatki, ki jih predvideva protokol TUIO 1.0 za opis zaznanih objektov.

4.3 Razpoznavanje gest

Osnovni cilj raziskav na področju razpoznavanja gest je izdelava sistema, ki bi razumel

specifične človeške geste in iz njih razbral določeno informacijo ali ukaz. V splošnem so lahko te

geste poljubni gibi rok v prostoru, pri MT aplikacijah pa smo omejeni na premike prstov ali dlani v

dveh dimenzijah, kar poenostavi izgradnjo razpoznavalnika. V primeru, da MT zaslon omogoča

Page 51: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

39

zaznavanje predmetov, lahko geste tvorimo tudi z njimi. Poglejmo si, kaj vse moramo imeti v

mislih ob izgradnji razpoznavalnika gest za MT sistem:

• Progresivne in neprogresivne geste: Primer neprogresivne geste je risanje kroga po

zaslonu. Ko razpoznavalnik prepozna gesto ‘risanje kroga’, aplikaciji to sporoči in ta

ustrezno reagira. Približevanje dveh prstov na zaslonu ponavadi pomeni pomanjšanje

(npr.: slike) in je primer progresivne geste, saj je tu pomembno, da aplikacija zvezno

dobiva podatek o faktorju pomanjšanja. Razlika je podobna kot med klikom in potegom

(ang.: drag) z miško. Ob uspešnem razpoznanju progresivne geste se prične faza

interpretiranja geste, ki se konča, ko se konča gesta. Pri neprogresivnih gestah take faze

ni, saj se gesta interpretira takoj po njenem razpoznanju.

• Enostavne in sestavljene geste: Enostavno gesto tvorimo z enim prstom ali

predmetom. Primer take geste je premik prsta po zaslonu, kar lahko enačimo s potegom

miške. in je enostavna gesta. Ker MT tehnologija omogoča zaznavanje več hkratnih

enostavnih gest, lahko več teh, ločenih v prostoru in/ali času, združimo v sestavljeno

gesto.

• Statično in dinamično modeliranje gest: Dinamično modeliranje gest pomeni, da pri

razpoznavanju gest upoštevamo tudi njeno časovno komponento (hitrost in pospešek

premikanja). To nam omogoča širši nabor gest in pestrejšo uporabniško izkušnjo. V

predvajalniku glasbe lahko enakomerno premikanje prsta navpično navzdol pomeni

postopno nižanje glasnosti, ista gesta izvedena z določenim pospeškom pa pomeni ukaz

za popolno utišanje predvajalnika.

Pristope k razpoznavanju gest lahko razdelimo v dve skupini [35]: na osnovi pravil in na osnovi

strojnega učenja. Pri prvi geste razpoznamo na podlagi v naprej predpisanih pravil, pri drugi pa

se razpoznavalnik na podlogi učnega vzorca nauči pravilnega razpoznavanja gest (npr. prikriti

Markovovi modeli, umetna nevronska omrežja)

4.3.1 Gaea+

Razvoj razpoznavalnika je bil tesno povezan z aplikacijo, ki naj bi ga uporabljala, zato jo bomo

na kratko predstavili. Gaea+[4] je orodje za vizualizacijo v tridimenzionalnem prostoru, s katerim

na enostaven način prikazujemo poljubne uporabne informacije v kontekstu resničnega

geografskega prostora, tudi v realnem času. Orodje odlikujeta izjemno preprosta uporaba in

možnost prilagoditev in predelav glede na potrebe in želje posameznih skupin uporabnikov.

Omogoča predstavitev zajetnih količin poljubnih geografsko označenih podatkov v obliki slojev,

Page 52: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

40

ki nadgrajujejo osnovno vizualizacijo površja zemlje z zbirko vsebinsko sorodnih podatkov.

Primeri slojev so ceste, podatki o vremenu, prostorski akti, podatki iz katastra, različne

napeljave, turistične informacije, slovenska kulturna dediščina, državne meje, OpenStreetMap

[36], GPS podatki ...

Slika 37: 3D vizalizacijsko orodje Gaea+.

Programska oprema Gaea+ je zgrajena na ogrodju NASA World Wind Java SDK 0.6 [37], ki v

osnovi ponuja boljšo navigacijo kot konkurenčni Google Earth [38]. Najpomembnejši prednosti

sta zagon neposredno iz spletnih strani, brez predhodne namestitve programske opreme, ter

možnost vgradnje v poljubno spletno mesto (Gaea+ za zagon uporablja Java Web Start). Na

območju Slovenije prikazuje natančnejše ortofoto (letalske) posnetke površja, uporablja

natančnejši višinski model in ponuja več vsebinskih podatkov.

4.3.2 G2RE – Gaea+ gesture recognition engine

Gaea+ gesture recognition engine (G2RE) je razpoznavalnik, ki ga lahko uporabimo v poljubnem

programu, vendar je prvotno namenjen uporabi v orodju Gaea+. Večina ukazov v tej aplikaciji je

namenjena navigaciji v prostoru, na primer:

• klik na točko na zemljevidu postavi središče zemljevida v to točko,

• poteg z miško služi premikanju po zemljevidu,

• tipka Shift in poteg z miško spreminja naklon in rotacijo pogleda,

• …

Dostopanje do teh ukazov preko gest je bil osnovni cilj razvoja razpoznavalnika in vodilo pri

določanju nabora gest, ki jih G2RE razpoznava. Ta nabor neposredno vpliva na uporabniško

izkušnjo MT aplikacije. Geste morajo biti za uporabnika samoumevne, njihova izvedba

enostavna in neutrudljiva. Poleg tega moramo pri določanju nabora gest paziti, da izberemo

Page 53: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

41

geste, ki se med seboj čim bolj razlikujejo. S tem zmanjšamo možnost napačnega

razpoznavanja. Nabor ukazov in pripadajočih gest je sledeč:

• Klik: prst za kratek čas (manj kot 0,1 s) položimo na zaslon.

• Premik: z vlečenjem prsta po zaslonu premikamo zemljevid.

• Vodoravni in navpični premik: če v začetni fazi premikanja prsta napravimo izrazito

vodoraven gib, se bo zemljevid premikal zgolj v vodoravni smeri. Vsi nadaljnji navpični

gibi prsta bodo pri premikanju zemljevida zanemarjeni. Podobno velja za navpični

premik. To se v aplikaciji izvede kot premikanje pri konstantni zemljepisni širini ali dolžini.

• Rotacija pogleda in spreminjanje naklona pogleda: gesta posnema vrtenje palice

okrog fiksne točke. En prst držimo na zaslonu medtem, ko drug prst premikamo. Smer

premikanja slednjega določa ali bo gesta spreminjala rotacijo pogleda (vodoravno

premikanje) ali naklon (navpično premikanje). Če prst premikamo v obe smeri, bomo

hkrati spreminjali rotacijo in naklon pogleda. Sprememba se odvija v koordinatnem

sistemu, ki ima v izhodišču središče zemlje.

• Povečevanje in pomanjševanje: sočasno premikanje dveh prstov po zaslonu povzroči

povečevanje ali pomanjšanje zemljevida odvisno od tega, ali se razdalja med njima veča

ali manjša.

• Povečanje na določeno območje: dva mirujoča prsta na zaslonu določata diagonalo

pravokotnika, ki ga želimo povečati čez cel zaslon.

• Rotacija in sprememba naklona očesa: gesto izvajamo podobno kot spreminjanje

naklona in orientacije pogleda, le da moramo sedaj na zaslon položiti dva mirujoča prsta,

medtem ko tretjega premikamo. Sprememba se odvija v koordinatnem sistemu, ki ima v

izhodišču oko (točko, iz katere je usmerjen trenutni pogled).

Razpoznavalnik gest lahko obravnavamo kot sistem, ki vhodne podatke preslika v geste. Določiti

moramo obliko vhodnih podatkov, nabor možnih gest na izhodu ter preslikavo med njima. Obliko

vhodnih podatkov določa uporabljen protokol za komunikacijo med sledilnikom in

razpoznavalnikom. Tabela 3 vsebuje podatke, ki jih za zaznane predmete predvideva protokol

TUIO 1.0. Preslikavo med njimi in gestami smo razbili na dva dela: prepoznavanje enostavnih

gest in združevanje enostavnih gest v končne geste. Oboje poteka na osnovi pravil.

Prvo razpoznavanje vsakemu zaznanemu predmetu (prstu) doda oznako osnovne geste, ki jo ta

izvaja. Te osnovne geste, in pravila s katerimi jih razpoznamo, so:

Page 54: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

42

• Klik: Če zaznani predmet – prst v kratkem času (< 0.1 s) izgine z zaslona, ga označimo

kot klik.

• Nepremična točka: Če se prst na zaslonu ne premakne izven nekega majhnega

območja, ga označimo kot nepremično točko. Kako majhno mora biti to območje,

določimo s poskušanjem.

• Prost premik: Geste, ki niso označene ne kot klik ne kot nepremična točka, označimo

kot prost premik.

• Premik v vodoravni ali navpični smeri: Po desetih spremembah lege, gestam

označenim kot prost premik, zmerimo kot, ki ga oklepata začetna in končna točka. Kot na

intervalu - 5° < α < 5° ali 175° < α < 185° določa vodoravni premik, 95° < α < 105° ali

265° < α < 275° pa navpični premik.

Na drugem nivoju razpoznavanja lahko te enostavne geste obravnavamo kot gradnike, iz katerih

sestavljamo kompleksnejše geste. Lahko rečemo, da služi prvo razpoznavanje preslikavi iz

prostora zaznanih predmetov opisanih po protokolu TUIO v prostor enostavnih gest. Med obema

razpoznavanjema se začetna informacija o zaznanih predmetih ohranja v pripadajoči podatkovni

strukturi. To je pomembno za kasnejšo interpretacijo končnih gest v sami aplikaciji.

Preslikavo med razpoznanimi enostavnimi gestami in končnimi razpoznanimi gestami G2RE

določajo pravila, ki sestavljajo odločitveno drevo (slika 38). Kot primer navedimo pravilo za

določanje geste, ki služi spreminjanju rotacije pogleda: če je med osnovnimi gestami prisotna

'nepremična točka' in če je prisoten 'vodoravni premik', razpoznaj končno gesto 'spreminjanje

rotacije pogleda'.

Page 55: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

43

Sprememba rotacije očesa

Sprememba rotacije in naklona očesa

Povečaj ali pomanjšaj

KlikProst

premik

Navpičenpremik

Vodoravenpremik

Dve nepremični

točki?

Ena nepremična

točka?

Kaj še?

Dva prosta premika?

Povečanje na določeno območje

Kaj še?

Sprememba naklona očesa

NAVPIČNIPREMIK

NE

DA

DA

DA

NE

VODORAVNI PREMIK

NIČPROSTPREMIK

Sprememba rotacije pogleda

Sprememba rotacije in naklona pogleda

Kaj še?

Sprememba naklona pogleda

NAVPIČNIPREMIK

VODORAVNI PREMIK

PROSTPREMIK

NE

PROSTPREMIK

VODORAVNI PREMIK

NAVPIČNIPREMIK

KLIK

Slika 38: Odločitveno drevo razpoznavalnika.

Postopek odločanja predpostavlja, da uporabnik v vsakem trenutku izvaja samo tiste enostavne

geste, ki so nujno potrebne, da doseže cilj (npr. spremembo rotacije pogleda). To pomeni, da

razpoznavalnik pregledovanje, kateri končni gesti ustreza dan nabor enostavnih gest, začne pri

najkompleksnejših gestah. Koda odločanja je priložena v dodatku A.

Page 56: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

44

Odločanje se ponovi, ko pridejo novi podatki na vhod razpoznavalnika. S tem dosežemo sprotno

razpoznavanje gest pri frekvenci, ki jo v grobem določa hitrost zajemanja kamere. Po vsakem

razpoznavanju Gaea+ pregleda množico končnih gest in se nanje odzove. Tak način delovanja

omogoča razpoznavalniku in aplikaciji pravilno obravnavo progresivnih gest.

4.4 Implementacija MT gest v aplikaciji Gaea+

Razpoznavalnik gest implementira vmesnik dodatka (ang.: plug-in) za aplikacijo Gaea+. Ker je

slednja spisana v programskem jeziku Java, je tudi razpoznavalnik v tem jeziku. Njegovo

zgradbo prikazuje slika 39.

RazredListener

Razred GestureAnalizer

Razred GestureRecognizer

Razred ActionMan

Razred TUIOCursorList

Razred SimpleGestureList

Razred GestureList

Slika 39: Shematski prikaz razredov razpoznavalnika G2RE.

Razred Listener implementira vmesnik odjemalca, kot ga določa protokol TUIO. Služi

sprejemanju podatkov, ki jih pošilja sledilnik. Shrani jih v seznam (razreda TUIOCursorList)

razreda GestureRecognizer. Vsakič, ko sledilnik pošlje nove podatke, Listener kliče metodo

performRecognition razreda GestureRecognizer. Naloga slednjega je, da opravi razpoznavanje

osnovnih gest. V zanki preleti vse predmete na zaslonu in jim določi pripadajočo osnovno gesto.

To stori s pomočjo metod, ki preverjajo v prejšnjem poglavju našteta pravila za razpoznavanje

osnovnih gest. Geste shrani v seznam SimpleGestureList in za tem kliče metodo analize razreda

GestureAnalizer. V tem razredu se vrši razpoznavanje končne geste. GestureAnalizer nato

posreduje razpoznano gesto razredu ActionMan, ki jo interpretira v kontekstu aplikacije GAEA+.

To pomeni, da na podlagi geste in stanja, v katerem se aplikacija nahaja določi primeren ukaz.

Page 57: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

45

'Klik' gesta pomeni premik centra zemljevida v točko dotika. Če se na zaslonu dotaknemo

vesolja, mora to ActionMan upoštevati tako, da prepreči premik centra zemljevida. V primeru, da

bi razpoznavalnik želeli uporabiti v drugi aplikaciji, bi morali razred ActionMan prirediti potrebam

te aplikacije. Vsi drugi razredi bi lahko ostali enaki.

Celotna koda razpoznavalnika se nahaja v dodatku A.

Page 58: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

46

Page 59: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

47

5 Zaključek

Pomen MT tehnologij se skriva v tem, da nudijo nov način interakcije z računalnikom. Pri MT

zaslonih se dejansko dotikamo predmetov, s katerimi želimo manipulirati, kar zmanjša nivo

abstrakcije, ki je prisoten v grafičnih uporabniških vmesnikih. Pri slednjih se med uporabnika in

računalnik vrine miška, ki v komunikaciji med njima predstavlja nekakšnega posrednika ali

prevajalca. Spremembi interakcije pa se morajo prilagoditi tudi aplikacije same, saj so ikone

velikokrat premajhne in preblizu skupaj, da bi jih lahko s prstom natančno izbirali. Velja poudariti,

da bosta tipkovnica in miška še vedno prisotni, saj pri določenih opravilih prekašata MT sisteme

(npr. programiranje).

S serijsko proizvodnjo MT LCD zaslonov lahko pričakujemo, da se bodo MT tehnologije v

polnosti razširile med uporabnike. Do takrat pa bodo ostale MT tehnologije v domeni večjih

inštalacij (multimedijski zidovi na sejmih in v muzejih), glasbe (instrument ReacTable [41],

mešalna miza Lemur) in drugih področij, kjer MT zaslon upraviči svojo visoko ceno.

Pri izdelavi strojnega dela MT sistema smo naleteli na nekaj težav, ki so izvirale iz tega, da smo

med izdelavo zamenjali metodo, po kateri smo MT zaslon izdelali. Kljub temu, da smo težave

uspešno premostili, bi bilo najlažje, če bi za vir IR svetlobe uporabili štiri laserje. S tem bi si

prihranili veliko dela, rezultati pa bi bili enaki, če ne celo boljši. Namen izdelave tako majhnega

sistema je bil predvsem v pridobivanju izkušenj in znanja na področju MT tehnologij, kar smo

tudi dosegli. Ker lahko z optičnimi metodami izdelave MT zaslonov zgradimo zaslon skoraj

poljubne velikosti, bi bila sedaj predelava večje LCD televizije (vsaj 82 cm) razmeroma

enostavna naloga.

Z večjim MT zaslonom se nam odprejo nove možnosti na področju izdelave aplikacij. Lahko bi

izdelali orodje za soočanje idej (ang.: brainstorming), saj bi zaradi večdotičnosti lahko več ljudi

hkrati pisalo po tabli, ki bi vse zabeležila. S tem ne bi ohranili samo idej, ampak tudi zaporedje,

kako so se vrstile. Na podoben način bi lahko izdelali šolsko tablo, ki bi med predavanji sama

delala zapiske. Spet bi lahko določili, kaj je bilo prej in kaj kasneje napisano. V primeru

reševanja fizikalne naloge je ta informacija zelo koristna, saj se v njej skriva postopek reševanja.

Zanimiva bi bila tudi realizacija programa za grafično oblikovanje ali modeliranje, kot sta na

primer Photoshop [39] in AutoCAD [40]. Za te programe je značilno ogromno število orodij in

ukazov, ki so dostopni preko ikon ali kompleksnih bližnjic na tipkovnici. Z uporabo gest bi delo

Page 60: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

48

izjemno pohitrili. Že samo to, da bi lahko z eno roko izbirali orodja, medtem ko z drugo rišemo, bi

nam prihranilo veliko časa v primerjavi z vsakokratnim premikanjem miške od risbe do palete z

orodji in nazaj.

Razpoznavalnik G2RE je trenutno še v fazi razvoja, ki bo šel v dve smeri: širši nabor gest in

izpopolnitev interakcije med razpoznavalnikom in aplikacijo Gaea+. Pri slednjem gre predvsem

za določanje pravih razmerij pri izvajanju progresivnih gest. Za primer vzemimo gesto za

povečanje in pomanjšanje. Najti je treba pravo razmerje med spreminjanjem razdalje med prsti

na zaslonu in spreminjanjem faktorja povečave zemljevida. Podobno velja za spreminjanje

naklona in rotacije očesa ali pogleda. Ta razmerja odločajo o tem, kakšna bo uporabniška

izkušnja.

Čas je, da se po silovitem razvoju računalnikov in njihovih izhodnih naprav zgodi večji premik v

razvoju vhodnih naprav. MT tehnologije so ena izmed smeri tega razvoja, ki se vedno bolj

uveljavlja. Imajo velik potencial in so dovolj zrele za širšo uporabo. Kako jih bomo kot uporabniki

sprejeli, pa je precej odvisno od tega, kako bomo kot razvijalci strojne in programske opreme

znali njihov potencial izkoristiti. Pri tem bo tudi pomembno standardiziranje gest. Če do tega ne

pride, se bomo morali za vsako napravo učiti drugih gest, kar izniči samoumevnost upravljanja,

ki je sicer ena izmed poglavitnih prednosti MT sistemov.

Page 61: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

49

6 Literatura

1. http://xlab.si/

2. http://www.islonline.com/

3. http://research.xlab.si/index.php?option=com_content&task=view&id=41&Itemid=62

4. http://gaeaplus.si/

5. Buxton W.: Multi-Touch Systems that I Have Known and Loved,

http://www.billbuxton.com/multitouchOverview.html

6. McAvinney P.: The Sensor Frame - A Gesture-Based Device for the Manipulation of Graphic

Objects, Carnegie-Mellon University, 1986

7. Lee S., Buxton W. & Smith K.C.: A Multi-Touch Three Dimensional Touch-Sensitive Tablet,

1985 http://www.billbuxton.com/leebuxtonsmith.pdf

8. Kabbash P., Buxton W.& Sellen A.: Two-Handed Input in a Compound Task, zbornik CHI '94,

str. 417-423, 1994

9. Wellner, P.: The Digital Desk Calculator: Tactile manipulation on a desktop display.

Proceedings of the Fourth Annual Symposium on User Interface Software and Technology

(UIST '91), 27-33, 1991

10. Westerman W.: Hand Tracking, Finger Identification, and Chordic Manipulation on a Multi-

Touch Surface, doktorska disertacija Univerity of Delaware, 1999

http://www.ee.udel.edu/~westerma/main.pdf

11. http://www.merl.com/projects/DiamondTouch/

12. http://www.jazzmutant.com/

13. http://www.tactiva.com/

14. Han J. Y.: Low-Cost Multi-Touch Sensing through Frustrated Total Internal Reflection. In

Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology,

2005

Page 62: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

50

15. http://www.apple.com/iphone/

16. http://www.microsoft.com/surface/

17. Izadi S., Hodges S., Butler A., Rrustemi A., Buxton W., EDT '07: Proceedings of the 2007

workshop on Emerging displays technologies, ACM, New York, 2007

http://www.billbuxton.com/UISTthinSight.pdf

18. Berry S., Grivna E.: Touch screens: the magic behind multi-touch,

http://www.cypress.com/?id=1328&rid=1766

19. http://www.embedded.com/design/218101892

20. http://blog.4rev.net/2009-08/4-wire-resistive-touchscreens-how-stuff-works/

21. http://www.oculardisplaysystems.com/pdf/ProjectedCapacitiveTouchScreenTechnology.pdf

22. Schöning J., et al. , Multi-touch surfaces: A technical guide, Tech. rep., 2008

http://ifgiweb.uni-muenster.de/~j_scho09/pubs/bymultitouch.pdf

23 Çetin G., Bedi R., Sandler S.: Multi-touch Technologies. 1st edition.

http://nuicode.com/attachments/download/112/First_Edition_Community_Release.pdf

24. http://www.nuigroup.com

25. Motamedi N.: CHI '08 extended abstracts on Human factors in computing systems ACM,

New York, 2008, stran 3069-3074

26. Podatki o IR filtru, http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=310134863378

27. B. Murovec, P Šuhel: Industrijska elektronika elementi, Ljubljana, 2005

28. Osram SFH485, tehnična dokumentacija, catalog.osram-

os.com/catalogue/catalogue.do;jsessionid=0?act=downloadFile&favOid=020000030000cc9b000

100b6

29. B. Murovec: Laboratorijske vaje industrijska elektronika in elektronika z digitalno tehniko,

Založba FE in FRI, Ljubljana, 2005

30. http://www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply

Page 63: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

51

31. S. Kovačič, Strojni vid: Analiza gibanja, zapiski s predavanj, vision.fe.uni-lj.si/classes/SV/Sv-

2004-2005/Predavanja/MV05-11-Januar-2005.ppt

32. L. Y. L. Muller: Mult-touch displays: application and performance evaluation, magistrsko

delo Univerza v Amsterdamu, junij 2008

http://www.science.uva.nl/research/scs/papers/archive/Muller2008a.pdf

33. http://ccv.nuigroup.com/

34. Specifikacija protokola TUIO, http://www.tuio.org/

35. Hassanpour R. et al.: VisionBased Hand Gesture Recognition for Human Computer

Interaction: A Review, IADIS International Conference Interfaces and Human Computer

Interaction 2008, http://ce.et.tudelft.nl/publicationfiles/1610_974_Reza_1.pdf

36. http://www.openstreetmap.org/

37. http://worldwind.arc.nasa.gov/java/index.html

38. http://earth.google.com/

39. http://www.adobe.com/products/photoshop/family/

40. http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2704278

41. http://www.reactable.com/

Dostopnost vseh internet strani je bila preverjena avgusta 2009.

Page 64: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

52

Page 65: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

53

Dodatek A – ohišje

Slika 40: Skica jedra zaslona – osnova okrog katere je mizar izdelal ohišje. V času pisanja diplome je ohišje še v izdelavi.

Slika 41: Slike prototipa MT zaslona.

Page 66: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

54

Page 67: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

55

Dodatek B – programska koda

Razred GaeaGre.java package si.xlab.gaea.plugin.multitouch; import java.beans.PropertyChangeEvent; import gov.nasa.worldwind.WorldWindow; import gov.nasa.worldwind.avlist.AVList; import si.xlab.gaea.core.plugin.GaeaPlugin; import si.xlab.gaea.core.plugin.GaeaView; import si.xlab.gaea.core.plugin.PluginInterface; import si.xlab.gaea.plugin.multitouch.tuio.*; public class GaeaGre extends GaeaPlugin private WorldWindow wwd; private Listener listener; public GaeaGre(PluginInterface plugface, AVList parameters) super(plugface, parameters); this.wwd = plugface.getWwd(); System.out.println("GaeaGre()"); TuioClient client = null; this.listener = new Listener(this.wwd); try //here we can specify on which port the client will listen client = new TuioClient(); catch (Exception e) System.out.println("usage: java TuioGR [port]"); System.exit(0); if (client!=null) client.addTuioListener(getTuioListener()); client.connect(); else System.out.println("usage: java TuioGR [port]"); System.exit(0); public TuioListener getTuioListener() return listener; public void propertyChange(PropertyChangeEvent arg0) Razred Listener.java package si.xlab.gaea.plugin.multitouch; import gov.nasa.worldwind.WorldWindow; import java.util.*; import javax.swing.*; import si.xlab.gaea.plugin.multitouch.tuio.*;

Page 68: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

56

public class Listener extends JComponent implements TuioListener private static final long serialVersionUID = 1L; public boolean verbose = false; private CursorList cList = new CursorList(); private GestureRecognizer recognizer; public synchronized void addTuioObject(TuioObject tobj) public synchronized void updateTuioObject(TuioObject tobj) public synchronized void removeTuioObject(TuioObject tobj)

public Listener(WorldWindow wwd) this.recognizer = new GestureRecognizer(wwd); public synchronized void addTuioCursor(TuioCursor tcur) if (!cList.getList().containsKey(tcur.getSessionID())) cList.addCursor(tcur); if (verbose) System.out.println("add cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+") "+tcur.getX()+" "+tcur.getY()); public synchronized void updateTuioCursor(TuioCursor tcur) if (verbose) System.out.println("set cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+") "+tcur.getX()+" "+tcur.getY()+" "+tcur.getMotionSpeed()+" "+tcur.getMotionAccel()); public synchronized void removeTuioCursor(TuioCursor tcur) if (cList.getList().containsKey(tcur.getSessionID())) //cList.removeCursor(tcur); if (verbose) System.out.println("del cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+")"+tcur.getTuioState()); public synchronized void refresh(TuioTime frameTime) recognizer.cList = syncronizeLists(recognizer.cList); recognizer.performRecognition(); public synchronized CursorList syncronizeLists(CursorList recognizerList) CursorList syncronizedList = cList; Collection<TuioCursor> c = recognizerList.getList().values(); for (TuioCursor tcur : c) if (syncronizedList.getList().containsKey(tcur.getSessionID())) syncronizedList.getList().get(tcur.getSessionID()).recognizedAs = tcur.recognizedAs; return syncronizedList; Razred GestureAnalizer. java package si.xlab.gaea.plugin.multitouch;

Page 69: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

57

import gov.nasa.worldwind.WorldWindow; import java.util.*; import si.xlab.gaea.plugin.multitouch.tuio.*; public class GestureAnalizer

private CursorList previousGesture; private CursorList currentGesture = new CursorList(); public SimpleGestureList gList; private TuioCursor tcur; private TuioCursor pivot; private TuioCursor scndPivot; private ActionMan actionMan; public GestureAnalizer(WorldWindow wwd) this.actionMan = new ActionMan(wwd); public void Analize ()

currentGesture.clearList(); if (previousGestureStillActive()) currentGesture = previousGesture; actionMan.goOn(currentGesture); return; switch (gList.numberOfPivots()) case 0: if (havePinch()) actionMan.zoom(currentGesture); else //At this point, there should only be one gesture on the screen, otherwise the user's input is (considered) meaningless. tcur = gList.nextGesture(); if (tcur != null) currentGesture.addCursor(tcur); switch (tcur.recognizedAs) case 1: actionMan.click(currentGesture); break; case 3: actionMan.moveX(currentGesture); break; case 4: actionMan.moveY(currentGesture); break; case 5: actionMan.drag(currentGesture); break; default: break; break; case 1: currentGesture = gList.returnPivots(); tcur = gList.nextMovementGesture(); if (tcur != null) currentGesture.addCursor(tcur); switch (tcur.recognizedAs)

Page 70: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

58

case 3: actionMan.headingChange(currentGesture); break; case 4: actionMan.pitchChange(currentGesture); break; case 5: actionMan.pitchAndHeadingChange(currentGesture); break; default: break; break; case 2: currentGesture = gList.returnPivots(); tcur = gList.nextMovementGesture(); if (tcur != null) currentGesture.addCursor(tcur); switch (tcur.recognizedAs) case 3: actionMan.eyeRotacija(currentGesture); break; case 4: actionMan.eyeNaklon(currentGesture); break; case 5: actionMan.eyeRotacijaInNaklon(currentGesture); break; default: break; else actionMan.zoomInWithTwoPoints(currentGesture); break; default: break; private boolean previousGestureStillActive() if (previousGesture == null) return false; else for (TuioCursor tcur : previousGesture.getList().values()) if (!gList.getList().containsValue(tcur)) return false; return true; private boolean havePinch() //This method looks for two movement gestures. If they are found, //they are treated as a pinch gesture,currentGesture is updated and true is returned. CursorList tempList = new CursorList(); for (TuioCursor tcur : gList.getList().values()) if ((tcur.recognizedAs == 3)||(tcur.recognizedAs == 4)||(tcur.recognizedAs == 5)) tempList.addCursor(tcur);

Page 71: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

59

if (tempList.getList().size() == 2) currentGesture = tempList; return true; return false; Razred GestureRecognizer package si.xlab.gaea.plugin.multitouch; import gov.nasa.worldwind.WorldWindow; import java.util.*; import si.xlab.gaea.plugin.multitouch.tuio.*; public class GestureRecognizer public CursorList cList = new CursorList(); private SimpleGestureList gList = new SimpleGestureList(); private GestureAnalizer analizer; public TuioTime time = new TuioTime(); public GestureRecognizer(WorldWindow wwd) this.analizer = new GestureAnalizer(wwd);

public void performRecognition () checkClick(); cList.removeTerminatedCursors(); checkSimpleGestures(); analizer.gList = gList; analizer.Analize(); gList.removeTerminatedGestures();

//SIMPLE GESTURES RECOGNITION METHODS:

private void checkClick() for (TuioCursor tcur : cList.getList().values()) if (!tcur.isRecognized()) if ((tcur.getPath().size() == 1) && (tcur.getTuioState() == 4)) tcur.recognizedAs = 1; gList.addGesture(tcur); private void checkSimpleGestures() Vector<TuioPoint> path = new Vector<TuioPoint>(); for (TuioCursor tcur : cList.getList().values()) path = tcur.getPath(); if (!tcur.isRecognized()) checkXYmovement(path, tcur); checkPivot(path, tcur); if (tcur.recognizedAs == 5) checkXorYmovement(path, tcur);

Page 72: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

60

gList.addGesture(tcur); private void checkXYmovement(Vector<TuioPoint> path, TuioCursor tcur) if (path.size() > 1) tcur.recognizedAs = 5; private void checkPivot (Vector<TuioPoint> path, TuioCursor tcur) if ((path.size() == 1) && ((tcur.getStartTime().getSeconds() + 0.5 < time.getSessionTime().getSeconds()))) tcur.recognizedAs = 2; private void checkXorYmovement(Vector<TuioPoint> path, TuioCursor tcur) float angle = path.firstElement().getAngleDegrees(path.lastElement()); //the gap defined by this condition determines when a certain movement can be classified as a horizontal or vertical one if ( (path.size() > 6) & (path.size() <15)) if (((-5 < angle) && (angle < 5)) || ((175 < angle) && (angle < 185))) tcur.recognizedAs = 3; if (((85 < angle) && (angle < 95)) || ((265 < angle) && (angle < 275))) tcur.recognizedAs = 4; Razred ActinMan package si.xlab.gaea.plugin.multitouch; import gov.nasa.worldwind.WorldWindow; import si.xlab.gaea.core.plugin.GaeaView; import gov.nasa.worldwind.avlist.AVKey; import gov.nasa.worldwind.avlist.AVList; import gov.nasa.worldwind.awt.ViewInputHandler; import gov.nasa.worldwind.awt.ViewInputAttributes.ActionAttributes; import gov.nasa.worldwind.geom.Angle; import gov.nasa.worldwind.geom.LatLon; import gov.nasa.worldwind.geom.Position; import gov.nasa.worldwind.util.Logging; import java.lang.reflect.Array; import java.util.Vector; import javax.lang.model.type.NullType; import javax.swing.text.View; import si.xlab.gaea.plugin.multitouch.tuio.*; public class ActionMan //set the resolution of the monitor: private int screenWidth = 1280; private int screenHeight = 1024; private int zoomCounter; private WorldWindow wwd; private GaeaView view; private int previousAction; private TuioCursor[] cursors = new TuioCursor[1]; public ActionMan(WorldWindow wwd)

Page 73: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

61

this.wwd = wwd; greViewInputHandler.setWorldWindow(wwd); ActionMan.viewInputBroker.setWorldWindow(wwd); public void click(CursorList cList) previousAction = 1; view = (GaeaView)wwd.getView(); TuioCursor tcur = cList.getList().elements().nextElement(); if (getPositionFromScreenPoint(tcur) != null) moveMapCenter(tcur, view); public void headingChange(CursorList cList) previousAction = 2; view = (GaeaView)wwd.getView(); Angle fieldOfView = view.getFieldOfView(); for (TuioCursor tcur : cList.getList().values()) if (tcur.recognizedAs != 2) Vector<TuioPoint> path = tcur.getPath(); if (path.get(path.size()-2).getX() > path.lastElement().getX()) view.setHeading(view.getHeading().subtract(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); else view.setHeading(view.getHeading().add(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); this.wwd.redraw(); public void pitchChange(CursorList cList) previousAction = 3; view = (GaeaView)wwd.getView(); Angle fieldOfView = view.getFieldOfView(); for (TuioCursor tcur : cList.getList().values()) if (tcur.recognizedAs != 2) Vector<TuioPoint> path = tcur.getPath(); if (path.get(path.size()-2).getY() > path.lastElement().getY()) view.setPitch(view.getPitch().subtract(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); else view.setPitch(view.getPitch().add(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); this.wwd.redraw(); public void drag(CursorList cList) previousAction = 4; view = (GaeaView)wwd.getView(); cList.getList().values().toArray(cursors); Vector<TuioPoint> path = cursors[0].getPath(); //from the last two points in the cursor, we calculate how much to move the center of the map TuioPoint last = path.lastElement(); TuioPoint penultimate = path.get(path.size()-2);

Page 74: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

62

Position posLast = getPositionFromScreenPoint(last); Position posPenultimate = getPositionFromScreenPoint(penultimate); if ((posLast != null) && (posPenultimate != null)) Position diffPosition = posLast.subtract(posPenultimate); view.setCenterPosition(view.getCenterPosition().add(diffPosition)); this.wwd.redraw(); public void pitchAndHeadingChange(CursorList cList) previousAction = 5; Angle fieldOfView = view.getFieldOfView(); for (TuioCursor tcur : cList.getList().values()) if (tcur.recognizedAs != 2) Vector<TuioPoint> path = tcur.getPath(); if (path.get(path.size()-2).getY() > path.lastElement().getY()) view.setPitch(view.getPitch().subtract(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); else view.setPitch(view.getPitch().add(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); if (path.get(path.size()-2).getX() > path.lastElement().getX()) view.setHeading(view.getHeading().subtract(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); else view.setHeading(view.getHeading().add(fieldOfView.multiply((double)path.get(path.size()-1).getDistance(path.get(path.size()-2))))); this.wwd.redraw(); public void zoom(CursorList cList) previousAction = 6; view = (GaeaView)wwd.getView(); zoomCounter += 1; if (zoomCounter == 10) zoomCounter = 0; double changeFactor = 1; TuioCursor[] tgest = cList.getArray(); double zoomChange = tgest[0].getPath().firstElement().getDistance(tgest[1].getPath().firstElement()) /(double)tgest[0].getPath().lastElement().getDistance(tgest[1].getPath().lastElement()); double currentZoom = view.getZoom(); double newZoom = currentZoom*zoomChange*changeFactor; if (currentZoom == 0) newZoom = 0.1*zoomChange*changeFactor; view.setZoom(newZoom); this.wwd.redraw(); public void zoomOut(CursorList cList) //this method is never used previousAction = 7; view = (GaeaView)wwd.getView(); public void moveX(CursorList cList)

Page 75: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

63

previousAction = 8; view = (GaeaView)wwd.getView(); cList.getList().values().toArray(cursors); Vector<TuioPoint> path = cursors[0].getPath(); TuioPoint last = path.lastElement(); TuioPoint penultimate = path.get(path.size()-2); Position posLast = getPositionFromScreenPoint(last); Position posPenultimate = getPositionFromScreenPoint(penultimate); if ((posLast != null) && (posPenultimate != null)) Position diffPosition = posLast.subtract(posPenultimate); view.setCenterPosition(view.getCenterPosition().subtract(new Position(Angle.ZERO, diffPosition.longitude, diffPosition.elevation))); this.wwd.redraw(); public void moveY(CursorList cList) previousAction = 9; view = (GaeaView)wwd.getView(); cList.getList().values().toArray(cursors); Vector<TuioPoint> path = cursors[0].getPath(); TuioPoint last = path.lastElement(); TuioPoint penultimate = path.get(path.size()-2); Position posLast = getPositionFromScreenPoint(last); Position posPenultimate = getPositionFromScreenPoint(penultimate); if ((posLast != null) && (posPenultimate != null)) Position diffPosition = posLast.subtract(posPenultimate); view.setCenterPosition(view.getCenterPosition().subtract(new Position(diffPosition.latitude , Angle.ZERO, diffPosition.elevation))); this.wwd.redraw(); public void eyeRotacija(CursorList cList) previousAction = 10; view = (GaeaView)wwd.getView(); System.out.println("dblPivot r"); public void eyeNaklon(CursorList cList) previousAction = 11; view = (GaeaView)wwd.getView(); System.out.println("dblPivot n"); public void eyeRotacijaInNaklon(CursorList cList) previousAction = 12; view = (GaeaView)wwd.getView(); System.out.println("dblPivot rn"); public void zoomInWithTwoPoints(CursorList cList) // if two fingers are detected on the map, the app should zoom in to the rectangle defined by those two points previousAction = 13; view = (GaeaView)wwd.getView(); System.out.println("dblPivot zoom"); public void goOn (CursorList cList) switch (previousAction) case 1: //this should never happen click(cList); break;

Page 76: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

64

case 2: headingChange(cList); break; case 3: pitchChange(cList); break; case 4: drag(cList); break; case 5: pitchAndHeadingChange(cList); break; case 6: zoom(cList); break; case 7: zoomOut(cList); break; case 8: moveX(cList); break; case 9: moveY(cList); break; case 10: eyeRotacija(cList); break; case 11: eyeNaklon(cList); break; case 12: eyeRotacijaInNaklon(cList); break; case 13: zoomInWithTwoPoints(cList); break; default: break; private Position getPositionFromScreenPoint(TuioPoint point) return view.computePositionFromScreenPoint (point.getScreenX(screenWidth), point.getScreenY(screenHeight)); private void moveMapCenter(TuioCursor tcur, GaeaView view)

// not implemented yet

Page 77: IZDELAVA VEČDOTIČNEGA ZASLONA IN NJEGOVA UPORABA V …lie.fe.uni-lj.si/diplome/PDF/2009/Diploma_BojanBlazica.pdf · 2009-09-16 · univerza v ljubljani fakulteta za elektrotehniko

65

Izjava

Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja doc. dr. Boštjana

Murovca. Izkazano pomoč drugih sodelavcev sem v celoti navedel v zahvali.