SMErec: Virtuaalihologrammien testiympäristön rakentaminen

Edellisessä DigiIT! –blogimerkinnässäni käsittelin yleisesti Intel Realsense-syvyyskameroita, sekä totesin lopussa että virtuaalihologrammien tekemistä varten on rakennettava useamman kameran testiympäristö, sekä tutkia tallennusmenetelmiä ja rakentaa soveltuva visualisointiohjelmisto. Tässä blogimerkinnässä keskitytään näistä kolmesta kohdasta ensimmäiseen, eli testiympäristön rakentamiseen.

Lähtökohdat

Tavoitteena on siis luoda kaksi erillistä ympäristöä virtuaalihologrammien tallennukseen. AC-tilaan 101b rakennetaan tuotantoympäristö: työasema, sekä neljä kameraa tallenteiden tekemistä varten.  Työhuoneeseeni puolestaan rakennetaan vastaava kehitysympäristö, jolloin on suoraviivaisempaa toteuttaa ohjelmistokehitystä. Lähdemme joka tapauksessa liikkeelle kehitysympäristön rakentamisesta – sen jälkeen tiedämme miten tuotantoympäristö kannattaa lopulta tehdä.

Ensimmäiset puutteet havaitaan kiinnitysvälineistä. Kameroissa on mukana kolmijalat, mutta niiden kiinnittäminen seinään ei ole mahdollista. Eräs tapa hankkia sopivat kiinnitysosat on suunnitella ja tulostaa ne itse 3D-tulostimella, joten miksipä sitä ei kokeiltaisi. Seinäkiinnikkeiden mallinnusta varten tarvitaan sopiva malli kameran jalustaruuviksi, että kamera on ylenpäätänsä mahdollista liittää kiinnikkeeseen. Sellainen on saatavilla esimerkiksi Thingiversestä CC-lisenssillä julkaistuna, jolloin siihen on luvallista tehdä myös muutoksia (kiitokset Basic3dprinting/Rob mcnulty). Tätä mallia hyödyntämällä loput osat on laadittavissa pienellä vaivalla, mikäli 3D-mallintaminen on hallussa.

Suunnittelu

Seinäkiinnikkeen toimintaperiaate on varsin yksinkertainen. Tarvitsemme siihen kolmisen osaa. Kameraan tulevan kiinnitysruuvin, jossa on toisessa päässä pallo. Sitten tarvitsemme itse kulmaosan, jonka yksi sivu kiinnitetään seinään. Kulmaosaan jätetään sopivat reiät ruuveille. Sitten tarvitsemme kulmaosaan kiinnitettävän kotelon palloruuville. Itse palloruuvi kiilataan koteloon asennusruuvilla, jolloin kamera pysyy paikoillaan.

Mallinnukseen käytin ilmaista avoimen lähdekoodin Blender-ohjelmistoa, josta mallin saa vietyä useisiin eri tiedostomuotoihin. Alla Blenderin näkymien kuvakaappaukset mallinnuksen loppuvaiheesta.

 

Seinäkiinnikkeen osat ortogonaalisesti esitettynä.

Seinäkiinnikkeen 3D-malli Blenderissä sivuilta ja ylhäältä kuvattuna.

Tulostus

Realsense-kameran seinäkiinnike tulostettuna sekä koottuna alkukantaisella, mutta tehokkaalla tavalla.

Tulostimena toimi Delta-tyyppinen Anycubic Kossel ja varsinaiseen tulostukseen käytin valkoista PLA-lankaa. Tulostusohjelmana käytin ilmaista Cura-ohjelmistoa. Tulostuspään koko oli 0.4mm, tulostetavan kerroksen paksuus 0.2mm, ja tulostuslämpötila 210 astetta. Sisäisenä tukirakenteena oli verkko, ja täyttömääränä 25%. Tulostusjäljen osalta tavoitteena ei ollut huippulaatu, joten tulostaminen ei kestänyt kovin pitkään (n. 2h). Siitä huolimatta näillä asetuksilla saatiin yllättävän kestävä lopputulos – ainakaan itse en pelkillä käsilläni saanut väännettyä seinään tulevaa kulmaosaa rikki, joten arvelen että kameran sekä kaapelin painokaan ei sitä riko.

Sen tietää sitten kun se on tehty…

Alun perin suunnittelin kiinnikkeeseen lisäksi erillisen kiristyslevyn, sekä siipiruuvin sen kiristämistä varten, mutta se osoittautui varsin huteraksi ratkaisuksi. Loppujen lopuksi sivuun liitetty asennusruuvi hoiti asian paremmin, ja kamera pysyy paikoillaan varsin luotettavasti. Jälkikäteen sain myös kehitysehdotuksia kiinnikkeiden parantamiseen asiantuntevalta kollegalta (kiitos Jukka!), mutta toistaiseksi kiinnikkeet tuntuvat toimivan niiden selkeistä puutteista huolimatta. Todettakoon että tämä on karu, mutta tähän hätään toimiva ratkaisu. Tuotantoympäristöön on myöhemmin suunniteltava parempi ja miellyttävämmän näköinen versio.

Asennus

Kameroiden saamiseksi seinälle tarvittiin kuitenkin vahtimestarin vakaata kättä (kiitos Vellu!), sekä kättä pidempää. Tämän jälkeen kameroiden kytkeminen oli varsin suoraviivaista.

Mitä Hiltillä ei voi tehdä, sitä ei tarvita.

Kamerat kytkettynä USB 3.0-laajennuskorttiin  jatkokaapeleilla.

Toinen kamera kiinnitettynä tiiliseinään.

Yksi kameroista kiinnitettynä hyllyyn.

Miten tästä eteenpäin

Kameroiden asentamisen jälkeen voin aloittaa syvyyskuvien yhteensovittamisen. Kameroiden tuottamat pistepilvet on suunnattava sekä sijoitettava sopivasti niitä toistavassa ohjelmassa, että ne muodostavat yhtenäisen mallin. Vaikka kamerat ovatkin nyt asennettuna vaakasuoraan, voi olla parempi että ne asennetaankin tuotantoympäristössä pystyyn, jolloin saadaan parempi esitys kuvattavasta kohteesta. Luvassa on siis varsin mielenkiintoinen vaihe!

Seuraavassa Digit!-blogimerkinnässäni käsittelenkin päivittyvän syvyystiedon tallennusmenetelmiä, sekä miten pistepilven voi muodostaa tehokkaasti kameroiden tuottamasta syvyystiedosta.

Kirjoittaja Anssi Gröhn, tietojenkäsittelyn lehtori

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *