Každý výrobca alebo distribútor určite dôverne pozná dopravný a informačný chaos, ktorý občas vládne na transportných trasách. Obrovské objemy tovarov s množstvom informácií o prepravovaných produktoch, odosielateľoch, adresátoch a pod. sa dokážu záhadným spôsobom stratiť, alebo v našom prípade oneskoriť z dôvodu zlého určenia pozície koncového adresáta [1]. S tým sú spojené stresové situácie, strata dôvery, alebo dokonca aj zákazníka, hroziaca penalizácia za oneskorenie dodávky a iné veľmi nepríjemné situácie.
Jedným z možných riešení, ktoré dokážu vo veľkej miere eliminovať vznik takýchto situácií, je využitie presnej navigácie osôb doručujúcich tovar koncovému adresátovi.
Najdôležitejším cieľom logistiky je spravidla zvýšenie alebo optimalizácia trhovej výkonnosti podnikov. To sa odráža v troch faktoroch: v kvalite produktu, cene za produkt a dodávateľskom servise (na ktorý sa v tomto príspevku zameriavame).
Významné zlepšenie, presnosť určenia koncového zákazníka a navigácia k nemu v dodávateľskom servise, priniesla celosvetová sieť satelitov GPS, GLONASS, GALILEO prípadne čínskeho BEIDOV. Navigovanie pomocou satelitných systémov sa stalo štandardnou súčasťou pre väčšinu ľudí a logistických firiem. Kým pred pár rokmi bola technológia družicového navigačného systému (DNS) len výsadou drahých luxusných áut, v súčasnosti je cenovo dostupnou náhradou mapových podkladov prakticky celého sveta. Obrovskou devízou DNS je možnosť zobrazenia aktuálnej polohy doručovateľa, s funkciou výpočtu trasy prostredníctvom mapových podkladov pre jednoduché navigovanie z miesta A do miesta B (parkovisko prijímateľa). Avšak princíp jej fungovania neumožňuje navigovanie v rámci celého logistického reťazca (B – kancelária) z dôvodu uzavretých priestorov, nakoľko nemá požadované spojenie so satelitmi.
Ich úlohou je teda správne navigovať používateľa k objektu (na parkovisko – obr. 1), ku ktorému chceme vytvoriť vnútornú navigáciu. Myšlienka príspevku je postavená na princípe, že ak globálny navigačný systém splní svoj účel, následne navigáciu prevezme navrhnutý lokálny navigačný systém. Ten nám umožní navigáciu v rámci budovy a dostane doručovateľa presne do konkrétnej miestnosti (k osobe), ktorú zadá pri vyhľadávaní.
Súčasné možnosti lokálnej navigácie v budovách
Na riešenie problému priamej viditeľnosti s družicou globálneho navigačného systému sa využívajú lokálne (vnútorné) lokalizačné systémy tzv. Indoor Positioning System v skrátenej forme známe aj ako IPS. Pod pojmom lokálne môžeme rozumieť to, že lokalizácia je zameraná na lokálny areál sústavu budov alebo samostatne stojacu budovu. Aj napriek tomu, že sú zamerane na relatívne malé oblasti, disponujú viacerými výhodami. Najväčšou z nich je presnosť a adresnosť lokalizácie. Tieto lokalizačné systémy dokážu pracovať s presnosťou niekoľko centimetrov alebo milimetrov podľa spôsobu použitej technológie v zariadení.
Využitie smartfónu alebo tabletu pri riešení vnútornej navigácie má viacero opodstatnení. Dnešný smartfón disponuje prídavnými zariadeniami ako sú napríklad Wifi, fotoaparát, bleutooth, ale taktiež kompas či akcelerometer. Na základe dostupnej kombinácie spomenutých prídavných zariadení je potom možné vytvoriť vnútornú lokalizáciu rôznymi spôsobmi.
Budovy postavené z ocele a betónu majú špecifické priestorové magnetické pole. Dalo by sa to prirovnať k unikátnemu podpisu budovy. Keďže prvá z opisovaných navigácii, funguje na princípe magnetického poľa, je táto vlastnosť stavieb veľmi dobrým predpokladom. Aplikácia je určená hlavne pre mapovanie objektov ktorými sú obchodné centrá, nákupné domy alebo administratívne budovy. Z tohto dôvodu je potrebné napĺňanie databázy príslušnými mapami budov.
Vytvorená aplikácia spoločnosti IndoorAtlas získava údaje zo zabudovaného kompasu, ktorý je súčasťou určitých typov smartfónov. Pomocou neho meria anomálie zemského magnetického pola. Táto technológia umožňuje získavanie polohy v budove s presnosťou od 0,1 m do 2 m [2].
Medzi ďalšie IPS môžeme zahrnúť metódy nevyužívajúce meranie vzdialenosti, ktoré znižujú nároky na výpočet a nevyžadujú určenie vzdialenosti mobilného zariadenia od referenčných staníc. Na určenie približnej polohy sa využívajú informácie o parametroch signálov prijímaných z referenčných staníc umiestnených v okolí zariadenia. Ideálnym riešením tejto metódy sú siete s vysokým počtom uzlov. Takéto siete môžu byť napríklad senzorické alebo ad-hot siete. Ich kvalita a presnosť je závislá od počtu rozmiestnení referenčných staníc v priestore.
Lokálna navigácia pomocou metódy FootPath [3] na začiatku definuje povinnosť získať databázu s aktuálnymi mapami budov. Ďalším krokom je vybrať si cestu, ktorou sa chceme dostať k nášmu cieľu. Lokálna navigácia pomocou metódy FootPath používa na určenie smeru kompas a na zisťovanie počtu krokov akcelerometer. Na základe získaných hodnôt z kompasu a akcelerometra je možné vhodným algoritmom prepočítať, kde sa aktuálny mobilný telefón nachádza.
Pomocou fotoaparátu je možné snímať okolie v priestoroch budovy, v ktorej sa práve nachádzame. Rozmiestnením čiarových kódov (alebo QR kódov) na vybraných miestach v rámci budov a následne ich skenovaním pomocou fotoaparátu je možné zistiť našu polohu. V princípe dôjde k načítaniu informácie o geografickú pozícii prípadne URL adresu obrázka príslušnej časti budovy. Tento nízko nákladový a šikovný spôsob lokalizácie ako prvý opísal Mulloniho kolektív [5].
Lokálna navigácia pomocou WiFi je lokálny lokalizačný systém určený predovšetkým na určovanie polohy vo vnútri budov. Využíva metódu odtlačku signálu. Ako je už v názve uvedené, pracuje v sieťach typu WLAN na štandarde IEEE 802.11g. Architektúra systému je založená na type klient-server.
Na základe toho, kde je v navrhnutom systéme vytvorený výpočtový mechanizmus, vieme rozlišovať, či ide o zisťovanie polohy pomocou prístupových bodov alebo priamo lokalizácia v mobilnom telefóne.
Prvý spôsob fig. 5A vyplýva z toho, že mobilný telefón vystupuje ako pasívne zariadenie, ktorého úlohou je len vysielať signály určené referenčným staniciam. Referenčné stanice spracovávajú prijaté dáta zo smartfónu a následne ich odosielajú na ďalšie spracovanie príslušnej riadiacej jednotke, ktorá pomocou vopred vytvorených algoritmov uskutočňuje výpočty. Prepočítanú hodnotu polohy spätne odošle smartfónu, aby sám zaznamenal svoju aktuálnu pozíciu.
V druhom prípade fig. 5B vystupuje mobilné zariadenie ako aktívny prvok, ktorý je zodpovedný za úplný proces určovania polohy. Mobilné zariadenie dokáže prijímať a spracúvať vysielané signály od príslušných referenčných staníc. Takýto proces si však vyžaduje softvérové ako aj hardvérové zásahy do mobilného zariadenia. Veľkou výhodou je však zníženie záťaže celej siete.
V spojenom systéme fig. 5C môže mobilné zariadenie spracovávať vstupné dáta z referenčných staníc a preposielať ich sieti na ďalšie spracovanie. Sieť sa tým odľahčí od zaťaženia pri spracovávaní dát z mobilného zariadenia a algoritmus, ktorý je určený na zisťovanie polohy. Môže byť výkonovo náročnejší, keďže ho má na starosti výkonovo prispôsobené zariadenie v sieti a nie mobilné zariadenie [5].
Tvorba 3D modelu z technických podkladov
Jedna z prvých podmienok návrhu IPS je návrh a tvorba 2D modelu objektu. Potrebujeme poznať pôdorys budovy, aby sme mohli v konečnom dôsledku vykonať čo najlepšie navigáciu v budove. Pre naše potreby sme využívali komerčný SW nástroj AutoCad hlavne pre jeho kompatibilitu s rôznymi SW nástrojmi a prehľadné ovládanie. Jednotlivé miestnosti tak môžeme prekresliť s milimetrovou presnosťou a zaznačiť na nich kde sa nachádzajú dvere, okná alebo schody. Na obrázku sa nachádza pôdorys budovy Žilinskej univerzity, v ktorej je dislokovaná Katedra riadiacich a informačných systémov. Po dokončení pôdorysu objektu sa ten následne exportuje do projektu vo formáte dwg.
Návrh systému pre navádzanie v budove
Rozľahlými budovami môžeme chápať nielen budovy s veľkou rozlohou, ale aj pre sústavu budov združených do jedného komplexu. Takýmto príkladom by mohla byť aj Žilinská univerzita – celý komplex je tvorený dvomi hlavnými budovami, ale tiež fakultnými budovami FRI a FBI, ktoré nie sú v priamej blízkosti hlavnej budovy. Keďže sa jedná o navigáciu vo vnútri budovy, nie je možné použiť GPS navigáciu, pretože v budove nie je dostatočne silný signál..
Jedno z riešení je zobrazovanie aktuálnych mapových podkladov na displeji našej navigačnej jednotky. Takouto navigačnou jednotkou je smartfón (tablet), na ktorom je nutné nainštalovať navrhnutú a realizovanú aplikáciu obsahujúcu mapové podklady budovy. Keďže smartfón je dnes neodmysliteľnou súčasťou takmer každého (hlavne mladého) človeka, preto je možné ho označiť za nízko nákladovú jednotku.
Pri realizácií opisovanej aplikácie bolo potrebné postupne vytvárať jednotlivé obrazovky, ktoré sa následne medzi sebou vzájomne volajú. Tieto obrazovky sa v programovaní pre systém Android nazývajú aktivity a sú tvorené 3 základnými elementmi:
- Súbor *.java – zdrojový kód napísaný v Jave na vykonávanie programu;
- Súbor activity_*.xml – XML kód definujúci grafické rozhranie aplikácie pre konkrétnu obrazovku;
- Súbor menu_*.xml – XML kód definujúci kontextové menu aplikácie pre konkrétnu obrazovku.
Na úvodnej obrazovke sme chceli docieliť, aby si používateľ vedel vybrať odkiaľ a kam chce ísť (obr. 7). Pri voľbe „odkiaľ“ je možné vybrať si z troch vstupov do budovy Žilinskej univerzity – hlavný vchod, vchod z bloku AA alebo vchod pri prechode medzi budovami AA a NF (tzv. moste). Možnosti pre voľbu „kam“ sú na výber jednotlivé miestnosti na Katedre RIS – ako sú laboratórne miestnosti, tak aj kancelárie učiteľov. Všetky tieto hodnoty sú uložené v súbore strings.xml, ktorý sa automatický vytvára pri každom projekte. Do tohto súboru sa definujú a zapisujú následne textové reťazce, ktoré sú používané v programe a sú priradené určitej premennej. Taktiež je ale možné v tomto súbore definovať textové polia, ktoré obsahujú viacero položiek.
Ak chceme tieto dáta zobraziť a nechať používateľa vybrať si konkrétnu položku, potrebujeme na to vytvoriť vhodný prvok, akým je napríklad Spinner. Spinner je prvok, ktorý nám dovolí vybrať práve jeden prvok z rozbaľovacieho menu. Najprv je potrebné tento prvok zadefinovať a následne nastaviť jeho atribúty:
Po zadefinovaní spinnera je vytvorený objekt triedy ArrayAdapter, ktorý slúži na formátovanie zoznamu. Následne nastavujeme zdroj dát pre tento zoznam a tiež rozloženie prvkov na obrazovke.
Obr. 10 Nastavenie spinnera s formátovaným výstupom
Realizáciou týchto krokov je vytvorený spinner nastavený, no vybrané dáta potrebujeme uložiť do premenných na neskoršie použitie. To sa realizuje nastavením listenera, ktorý slúži na vykonanie príkazov pri nami definovanej udalosti – najčastejšie dotknutie sa prvku na obrazovke. Keďže sme chceli, aby sa po vybratí voľby „odkiaľ“ automaticky aj zmenila štartovacia poloha na mape, museli sme implementovať listener na náš spinner. V ňom po výbere voľby sa daná voľba uložila do premennej a tá bola poslaná ako parameter do našej metódy protected void zobrazVyber(String vyber), ktorá aktualizovala mapu.
V metóde protected void zobrazVyber(String vyber) sa v závislosti od voľby nastavujú nasledujúce parametre:
- int pozicia – pozícia voľby v poli
- int zdroj – mapa pre danú voľbu
- String title – popis mapy
Po zadefinovaní požadovaných hodnôt pre štartovaciu a cieľovú pozíciu, aplikácia môže začať samotný proces navigácie. Potvrdenie našich hodnôt a začiatok navigácie začína stlačením tlačidla „Naviguj“. Rovnako ako pri prvku spinner, tak aj pri tlačidle bolo najprv potrebné zadefinovať prvok v jazyku Java a tiež jazyku XML. Po definovaní tlačidla sme vytvorili metódu na udalosť, ktorá sa stane pri stlačení tlačidla. V tejto metóde dochádza k prevzatiu vybraných hodnôt zo spinnerov a ich odovzdanie do našej metódy protected void naviguj (String zaciatok, String koniec).
Metóda protected void naviguj (String zaciatok, String koniec) slúži na prechod na ďalšiu aktivitu podľa zadaných hodnôt. Pri prechode na inú aktivitu sme potrebovali odovzdať ďalšej aktivite našu štartovaciu a cieľovú pozíciu, aby konečná aktivita vedela, kam nás má navigovať.
Prechod na ďalšiu aktivitu sa v systéme Android robí pomocou takzvaných Intentov. Intent (zámer) je trieda, ktorá pomocou nastavených parametrov vyvolá zvolenú aktivitu. Pri dodatočných dátach sa používa Intent s metódou putExtra().
Tlačidlo kontrolného obrázku (obr 14) slúži na zobrazenie skutočnej fotografie pre medzibod, ktorý je potrebné dosiahnuť v danom kroku navigácie. Metóda je realizovaná na spustení novej aktivity, ktorá zobrazí kontrolný obrázok aj s popisom na celú obrazovku.
Tlačidlo prechodu na ďalšiu navigáciu spustí novú aktivitu pre nasledujúci krok navigácie a zároveň mu pomocou metódy putExtra odovzdá parametre potrebné pre ďalšie kroky.
Pri niektorých triedach bolo potrebné použiť výberový prvok – spinner, aby sa zaistila presnejšia navigácia. Pri takýchto triedach je výberový prvok použitý namiesto textového poľa.
Záver
Tento príspevok sa zaoberá problematikou navigácie v rozľahlých budovách kritickej infraštruktúry s možnou detekciou jej následného pohybu v jednotlivých častiach objektov. Opisuje v závere tvorbu podkladov pre 2D navigáciu kuriéra z bodu A (sklad) do bodu B (kancelária v rozľahlej budove). V článku je ďalej opísaný navrhnutý algoritmus určený na navigáciu vstupujúcej osoby a kroky, ktoré viedli k návrhu systému navigácie pre rozľahlé budovy. Vytvorená aplikácia vyvíjaná v rámci bakalárskej štúdie a projektu Univerzitný vedecký park je navrhnutá pre navigáciu externej osoby v priestoroch Žilinskej univerzity.
Poďakovanie
Tento článok vznikol s podporou projektu „Univerzitný vedecký park“ (ITMS:26220220184) v rámci OP Výskum a vývoj spolufinancovaný zo zdrojov Európskeho fondu regionálneho rozvoja.
Autor
Rastislav Pirník, Martin Bucko
- Ing. Rastislav Pirník, PhD., Žilinská univerzita v Žiline, Elektrotechnická fakulta, Katedra riadiacich a informačných systémov, Univerzitná 1, 010 26 Žilina
- Bc. Martin Bucko., Žilinská univerzita v Žiline, Elektrotechnická fakulta, Katedra riadiacich a informačných systémov, Univerzitná 1, 010 26 Žilina.
Literatúra
[1] Logistika. Dostupné na: http://alldigit.sk/index.php?page=logistika&lang=de
[2] SUMEC, P., Navigácia v rámci budov bez potreby signálu GPS je realitou. Dostupné na http://www.mobil.sk/clanok12062 navigacia_v_ramci_budov_bez_potreby_signalu_GPS_je_realitou.htm
[3] Miroslav Opiela Lokalizácia a navigácia v indoor prostredí
[4] TRUSA, F., RSS lokalizácia v budovách s využitím wifi signálu.: dostupné na http://ics.upjs.sk/~krajci/skola/ine/SVK/pdf_/Trusa.pdf
[5] BUCKO, D. Techniky navigácie osôb v rozľahlých budovách. Bakalárska práca. Žilinská univerzita v Žiline. 2015. 49 s. ID: 28260220151002, Žilina
[6] TUČEK, L. Návrh elektronického 3D katalogu a manuálu: bakalárska práca. Brno: Vysoké učení technické v Brně. 2010.
[7] BAKŠA, P. Implementácia lokalizačného systému Wifilock v prostredí ubytovacieho zariadenia ŽU na Veľkom Diele: bakalárska práca. Žilina: Žilinská univerzita v Žiline. 2014.