Door Robin Jongen

De techniek achter onboarding met een Microsoft HoloLens

Microsoft hololens QLABS

Q-LABS is een initiatief van ilionx waarbinnen zo’n 35 collega’s veelal buiten werktijd met elkaar slimme en innovatieve oplossingen ontwikkelen.

Als hobby dus. Naast collega’s haken er ook steeds meer studenten aan, via stages of gewoon, ‘omdat het kan’. Bij Q-LABS brengen we onze uiteenlopende specialisaties samen onder één dak. Door meerdere competenties te bundelen, komen we tot verrassende resultaten. Of het nu gaat om bijzondere projecten voor ilionx zelf of om het helpen van andere mensen en organisaties, Q-LABS gaat geen uitdaging uit de weg!

In een eerdere blog van Q-LABS hadden we het over onze onboarding game waarin mixed reality met de Microsoft HoloLens en gamification samenkomen. Daarin gaven we aan bezig te zijn met een haalbaarheidsonderzoek. Inmiddels zijn we alweer een heel stuk verder en zijn de PoC’s succesvol afgerond. Maar dat ging niet zonder horten of stoten…

Met Unity aan de slag

In de onboarding game lopen nieuwe collega’s met de HoloLens door kantoorruimtes waar ze interacteren met informatie over projecten en teams. Om de applicatie goed te laten functioneren en om te ontdekken wat nog meer mogelijk is met de HoloLens, hebben we een drietal PoC’s geformuleerd. Zo merkten we in een eerste versie van de game dat het lastig was om een hologram op een vast punt te plaatsen. We zijn met dit PoC gestart, wat al vrij snel niet de meest eenvoudige PoC bleek te zijn. Vanuit Microsoft is er namelijk maar weinig documentatie beschikbaar. Daarnaast is de manier van ontwikkelen op een HoloLens net een tikje anders; er wordt gewerkt met Unity en het ontwikkelen lijkt erg veel op game design.

Lifesaver: WorldAnchors in Azure

Het allerleukste aan deze PoC’s is dat je volop met de nieuwste ontwikkelingen bezig bent. Dat brengt echter ook wat moeilijkheden met zich mee. De eerste twee weken ben ik vooral bezig geweest met het identificeren van problemen en het uitproberen van dingen. Bij het behouden van een vast punt, de eerste PoC, kwamen namelijk wat problemen naar voren. Normaal gesproken zetten twee gebruikers allebei een HoloLens op en zien dan hetzelfde beeld. Eén HoloLens, de parent, bepaalt wat waar staat en maakt contact met de andere HoloLens. Bij onze onboarding game maken echter lang niet altijd twee personen tegelijk gebruik van de HoloLens, laat staan dat ze op precies hetzelfde punt in hun game zijn.

De HoloLens maakt gebruik van XYZ-coördinaten die standaard op 0, 0, 0 worden gezet bij het opstarten van het device. Het zou dus zomaar kunnen dat een hologram opeens buiten de ruimte wordt geprojecteerd als de HoloLens niet op exact dezelfde locatie start. Dit bleek, in combinatie met het willen bewaren van deze locaties buiten de HoloLens, een technische uitdaging. In week vier van dit project kwam gelukkig de nieuwe release van de HoloLens uit én werd Azure uitgebreid met verschillende mixed reality services. Dit maakte ons leven een stuk eenvoudiger: we konden nu een zogenaamd WorldAnchor in Azure aanmaken en opslaan. Deze WorldAnchors slaan een fysieke plaats in de wereld op, ongeacht waar je staat. Samen met wat slimme code snippets levert dit nu hologrammen op die een vaste plaats in de wereld hebben gekregen en niet meer afhankelijk zijn van de positie van de HoloLens.

Van WorldAnchor naar hologram

Het enige dat een WorldAnchor kan, is aangeven dat een object op een bepaalde plek zit. Dat brengt ons bij PoC nummer twee. Een WorldAnchor bevat namelijk wel een ID, maar weet niet wat het qua inhoud moet bieden. Er moest dus een link komen tussen het ID en de inhoud van een hologram. Hiervoor hebben we een cloudoplossing geschreven, waardoor de HoloLens op basis van dit ID verschillende gegevens en contextuele informatie kan ophalen. De HoloLens kan vervolgens een hologram plaatsen op een specifiek punt. Dit kan bijvoorbeeld een whiteboard zijn waarop informatie wordt getoond of een navigatiepijl die aangeeft welke richting je op moet lopen.

Two down, one to go

Als derde en laatste Proof of Concept hebben we gezichtsherkenning staan. Hiervoor was gelukkig al meer van Microsoft beschikbaar op het gebied van documentatie en services. Na slim gebruik te maken van de Azure Face API services en photocapturing op de HoloLens, hebben we dit werkend gekregen in het prototype. De gezichtsherkenning in de game zelf laat nog even op zich wachten. De versie van de photocapturing functionaliteit uit het PoC bleek namelijk nog niet volledig te werken in de game. To be continued!

Nadat alle PoC’s afgerond waren, wilden we natuurlijk weten of de elementen soepel in de game konden worden verwerkt en of het beeld mooi meebewoog. Daarnaast werden overige technische belemmeringen aangepakt en is de code onderhoudbaar gemaakt. Dit heeft geresulteerd tot een onboarding game waarmee nieuwe collega’s door het pand kunnen lopen, allerlei hologrammen zien en meer informatie over medewerkers, locaties en projecten krijgen. Ook een keer uitproberen? Kom gerust een keer langs op ons kantoor in Maastricht!

Relevante content

Ilionx logo