ERK'2022, Portorož, 195-198 195 Prototipna namizna maketa za razvoj koncepta tehnološko podprtega doma Jaka Bezovšek, Nina Hostnik, Miha Malenšek, Jakob Marušič, Matej Zajc, Janez Zaletelj Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: jb6837@student.uni-lj.si Prototype tabletop model for the development of smart home concepts Abstract. The paper details the development of a smart home assistant concept as a tabletop prototype. The smart home assistant helps users in their daily activities and alerts caretakers in case of specific user's actions. The paper outlines the iterative nature of the prototyping process and the learning potential of internal user testing. The research work was conducted as a course project by a team of students and tested with their classmates within the Ambient Intelligence course. 1 Uvod Področje ambientne inteligence (AmI) pokriva tehnološko podprta okolja, temelječa na internetu stvari, kot je na primer pametni dom, ter z vključevanjem raznolikih tehnologij zagotavlja inovativne rešitve uporabnikom v interakciji s pametnim okoljem [1]. Prototipiranje sistemov ambientne inteligence zahteva nove pristope in orodja, s katerimi enostavno povezujemo številne vhode in izhode sistema, ter razvijamo njegovo inteligenco. Namizne makete, kot fizični prototipi, združujejo fizični in digitalni svet, ter omogočajo hitro in preprosto raziskovanje interakcije in razvoj scenarijev uporabe AmI rešitev. Članek predstavlja študentski projekt razvoja pametnega okolja v obliki interaktivne namizne makete ter pametnega pomočnika. Maketa je namenjena razumevanju problema, razvoju in implementaciji konceptov ter služi kot podpora interdisciplinarnemu timskemu delu. Evropska Unija v okviru programa Ambient Assisted Living sofinancira razvoj tehnološko podprtih pametnih okolij, namenjenih pomoči starajoči se populaciji pri življenjskih opravilih in ohranjanju samostojnosti [2]. S to tematiko se ukvarja tudi naš projekt – prototip fizične makete pametnega doma, ki uporabnika in njegovega skrbnika opozarja na določene situacije, ki se pojavijo pri življenjskih opravilih in uporabi naprav. V okviru projekta smo pri starejših uporabnikih želeli spremljati vsakdanja opravila ter zaznati morebitne anomalije, ter o tem obvestiti uporabnikovega skrbnika. Pri nadgradnji projekta pa bi ciljno množico uporabnikov lahko nadgradili še z drugimi skupinami, katerim bi sistem lahko izboljšal kakovost in samostojnost življenja, npr. invalidom. V ta namen pametna okolja zagotavljajo številne funkcionalnosti in storitve. Osnovna funkcija je spremljanje uporabnika in njegovega gibanja v realnem času s pomočjo sodobnih senzorskih tehnologij [3], ki zagotavlja podatke za analizo in prepoznavanje uporabnikovih aktivnosti [4], kar lahko vključuje tudi uporabo naravnih vmesnikov, kot so kretnje in glasovno upravljanje naprav. Za povečanje varnosti starejših pa razvijajo sisteme zaznavanja kritičnih situacij, npr. padca, pri čemer lahko uporabimo tudi nosljive senzorske sisteme [5], [6]. Za razvoj logike delovanja makete ter realizacijo uporabniškega vmesnika uporabljamo vizualno razvojno okolje Node-RED, ki je zelo primerno za prototipiranje porazdeljenih sistemov interneta stvari [9]. 2 Razvoj prototipne namizne makete Osrednji del sistema predstavlja fizična maketa, ki je tudi edini otipljivi medij za uporabnika oz. testerja sistema. V ta namen smo v fazi načrtovanja predvideli, da bi maketo predstavili v tridimenzionalnem prostoru z jasnimi ločnicami (stenami) med prostori in modeli pohištva. Nadalje smo predvideli izgradnjo prvega in kasneje nadgrajenega prototipa makete, ki bi ga nadgradili po začetnem testiranju uporabe znotraj razvojne ekipe in definiranju problemov pri uporabi. Prav tako smo se odločili, da se v osnovni fazi osredotočimo na svetlobne signale za opozorila, z nadgradnjo pa bi sistem lahko vključeval tudi druga smiselna senzorična opozorila, npr. zvočne signale. S tem smo se želeli izogniti senzorični preobremenitvi, ki bi lahko vplivala na rezultate uporabniškega testiranja. 2.1 Načrt makete V načrtu makete smo predvideli hišo oz. stanovanje s štirimi prostori (slika 1). V prostore smo uvrstili enega ali dva elementa interakcije, ti elementi predstavljajo pohištvo ali belo tehniko, ki jo realen uporabnik uporablja v okviru svoje jutranje rutine. Načrtovano je bilo, da bi z razvojem inkrementov postopoma dodajali funkcionalnosti posameznim elementom, upoštevajoč njihovo stanje in tudi vrstni red opravljanja akcij. V prvem inkrementu izgradnje prototipa smo predvideli naslednje prostore s pripadajočimi elementi: • Kuhinja: pečica in hladilnik • Dnevna soba: televizijski sprejemnik • Spalnica: postelja in omara • Kopalnica: stranišče in tuš Vsak element je lahko v enem izmed dveh stanj, tj. v aktivnem ali pasivnem stanju kakor prikazuje tabela 1. 196 Tabela 1: Možna stanja interaktivnih elementov Interaktivni element Pasivno stanje Aktivno stanje Hladilnik Zaprta vrata hladilnika Odprta vrata hladilnika Pečica Pečica je izključena Pečica je vključena Televizijski sprejemnik (TV) TV je izključen TV je vključen Postelja Postelja je prazna Uporabnik leži na postelji Omara Vrata omare so zaprta Vrata omare so odprta Straniščna školjka Pokrov školjke je pokrit Pokrov školjke je odkrit Tuš Tuš je zaprt (ni pretoka vode) Tuš je odprt Za potrebe testiranja prototipa smo za določene elemente predvidevali, da jih uporabnik v primeru aktivnega stanja elementa uporablja – npr. če je postelja v aktivnem stanju, predvidevamo da uporabnik spi. Pri tem upoštevamo tudi čas uporabe elementa, pri čemer predolga uporaba povzroči akcijo znotraj sistema – izdajo opozorila za uporabnika ali oddaljenega asistenta – npr. predolga uporaba pečice lahko pomeni, da je uporabnik pozabil pečico prižgano, predolga uporaba tuša lahko pomeni, da je uporabniku v tuš kabini zdrsnilo. Samih situacij in reakcij v času razvoja elementov nismo predvideli, predvideli smo jih kasneje, pri pripravi scenarijev za testiranje. 2.2 Prototip makete Kot prvi prototip makete smo uporabili belo podlago z definiranimi pozicijami posameznih prostorov in elementov znotraj prostorov v velikosti lista A4. Shemo prvotnega prototipa makete prikazuje slika 1. Slika 1: Shema prvotnega prototipa makete Kasneje smo velikost makete povečali na velikost A2, hkrati pa smo jasno označili mesta na katerih se pojavljajo interaktivni elementi posameznega prostora. Pred uporabniškim testiranjem smo maketo poskusno opremili s fotografijami prostorov, ki pa smo jih v zadnjem prototipu zamenjali s projekcijo prostorov na maketo z uporabo stropnega projektorja. 2.2.1 Stropna projekcija makete Za prikaz projekcije makete smo uporabili preprosto spletno stran, pri čemer smo za gostovanje spletne strani uporabili kar programsko okolje Node-RED. Projekcija je vključevala enake prostore in elemente kot fizična maketa, le da so bile zraven vključene slike prostorov, posamezne elemente pa smo za povratno informacijo uporabniku ob specifičnih opozorilih obarvali bodisi z rdečo, rumeno ali zeleno barvo, pri čemer rdeča barva pomeni napačno ravnanje, rumena opozorilo in zelena pravilno ravnanje. Grafično informacijo, ki je bila projecirana na fizično maketo, prikazuje slika 2. Slika 2:Stropna projekcija, ki prikazuje virtualen del makete s svetlobnimi signali in projekcijami prostorov Za komunikacijo med odjemalcem in strežnikom je bila uporabljena knjižnica Socket.IO, ki omogoča proženje in zaznavanje dogodkov. Ta omogoča proženje dogodkov s strežnika, kar se odraža v spremembah na spletni strani, v našem primeru obarvana polja posameznih elementov. 2.2.2 Portal za asistenta V sistem smo vključili tudi portal, ki nadzornika informira o aktivnostih uporabnika. Podaja opozorila v primerih neobičajnega ali potencialno nevarnega ravnanja uporabnika – npr. predolga uporaba pečice, predolga uporaba tuša ipd. Portal za asistenta omogoča pregled enakih opozoril kot so razvidne iz osnovne makete prilagojene na način, da se razlikujejo glede na nujnost akcije (z različno barvno paleto – rdeča opozorila zahtevajo takojšen odziv) in omogočajo pregled dogajanja iz oddaljene lokacije. Zasnovan je na enak način kot stran za projekcijo, torej gostovana spletna stran, na kateri so prikazani dogodki, ki se zaznavajo s pomočjo knjižnice Socket.IO. Prikaz dogodkov je preprost in sicer gre za opise dogodkov, katerih primer prikazuje slika 3. Slika 3: Prikaz dogodkov, kot jih vidi asistent na portalu za oddaljen pregled 197 Slika 4: Node-RED program, ki izvaja inicializacijo sistema in avtomatsko detekcijo fizičnih interakcij z maketo. 2.3 Realizacija prototipa makete Interaktivno delo z maketo temelji na uporabi sistema Trackmate [8], ki z uporabo kamere zaznava kode oz. simbole, ki jih glede na njihov fizičen položaj umesti v koordinatni sistem. Sistem nam omogoča spremljanje položaja in prisotnosti kod, ki predstavljajo posamezne interaktivne elemente in uporabnika. V prvotnem prototipu smo maketo testirali zgolj z odstranjevanjem in dodajanjem kod za zaznavo elementov na in iz makete v vnaprej določene lokacije na maketi, kasneje pa smo izboljšali uporabnost z ilustrativnimi ikonami, ki so ponazarjale elemente doma, oziroma njihovo aktivnost, kot prikazuje slika 5. 2.3.1 Inicializacija sistema Sistem Trackmate zaznanim simbolom dodeli naključno generirane, edinstvene identifikatorje za vsako sejo uporabe, zato je bila potrebna implementacija inicializacije okolja, ki je posameznim zaznanim simbolom dodelila pomen – kateri interaktiven element predstavljajo. Inicializacija okolja je potrebna pred vsako uporabo makete in jo je potrebno izvesti, preden je simbol, ki predstavlja uporabnika, viden na maketi. Inicializaciji okolja sledi inicializacija uporabnika. Simbol, ki predstavlja uporabnika, je zadnji simbol, ki je dodan na maketo in nima dodeljenega pomena. 2.3.2 Zaznavanje interakcij Zaznava interakcij temelji na zaznavi simbolov - če simbol interaktivnega elementa ni zaznan, to sproži eno izmed opisanih stanj makete. Zaznavo stanj dosežemo podobno kot inicializacijo uporabnika – seznam aktivnih, zaznanih identifikatorjev simbolov primerjamo s seznamom znanih identifikatorjev simbolov. Ko sistem zazna manjkajoč interaktiven element, preveri, ali so izpolnjeni tudi ostali pogoji za situacijo, povezano z manjkajočim interaktivnim elementom. Če so pogoji izpolnjeni, sproži reakcijo, povezano s situacijo. Programska logika je realizirana v okolju Node- RED s pomočjo gradnikov, povezanih v graf (angl. flow), del logike je prikazan na sliki 4. 2.3.3 Pomanjkljivosti sistema Zaznavanje primarno temelji na sistemu Trackmate, ki je občutljiv na osvetljenost in lokacijo simbolov na maketi. Če se kodni simbol nahaja nekoliko izven področja zaznave sistema Trackmate, t.j. nekoliko izven mej efektivnega koordinatnega sistema, ki ga generira sistem Trackmate, ga le-ta ne zazna. Napačno zaznavo lahko prav tako povzroči slaba osvetljenost posameznih kodnih simbolov. Te lahko sprožijo situacije, opisane v testnem scenariju, kljub temu, da jih uporabnik sam ni sprožil. 2.4 Uporabniško testiranje V okviru testiranja smo pripravili okviren testni scenarij, ki naj bi predstavljal običajno jutranjo rutino uporabnika. Testiranje smo izvedli s šestimi študenti, pri čemer smo vključili dve uporabniški vlogi – prebivalca pametnega doma, ki je uporabljal maketo, ter njegovega skrbnika, ki je pasivno spremljal portal za asistenta. Sodelujoči je izvedel testiranje obeh delov, pri čemer vrstni red testiranja ni bil določen (testiranec A je najprej izvajal testiranje v vlogi prebivalca, testiranec B pa v vlogi asistenta, potem sta vlogi zamenjali). Pred začetkom uporabniškega testiranja smo sodelujočim razložili, da lahko testni scenarij svobodno prilagajajo svojim željam, vendar smo jim hkrati podali naloge, ki jih morajo izvesti – v poljubnem vrstnem redu, npr. »uporabnik v kuhinji prižge pečico in da peči rogljičke, rogljički se pečejo 20 minut«. 2.4.1 Testni scenarij – jutranja rutina Testni scenarij smo zasnovali na način, da uporabniku makete omogoča svobodo pri raziskovanju interaktivnih elementov in same makete, vseeno pa smo predvideli nekaj situacij, ki jih uporabnik mora izvesti, na podlagi njihovega izvajanja pa se potem lahko izvede reakcija sistema. Situacije in reakcije, ki so bile podprte s strani sistema tekom uporabniškega testiranja so prikazane v tabeli 2. Tabela 2: Tabela podprtih situacij in reakcij Situacija Reakcija Aktiven hladilnik, uporabnik v drugem prostoru Rdeče opozorilo na maketi Aktivna pečica, uporabnik v drugem prostoru več kot 30 miniut Rdeče opozorilo za uporabnika in pomočnika Tuš aktiven več kot 20 minut, uporabnik v istem prostoru Rumeno opozorilo za pomočnika Tuš aktiven več kot 30 minut, uporabnik v istem prostoru Rdeče opozorilo za pomočnika Televizija aktivna več kot 30 minut, uporabnik v drugem prostoru Rdeče opozorilo za uporabnika 198 Situacija Reakcija Televizija aktivna več kot 4 ure Rumeno opozorilo za pomočnika, rdeče za uporabnika 2.4.2 Opis uporabniškega testiranja V uporabniško testiranje sta bili hkrati vključeni dve testni osebi in sicer uporabnik, ki upravlja z maketo (v nadaljevanju testna oseba A) ter uporabnik, ki v ločenem prostoru opravlja vlogo skrbnika, ki spremlja portal (v nadaljevanju testna oseba B). Obema uporabnikoma so bila pred začetkom izvajanja podana navodila v ustni obliki. Testna oseba A je morala opraviti vse korake testnega scenarija, ki je predstavljen v poglavju Testni scenarij – jutranja rutina. Koraki so lahko bili izvedeni v poljubnem vrstnem redu, obenem pa je uporabnik lahko poljubno upravljal z vsemi elementi makete. To je počel tako, da je pokrival in odkrival kodne simbole, ki so predstavljeni v poglavju Implementacija zaznave kodnih simbolov, pri čemer pokrit kodni element pomeni aktivnost elementa makete npr. prižgana pečica, odprta voda v tušu… V primeru nepredvidenega oz. nepravilnega ravnanja z elementi vezano na scenarij, je bila oseba A na to opozorjena z barvnim opozorilom prek elementa, npr. predolgo odprta voda v tušu – rdeča barva prek kodnega simbola, ki predstavlja tuš. Testna oseba A je imela ves čas izvedbe ob strani prikazano uro, za lažjo orientacijo pri izvedbi korakov. Testiranje se je zaključilo, ko je oseba A menila, da je opravila vse potrebne korake scenarija. Izvajanje testiranja osebe A je prikazano na sliki 5. Slika 5: Prikaz uporabniškega testiranja Testna oseba B se je nahajala v ločenem prostoru in je imela nalogo slediti portalu za asistenta. Oseba je med postopkom testiranja izvajala stransko aktivnost, preprosto igro Križci in krožci za odvrnitev pozornosti od zaslona. V primeru opozorila, ki se pojavi na portalu za asistenta, je oseba B lahko vzpostavila komunikacijo z osebo A na način, da vstopi v prostor in osebo A opozori na napako oz. preveri njeno stanje. 2.4.3 Rezultati uporabniškega testiranja Ob zaključku testiranja obeh delov je vsaka testna oseba izpolnila anketo sestavljeno iz treh vprašanj, ki so se navezovale na namizno maketo z oprijemljivim vmesnikom, dveh vprašanj vezanih na zaslon za oddaljenega pomočnika in tri vprašanja vezana na predložen testni scenarij. Vsi anketiranci so se deloma ali popolnoma strinjali z navedki, da je sistem »enostaven in pregleden«, »smiseln za nadaljnji razvoj«, lahko »omogoči boljše življenjske pogoje za starejše« ter, da je realizacija sistema smiselna. Ravno tako so se vsi strinjali, da je povratna informacija preko projekcije na maketo bolj smiselna kot povratna informacija preko ločenega zaslona. Pri vprašanjih, vezanih na zaslon za pomočnika, se je polovica vprašanih deloma strinjala, da so preko vmesnika dobili dober vpogled v dogajanje na maketi. En izmed vprašanih se z izjavo ni strinjal, preostali pa so se z izjavo popolnoma strinjali. Ravno tako sta dve tretjini menili, da je zaslon za pomočnike dovolj moteč, da so na njem opazili spremembo. Vsi anketiranci so se strinjali, da je bil testni scenarij predstavljen jasno in razumljivo, ter da je dobro zaobjel celoten sistem, pri čemer jih ni pretirano omejeval. Z izvajanjem scenarija so anketiranci pridobili boljši vpogled v problem, katerega smo reševali. 3 Zaključek Z razvojem in testiranjem prototipa namizne makete smo potrdili njeno uporabnost pri razvoju konceptov in scenarijev uporabe na področju ambientne inteligence. Prototip lahko predstavlja korak v iterativnem razvojnem procesu s sodelovanjem končnih uporabnikov, hkrati pa izdelana logika v okolju Node- RED služi kot potrditev delovanja ciljnega sistema. Literatura [1] D.Cook, J.C.Augusto and V.R.Jakkula, “Ambient intelligence: Technologies, applications, and opportunities”, Pervasive and Mobile Computing, vol. 5, pp. 277-298, 2009 [2] A. Bertule, “AAL Impact Assesment has been published,” AAL Programme, Feb. 08, 2022. http://www.aal-europe.eu/aal- impact-assesment-has-been-published/ (accessed Jul. 02, 2022). [3] D. Ding, R. A. Cooper, P. F. Pasquina, and L. Fici-Pasquina, “Sensor technology for smart homes,” Maturitas, vol. 69, no. 2, pp. 131–136, Jun. 2011. [4] D. Bouchabou, C. Lohr, I. Kanellos, and S. Nguyen, “Human Activity Recognition (HAR) in Smart Homes HAR in Smart Homes,” 2021 [5] G. G. Torres, R. V. B. Henriques, C. E. Pereira, and I. Müller, “An EnOcean Wearable Device with Fall Detection Algorithm Integrated with a Smart Home System,” ScienceDirect, 2018. [6] S. Bang, M. Kim, S. Song, and S.-J. Park, “Toward real time detection of the basic living activity in home using a wearable sensor and smart home sensors,” IEEE Xplore, Aug. 01, 2008. [7] A. Dasios, D. Gavalas, G. Pantziou and C. Konstantinopoulus, “Hands-On Experiences in Deploying Cost-Effective Ambient- Assisted Living Systems”, Sensors (Basel, Switzerland), Jun. 18, 2015 [8] “Trackmate”, https://sourceforge.net/p/trackmate/wiki/Home/ (accessed Jul. 02, 2022) [9] D. Bahmanyar, N. Razmjooy and S. Mirjalili, Multi-objective scheduling of IoT-enabled smart homes for energy management based on Arithmetic Optimization Algorithm: A Node-RED and NodeMCU module-based technique, Knowledge-Based Systems Vol. 247 (2022) 108762