Takafumi Horiuchi

Evoluigi VR-sistemon por ke infanoj prototipu interagajn objektojn

Superrigardo

Smart Codesign VR estas prototipa platformo por konstrui kaj provi interagajn «inteligentajn objektojn» en virtuala realo. Ludantoj elektas tri kartojn, po unu por medio, enigo kaj eligo, poste uzas korpajn movojn por difini, kiam objekto respondas kaj kion ĝi faras. Ili povas meti la finitan virtualan objekton en parkon kaj provi ĝian konduton.

La projekto baziĝas sur SNaP (The Smart Nature Protagonists), tabulludo evoluigita de i3Lab ĉe Politecnico di Milano. En SNaP infanoj kombinas kartojn por elpensi inteligentajn objektojn kaj priskribas ilin per frazo sur papero. Ĉi tiu projekto celis transformi tiujn priskribojn en virtualajn objektojn, kiujn infanoj povus kunmeti kaj kun kiuj ili povus interagi per siaj propraj movoj.

Ĝin projektis kaj realigis kvarpersona teamo kiel finan taskon de la kurso Advanced User Interfaces (studjaro 2020–21) ĉe la Politekniko de Milano. La antaŭviditaj uzantoj estas infanoj de 11 ĝis 13 jaroj, precipe infanoj kun neŭroevoluaj malordoj (NDD). Ĝi estis realigita por Oculus Quest 2 per Unity kaj C#, kaj atingis prototipon, kiu funkcias de komenco ĝis fino, de la elekto de kartoj ĝis la manipulado de la objekto en la parko.

La demonstra filmeto: elekti la kartojn, fiksi la enigan kondiĉon kaj la eligan konduton, kaj funkciigi la finitan inteligentan objekton en la virtuala parko.

SNaP, la tabulludo, kaj la premisoj de la projekto

Ludo, en kiu la infanoj estas la dezajnistoj

En SNaP du ĝis kvar infanoj rolas kiel «dezajnistoj», dum plenkreska gvidanto rolas kiel «urbestro». La urbestro prezentas mision, kaj la infanoj priparolas ideojn kaj kombinas kartojn por dezajni inteligentan objekton, kiu respondas al ĝi. La ludo celas evoluigi kreemon, kunlaboron kaj la kapablon esprimi ideojn. Oni ankaŭ konsideris uzon fare de infanoj kun neŭroevoluaj malordoj, sed ĉi tiu projekto ne taksis terapiajn aŭ edukajn efikojn.

Medio, enigo, eligo — tri specoj de kartoj

SNaP havas tri specojn de kartoj, ĉiu kun sia propra rolo.

Mediaj kartoj reprezentas la objekton inteligentigotan: arbon, benkon, balancilon, akvejon, ŝtonon, stratlampon, rubujon, biciklon, ponton, ŝtuparon aŭ lernejan sakon. Ili estas konataj objektoj kaj elementoj de parkoj kaj stratoj. La media karto difinas la objekton, kiu enhavos la enigajn kaj eligajn funkciojn.

Enigaj kartoj difinas, kion la objekto detektas aŭ al kio ĝi respondas, ekzemple butono, movo, tuŝo, distanco, temperaturo, humideco, heleco, koloro, sono, fajro, akvonivelo aŭ veterprognozo. Ili reprezentas la enigojn de la inteligenta objekto, analoge al sensiloj.

Eligaj kartoj difinas la respondon de la objekto: lumi, soni, vibri, moviĝi, montri, registri aŭ sendi informojn. Ili reprezentas ĝiajn eligajn funkciojn, analoge al aktuatoroj.

La media karto donas kuntekston al paro de enigo kaj eligo. Kun movo kiel enigo kaj sono kiel eligo, rubujo povus soni kiam iu maltrafas ĝin, dum stratlampo povus anonci proksimiĝanton. La enigo kaj eligo difinas la konduton de aparato; aldoni la medion ligas tiun konduton al ĉiutaga situacio.

La media karto «Trash can», la eniga karto «Motion» kaj la eliga karto «Make sound» kunligitaj per «&», kun sago al la frazo «Missing the trash bin creates a sound.»
La kombino de tri kartoj iĝas la priskribo de unu inteligenta objekto. La koloro de la kadro montras la specon: verda por medio, helblua por enigo, flava por eligo.
Tabelo kun ĉiuj 49 kartoj de SNaP. La supraj du vicoj estas la 20 verdkadraj mediaj kartoj, la mezaj du vicoj kaj la maldekstra rando de la lasta estas la 21 helbluaj enigaj kartoj, kaj la resto de la lasta vico estas la 8 flavaj eligaj kartoj.
Ĉiuj 49 kartoj de SNaP: 20 mediaj, 21 enigaj kaj 8 eligaj. Iliaj eblaj kombinoj difinas la dezajnan spacon de la ludo.

