• Nem Talált Eredményt

Beltéri navigációs rendszer fejlesztése nyílt forrású alapokon

In document 2019. május 24. (Pldal 35-41)

Árvai László

osztályvezető, Intelligens Rendszerek Divízió, Bay Zoltán Alkalmazott Kutatási Közhasznú Nonprofit Kft., laszlo.arvai@bayzoltan.hu

Beltéri navigációs rendszer

A vak vagy gyengénlátó felhasználók számára készített beltéri navigációs rendszernek több követelmények is meg kel felelnie (Árvai 2018). Elvárás, hogy egy olyan alkalmazás képében öltsön testet, amely egy átlagos okostelefonon is futtatható, mindenféle hardver kiegészítés nélkül működjön és képes legyen off-line üzemmódra is, vagyis az adatkapcsolat megszakadása ne befolyásolja a navigáció folyamatát. Természetesen elvárás az is, hogy a felhasználóval beszéd alapon is tartsa a kapcsolatot, illetve minden fontos funkciója a képernyő használata nélkül, pusztán hangvezérléssel elérhető legyen.

A rendszernek akkor is működőképesnek kell lennie, ha a telefon táskában, ruhában elrejtve kerül felhasználásra és ebben az esetben a felhasználóval történő kapcsolattartáshoz speciális (pl. csontrezgéses) fejhallgatót is tudnia kell használni.

Ezen kívül fontos, hogy az útvonaltervező algoritmus alkalmas legyen a speciális igényű felhasználók kiszolgálására is. Az elsődleges követelmény nem a legrövidebb vagy leggyorsabb útvonal megtervezése, hanem a legbiztonságosabb útvonal meghatározása. El kell kerülni minden olyan lehetséges akadályt, amely veszélyt jelenthet a felhasználónak (pl. forgóajtó vagy mozgólépcső amennyiben a felhasználó vakvezető kutyával közlekedik).

Mivel beltérben nincs olyan szabványos és elterjedt lokalizációs rendszer, mint kültéren a GPS, illetve mivel csak a telefon szenzorai használhatók, ezért speciális algoritmusra van szükség a szenzoradatok feloldozására, szűrésére és a pozíció

Absztrakt: A helyfüggő szolgáltatások nem csak kültéren, hanem beltérben is egyre jobban előtérbe kerülnek. Sok esetben ezek még csak marketing célokat szolgálnak, de készíthetők olyan rendszerek is amelyek vak vagy gyengénlátó embertársaink számára nyújtanak segítséget a beltéri mobilitásban.

Ez egy rendkívül speciális felhasználási terület, mely a speciális szoftver mellett a szokásostól eltérő részletezettségű geoinformatikai adatbázis igényel. A geometriai és szokásos hely specifikus információkon túl, olyan adatokat is tartalmaznia kell, amely támogatja a biztonságos útvonal megtervezését, a megjelenítendő információk beszéddé alakítását és magát a beltéri helymeghatározást is. Egy ilyen térinformatikai adatbázis tervezési és kialakítási megfontolásait, illetve az erre épülő alkalmazás fontosabb tervezési kérdéseit ismerteti ez a cikk.

információvá alakításra. Mindezen funkciók megvalósításához szükség van egy elektronikus beltéri térképi adatbázisra mely miden szükséges adatot a megfelelő részletességgel és rendezettséggel tartalmaz.

Beltéri elektronikus térkép

A beltéri navigációhoz felhasznált térképnek többféle szintű és jellegű információt kell tárolnia. Vannak olyan rendszerek, mint pl. az AnyPlace melyek csak bitmap alapú térképet használnak (Laoudias – Zeinalipour-Yazti 2017). Ezen rendszerek előnye, hogy viszonylag gyorsan és kis munkaráfordítással elkészíthetők a szükséges térképek, akár a már meglévő parpír alapú térképek szkennelésével.

