Jednotka 4 / 9

Sensor Fusion a IoT Data Integration

zisky:

  • Schopnosť vytvoriť fúznu logiku (integrátor/Kalmanov filter), ktorá kombinuje dáta IMU, kódovača a snímača vzdialenosti s AI
  • Schopnosť konfigurovať a interpretovať dátové toky internetu vecí a telemetriu založené na MQTT pomocou AI
  • Schopnosť detekovať a opravovať šum snímača, problémy s kalibráciou a časovou synchronizáciou vo výstupe AI

Žiadny snímač nie je dokonalý. Gyroskop je krátkodobo veľmi presný, ale časom sa posúva. Akcelerometer je z dlhodobého hľadiska stabilný, ale dostáva hluk z vibrácií. Kodér meria polohu presne, ale pri sklze je chybný. GPS funguje v širokom okolí, ale má nízku frekvenciu a je hlučné. Mechatronický inžinier musí z týchto nedokonalých senzorov vyprodukovať jedinú spoľahlivú pravdu; Toto je fúzia senzorov. Navyše v moderných systémoch tieto dáta nezostávajú len lokálne, ale prúdia do cloudu a riadiacich centier cez siete IoT. Umelá inteligencia je silným pomocníkom pri nastavovaní fúznych algoritmov a konfigurácii a interpretácii telemetrie internetu vecí. V tejto jednotke sa zaoberáme doplnkovým filtrom, logikou Kalmanovho filtra a tým, ako nastaviť tok IoT založený na MQTT s AI a zachytiť šum a synchronizačné pasce.

Prečo Sensor Fusion?

Každý snímač má „dobrú frekvenčnú zónu“. Účelom fúzie je použiť každý senzor v oblasti, kde je silný, a podporiť ho druhým v oblasti, kde je slabý.

senzor

silná stránka

slabosť

gyroskop

Krátkodobá uhlová rýchlosť, rýchla odozva

Unášajte sa v priebehu času

akcelerometer

Dlhodobá referencia sklonu (gravitácia)

Vibrácie/hluk pri pohybe

kódovač

Umiestnenie s vysokým rozlíšením

Chyba sklzu/vôľa

GPS

absolútna poloha

Nízka frekvencia, hluk, žiadny interiér

Spoliehanie sa na jeden snímač zavádza do systému slabinu tohto snímača. Napríklad fúzia kombinuje rýchly, ale pohyblivý uhol gyroskopu s pomalou, ale stabilnou referenciou akcelerometra, čím vzniká uhol, ktorý je rýchly a zároveň bez posunu.

Doplnkový filter

Najjednoduchšou a najbežnejšou fúziou je doplnkový filter. Myšlienka je intuitívna: dôverujte gyroskopu pri vysokej frekvencii (rýchla zmena), akcelerometru pri nízkej frekvencii (pomalá, stabilná). Jednoriadkové zhrnutie:

# Doplnkový filter: odhad bolesti (pitch) # alpha ~ 0,98 : viac pre gyroskop, menej pre akcelerometer (stupne/s) acceleration_ange : uhol vypočítaný z akcelerometra (stupne) dt : perióda vzorkovania (s) """ gyro_pac návrat # gyro_pac = predchádzajúci + phagyro návrat gyro_pace + (1 - alpha) * acceleration_angle# Overovacia logika: čistý gyroskop (drifty), ak je alpha=1, # ak alpha=0 čistý akcelerometer (zašumený).

Koeficient alfa tu určuje rovnováhu: ak je blízko k 1, spolieha sa na gyroskop (riziko driftu sa zvyšuje), ak je blízko k 0, spolieha sa na akcelerometer (zvyšuje sa hluk). Typická hodnota je 0,95–0,98. AI môže navrhnúť túto hodnotu, ale správna hodnota alfa závisí od vzorkovacej frekvencie vášho systému a charakteru šumu; je nastavený experimentálne.