Transformi skribitajn ideojn en interagajn virtualajn objektojn

En la tempo de ĉi tiu projekto, SNaP-sesio finiĝis per skriba priskribo de la inteligenta objekto dezajnita de la infanoj. Paralele i3Lab evoluigis «fizikan tabulon», kiu kunigis tabulkomputilon kun Arduino por transformi tiujn priskribojn en fizikajn prototipojn. Smart Codesign VR esploris alian aliron per virtuala realo, rimedo ankoraŭ ne esplorita de la teamo por tiu celo.

VR ofertis du eblojn. Unue, infanoj povus prototipi per tutkorpa moviĝo: kapti, porti, prilumi kaj pentri per peniko fariĝis manieroj difini kondiĉojn kaj kondutojn. Due, iliaj ideoj povus preni videblan formon kiel virtualaj objektoj, kun kiuj ili tuj povus interagi. Skriba priskribo povus fariĝi objekto kun grando kaj formo antaŭ ili.

Por kiu ĝi estis projektita

La celataj uzantoj estis infanoj de 11 ĝis 13 jaroj, kun aparta atento al infanoj kun neŭroevoluaj malordoj. Dezajni inteligentan objekton postulas iom da logika rezonado, do kaj SNaP kaj la VR-versio estis dezajnitaj por tiu aĝogrupo.

La projekto celis helpi infanojn esprimi siajn ideojn per praktika prototipado kaj interago. Tiuj estis dezajnaj celoj, ne pruvitaj terapiaj aŭ edukaj rezultoj; la prototipo ne estis taksita kun infanoj.

Zorgo pri la spaco mem

Surbaze de la materialoj konsultitaj por la projekto, ni uzis kvar kampojn por gvidi la spacan dezajnon: sono, lumo kaj koloro, spaca organizado, kaj materialoj. Pri sono ni konsideris bruizoladon, alĝustigeblan laŭtecon kaj kvietan, konstantan sonon por konsideri aŭdan sentemon. Pri lumo kaj koloro ni konsideris trankvilan fonon kun malalta kolorsaturo kaj helajn, saturitajn kolorojn limigitajn al malgrandaj areoj. Klaraj spacaj limoj, orda aranĝo, simplaj kaj facile distingeblaj formoj kaj senbara moviĝo ankaŭ gvidis la dezajnon. Virtuala medio ebligas al dezajnistoj regi tiujn aspektojn. La projekto ne taksis iliajn efikojn al la komforto de uzantoj.

La limigoj, kiujn VR kiel rimedo mem portas

La projekto ankaŭ konsideris la limigojn kaj riskojn de VR: la koston de aparatoj, movmalsanon, streĉon de la kapo kaj kolo pro la pezo de la kapaparato, akcidentojn kiam ĝi kaŝas la fizikan ĉirkaŭaĵon, okulan lacecon dum longdaŭra uzo kaj zorgojn pri dependeco ligita al troa mergiĝo.

Ĉio ĉi rekte influis la projektajn decidojn. Teni la interagon simpla, lasante tamen sufiĉajn defiojn por subteni lernadon. Teni la vidan kaj la aŭdan flankon klaraj sen fari la stimulon tro forta. Kaj doni al la sperto klaran finon — kiam la prototipado kaj la manipulado en la parko finiĝas, la agado estas kompleta. Tio estas samtempe decido ne projekti ion, kio retenas en la virtuala mondo.


Kio estis konstruita — la fluo de la sperto kaj ĝia realigo

La kvar scenoj de la sperto

La aplikaĵo konsistas el kvar scenoj: la atendekrano, la kartelekto, la prototipado kaj la manipulado en la parko.

1. Atendekrano

Ĉe la lanĉo aperas titolekrano, kiu ne iras plu, ĝis oni premas butonon de la stirilo. Tio estas intenca haltigo, por ke la ĉefa parto ne komenciĝu antaŭ ol la kasko sidas kaj la sinteno estas trovita.

2. Kartelekto — kapti kaj meti en la skatolon

