Uru:
- Ikike iji wuo mgbagha njikọ (integrator / Kalman filter) na-ejikọta IMU, encoder na data sensọ anya na AI.
- Ikike ịhazi na ịkọwa iyi data IoT dabere na MQTT na telemetry site n'enyemaka nke AI.
- Ikike ịchọpụta na mezie mkpọtụ ihe mmetụta, nhazigharị na okwu mmekọrịta oge na mmepụta AI
Ọ dịghị ihe mmetụta zuru oke. Gyroscope ziri ezi na obere oge, mana ọ na-agafe n'oge. Accelerometer kwụsiri ike n'ikpeazụ mana ọ na-enweta mkpọtụ site na ịma jijiji. Ihe ngbanwe ahụ na-atụ ọnọdụ ahụ nke ọma, mana ọ na-ezighi ezi mgbe enwere ntupu. GPS na-arụ ọrụ na mpaghara sara mbara mana ọ na-adịkarị obere oge na mkpọtụ. Onye injinia mechatronics ga-ewepụta otu eziokwu a pụrụ ịdabere na ya site na sensọ ndị a na-ezughị okè; Nke a bụ ihe mmetụta sensọ. Ọzọkwa, na sistemụ ọgbara ọhụrụ, data a abụghị naanị ka ọ dị na mpaghara, kama ọ na-aga na igwe ojii na ebe njikwa site na netwọkụ IoT. Ọgụgụ isi bụ ihe enyemaka dị ike n'ịmepụta algọridim njikọ na ịhazi na ịkọwa telemetry IoT. N'ime nkeji a, anyị na-ekpuchi nzacha mgbakwunye, Kalman filter mgbagha yana otu esi edobe MQTT IoT na-asọ asọ na AI wee jide mkpọtụ na ọnyà mmekọrịta.
Gịnị kpatara Fusion sensọ?
Ihe mmetụta ọ bụla nwere "mpaghara ugboro ugboro dị mma". Ebumnuche nke ngwakọta bụ iji ihe mmetụta ọ bụla na mpaghara ebe ọ dị ike ma kwado ya na nke ọzọ na mpaghara ebe ọ na-adịghị ike.
ihe mmetụta
isi ihe siri ike
adịghị ike
gyroscope
Ọsọ akụkụ akụkụ dị mkpụmkpụ, nzaghachi ngwa ngwa
Na-agafe n'oge
accelerometer
Ntụaka mkpọda ogologo oge (ike ndọda)
Vibration/mkpọtụ na mmegharị
encoder
Ebe mkpebi dị elu
Njehie mweda/azụ
GPS
zuru oke ọnọdụ
Ugboro ala, mkpọtụ, enweghị ime ụlọ
Ịdabere na otu ihe mmetụta na-ewebata adịghị ike nke ihe mmetụta ahụ n'ime usoro. Fusion, dịka ọmụmaatụ, na-ejikọta akụkụ gyroscope ọsọ ọsọ mana ọ na-akpagharị na nrụtụ aka nke ngwa ngwa mana ọ kwụgidere n'ihu, na-enye akụkụ nke na-adị ngwa na nke enweghị isi.
Ngwakọta agbakwunyere
Ngwakọta kachasị mfe na nke a na-ahụkarị bụ nzacha mgbakwunye. Echiche a nwere nghọta: tụkwasị obi na gyroscope n'ogo dị elu (mgbanwe ngwa ngwa), accelerometer na obere oge (ngwa ngwa, kwụsie ike). Nchịkọta otu ahịrị:
# Ihe nzacha mgbakwunye: nleba anya mgbu (pitch) # alpha ~ 0.98: karịa na gyroscope, erughị na accelerometer (degrees/sec) acceleration_ange: akụkụ gbakọrọ site na accelerometer (degrees) dt: oge nlele (sk) """ gyro_gytgytscope = gara aga + gyro_gytscope + * gyro_pace + (1 - alpha) * acceleration_angle# Nyocha nkwenye: gyroscope dị ọcha (drifts) ma ọ bụrụ alpha = 1, # ma ọ bụrụ alpha = 0 dị ọcha accelerometer (mkpọtụ).
Ọnụ ọgụgụ alpha ebe a na-ekpebi nguzozi: ọ bụrụ na ọ dị nso na 1, ọ na-adabere na gyroscope (ihe ize ndụ nke ịkwọ ụgbọ mmiri), ọ bụrụ na ọ dị nso 0, ọ na-adabere na accelerometer (mmụba ụda). Ọnụ ego a na-ahụkarị bụ 0.95-0.98. AI nwere ike na-atụ aro uru a, mana alfa ziri ezi na-adabere n'ụdị nlele sistemụ gị na njirimara mkpọtụ; atọrọ nnwale.
Ndụmọdụ: Mgbe ị na-ebipụta ihe nzacha na AI, jide n'aka na ị jụọ ka e si atụ dt. Ọtụtụ njehie na-abịa site na-eche na dt na-adịgide adịgide mana n'eziokwu oge okirikiri dịgasị iche. Jiri millis()/timestamp tụọ dt n'ezie, edekwala ihe ọ bụla.
Kalman Filter Logic
Ihe nzacha agbakwunyere dị mfe mana ọ naghị egosipụta ọnụ ọgụgụ mkpọtụ. Ihe nzacha Kalman na-ewepụta atụmatụ kachasị mma (n'okpuru ụfọdụ echiche) site na ịmegharị mkpọtụ ihe mmetụta na-enweghị atụ na nhazi ejighị n'aka. Ọ na-arụ ọrụ na nzọụkwụ abụọ:
- Amụma: Kọwaa ọnọdụ na-esote na ejighị n'aka ya na usoro usoro.
- Mmelite: Tulee nha ọhụrụ megide ntụkwasị obi nha (uru Kalman) wee mezie atụmatụ ahụ.
Kalman nweta K na-aza ajụjụ a na-akpaghị aka "m kwesịrị ntụkwasị obi na nha ma ọ bụ ihe nlereanya ọzọ" na nzọụkwụ ọ bụla. Ọ bụrụ na ụda nha dị ukwuu, K na-adị ntakịrị (obi ike na ihe nlereanya), ọ bụrụ na usoro ahụ ejighị n'aka dị ukwuu, K na-ebuwanye ibu (obi ike na nha). AI na-ede ngwa ngwa nzacha Kalman otu akụkụ; ma ọ bụ ọrụ gị ịhọrọ ụda covariances (`Q`, `R`) n'ụzọ ziri ezi na ha si n'ezie mkpọtụ nke usoro.
Ntị: Q (mkpọtụ usoro) na R (mkpọtụ ụda) ụkpụrụ nke AI nyere bụ ihe nlele / ebe nchekwa. Ọ bụrụ na ị chọpụtaghị ihe ndị a site na ụda nha nke sistemu ahụ (dịka ọmụmaatụ, ọdịiche a tụrụ mgbe ihe mmetụta na-eguzo), nzacha ga-adị ngwa ngwa ma ọ bụ oke mkpọtụ. Atụkwasịla obi na nkwado ndị AI nyere dị ka "ezigbo uru".
Stream Data IoT: MQTT na Telemetry
A na-ebufe data dị ọcha nke ị na-emepụta na ngwakọta na etiti site na netwọk IoT. Usoro iwu kachasị na ụlọ ọrụ ahụ bụ MQTT: dị arọ, ụdị ndenye aha, dabara adaba maka obere bandwit. AI na-ewepụta ngwa ngwa MQTT onye mbipụta / koodu ndenye aha yana atụmatụ telemetry JSON.
mbubata json, timeimport paho.mqtt.client dị ka mqttclient = mqtt.Client ()client.connect ("broker.local", 1883, keepalive=60)def telemetry_broadcast (okpomọkụ, okpomọkụ, vibration_rms): ozi = {"ts": time.time(), # timestampron_deg: 2), "temperature_c": okirikiri (okpomọkụ, 1), "vibration_rms": gburugburu (temperature_rms, 3), "unit": {"mgbu": "deg", "temperature": "C", "vibration": "mm/s"} } ahịa. qos=1: ewepụtara opekata mpe otu ugboro. Iji qos=0 (nwere ike ịla n'iyi) na data dị oke mkpa.
Mkpebi injinia abụọ dị mkpa ebe a: (1) timestamping (ts) ozi ọ bụla — sensọ dị iche iche na-egosipụta n'oge dị iche iche, mmekọrịta ga-ekwe omume naanị site na iji akara oge; (2) Ọkwa QoS — data dị mkpa na-eji ma ọ dịkarịa ala qos = 1 (ebugara ma ọ dịkarịa ala otu ugboro), qos = 0 na-enye ohere ịhapụ ozi.
mkpọtụ, nhazigharị na mmekọrịta
N'agbanyeghị otú ngwakọta ahụ si dị mma, nsogbu atọ na ntinye na-agbagọ nsonaazụ:
- Noise: Ọ bụrụ na data ihe mmetụta raw na-abanye na ngwakọta na-enweghị nzacha ya, mmepụta ngwakọta ga-abụkwa mkpọtụ. Enwere ike ịchọọ tupu nzacha (ọkara, obere ngafe).
- Nhazi: Mmejọ mwepu na nha nha (dịka ebe efu nke ihe osooso ka agbanwere) na-eduhie njikọ ahụ n'usoro. A ghaghị ịhazi ihe mmetụta tupu ejiri ya.
- Mmekọrịta oge: Achọrọ mpụta oge na ntinye ọnụ iji kwado ihe mmetụta egosipụtara na ọnụego dị iche iche (dịka 10 Hz GPS nwere 1 kHz IMU).
AI nwere ike itinye usoro ndị a na koodu ahụ, mana ma achọrọ nke ọ bụla yana paramita ya bụ kpọmkwem maka sistemụ gị. Na mmepụta AI "olee ebe nhazi ahụ dị?" na "ụgwọ oge a na-ahazi?" Jide n'aka ịjụ ajụjụ.
Ngwa ngwa adịghị ike / Ike ngwa ngwa
Adịghị ike:" Gbakọọ akụkụ site na data IMU." tane2. Filter dị ka klaasị, debe akụkụ gara aga, gbakwunye prefilter nhọrọ maka mkpọtụ."
Obere Case
Injinia Robotics Selin chọrọ nzacha nkwado sitere na AI maka ntule akụkụ na robot na-edozi ụkwụ nwere ụkwụ abụọ. AI na-enye koodu dị ọcha, mana robot ji nwayọọ nwayọọ dabere n'otu akụkụ. Selin na-enyocha dt: koodu ahụ na-eche dt bụ 0.01 s mgbe niile, ebe oge okirikiri dịgasị iche n'ihi telemetry Bluetooth. Mgbe a gbakọọ dt site na stampụ oge, mkpagharị ahụ na-ebelata mana ọ naghị apụ apụ kpamkpam. Mgbe ahụ, ọ na-ele anya na nhazi nke ngwa ngwa ngwa ngwa; Ọbụlagodi mgbe ihe mmetụta ahụ na-eguzo, enwere mbelata 2°. Mgbe m wepụrụ mmezi mmezi, robot na-eguzo ọtọ. N'ikpeazụ, ọ na-achọpụta na ọ na-eji qos = 0 mgbe ọ na-agbasa telemetry site na MQTT ma mee ka ọ dịkwuo qos = 1 maka data akụkụ dị mkpa. AI weputara ọkpụkpụ fusion na nkeji; mana nkwenye nke injinia ahụ jidere okwu atọ akọwapụtara maka sistemụ: variable dt, mmezi mmezi, na QoS.
Mmejọ a na-emekarị
- Na-eche na dt na-adịgide adịgide, ebe oge okirikiri na-adịgasị iche (mmegharị fusion).
- Ịgbanye ihe mmetụta na-enweghị calibrating ha (nkwụsị usoro).
- Na-agbalị ịhazi ihe mmetụta nke ọsọ dị iche iche na-enweghị akara oge.
- Ịhapụ na ihe atụ uru nke AI na-enweghị atụ Kalman Q / R covariances si n'ezie mkpọtụ.
- Ikwe ka mfu ozi site na iji qos=0 na data IoT dị oke mkpa.
- Inye data na-enweghị mkpọtụ na ngwakọta na-enweghị tupu nzacha.
Na nchịkọta
- Fusion na-eji ihe mmetụta ọ bụla na mpaghara ugboro ole ọ dị ike ma kwụọ ụgwọ maka adịghị ike ya.
- Ihe nzacha mmeju dị mfe; Na-ewepụta nguzozi gyroscope-accelerometer na alfa.
- Ụdị nzacha Kalman na-eme mkpọtụ nke ọma; Q/R sitere na ezigbo usoro.
- Na telemetry MQTT, akara oge na QoS kwesịrị ekwesị bụ mkpebi injinia dị oke mkpa.
- Mkpọtụ, nhazigharị na oge mmekọrịta na-ekpebi ịdị mma nke ngwakọta.
- a na-atụle dt site na ezigbo oge; A na-enyocha calibration na QoS na-ahapụghị ya na AI.
Ọrụ ngwa
Maka IMU (ezigbo ma ọ bụ simulated gyro + accelerometer data) nwere AI na-emepụta ihe nzacha ma jide n'aka na agbakọọ dt site na ezigbo timestamp. Mgbe ahụ: (1) nwalee alfa maka 0.90, 0.98 na 1.0 wee hụ nkwụsịtụ na nguzozi mkpọtụ, (2) gbakwunye ihe nkwụghachi azụ (njehie calibration) na ihe mmetụta ahụ wee hụ ka mmepụta ihe na-esi na ya pụta, (3) gbanwee data na MQTT JSON schema ma gbakwunye timestamp na ubi unit. Rịba ama uru alfa nke na-enye nsonaazụ ziri ezi maka data gị yana ole ngbanwe mmezi na-agbagọ mmepụta.