Tip: Pri tlači integrovaného filtra do AI sa nezabudnite opýtať, ako sa meria dt. Väčšina chýb pochádza z predpokladu, že dt je konštantná, ale v skutočnosti sa doba cyklu mení. Merajte dt real pomocou millis()/timestamp, nepíšte konštanty.

Kalmanova filtračná logika

Doplnkový filter je jednoduchý, ale nemodeluje štatistiku šumu. Kalmanov filter vytvára optimálny (za určitých predpokladov) odhad pravdepodobnostným modelovaním šumu snímača a neistoty procesu. Funguje v dvoch krokoch:

  1. Predpovedať: Predpovedajte nasledujúcu situáciu a jej neistotu pomocou modelu systému.
  2. Aktualizácia: Zvážte nové meranie so spoľahlivosťou merania (Kalmanov zisk) a opravte odhad.

Kalman gain K automaticky odpovedá na otázku „mám viac dôverovať meraniu alebo modelu“ na každom kroku. Ak je šum merania veľký, K sa zmenší (dôvera v model), ak je neistota procesu veľká, K sa zväčší (dôvera v meranie). AI ľahko napíše jednorozmerný Kalmanov filter; ale vašou úlohou je správne vybrať kovariancie šumu (`Q`, `R`) a tie pochádzajú zo skutočného šumu systému.

Pozor: Hodnoty Q (šum procesu) a R (šum merania) dané AI sú vzorové/zástupné znaky. Ak ich nezistíte zo skutočného meracieho šumu systému (napr. z rozptylu nameraného, ​​keď snímač stojí), filter bude buď príliš pomalý, alebo príliš hlučný. Neverte kovarianciám daným AI ​​ako „skutočnú hodnotu“.

IoT dátový tok: MQTT a telemetria

Čisté dáta, ktoré vytvoríte pomocou fúzie, sa zvyčajne prenesú do centra prostredníctvom siete IoT. Najbežnejším protokolom v tomto odvetví je MQTT: ľahký model publikovania a odberu, vhodný pre nízku šírku pásma. Umelá inteligencia rýchlo vytvorí kód vydavateľa/odberateľa MQTT a telemetrickú schému JSON.