En la sekva sceno oni elektas po unu karton por medio, enigo kaj eligo. La maniero elekti konsistas en kapti la objekton, kiu reprezentas la karton, porti ĝin al la responda skatolo kaj meti ĝin internen. Kapti kaj porti anstataŭ klaki estas ĝuste tio, kio uzas la tridimensian spacon, kiun VR havas. Kiam estas detektite, ke ĉiuj tri skatoloj estas plenaj, parola gvidilo kondukas al la sceno de prototipado. La ordo ne gravas, sed sen plenigi ĉiujn tri oni ne iras plu.

La ekrano de kartelekto en VR. Antaŭ tabulo kun kartoj staras tri duontravideblaj skatoloj kun la surskriboj «input», «environment» kaj «output» (enigo, medio kaj eligo), kaj virtuala mano tenas objekton en formo de laŭtparolilo.
La sceno de kartelekto. La tri skatoloj antaŭe respondas al medio, enigo kaj eligo; meti la kaptitan objekton en ilin konfirmas la elekton. La kartoj neuzeblaj en ĉi tiu etapo estas montrataj palaj.

3. Prototipado — decidi kondiĉon kaj konduton per la korpo

Ĉi tie kuŝas la kerno de la sistemo. Por la elektita eniga karto oni difinas la «kiam», por la eliga karto la «kion ĝi faras». La maniero manipuli estas konstruita aparte por ĉiu karto, kaj al ĉiu estas atribuita movo, kiun ebligas nur spurado kun ses gradoj de libereco.

Se oni elektas ekzemple «veterprognozon» kiel enigon, ĉemane aperas objektoj reprezentantaj sunon, nubojn, pluvon, tondron kaj neĝon. Kapti unu el ili kaj direkti la radion, kiu el ĝi eliras, al la cela objekto fiksas la kondiĉon. Se oni elektas «lumi» kiel eligon, la ludanto kaptas penikon, trempas ĝian pinton en la farbujon de koloro kaj frotas ĝin sur la objekton por decidi la lumkoloron. Por forigi jam metitan koloron sufiĉas trempi la penikon en la ujon kun «akvo» kaj froti denove.

Grava decido pri la realigo estis subteni plurajn parojn de enigo kaj eligo por unu objekto. La komenca plano antaŭvidis nur unu: «se estas suno, lumi ruĝe», kaj tio estis ĉio. Farante ilin pluraj, unu sama objekto povas respondi malsame al pluraj situacioj: «ruĝe ĉe suno, blue ĉe pluvo, blanke ĉe neĝo». Difinitan paron oni povas ruli kaj elprovi antaŭ ol konfirmi ĝin, kaj se ĝi ne plaĉas, oni povas reiri kaj korekti ĝin.

La ekrano de prototipado. Maldekstre la instrukcia panelo de la eniga karto «Weather» (vetero); meze tri kondiĉvezikoj kun «When it is about to be sunny / rain / snow» (Kiam baldaŭ estos sune / pluvos / neĝos); dekstre la eligaj vezikoj; kaj antaŭe arbo-objekto kaj farbujoj. La sama ekrano vidata de dekstre. Ambaŭflanke de flave farbita stratlampo la enigaj kaj eligaj vezikoj staras pare, kaj ĉe la dekstra rando troviĝas la instrukcia panelo de la eliga karto «Light up» (lumigi).
Ekrankopioj de la prototipo el 2021. Numeritaj parolvezikoj kunligas enigajn kondiĉojn kun eligaj kondutoj. La plusbutono aldonas paron kaj la minusbutono forigas unu. La eniga panelo tekstas «Maximum number of instances: 5» (maksimuma nombro de ekzempleroj: 5).

4. La parko — provi la objekton

Post la konfirmo de la objekto oni transiras al virtuala parko. Tie la ludanto metas la inteligentan objekton, kiun li kunmetis, elvokas la enigan kondiĉon, kiun li difinis, kaj mem konstatas la eligan konduton. Kiam la objekto funkciis, aperas festa efekto kaj la sperto finiĝas.

La fluo entute

La sekva figuro kunigas ĉion ĉi en UML-agadajn diagramojn. La supra montras la ĝeneralan fluon; la du malsupraj disvolvas detale la manipuladon de la karto «veterprognozo» kaj de la karto «lumi». Branĉoj montras, kiel ludantoj povas reveni al kartelekto post ricevo de instrukcioj, kaj al redaktado post konfirmo kaj provado de la objekto.