Hátránya viszont ennek a megoldásnak, hogy az alaprajz megjeleníthetőségén kívül semmilyen más információt nem tartalmaznak, minden olyan egyéb adatot, ami a beszéd alapú kommunikációhoz, helymeghatározáshoz vagy az útvonaltervezéshez szükséges kézzel külön fel kell vinni.

A vektoros térképtárolás, kiegészítve a különböző geometriai objektumokhoz rendelt tulajdonságok tárolásával egy rendkívül rugalmas geoinformációs adatbázis tud nyújtani.

Erre alkalmas rendszer nyílt forrású alapon is létezik, ilyen például az Open Street Map (OSM) is (Internet1). Az OSM alapvetően kültéri térképészeti információk tárolására jött létre, de az utóbbi évek fejlesztéseinek köszönhetően egyre több és egy jobban használható beltéri térképeket támogató funkció jelent meg benne.

A formátuma nagyon egyszerű, alapvetően kétféle geometriai elemet támogat a csomópontot (node) és az ezekre építhető nyitott vagy zárt irányított poligont (way). Minkét elemhez rendelhető tulajdonság (tag). A tulajdonságok kulcs-érték párok segítségével adhatók, meg ahol a kulcsok és az értékek is tetszőleges szövegek lehetnek. Kompatibilitási okokból azonban érdemes az ajánlott formátumot követni.

Ha a térképi adatbázist rétegekre bontjuk, akkor a legalsó réteg a geometriát tároló réteg. Itt tárolódik az épület szintenkénti megjelenését és az épület elhelyezkedésest meghatározó koordináták és poligonok, amint az az 1. ábra bal oldalán látható.

A geometriai rétegre épül rá a címkék rétege (Internet2), amely nagyon fontos, mert ennek segítségével adhatók az egyes geometriai objektumoknak tulajdonságok, illetve tárolhatók egyéb kiegészítő adatok melyek az adott objektumhoz kapcsolódnak.

Az első és legfontosabb attribútuma bármely beltéri objektumnak a szint (emelet) neve, ahol az adott objektum található. Így az adott objektum szélesség és hosszúság koordinátái mellet az emelet jelenik meg egy épületbeli pozíció leírásához szükséges teljes 3D-s koordináta rendszert alkotva.

Az egyes geometriai objektumok további címkéket kaphatnak, ezzel jelölve például a funkciójukat ahogy ez az 1. táblázatban látható.

1. ábra A geometriai réteg (bal oldali kép) és a címke réteg (jobb oldali kép)

Kulcs Érték Jelentés

indoor room Falakkal határolt szoba

indoor area Terület melyet nem falak határolnak

indoor wall Fal vagy falrész

indoor corridor Folyosó

1. táblázat Geometriai objektumok típusai

Ezen címkék mellett lehetőség van az adott helységek neveit is hozzárendelni az objektumokhoz (pl. name=Tárgyaló) vagy egy egyedi azonosítót, például szobaszámot (ref=104).

Bizonyos elemeknél további tulajdonságok megadása is szükséges lehet.

Ilyen lehet például ajtók esetén azok típusa (nyíló, kétszárnyú, elcsúszó, forgó vagy automata/manuális) a hozzáférés lehetőségei (privát, ajtó szélessége, kerekesszékes áthaladás lehetősége), mert ezek az információk az útvonaltervező modul számára fontos jelentőséggel bírnak.

Az útvonaltervező algoritmus a térképi adatbázisba felvett lehetséges útvonalakon dolgozik. Erre azért van szükség, mert a térképek általában nem elég részletesek ahhoz, hogy az útvonaltervező kikerüljön olyan akadályokat, mint például egy bútor. Illetve a vak felhasználók számára fontos, hogy ne legrövidebb útvonalra tervezzen a rendszer, hanem a biztonságosabbra. Amely például vezethet a fal mellett, hogy a fehér bottal követni lehessen és távol essen esetleges oszlopoktól.

