Awọn anfani:
- Agbara lati ṣe agbero ọgbọn idapọ (Integrator / Kalman filter) ti o ṣajọpọ IMU, koodu koodu ati data sensọ ijinna pẹlu AI
- Agbara lati tunto ati itumọ awọn ṣiṣan data IoT ti o da lori MQTT ati telemetry pẹlu iranlọwọ ti AI
- Agbara lati ṣawari ati ṣatunṣe ariwo sensọ, isọdiwọn ati awọn ọran amuṣiṣẹpọ akoko ni iṣelọpọ AI
Ko si sensọ ni pipe. Gyroscope jẹ deede pupọ ni igba kukuru, ṣugbọn n lọ lori akoko. Accelerometer jẹ iduroṣinṣin ni igba pipẹ ṣugbọn o gba ariwo lati gbigbọn. Awọn kooduopo ṣe iwọn ipo ni pato, ṣugbọn o jẹ aṣiṣe nigbati isokuso ba wa. GPS n ṣiṣẹ ni agbegbe jakejado ṣugbọn o jẹ igbohunsafẹfẹ kekere ati ariwo. Onimọ-ẹrọ mechatronics ni lati ṣe agbejade ẹyọkan, otitọ igbẹkẹle lati awọn sensọ alaipe wọnyi; Eyi jẹ idapọ sensọ. Pẹlupẹlu, ni awọn ọna ṣiṣe ode oni, data yii kii ṣe agbegbe nikan, ṣugbọn ṣiṣan si awọsanma ati awọn ile-iṣẹ iṣakoso nipasẹ awọn nẹtiwọọki IoT. Oye itetisi atọwọdọwọ jẹ iranlọwọ ti o lagbara ni eto mejeeji awọn algoridimu idapọ ati atunto ati itumọ telemetry IoT. Ninu ẹyọ yii, a bo àlẹmọ ibaramu, ọgbọn àlẹmọ Kalman ati bii o ṣe le ṣeto ṣiṣan IoT ti o da lori MQTT pẹlu AI ati mu ariwo ati awọn ẹgẹ amuṣiṣẹpọ.
Kini idi ti Sensọ Fusion?
Gbogbo sensọ ni “agbegbe igbohunsafẹfẹ to dara”. Idi ti idapọ ni lati lo sensọ kọọkan ni agbegbe nibiti o ti lagbara ati atilẹyin pẹlu ekeji ni agbegbe nibiti o ti jẹ alailagbara.
sensọ
lagbara ojuami
ailera
gyroscope
Iyara angula igba kukuru, esi yara
Sise lori akoko
accelerometer
Itọkasi ite igba pipẹ (walẹ)
Gbigbọn / alariwo lori gbigbe
kooduopo
Ipo ipinnu giga
Aṣiṣe isokuso / ifẹhinti
GPS
ipo pipe
Igbohunsafẹfẹ kekere, ariwo, ko si inu ile
Gbẹkẹle sensọ ẹyọkan ṣafihan ailagbara ti sensọ naa sinu eto naa. Fusion, fun apẹẹrẹ, daapọ iyara ṣugbọn igun didasi ti gyroscope pẹlu itọka ti o lọra ṣugbọn ti o duro ti ohun imuyara, ti nso igun kan ti o yara ati laisi fiseete.
Ibaramu Ajọ
Irọrun ti o rọrun julọ ati wọpọ julọ ni àlẹmọ tobaramu. Ero naa jẹ intuitive: gbekele gyroscope ni igbohunsafẹfẹ giga (iyipada iyara), ohun imuyara ni igbohunsafẹfẹ kekere (lọra, iduroṣinṣin). Akopọ ila kan:
# Àlẹmọ tobaramu: iṣiro irora (pitch) # alpha ~ 0.98 : diẹ sii si gyroscope, kere si accelerometer (awọn iwọn/ iṣẹju-aaya) accelerometer: igun ti a ṣe iṣiro lati accelerometer (awọn iwọn) dt : akoko iṣapẹẹrẹ (iṣẹju iṣẹju) """ gyro_gytgyt_scope + ti tẹlẹ + gyro_gytscope + * gyro_pace + (1 - alpha) * acceleration_angle# Ijẹrisi: gyroscope funfun (drifts) ti alpha = 1, # if alpha = 0 funfun accelerometer (ariwo).
Alfa olùsọdipúpọ nibi pinnu iwọntunwọnsi: ti o ba sunmọ 1, o da lori gyroscope (ewu ti fiseete pọsi), ti o ba sunmọ 0, o da lori accelerometer (awọn ariwo ariwo). Iwọn aṣoju jẹ 0.95-0.98. AI le daba iye yii, ṣugbọn alfa ti o tọ da lori iwọn ayẹwo eto rẹ ati ohun kikọ ariwo; ti ṣeto idanwo.
Imọran: Nigbati o ba n tẹjade àlẹmọ apapọ si AI, rii daju lati beere bawo ni a ṣe wọn dt. Pupọ awọn aṣiṣe wa lati ro pe dt jẹ igbagbogbo ṣugbọn ni otitọ akoko akoko naa yatọ. Ṣe iwọn dt gidi pẹlu millis()/timestamp, maṣe kọ awọn alakan.
Kalman Filter kannaa
Àlẹmọ tobaramu rọrun ṣugbọn ko ṣe apẹẹrẹ awọn iṣiro ariwo. Àlẹmọ Kalman ṣe agbejade iṣiro to dara julọ (labẹ awọn arosinu kan) nipasẹ ṣiṣe iṣeṣeṣe adaṣe ariwo sensọ ati ilana aidaniloju. O ṣiṣẹ ni awọn igbesẹ meji:
- Asọtẹlẹ: Ṣe asọtẹlẹ ipo atẹle ati aidaniloju rẹ pẹlu awoṣe eto.
- Imudojuiwọn: Ṣe iwọn wiwọn tuntun lodi si igbẹkẹle wiwọn (ere Kalman) ati ṣatunṣe iṣiro naa.
Kalman gain K dahun ibeere naa laifọwọyi "Ṣe Mo gbẹkẹle wiwọn tabi awoṣe diẹ sii" ni gbogbo igbesẹ. Ti ariwo wiwọn ba tobi, K di kere (igbẹkẹle ninu awoṣe), ti aidaniloju ilana ba tobi, K di nla (igbekele ninu wiwọn). AI awọn iṣọrọ Levin a ọkan-onisẹpo Kalman àlẹmọ; ṣugbọn o jẹ iṣẹ rẹ lati yan awọn akojọpọ ariwo (`Q`, `R`) ni deede ati pe wọn wa lati ariwo gangan ti eto naa.
Ifarabalẹ: Q (ariwo ilana) ati R (ariwo wiwọn) awọn iye ti a fun nipasẹ AI jẹ apẹẹrẹ / ibi ipamọ. Ti o ko ba pinnu iwọnyi lati ariwo wiwọn gangan ti eto naa (fun apẹẹrẹ iyatọ ti iwọn nigbati sensọ ba wa ni iduro), àlẹmọ yoo lọra tabi ariwo pupọ. Maṣe gbẹkẹle awọn ifọkanbalẹ ti AI fun ni bi “iye gidi”.
IoT Data ṣiṣan: MQTT ati Telemetry
Awọn data mimọ ti o gbejade pẹlu idapọ ni a maa n gbe lọ si aarin nipasẹ nẹtiwọọki IoT kan. Ilana ti o wọpọ julọ ni ile-iṣẹ jẹ MQTT: iwuwo fẹẹrẹ, awoṣe ṣiṣe-alabapin, o dara fun bandiwidi kekere. AI ni kiakia ṣe agbekalẹ akede MQTT / koodu alabapin ati ero telemetry JSON.
import json, timeimport paho.mqtt.client bi mqttclient = mqtt.Client () klient.connect ("broker.local", 1883, keepalive=60)defi telemetry_broadcast(iwọn otutu, otutu, vibration_rms): ifiranṣẹ = {"ts": time.time(), # timestampron -" condition:" 2), "temperature_c": yika(otutu, 1), "vibration_rms": yika(temperature_rms, 3), "unit": {"pain": "deg", "temperature": "C", "vibration": "mm/s"}} client.publish("machine/jline1/dusor") qos=1: jišẹ o kere ju lẹẹkan. Lilo qos=0 (le sọnu) lori data pataki.
Awọn ipinnu imọ-ẹrọ meji ṣe pataki nibi: (1) timestamping (ts) ifiranṣẹ kọọkan — awọn sensọ oriṣiriṣi ni a ṣe ayẹwo ni awọn oriṣiriṣi awọn akoko, mimuuṣiṣẹpọ ṣee ṣe nikan pẹlu akoko akoko; (2) Ipele QoS-data pataki ti nlo o kere ju qos=1 (fijiṣẹ ni o kere ju ẹẹkan), qos=0 ngbanilaaye pipadanu ifiranṣẹ.
Ariwo, Isọdiwọn ati Amuṣiṣẹpọ
Laibikita bawo ni idapọ ti dara to, awọn iṣoro mẹta pẹlu titẹ sii da abajade naa:
- Ariwo: Ti data sensọ aise ba lọ sinu idapọ laisi titọ, iṣelọpọ idapọ yoo tun jẹ ariwo. Asẹ-ṣaaju (agbedemeji, iwe-iwọle kekere) le nilo.
- Isọdiwọn: Aiṣedeede ati awọn aṣiṣe iwọn (fun apẹẹrẹ aaye odo ti ohun imuyara ti yipada) ni ọna ṣiṣe ṣina idapọ naa. Awọn sensọ gbọdọ jẹ iwọnwọn ṣaaju lilo.
- Amuṣiṣẹpọ akoko: Titẹ akoko ati interpolation ni a nilo lati ṣe deede awọn sensosi ti a ṣe ayẹwo ni awọn oṣuwọn oriṣiriṣi (fun apẹẹrẹ 10 Hz GPS pẹlu 1 kHz IMU).
AI le ṣafikun awọn igbesẹ wọnyi si koodu naa, ṣugbọn boya kọọkan nilo ati awọn aye rẹ jẹ pato si eto rẹ. Ninu abajade AI "nibo ni isọdiwọn wa?" ati “njẹ awọn ami isamisi ṣe deede bi?” Rii daju lati beere awọn ibeere.
Ailagbara Tọ / Alagbara Tọ
Alailagbara: "Ṣiṣiro igun lati data IMU."(Ewo Ajọ tane2. Ṣe àlẹmọ bi kikọ bi kilasi, tọju igun iṣaaju, ṣafikun iṣaju agbedemeji yiyan fun ariwo.”
Mini Case
Onimọ-ẹrọ Robotics Selin fẹ àlẹmọ ibaramu lati AI fun iṣiro igun lori roboti iwọntunwọnsi oni-meji. AI funni ni koodu mimọ, ṣugbọn robot laiyara tẹ si ẹgbẹ kan. Selin sọwedowo dt: koodu dawọle dt jẹ 0.01 s igbagbogbo, lakoko ti akoko iyipo yatọ nitori telemetry Bluetooth. Nigbati dt ba ṣe iṣiro lati aami akoko gidi, fiseete dinku ṣugbọn ko farasin patapata. Lẹhinna o wo iwọntunwọnsi ti iyara; Paapaa nigbati sensọ ba wa ni iduro, aiṣedeede 2° wa. Nigbati mo ba yọ aiṣedeede isọdiwọn kuro, robot duro ni titọ. Nikẹhin, o ṣe akiyesi pe o nlo qos = 0 nigbati o ba n tan telemetry nipasẹ MQTT ati pe o pọ si qos = 1 fun data igun pataki. AI jiṣẹ egungun seeli ni iṣẹju; ṣugbọn ijẹrisi ẹlẹrọ mu awọn ọran kan pato eto mẹta: dt oniyipada, aiṣedeede isọdiwọn, ati QoS.
Awọn aṣiṣe ti o wọpọ
- Ti a ro pe dt jẹ igbagbogbo, lakoko ti akoko yiyi yatọ (awọn fifuyẹ idapọ).
- Fusing sensosi lai calibrating wọn (ifeto aiṣedeede).
- Igbiyanju lati mö sensosi ti o yatọ si awọn iyara lai timestamping.
- Nlọ kuro pẹlu iye ayẹwo ti AI laisi wiwọn awọn ifọkansi Kalman Q / R lati ariwo gidi.
- Gbigba ipadanu ifiranṣẹ nipa lilo qos=0 lori data IoT to ṣe pataki.
- Fifun data alariwo aise si idapọ laisi sisẹ-tẹlẹ.
Ni akojọpọ
- Fusion nlo sensọ kọọkan ni agbegbe igbohunsafẹfẹ nibiti o ti lagbara ati isanpada fun ailera rẹ.
- Àlẹmọ àṣekún jẹ rọrun; Ṣe agbekalẹ iwọntunwọnsi gyroscope-accelerometer pẹlu alfa.
- Kalman àlẹmọ si dede ariwo probabilistically; Q / R wa lati eto gidi.
- Ni MQTT telemetry, igba akoko ati QoS ti o yẹ jẹ awọn ipinnu imọ-ẹrọ to ṣe pataki.
- Ariwo, isọdiwọn ati mimuuṣiṣẹpọ akoko pinnu didara idapọ.
- dt jẹ iwọn lati akoko gidi; isọdiwọn ati QoS jẹri laisi fifi silẹ si AI.
Ohun elo iṣẹ-ṣiṣe
Fun IMU kan (gidi tabi afarawe gyro + accelerometer data) ni AI ṣe agbekalẹ àlẹmọ akojọpọ ki o rii daju pe dt jẹ iṣiro lati akoko akoko gidi. Lẹhinna: (1) gbiyanju alpha fun 0.90, 0.98 ati 1.0 ki o ṣe akiyesi iwọntunwọnsi fiseete ati ariwo, (2) ṣafikun aiṣedeede ti a pinnu (aṣiṣe iwọntunwọnsi) si sensọ naa ki o wo bii ti iṣelọpọ idapọmọra ṣe drifts, (3) yi data pada si ero MQTT JSON ati ṣafikun timestamp ati awọn aaye apakan. Ṣe akiyesi iye alpha wo ni o funni ni abajade iwọntunwọnsi julọ fun data rẹ ati melo ni aiṣedeede isọdọtun da iṣẹjade naa jẹ.