UML-agadaj diagramoj. La supra, «Overall Activity», iras de la atendekrano tra la elekto de tri kartoj, la instrukcioj, la difino de la enigaj kondiĉoj kaj eligaj kondutoj, la konfirmo, la kontrolo de la funkciado, ĝis la manipulado en la parko. Malsupre maldekstre estas disvolvita la manipulado de la veterprognoza karto, malsupre dekstre tiu de la luma karto.
UML-agadaj diagramoj de la agoj de la uzanto. Ĉar la manipulado diferencas laŭ la speco de karto, la komuna fluo kaj la detaloj de ĉiu karto estas skribitaj aparte.

Aparato kaj iloj

La cela aparato estas Oculus Quest 2. Ĝi havas spuradon kun ses gradoj de libereco, do turniĝi, marŝi kaj kapti iĝas rekte enigo. Ĉar ripete manipuli virtualajn objektojn per la manoj kuŝas en la kerno de la sperto, aparato kun tri gradoj de libereco, en kiun oni enŝovas poŝtelefonon, estis juĝita neadekvata.

La ludmotoro estas Unity kaj la lingvo C#; por la konekto kun Quest 2 estis uzata la pakaĵo Oculus Integration, el kiu venas la konduto de la VR-kamerao, la bildigo kaj komuna API por la enigo de la stiriloj.

Kvar scenoj kaj dek tri klasoj

La sistemo estas dividita en kvar Unity-scenojn, kiuj rekte respondas al la kvar scenoj de la sperto. La klasoj estas entute dek tri, tri el ili abstraktaj.

La titola sceno havas nur TitleSceneCore, kiu transiras al la sekva sceno ĉe premo de butono.

La kartelekta sceno uzas CardSelectionSceneCore kaj CardSelectionDetector. CardSelectionSceneCore kreas tri detektilekzemplerojn, po unu por la skatoloj de medio, enigo kaj eligo. Ĉiu skatolo altiras proksiman kartobjekton kaj markas ĝian kategorion kiel elektitan. Post ĉiuj tri elektoj la sceno skribas ilin al la statika klaso SmartObject kaj antaŭeniras. SmartObject konservas tiujn datumojn inter scenŝanĝoj, kunligante la kvar scenojn en kontinuan sperton.

La sceno de prototipado estas la centra. PrototypingSceneCore centre administras la tutan proceduron, kaj la konduto de la kartoj estas esprimata per hereda hierarkio kun Card ĉe la supro. Sub Card staras InputCard kaj OutputCard, kaj sub ili la konkretaj kartklasoj: Weather, Fire, MakeSound, LightUp. Nur la konkretaj klasoj ĉe la fino efektive plenumas la operaciojn de prototipado, do la tri supraj estas abstraktaj.

PrototypingSceneCore tenas liston de ekzempleroj de enigaj kondiĉoj kaj liston de ekzempleroj de eligaj kondutoj. Se la elektitaj kartoj estas «veterprognozo» kaj «lumi», la unua pleniĝas nur per ekzempleroj de Weather kaj la dua nur per ekzempleroj de LightUp. Komence po unu estas kreata aŭtomate, kaj poste ilia nombro kreskas ĉe ĉiu premo de la aldona butono en la interfaco. Ĉiun kadron ĉiuj enigaj kondiĉoj en la listo estas taksataj kaj la respondaj eligaj kondutoj estas vokataj. Kiam la uzanto konfirmas, isConfirmed iĝas vera kaj la datumoj de la kunmetita konduto estas skribataj en la statikajn propraĵojn de SmartObject.

La sceno de interago havas nur InteractionSceneCore, kiu prizorgas la lokadon en la parko, la ruladon de la enigaj kondiĉoj kaj la observadon de la eligoj, kaj la finan festan efekton.

UML-klasdiagramo. Estas desegnitaj kvar pakaĵoj — Title Scene, Card Selection Scene, Prototyping Scene kaj Interaction Scene — kune kun la statika klaso Smart Object, al kiu ĉiuj referencas. Ene de Prototyping Scene la abstrakta klaso Card estas heredata de Input Card kaj Output Card, kaj tiuj siavice de Weather Card, Fire Card, Make Sound Card kaj Light Up Card.
UML-klasdiagramo de la sistemo. La kvar pakaĵoj respondas al Unity-scenoj. La statika klaso etikedita «Smart Object» malsupre meze konservas datumojn inter scenoj. Atributoj kaj metodoj estas simpligitaj por legebleco.

Kio sukcesis kaj kio restis

El 49 kartoj, 9 atingis la realigon

