Se for deg en fremtid hvor du kan slenge på deg et par VR-briller og få full oversikt over alle komponenter i el-bilen din, og status på dem.
Ved et trykk på en virtuell knapp får du plutselig se hvor mange prosent av batteriet du har igjen, og hvor det befinner seg i bilen. En annen knapp gir kanskje oversikt over vindusspylerveske-inntaket, og hvor mye som er igjen, eller stedet man kan koble på 12 volt om batteriet er tomt.
Vel, den fremtiden er kanskje ikke så langt unna. I hvert fall om man skal tro tech-demoen fra et par utviklere i Bouvet.
En kombinasjon av Microsoft Hololens virtuelle briller, Unity, C# og fjern-rendering gir nemlig et helt nytt detaljert grensesnitt, med såkalt Augmented Reality, eller utvidet virkelighet på norsk.
Kjenner igjen Teslaen
Ole Tobiesen er en av to utviklere bak utvidet virkelighets-prosjektet for Bouvet.
Han forteller at det hele startet da han oppdaget at kollega Øyvind Sørøy jobbet med gjenkjenning av gjenstander i tredimensjonale rom.
Selv jobbet han med fjern-uttegning av 3d-modeller.
På hjemmekontor bestemte kollegaene seg for å kombinere kunnskapen og lage en demonstrasjon, i form av en Tesla som kan styres gjennom utvidet-virkelighetsbriller fra Microsoft: Hololens.
- Tesla var et naturlig valg fordi bilene deres er populære i IT-bransjen, i tillegg til at det er lett å finne nøyaktige 3D-modeller på nettet, forteller Tobiesen.
Tobiesen forklarer at når man ser på Teslaen gjennom Hololens-brillene blir bilen gjenkjent og så blir en enkel 3D-modell generert. Modellen blir sendt til en server som lager en mer avansert 3d-modell, som den sender tilbake til brillene.
Slik kan man oppnå en mer detaljert 3D-modell.
Kollega Sørøy tilføyer at Hololens-brillene også har innebygd hardware, som brukes til å gjenkjenne bilen.
- Dette gjøres ved å bruke et kamera med dybdesensorikk som skanner omgivelsene til det finner noe som passer det man ser etter. For å kunne vite hva man skal se etter lages ei 3D-fil basert på likheten eller kildefila til det man vil se etter, som så brukes av ei algoritme til å finne det fysiske objektet, forteller han.
Kommer til å endre mekanikeryrket
Tobiesen forteller at arbeidsplassen Bouvet ligger et par år forran konkurrentene på AR- og VR-teknologi, og at tech-demoen deres er hovedsakelig laget for å være i stand til å beherske den aller nyeste teknologien.
Likevel forteller Tobiesen at utvidet virkelighet allerede blir tatt i bruk i bilbransjen.
- Det er allerede i bruk flere steder. Vel og merke uten fjernrendring og objektforståelse foreløpig. Porsche har noe som heter Tech Live Look som de bruker på mekanikere. Rolls Royce eksperimenterte med meget primitiv Augmented Reality allerede i 2009.
- Mekanikeryrket kommer til å endres på grunn av flere elbiler på veiene og på grunn av at nyere fossildrevne biler er mye vanskeligere å reparere enn tidligere. Jeg tror derfor vi vil se mye mer AR i håndverker-yrker i framtiden. Dette er egentlig en prosess som går gradvis og ikke sprangvis.
Men at det blir allemannseie i nær fremtid er Tobiesen usikker på.
- Jeg tror AR-briller det neste tiåret er noe som er forbeholdt bedrifter og ikke privatpersoner. AR-briller har nådd det stadiet der det faktisk er nyttig i kommersiell sammenheng, slik PC-bruk var allerede på slutten av 70-tallet. Derimot er de foreløpig ikke noe en privatperson trenger.
Microsoft-teknologi langt foran
Tobiesen forteller at tech-demoen er fullstappet med teknologi fra Microsoft.
- Microsoft-teknologi er brukt fordi den er alsidig, og fordi det finnes en løsning for nesten alt på Azure.
- Azure Remote Rendering lar oss leie hardware i skyen. Til tross for at teknologien ikke er billig, ville det vært mye dyrere å lage en maskin med tilsvarende hardware her på kontoret.
- Selv om det finnes cloud computing-løsninger hos andre leverandører, for eksempel AWS, er det ingen andre som har en strømlinjeformet løsning som lar oss streame 3D-modeller rett inn i en HoloLens.
På utvidet virkelighet er også Microsoft ledende forteller Tobiesen.
- Når det gjelder AR-teknologi, er Microsoft langt forran konkurentene med HoloLens 2. Vi har prøvd både Meta 2 og flere andre alternativer, men det er ingen som når «linsa» opp til knærne.
DigitalOcean, AWS og Azure - hostingen vi velger i 2020
All backend på Azure
Tobiesen forteller at selve bakgrunnen for prosjektet var å vise at sammenslåing av fjern-rendering gjennom Azure Remote Rendering og objektgjenkjenning via Azure Object Anchors var mulig å få til kjapt, faktisk kjører alt av backenden i Azure.
- Alt på back-end ligger i Azure. Remote Rendering-biten består av et Blob Storage med tre containere, samt en SaaS-løsning som står for både konvertering av 3D-filer og streaming av remote rendering tilbake til HoloLensen.
- Konvertering er nødvendig fordi Azure Remote Rendering bruker Microsofts format. Til gjengjeld, kan SaaS-løsningen konvertere fra FBX, OBJ, glTF og flere andre formater, forklarer han.
Reverse-engineering
At valget falt på akkurat Tesla til demonstrasjonen var ingen tilfeldighet, forteller Tobiesen.
- Tesla-API-et ligger lett tilgjengelig ute takket være reverse-engineering, slik at man kan kommunisere med en Tesla fra så godt som alle programmerbare enheter med Wi-Fi-tilkobling eller 3G/4G-tilkobling.
- Med dette kan man gjøre mer morsomme ting som å tute med hornet, finne ut hvor mye batteri som er igjen eller få lyktene til å blinke, men man kan også gjøre seriøse ting. Eksempler på dette er å låse bilen, sette maks ladekapasitet, regulere fartssperren og klimaanlegget og til og med kjøre diagnostikk.
Vill vest for 3D-grafikk
Grafikken man ser i selve grensesnittet er det faktisk en spillmotor som står for, forteller Tobiesen.
- Motoren vi bruker til nesten alt innenfor AR og VR er Unity. Her er språket i all hovedsak C# når det gjelder kall til REST API-er, integrasjon, autentisering og autorisering, samt UI og oppførselen til objektene man kan se.
- For å programmere shadere, bruker vi CG/HLSL – som er et høynivå-derivat av C. I visse tilfeller er det også nødvendig å integrere DLL-er fra eksterne bibliotek. Disse er gjerne skrevet i C++ eller C.
Kollega Sørøy forteller at selve grensesnittet hovedsakelig ble skisset opp med penn og papir og på diverse notatblokker.
- Det er så mye som ennå ikke har blitt etablert innen 3D-navigering, så her er det litt "vill vest" ennå. Utgangspunktet er uansett alltid å jobbe rundt tekniske begrensninger for å minimere unødvendige steg og kløning fra sluttbruker.
Bouvet spår mer Grafana, skytjenester, AR/VR og no-code i 2020.
Sanntid 60FPS
Selve opplevelsen gjennom Hololens er skal foregå silkeglatt forteller Tobiesen. Den foregår nemlig i sanntid og 60 bilder i sekundet (frames per second). Og det er ikke småtteri man får til å støtte, når man benytter seg av fjern-rendering.
- Azure Remote Rendering støtter i Standard-konfigurasjon opp til 20 millioner polygoner og individuelle teksturer på 16k. Med Premium-konfigurasjon er det ingen hard grense på hvor mange polygoner vi kan få, forklarer han.
- Modellen vi har brukt er på «bare» 750 000 polygoner - cirka tre ganger så mye som en bil i et AAA-bilspill - med PBR-shadere og skylight.
- Dette er en kjempefordel fordi ting som normal mapping og lignende ikke ser like troverdig ut i AR og VR som det gjør på en flat skjerm. Samtidig vil man også legge merke til ting som lav polygon count og dårlig teksturoppløsning i mye større grad i et AR- og VR-headsett enn man gjør på en vanlig PC-skjerm, forteller han.
Tobiesen forklarer at minimum 60 bilder per sekund er veldig viktig for prosjekter med kunstig virkelighet. Når bildehastigheten faller under 60 vil man nemlig lettere legge merke til hakking og og ubehagelighet med 3D-briller.
Men det er ikke nødvendigvis like bra som å se samme resultatet på en skjerm.
- Vil man ha samme flyt som man ser på en flat skjerm må framerate på AR- eller VR-utstyret være 150 FPS. Dessverre er også 60 FPS maksimal framerate på en HoloLens, forteller Tobiesen.
Microsoft og Japansk interesse
Tobiesen forteller at responsen på videoen de først la ut på LinkedIn har gått over all forventning. På få dager har den nemlig blitt sett av flere tusen, selv om den ble lagt ut av noen få "vanlige dødelige"-konsulenter, flirer Tobiesen.
- Responsen fra Microsoft har også vært positiv, forteller han.
Kollega Sørøy forteller at han også har merket økt interesse.
- Det har allerede påvirket veldig mye, ettersom jeg har blitt bedt om å holde et lite foredrag om dette for utviklere i Japan i midten av oktober, forteller han.
Tobiesen forteller også at de har bygd hele prosjektet modulært, så det lett kan dras inn i nye prosjekter i Unity.
- Dette er teknologi vi garantert kommer til å bruke framover, avslutter han.
Å jobbe som HoloLens-utvikler
Nicolas og Eirik i Bouvet forteller om hvordan de koder for brillene til Microsoft.