A lehetséges útvonalakat egy összefüggő gráfként kell megrajzolni, ahogy az a 2. ábra bal oldali képén is látható. A gráfot alkotó élek irányítottak, ennek jelentősége van olyan esetekben, amikor az útvonal egyirányú (például mozgólépcső, mozgó járda). De olyan esetekben is jelentősége van, amikor bizonyos tulajdonságok irányfüggőek. Jellemzően ilyen tulajdonságokkal rendelkezik egy lépcső vagy egy mozgólépcső. Az, hogy emelkedik vagy lejt fontos információ egy vak felhasználó számára, viszont ez a haladás irányától függően értelmezendő. Mint ahogy például, ha kapaszkodó is csak a lépcső egyik oldalán van, akkor a haladási iránytól függően kell ezt a navigációs rendszernek a felhasználóval ismertetni.

Az útvonaltervező a szokásos Dijkstra algoritmuson alapul, figyelembe veszi a lehetséges haladási irányokat, tiltásokat (pl. mozgólépcső használata vakvezető kutya esetén) és az eredményül előállított útvonalterv már a haladási iránnyal kompenzált tulajdonságokat tartalmazza. Szintén fontos része még az itinereknek, hogy a távolságok méterben is és lépésszámban is meghatározásra kerülnek, illetve a szükséges fordulási szögek nem csak fokban kerülnek meghatározásra, hanem a sokkal intuitívabb óraszámlap irányok (pl. 90fok – 3 óra irány) is rendelkezésre állnak.

Az utolsó fontos rétege a térképnek a lokalizációhoz szükséges helyfüggő adatokat tartalmazó réteg. Ezeket az adatokat egy külön mobiltelefonos alkalmazással, az épületet bejárva kell felvenni. Az alkalmazás rögzíti az adott helyen mérhető föld mágneses tererősségét, Wi-Fi és Bluetooth jeladó térerejét. Ezeket az adatokat fogja később a beltéri lokalizációs algoritmus használni.

Lokalizációs algoritmus

A lokalizációs algoritmus az okostelefon szenzorainak jelét felhasználva állapítja meg a felhasználó helyét és orientációját. Mivel egy mai átlagos okostelefon nem rendelkezik kifejezetten beltéri helymeghatározásra alkalmas szenzorral, ezért a többi szenzor jelének fúziójával állítható elő a pozíció becslés. A felhasználható szenzorok körét szűkíti az az elvárás, hogy a telefon rejtve is használható legyen. Így a fény (kamera) és hang (mikrofon) szenzorok nem használhatók.

A használható szenzorok köre az iniciális szenzorok (gyorsulás, szögsebesség, mágneses térerő), Wi-Fi és Bluetooth kommunikációs interfész és a légnyomásszenzor.

Ezen szenzorok mért adatainak fúziójával lehet megbecsülni a felhasználni pozícióját, ahogy az a 3. ábrán látható.

A földmágnesesség felhasználható az irány megállapítására a telefon mágneses szenzorainak felhasználásával. Mivel a készülék orientációja tetszőleges lehet, ezért a gyorsulásvektor segítségével a mágneses szenzor jelei beforgathatók a földfelszínnel párhuzamos síkba és így a felhasználó orientációja megállapítható. Mivel a mágneses tér az épületek vasbeton vagy egyéb ferromágneses anyagai miatt erősen torzult lehet helyenként, ezért szükséges a mágneses iránytű jelét erősen szűrni.

Annak az emeletnek a meghatározása, ahol a felhasználó éppen tartózkodik elsősorban a Wi-Fi térerősség adatokon alapul. A rendszer az éppen aktuális

2. ábra Lehetséges útvonalak (bal oldali ábra), lokalizációs mérési adatok (jobb oldali ábra)

3. ábra Lokalizációs algoritmus

térerősség adatokat összehasonlítja a térképi adatbázisban tároltakkal és a három legjobban hasonlító (k-legközelebbi szomszéd keresés alapján) méréshez tartozó emeletek súlyozott átlagát tekinti a tartózkodási emeletnek. Amennyiben a telefon rendelkezik légnyomásszenzorral, akkor az emeletkeresési algoritmus csak akkor fut újra le, ha a légnyomásmérő szenzor legalább 2,5 m szintkülönbséget érzékel.

