Lisätyn todellisuuden sovellus WebGL-ympäristössä
Määttä, Ilkka (2017)
Määttä, Ilkka
2017
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2017-06-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201705241483
https://urn.fi/URN:NBN:fi:tty-201705241483
Tiivistelmä
Tämän työn tavoitteena oli toteuttaa prototyyppijärjestelmä automaatiojärjestelmän informaation visualisointiin hyödyntäen lisättyä todellisuutta. Prototyyppijärjestelmältä vaadittiin, että sen käyttöliittymä olisi selainpohjainen, jonka perusteella päädyttiin valitsemaan WebGL-kirjasto lisätyn todellisuuden toteutusta varten. Prototyypin toteuttamista varten oli käytettävissä testauskäyttöön tarkoitettu koekenttä, jonne oli ennalta asennettu automaatiojärjestelmä ja IP-kamerat. Selainympäristöstä johtuen ei haluttu päätellä videokuvasta kameran orientaatiota. Tämän pohjalta päädyttiin kyselemään kameroilta näiden orientaatiotietoa, sekä hyödyntämään ennalta tunnettua tietoa näiden sijainneista.
Toteutettu järjestelmä rakentui asiakas-palvelin mallisesta selainsovelluksesta, jakautuen kahdeksi palvelinsovellukseksi ja asiakkaanpään selainsovellukseksi. Palvelinsovelluksilla muunnettiin automaatiojärjestelmän tietoa ja kameroiden videokuvaa muotoon, joka voitaisiin välittää käyttäjälle. Nämä sovellukset toteutettiin ensisijaisesti hyödyntämällä C#- ja Python-kieliä. Selaimessa vastaanotetuista tiedoista muodostettiin videokuvan päälle lisätyn todellisuuden näkymä, hyödyntämällä Javascript-kieltä sekä WebGL-kirjastoa. Palvelin välitti tietoa käyttäjille reaaliajassa, päivittäen lisätyn todellisuuden näkymää.
Lopullinen prototyyppijärjestelmä tarjosi käyttäjälle selainnäkymän, jossa lisätyn todellisuuden näkymä oli nähtävissä kamerakuvassa. Videokuvasta käyttäjä pystyi valitsemaan kuvassa näkyviä objekteja, jolloin visualisoitiin näiden päälle geometriaa ja tuotiin esiin reaaliaikaista tilatietoa. Toteutettu prototyyppi sisälsi joitain epätäydellisyyksiä lisätyn todellisuuden kohdistamisessa videokuvaan. Tämä johtui epätarkkuuksista kameroilta saaduissa orientaatiotiedoissa, sekä näiden suhteesta asennuksesta johtuviin poikkeamiin. Epätäydellisyyksistä huolimatta se täytti siltä vaaditut toiminnallisuudet, ja kykeni visualisoimaan kuvassa näkyviä laitteita ja kohteita. Toteutus jäi prototyyppihenkiseksi, ja jatkokehityksessä sitä ei tulla hyödynnetä sellaisenaan. Se kuitenkin tarjoaa pohjan jatkokehitystä varten.
Toteutettu järjestelmä rakentui asiakas-palvelin mallisesta selainsovelluksesta, jakautuen kahdeksi palvelinsovellukseksi ja asiakkaanpään selainsovellukseksi. Palvelinsovelluksilla muunnettiin automaatiojärjestelmän tietoa ja kameroiden videokuvaa muotoon, joka voitaisiin välittää käyttäjälle. Nämä sovellukset toteutettiin ensisijaisesti hyödyntämällä C#- ja Python-kieliä. Selaimessa vastaanotetuista tiedoista muodostettiin videokuvan päälle lisätyn todellisuuden näkymä, hyödyntämällä Javascript-kieltä sekä WebGL-kirjastoa. Palvelin välitti tietoa käyttäjille reaaliajassa, päivittäen lisätyn todellisuuden näkymää.
Lopullinen prototyyppijärjestelmä tarjosi käyttäjälle selainnäkymän, jossa lisätyn todellisuuden näkymä oli nähtävissä kamerakuvassa. Videokuvasta käyttäjä pystyi valitsemaan kuvassa näkyviä objekteja, jolloin visualisoitiin näiden päälle geometriaa ja tuotiin esiin reaaliaikaista tilatietoa. Toteutettu prototyyppi sisälsi joitain epätäydellisyyksiä lisätyn todellisuuden kohdistamisessa videokuvaan. Tämä johtui epätarkkuuksista kameroilta saaduissa orientaatiotiedoissa, sekä näiden suhteesta asennuksesta johtuviin poikkeamiin. Epätäydellisyyksistä huolimatta se täytti siltä vaaditut toiminnallisuudet, ja kykeni visualisoimaan kuvassa näkyviä laitteita ja kohteita. Toteutus jäi prototyyppihenkiseksi, ja jatkokehityksessä sitä ei tulla hyödynnetä sellaisenaan. Se kuitenkin tarjoaa pohjan jatkokehitystä varten.