import json, timeimport paho.mqtt.client ako mqttclient = mqtt.Client()client.connect("broker.local", 1883, keepalive=60)def telemetry_broadcast(teplota, teplota, vibrácie_rms): message = { "ts": time.time(), #paination "in2g" condition "temperature_c": round(teplota, 1), "vibration_rms": round(temperature_rms, 3), "unit": {"pain": "deg", "temperature": "C", "vibration": "mm/s"} } client.publish("machine/line1/sump)#", qoss.= doručené aspoň raz. Použitie qos=0 (môže dôjsť k strate) na kritických údajoch.

Tu sú dôležité dve inžinierske rozhodnutia: (1) časová pečiatka (ts) každej správy – rôzne senzory sú vzorkované v rôznych časoch, synchronizácia je možná len s časovou pečiatkou; (2) Úroveň QoS – kritické dáta používajú aspoň qos=1 (doručené aspoň raz), qos=0 umožňuje stratu správy.

Šum, kalibrácia a synchronizácia

Bez ohľadu na to, aká dobrá je fúzia, výsledok skresľujú tri problémy so vstupom:

  • Šum: Ak nespracované údaje zo snímača prejdú do fúzie bez filtrovania, fúzny výstup bude tiež zašumený. Môže byť potrebné predbežné filtrovanie (stredná, dolná priepustnosť).
  • Kalibrácia: Chyby posunu a mierky (napr. posunutie nulového bodu akcelerometra) systematicky zavádzajú fúziu. Senzory musia byť pred použitím kalibrované.
  • Časová synchronizácia: Časová pečiatka a interpolácia sú potrebné na zarovnanie senzorov vzorkovaných rôznymi rýchlosťami (napr. 10 Hz GPS s 1 kHz IMU).

AI môže pridať tieto kroky do kódu, ale či je každý z nich povinný a či sú jeho parametre špecifické pre váš systém. Vo výstupe AI ​​"kde je kalibrácia?" a „sú časové pečiatky zarovnané?“ Určite sa pýtajte.

Slabá výzva / silná výzva

SLABÝ:"Vypočítať uhol z údajov IMU."(Ktorý filter? Je riešený posun? Ako dt? Nejasné.)SILNÝ:"Skombinujte údaje z akcelerometra a gyroskopu z MPU6050 s integrovaným filtrom a odhadnite uhol sklonu. Vypočítajte dt zo skutočnej časovej značky, nepredpokladajte konštantnú hodnotu. Nastavte alfa ako parameter a8neuholník (predvolená hodnota).2 Filter ako parameter. písať ako trieda, zachovať predchádzajúci uhol, pridať voliteľný stredný predfilter pre šum."

Mini puzdro

Robotický inžinier Selin chce od AI doplnkový filter na odhadovanie uhla na dvojkolesovom vyvažovacom robote. Umelá inteligencia dáva čistý kód, ale robot sa pomaly nakláňa na jednu stranu. Selin kontroluje dt: kód predpokladá, že dt je konštantná 0,01 s, zatiaľ čo doba cyklu sa mení v dôsledku telemetrie Bluetooth. Keď sa dt vypočíta zo skutočnej časovej značky, drift sa zníži, ale nezmizne úplne. Potom sa pozrie na kalibráciu akcelerometra; Aj keď je snímač nehybný, existuje posun o 2°. Keď odstránim kalibračný posun, robot stojí vzpriamene. Nakoniec si všimne, že pri vysielaní telemetrie cez MQTT používa qos=0 a pre údaje o kritickom uhle ho zvýši na qos=1. AI doručila fúzny skelet za pár minút; ale overenie inžiniera zachytilo tri problémy špecifické pre systém: premennú dt, kalibračný offset a QoS.

Časté chyby

  • Za predpokladu, že dt je konštantná, zatiaľ čo doba cyklu sa mení (fúzne drifty).
  • Istenie snímačov bez ich kalibrácie (systematický posun).
  • Pokúšame sa zosúladiť snímače rôznych rýchlostí bez časovej pečiatky.
  • Odchod s hodnotou vzorky AI bez merania Kalmanových Q/R kovariancií zo skutočného šumu.
  • Povolenie straty správ pomocou qos=0 na kritických údajoch IoT.
  • Poskytovanie nespracovaných zašumených údajov fúzii bez predbežného filtrovania.

V súhrne

  • Fusion využíva každý senzor vo frekvenčnej oblasti, kde je silný a kompenzuje jeho slabosť.
  • Doplnkový filter je jednoduchý; Nastavuje rovnováhu gyroskop-akcelerometer s alfa.
  • Kalmanov filter modeluje šum pravdepodobnostne; Q/R pochádza zo skutočného systému.
  • V telemetrii MQTT sú časová pečiatka a vhodná QoS kritickými technickými rozhodnutiami.
  • Šum, kalibrácia a časová synchronizácia určujú kvalitu fúzie.
  • dt sa meria z reálneho času; kalibrácia a QoS sú overené bez toho, aby to ponechala AI.

Aplikačná úloha

Pre IMU (skutočné alebo simulované údaje gyroskopu + akcelerometra) nechajte AI vygenerovať integrálny filter a uistite sa, že dt je vypočítaný zo skutočnej časovej značky. Potom: (1) vyskúšajte alfa pre 0,90, 0,98 a 1,0 a pozorujte posun a vyváženie šumu, (2) pridajte do snímača úmyselný pevný posun (chybu kalibrácie) a uvidíte, ako sa posunie výstup fúzie, (3) preveďte údaje do schémy MQTT JSON a pridajte polia časovej značky a jednotiek. Všimnite si, ktorá hodnota alfa poskytuje najvyváženejší výsledok pre vaše údaje a do akej miery kalibračný posun skresľuje výstup.