Ha nincs légnyomásmérő beépítve, akkor az emeletdetektálás folyamatosan fut és az algoritmus által meghatározott emeletek egy medián szűrőn keresztül kerülnek felhasználásra, hogy a mérési hibákból adódó véletlenszerű emeletváltás elkerülhető legyen.

A lokalizációs algoritmus egy részecskeszűrő algoritmuson alapul. Ez az algoritmus alapvetően egy valószínűség alapú prediktor-korrektor módszert valósít meg. A részecskeszűrő háromszáz feltételezett pozíciót kezel és ezek közül a mérések alapján a legvalószínűbb 30% pozíciójának súlyozott átlagát tekinti legjobb feltételezésnek.

A predikciós fázis a felhasználó mozgásának elemzésén alapul. Mivel gyalogos közlekedésre tervezett a rendszer, ezért az emberi lépéseket érzékeli a telefon gyorsulás szenzorai segítségével. A lépésdetektáló algoritmus valós időben képes érzékelni a lépés megtételével járó szenzor adat változásokat. A lépés érzékelésével, a mágneses szenzorból származó irány adatok felhasználásával, illetve az átlagos emberi lépéshossz ismeretében az algoritmus megbecsüli a felhasználó lépés utáni koordinátáit.

A korrekciós fázisban a feltételezett pozíciókban az aktuális Wi-Fi térerősség mérés alapján, azt összehasonlítva a tárolt korábbi mérési adatokkal, minden feltételezett pozíció súlyozásra kerül. Súlyozás után a részecskék újramintavételezésre kerülnek, ahol annak az esélye, hogy a mintavétel után az új részecske populációnak tagjai lesznek azzal arányos, hogy milyen nagy az adott részecske súlytényezője.

Az így előállított pozíció információ különböző szűrőkön áthaladva kerül átadására az alkalmazás többi része felé.

A térképi adatbázis ugyan lehetővé tenné a geometria alapú szűrést is, de egyelőre még nem implementált. A geometriai szűrés segítségével lehetőség lenne figyelni, hogy a lokalizáció által megadott új koordináta az egy időlépéssel ez előttihez képest lehetséges-e (pl. nem megy át falon) és ezt figyelembe venni a súlytényezők számításakor.

Összefoglalás

A beltéri navigációs, lokalizációs rendszerek intenzíven kutatott területek. A kutatást és az esetleg létrejövő navigációs alkalmazások felépítését nagymértékben támogatni tudja egy nyílt forrású geoinformációs rendszer. Segítségükkel nem csak a megjelenítés szempontjából rugalmatlan és csúnya bitmap alapú térképek válthatók ki, hanem olyan információk hozhatók be a navigációs modulba, amelyek a felhasználók igényeit jobban szolgálják, vagy többletinformációt adhatnak nekik, illetve a lokalizáció szempontjából nagyobb pontosságot biztosíthatnak.

Felhasznált irodalom

Árvai L. (2018): Mobile phone based indoor navigation system for blind and visually impaired people: VUK – Visionless supporting frameworK, 19th International Carpathian Control Conference (ICCC), Szilvasvarad, pp. 383–388.

Laoudias, C. – Zeinalipour-Yazti, D. (2017): The anatomy of the anyplace indoor navigation service. SIGSPATIAL Special, 9, pp. 3–10.

Internetes források

Internet1 – https://hu.wikipedia.org/wiki/OpenStreetMap, Letöltés ideje: 2019 március.

Internet2 – https://wiki.openstreetmap.org/wiki/Simple_Indoor_Tagging, Letöltés ideje:

2019 március.

In document 2019. május 24. (Pldal 35-41)

Outline

KAPCSOLÓDÓ DOKUMENTUMOK