La prototipo realigas naŭ kartojn. Ĝiaj kernaj funkcioj funkcias: kartelekto, difino de kondiĉoj kaj kondutoj, administrado de pluraj ekzempleroj kaj transdono de datumoj inter scenoj. Tio provizas bazon por aldoni pli da kartoj, kvankam tiu realiglaboro restas farenda. Ses pliaj kartoj estis dezajnitaj sed ne realigitaj; la ceteraj 34 ankoraŭ bezonas kaj interagan dezajnon kaj realigon.

Stato de realigo en la prototipo
StatoKartoj
Realigitaj (9)Medio: arbo, stratlampo, trafiksigno, rubujo, ponto
Enigo: fajro, veterprognozo
Eligo: soni, lumi
Nur projektitaj (6)Enigo: butono, rapido, sono
Eligo: moviĝi, vibri, sendi
Ne komencitaj (34)15 mediaj kartoj, 16 enigaj kartoj, 3 eligaj kartoj (montri, ekfunkciigi, registri)

Taksado ne estis farita

La prototipo ne estis taksita kun uzantoj. La evoluiga periodo koincidis kun fora partopreno dum la COVID-19-pandemio. Eblis aranĝi nek ĉeestan laborrondon kun VR-kapaparatoj nek foran alternativon. La projekto montras, ke la dezajnita sperto povas esti realigita kiel funkcianta prototipo. Ĝiaj uzebleco por infanoj kaj valoro en terapia kunteksto restas neprovitaj.

Estonta taksado demandus, kiom intuicia estas la interfaco por prototipado. Eblaj mezuroj inkluzivas la tempon bezonatan por plenumi la taskon, la kongruon inter la fina inteligenta objekto kaj la komenca ideo de la partoprenanto, kaj la nombron de neintencaj butonpremoj. Postsesia demandaro bazita sur System Usability Scale (SUS) aldonus kvantajn datumojn. Estonta taksado konsiderus registri sesiojn por observi la movojn de partoprenantoj, kun ilia konsento kaj taŭgaj proceduroj. Por la projekto de 2021 la proponita taksa aĝo estis 13 jaroj, elektita por kongruigi la celatan aĝogrupon de SNaP kun la tiutempe cititaj Oculus-gvidlinioj. Ĉiu estonta studo devus retaksi partoprenrajton laŭ la aplikeblaj gvidlinioj kaj esplorprotokolo.

La laboro, kiu kuŝas antaŭe

La unua prioritato por plua evoluigo estas plibonigi la interfacon kaj uzosperton. Pro limigitaj tempo kaj sperto, la plej granda peno iris al funkciigo de la kartkombinoj, tiel ke la vida, aŭda kaj tuŝsensa dezajno restis malpli evoluigita. Ankaŭ la rolo de teksto en VR bezonas rekonsideron: informoj dezajnitaj por plata surfaco eble pli bone prezentiĝus per spaca uzantinterfaco (SUI). Voĉa interago estas alia esplorinda direkto por la celataj uzantoj.

Kiel akademian etendon oni nomis tri vojojn. Unu estas la komparo kun la fizika tabulo, kiun oni evoluigis en la sama i3Lab. Ekzistas antaŭaj esploroj, laŭ kiuj la sama kunlabora ludo, ludata en reala loko kaj en virtuala medio, produktis pli da interparolo ĉe la virtuala flanko; simila komparo povus validi ankaŭ inter ĉi tiuj du. La dua estas subteno de samtempa partopreno de pluraj homoj: portante «codesign» en la nomo, povi kunmeti kune kun aliaj ene de la virtuala spaco havas sencon. La tria estas normigi la priskriban formaton de inteligentaj objektoj, por ke oni povu porti ilin trans platformojn.

Resume

Ĉi tiu projekto kreis medion por prototipi inteligentajn objektojn. Ĝi transformis la tri SNaP-kartospecojn en konstruelementojn: la objekton, ĝiajn ekigajn kondiĉojn kaj ĝiajn kondutojn. Ludantoj kunligas ilin per kaptado, celado kaj pentrado. La funkcianta prototipo transformas skribitan ideon en interagan virtualan objekton, kies konduto estas reprezentita kiel datumoj transdoneblaj inter scenoj.

Takafumi Horiuchi, Paul Cozma-Ivan, Elmira Katsajeva kaj Olivia Ludkiewicz, «Design and Implementation of a Smart Object Prototyping Platform in Virtual Reality for Children with NDD», Advanced User Interfaces (studjaro 2020–21) Final Exam Project, Politekniko de Milano, februaro 2021.