V embedded robotike, dronoch a priemyselnom monitorovaní je spoliehanie sa na jediný senzor na určenie stavu systému zo svojej podstaty riskantné. Každý fyzický senzor má štrukturálne nedostatky:
- Akcelerometre sú výborné na meranie gravitácie a okamžitého sklonu, no sú notoricky náchylné na vysokofrekvenčný vibračný šum (napr. od točiaceho sa motora).
- Gyroskopy sú imúnne voči lineárnym vibráciám a poskytujú výborné krátkodobé rotačné dáta, ale trpia „driftom” — stacionárny gyroskop bude po čase hlási, že sa otáča.
- Magnetometre (kompasy) poskytujú absolútny smer voči magnetickému severu Zeme, ale ľahko ich zmätú blízke feromagnetické kovy alebo elektromagnetické rušenie (EMI).
Fúzia senzorov je matematická disciplína, ktorá berie tieto rôznorodé, chybné dátové toky a kombinuje ich do stabilného, vysoko presného výsledku — najčastejšie orientácie alebo pozície zariadenia.
Ako fúzia senzorov funguje
Fúzia senzorov nie je jednoduché priemerovanie hodnôt. Vyžaduje pokročilé matematické modelovanie, najčastejšie implementované pomocou Kalmanovho filtra alebo Mahony/Madgwick filtra.
Tieto algoritmy bežia nepretržite v spätnej väzbe:
- Predikcia: Algoritmus použije rýchle dáta z gyroskopu na predpoveď novej orientácie zariadenia.
- Aktualizácia (korekcia): Algoritmus použije pomalšie, no dlhodobo stabilné dáta z akcelerometra (vektor gravitácie) a magnetometra (magnetický sever) na opravu predikcie gyroskopu — matematicky odstraňuje naakumulovaný drift.
Optimálnym blendovaním týchto vstupov na základe ich štatistických profilov šumu vznikne výstup (často vyjadrený ako kvaternión — Quaternion), ktorý je zároveň citlivý na rýchle pohyby aj stabilný počas dlhých období.
Fúzia senzorov v modernom hardvéri
Historicky si algoritmy fúzie senzorov vyžadovali zložitú matematiku s pohyblivou desatinnou čiarkou na výkonnom hlavnom procesore. Dnes sú k dispozícii IMU (Inertial Measurement Units) ako „smart senzory”.
Čipy ako Bosch BNO085 alebo InvenSense ICM-20948 integrujú MEMS akcelerometer, gyroskop a magnetometer na jeden kremíkový čip spolu s dedikovaným nízkoenergetickým jadrom Cortex-M0+. Toto jadro beží algoritmy fúzie senzorov a na výstupe priamo cez I2C/SPI poskytuje hotové kvaternióny alebo Eulerove uhly. Tým výrazne odbremeni hostiteľský MCU a šetrí energiu batérie.