Andurisulandus

Andurisulandus (ingl Sensor fusion) on andurite andmete kombineerimine, et parandada nende andmete täpsust, mahtu või õigust.[1]

Andurisulandust kasutatakse tänapäeval paljudes tehnoloogiavaldkondades, kus on tarvis saada täpset infot mingi objekti kohta, kui kasutada on samal ajal mitme eri või sama tüüpi anduri andmed.

Autonoomsed ehk isejuhtivad sõidukid nagu isesõitev auto või isesõitvad droonid kasutavad andurisulandust suures ulatuses. Erinevalt inimese nägemisest, mis suudab eri oludes kohaneda, on isejuhtivates sõidukites kasutusel andurid teiste masinate, teede ja takistuste identifitseerimiseks. Nende andurite kvaliteet ja hulk sõltub masina kasutuskeskkonnast. Labori tingimustes võib piisata kaamerast ja pöördkooderist, aga isesõitval autol võib teel vaja minna nii lidarit, tavalisi kaameraid, ultraheliandurit ja tehisnärvivõrku.[2] Andurisulandus laseks siis näiteks vihmas toetuda rohkem kaamera andmetele kui lidari andmetele, sest viimase töö on vihmapiiskade tõttu rohkem häiritud.

Droon võib kombineerida GPS-i koha paigutuse ta enda inertsiaalanduri paigutuse kaamerapildiga, et oma asukohta mitte kaotada ja teada seda palju täpsemalt, kui ainult GPS-i kasutades.[3]

Liikluse olukorda saab ennustada kasutades ainult kaamerat ja mikrofoni. Selline lahendus on lihtne ja kasutades nende kahe andurisulandust saab piisavalt infot, et ennustada liikluse olukorda mitmes ummikufaasis. Selline sulandust kasutav lahendus pakub paremaid tulemusi kui pakuvad üksikandurite põhjal tehtavad otsused.[4]

Liikumise ja tervise näitajaid on vaja jälgida mitmesuguste anduritega, näiteks güroskoobi, kiirendusanduri ja magnetomeetriga. Lisaks on südame või pulsi mõõtmiseks vaja mõõta mitut muud näitajat, sest otsene mõõtmine ei pruugi olla alati võimalik.[5]

Andurisulanduse tüübid

[muuda | muuda lähteteksti]

Andurisulandust saab liigitada mitmeti. Üks viis on eristada tsentraliseeritud ja mitte tsentraliseeritud sulandust. Tsentraliseeritud viitab sellele kus sulandus toimub, ehk kas andmed saadetakse mujale kokku töötlemiseks või toimub töötlus iga anduri tasemel individuaalselt. Selle lähenemise kasulikud küljed on modulaarsus ja laiendatavus, aga samas kaasneb sellega andmete hulga suurenemine. Tsentraalsel lähenemisel on üks keskne moodul, mille töö on kõikide andurite andmete töötlemine. Nende kahe viisi kombineerimine annab tihtipeale parimaid tulemusi keerulistes süsteemides. Selline hierarhiline lähenemine seisneb keskses planeerijas, mis kontrollib alamate mitte tsentraliseeritud anduritest koosnevate üksuste tööd.[5]

Andurisulandus ei nõua, et andurid oleks sama liiki. Saab eristada kas andureid kasutatakse rivaalitsevalt või komplementaarselt.[5] Rivaalitsevalt saab mitu homogeenset andurit parandada tulemuse täpsust, kindlust, ja andurite liiasus kaitseb rikete korral täieliku andmekadu eest. Komplementaarses seadistuses sulandatakse mitme anduri andmed, et ühtede tugevate külgedega siluda teiste nõrkusi.

Teine liigitus on andurite sisendandmete tüübi järgi. Need andurisulanduse tasemed on arendatud andmesulanduse tasemetest. Esimene selline taseme süsteem pandi paika aastal 1985.[6] Tänapäevased kõige rohkem kasutatud tasemed grupeerivad andurisulanduse tüübid selle järgi mis tüüpi andmeid neile sisendatakse.[5]

  • Andmete tase – andmete tasemel sulanduse eesmärk on ühitada mitme sama tüüpi anduri väljundeid. Selle eesmärgiks on saada täpsemaid andmeid ja vähendada korduvate või mitteasjakohaste andmete hulka. Seetõttu on sellel tasemel sulanduse protsess tihti aeglane, sest tuleb läbi töötada suur hulk andmeid. Sellel tasemel ei toimu keerulist otsuste tegemist ja eeldatakse, et andmed ei ole puudulikud, ega ebavajalikud.
  • Karakteristikute tase – karakteristikute ehk tunnuste tase tegeleb tunnustehõivega. Andmete tasemelt saadud info töödeldakse, et leida vajalikud tunnused järgmisele kihile.
  • Otsuse tase – otsuse tasemel vaadatakse kõik läbitöötatud andmed läbi ja tehakse otsus mida selle läbi töötatud info põhjal teha. Sellel tasemel on tähtis kasutada parimat ja kõige rohkem sisse tulevat infot kasutav algoritm. Peab arvesse võtma puuduliku või mitte usaldusväärset infot ja andurite usaldusväärsust antud olukorras.

