Taste of Helsinki & Leap Motion

June 26, 2013

Read time 2 min

Hei,

tällä kertaa on meikäläisen vuoro pistää sanoja peräkkäin. Voisin vaikka aloittaa lyhyellä esittäytymisellä: nimi on Iivari Äikäs ja opiskelen tietojenkäsittelytiedettä Helsingin yliopistolla. Mainitsemisen arvoisia kiinnostuksen kohteita ovat mm. funktionaalinen- ja matalan tason ohejlmointi. Eli päässä saattaa olla muutamia pehmeitä kohtia.

Sami oli varoitellut aikaisemmin että tänne saattaisi ilmaantua hiukan teknisempiä postauksia. Semmoisia ei vielä ole näkynyt, joten ajattelin tarjota tämmöisen pehmeän aloituksen.

Pari ensimmäistä työviikkoa tuli tosiaan tehtyä pientä Leap Motion demoa Taste of Helsinki messuilleTuija mainitsi käyttöliittymän suunnitteluun liittyvistä haasteista, mutta myös toteutuspuolella oli omat pienet hassutuksensa. Laite sekä SDK ovat vielä privaatissa beta-vaiheessa ja luonnollisesti SDK on kovan työstämisen alla. Silti Leap Motionista ulos saatava koordinaattidata on yllätävänkin tarkkaa. Tosin muutamia hassuuksia löytyi: esim. ulos saatava sormidata huononee rankasti suoraan laitteen yläpuolella. Lisäksi auringonvalo sekoitti laitteen täysin.

image

Leappia kasaamassa messualueella. Luonnollisesti mukavassa auringonpaisteessa!

SDK tarjosi myös automaattista tunnistamista muutamille yksinkertaisille eleille. Noiden eleiden filtteröinti haluttujen attributtien mukaan olikin hyvin suoraviivaista. Ongelmana tietysti oli yllä mainittu datan huonontuminen joka vaikutti myös eleiden tunnistamiseen.. no ei siinä sitten muuta kuin tulkitsemaan epätarkasta kämmen- ja sormidatasta mahdollisiä eleitä.

Ei ihan niin yksinkertaista kuin luulisi.

Tuli hyvin nopeasti huomattua että edes yksinkertaisten eleiden luotettavaa tunnistamista varten tarvitaan mukava määrä erilaisia sääntöjä, kuten esimerkiksi:

  • Eri akseleilla liikuttujen matkojen pituudet (ja erityisesti niiden suhteet)
  • Eleen kokonaismatka vaikuttaa edellä mainittuihin suhteisiin
  • Liikkuuko käsi kämmen- vai rystypuoli edellä?
  • Kummalle annetaan enemmän painoarvoa, kämmenen liikkeelle vai sormien liikkeelle?
  • Missä tilanteissa edellisiä painoarvoja tarvitsee muuttaa (jopa radikaalisti)?
  • Kaikkien edellisten permutaatioista saa aikaan kivoja yhdistelmiä jotka pitäisi myös ottaa huomioon

Lisähaasteena vielä että vaikka testikäyttäjille oli kerrottu minkälainen tarvittavan navigointieleen olisi tarkoitus olla (“swipe vasemmalle tai oikealle”), kaikki omasivat erilaisen käsityksen siitä minkälainen käytettävä ele oli! Ainoa kunnollinen tapa ottaa kaikki edellä mainitut huomioon olisi automaattisesti opettaa eleiden tunnistajaa huomioimaan kulloisenkin käyttäjän tavat. Tosin silloin pitäisi osata tunnistaa milloin käyttäjä on turhautunut kun haluttu ele ei toimi ja reagoida siihen.. Nyt tuli käytettyä vain muutamia yksinkertaisia filttereitä eleiden muodostamiseen ja karsimiseen.

Viimeisin SDK-päivitys (0.8.0) olisi tehnyt kaikesta mainitusta helpompaa toteuttaa mm. normalisoitujen koordinaattien avulla mutta kyseinen päivitys tuli vasta mukavasti päivää ennen Taste of Helsingin alkamista. 🙂

Kukaan ei kuitenkaan yrittänyt murskata laitetta messuilla, joten ainakin jotakin eleiden tunnistamisessa meni oikein.

Never miss a post