Andurisulanduse eelduseks on sissetulevate andmete sulandamine, ehk ühendamine, ja kooskõlastus. Selleks on mitu meetodit ja rohkesti algoritme. Neist populaarsemad on järgmised:

Komplementaarne filter

[muuda | muuda lähteteksti]

Kasutades komplementaarset filtrit, saab kahe erineva ja üksteisest sõltumatu muutuja kombineerimiseks lihtsalt liita nende vigade määramatused kasutades tsentraalse piirteoreemi (ingl central limit theorem) põhimõtet. Siis korrutades mõlemad muutujad läbi mingi kordajaga, saab määrata ühele suurem osakaal kui teisele, sõltuvalt kumb muutuja on tundlikum lühemal aja vahemikul ja kumb on stabiilsem pikemal ajal.

Kalmani filter

[muuda | muuda lähteteksti]

Kalmani filter on keerulisem lahendus kui komplementaarne, aga pakub väiksemat vea määra ja täpsemat tulemust, sest saab kasutada rohkemate muutujatega ja kasutab kõike sisse saavat infot.[7]

Konvolutsiooniline närvivõrk

[muuda | muuda lähteteksti]

Konvolutsiooniline närvivõrk kasutab ka teoreetiliselt andurisulandust, sest närvivõrk võtab sisse mitu sisendit ja peale kõikide kihtide läbimist väljastab klassifikatsiooni või regressiivse tulemuse. Need kihid ongi algoritm, mis sulandab sisendandmed tulemuseks.

Sellist närvivõrku kasutatakse enamasti otsuse tasemel ja tsentraalset, kus tuleb paljude tunnuste põhjal vastu võtta lõplik otsus. Närvivõrku andmete tasemel kasutada on liiga ressursi nõudlik ja ebavajalik, sest ei ole veel näha keerulisi tunnuseid nii madalal tasemel.

Sama võib ka öelda inimese aju kohta. Närvivõrk on modelleeritud bioloogilise närvivõrguga sarnaselt. Inimene saab kogu aeg välismaailmast tohutult andmeid, mis tuleb sulandada kokku teadlikuks keskkonna tajumiseks. Näiteks autos raamatut lugedes võib minna süda pahaks, sest sisekõrvas olev andur annab infot, et toimub liikumine, aga silmad näevad paigal olevat teksti. Sel juhul ei suuda aju eri allikatest saadavaid andmeid tasakaalustatult sulandada.[8]

  1. Elmenreich, W. (2002). Sensor Fusion in Time-Triggered Systems, PhD Thesis (PDF). Viin, Austria: Vienna University of Technology. p. 173.
  2. "How does the robot know how to travel autonomously?". Starship. Originaali arhiivikoopia seisuga 19.01.2021. Vaadatud 25.01.2021.
  3. Bartolomei, Luca jt (18. september 2020). "Multi-robot Coordination with Agent-Server Architecture for Autonomous Navigation in Partially Unknown Environments" (PDF). IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2020) (virtual). Vaadatud 23.01.2021.
  4. Vikas Joshi jt (august 2013). "Information fusion based learning for frugal traffic state sensing". Vaadatud 25. jaanuaril 2021.
  5. 5,0 5,1 5,2 5,3 RaffaeleGravina jt (2017). "Multi-sensor fusion in body sensor networks: State-of-the-art and research challenges". Information Fusion Volume 35. Vaadatud 25. jaanuaril 2021.
  6. Steinberg Alan (2001). "Revisions to the JDL Data Fusion Model" (PDF). Vaadatud 25. jaanuaril 2021.
  7. Maybeck Peter (1979). "Stochastic models, estimation, and control Volume1" (PDF). Academic press, inc. Vaadatud 23.01.2021.
  8. "Why does reading in a moving car cause motion sickness?". Scientific American. 3. veebruar 2003. Vaadatud 25.01.2021.