ඒකකය 4 / 9

සංවේදක ෆියුෂන් සහ IoT දත්ත ඒකාබද්ධ කිරීම

ලාභ:

  • IMU, encoder සහ දුරස්ථ සංවේදක දත්ත AI සමඟ ඒකාබද්ධ කරන විලයන තර්කනය (integrator/Kalman ෆිල්ටරය) ගොඩනැගීමේ හැකියාව
  • AI සහාය ඇතිව MQTT මත පදනම් වූ IoT දත්ත ප්‍රවාහ සහ ටෙලිමෙට්‍රි වින්‍යාස කිරීමට සහ අර්ථකථනය කිරීමට හැකියාව
  • AI ප්‍රතිදානයේ සංවේදක ශබ්දය, ක්‍රමාංකනය සහ කාල සමමුහුර්තකරණ ගැටළු හඳුනා ගැනීමට සහ නිවැරදි කිරීමට හැකියාව

කිසිම සංවේදකයක් පරිපූර්ණ නොවේ. ගයිරොස්කෝප් කෙටි කාලීනව ඉතා නිවැරදියි, නමුත් කාලයත් සමඟ ප්ලාවනය වේ. ත්වරණමානය දිගු කාලීනව ස්ථායී වන නමුත් කම්පනය මගින් ශබ්දය ලබා ගනී. කේතකය නිවැරදිව පිහිටීම මනියි, නමුත් ස්ලිප් එකක් ඇති විට එය වැරදියි. GPS පුළුල් ප්‍රදේශයක ක්‍රියා කරන නමුත් අඩු සංඛ්‍යාත සහ ඝෝෂාකාරී වේ. mechatronics ඉංජිනේරුවරයාට මෙම අසම්පූර්ණ සංවේදක වලින් තනි විශ්වාසනීය සත්‍යයක් නිපදවීමට සිදුවේ. මෙය සංවේදක විලයනයකි. එපමණක් නොව, නවීන පද්ධති තුළ, මෙම දත්ත දේශීයව පවතිනවා පමණක් නොව, IoT ජාල හරහා වලාකුළු සහ පාලන මධ්යස්ථාන වෙත ගලා යයි. කෘත්‍රිම බුද්ධිය විලයන ඇල්ගොරිතම සැකසීම සහ IoT ටෙලිමෙට්‍රි වින්‍යාස කිරීම සහ අර්ථකථනය කිරීම යන දෙකෙහිම ප්‍රබල ආධාරකයකි. මෙම ඒකකය තුළ, අපි අනුපූරක පෙරහන, Kalman පෙරහන් තර්කනය සහ AI සමඟ MQTT මත පදනම් වූ IoT ප්‍රවාහය සකසන්නේ කෙසේද සහ ශබ්දය සහ සමමුහුර්ත කිරීමේ උගුල් අල්ලා ගන්නේ කෙසේද යන්න අපි ආවරණය කරමු.

සංවේදක විලයනය ඇයි?

සෑම සංවේදකයකම "හොඳ සංඛ්‍යාත කලාපයක්" ඇත. විලයනය කිරීමේ අරමුණ වන්නේ එය ශක්තිමත් ප්‍රදේශයේ එක් එක් සංවේදක භාවිතා කිරීම සහ දුර්වල ප්‍රදේශයේ අනෙකට සහාය වීමයි.

සංවේදකය

ශක්තිමත් ලක්ෂ්යයක්

දුර්වලකම

ගයිරොස්කෝප්

කෙටි කාලීන කෝණික ප්‍රවේගය, වේගවත් ප්‍රතිචාරය

කාලයත් සමඟ ප්ලාවිතය

ත්වරණමාන

දිගුකාලීන බෑවුම් යොමුව (ගුරුත්වාකර්ෂණය)

චලනය මත කම්පනය / ඝෝෂාකාරී

කේතකය

ඉහළ විභේදන ස්ථානය

ලිස්සා යාම / පසුබෑම දෝෂයකි

GPS

නිරපේක්ෂ පිහිටීම

අඩු සංඛ්යාත, ශබ්දය, ගෘහස්ථ නැත

තනි සංවේදකයක් මත රඳා පැවතීම එම සංවේදකයේ දුර්වලතාවය පද්ධතියට හඳුන්වා දෙයි. නිදසුනක් ලෙස, විලයනය, ගයිරොස්කෝපයේ වේගවත් නමුත් ප්ලාවිත කෝණය ත්වරණමානයේ මන්දගාමී නමුත් ස්ථාවර යොමුව සමඟ ඒකාබද්ධ කරයි, වේගවත් සහ ප්ලාවිතය-නිදහස් කෝණයක් ලබා දෙයි.

අනුපූරක පෙරහන

සරලම සහ වඩාත් පොදු විලයනය වන්නේ අනුපූරක පෙරහනයි. අදහස බුද්ධිමය ය: ඉහළ සංඛ්‍යාතයේ දී ගයිරොස්කෝප් විශ්වාස කරන්න (වේගවත් වෙනස් වීම), ත්වරණමානය අඩු සංඛ්‍යාතයේ (මන්දගාමී, ස්ථායී). එක් පේළියේ සාරාංශය:

# අනුපූරක පෙරහන: වේදනාව ඇස්තමේන්තු කිරීම (තාරතාව) # ඇල්ෆා ~ 0.98 : ගයිරොස්කෝප් වෙත වැඩි, ත්වරණමාන (අංශක/තත්පර) ත්වරණ_පරිමාණයට අඩු: ත්වරණමාන (අංශක) සිට ගණනය කෝණය dt: නියැදීමේ කාල සීමාව (තත්පර) ""_පසුගිය + gyro_pact හි # gyro_pact gyroscope return alpha * gyro_pace + (1 - alpha) * acceleration_angle# Verification logic: pure gyroscope (drifts) if alpha=1, # if alpha=0 pure accelerometer (ඝෝෂාකාරී).

මෙහි සංගුණකය ඇල්ෆා ශේෂය තීරණය කරයි: එය 1 ට ආසන්න නම්, එය ගයිරොස්කෝප් මත රඳා පවතී (ප්ලාවිත වීමේ අවදානම වැඩි වේ), එය 0 ට ආසන්න නම්, එය ත්වරණමාන (ශබ්දය වැඩි වීම) මත රඳා පවතී. සාමාන්ය අගය 0.95-0.98 වේ. AI මෙම අගය යෝජනා කළ හැක, නමුත් නිවැරදි ඇල්ෆා ඔබේ පද්ධතියේ නියැදි අනුපාතය සහ ශබ්ද ස්වභාවය මත රඳා පවතී; පර්යේෂණාත්මකව සකසා ඇත.

ඉඟිය: AI වෙත අනුකලිත පෙරහනක් මුද්‍රණය කරන විට, dt මනින්නේ කෙසේදැයි විමසීමට වග බලා ගන්න. බොහෝ දෝෂ පැමිණෙන්නේ dt නියත යැයි උපකල්පනය කිරීමෙන් නමුත් යථාර්ථයේ දී චක්‍ර කාලය වෙනස් වේ. dt real අගය millis()/timesamp මගින් මනින්න, නියතයන් ලියන්න එපා.

Kalman ෆිල්ටර් ලොජික්

අනුපූරක පෙරහන සරල නමුත් ශබ්ද සංඛ්යා ලේඛන ආකෘති නොවේ. Kalman ෆිල්ටරය සංවේදක ශබ්දය සහ ක්‍රියාවලි අවිනිශ්චිතභාවය සම්භාවිතා ලෙස ආකෘතිකරණය කිරීම මගින් ප්‍රශස්ත (සමහර උපකල්පන යටතේ) ඇස්තමේන්තුවක් නිපදවයි. එය පියවර දෙකකින් ක්රියා කරයි:

  1. පුරෝකථනය කරන්න: පද්ධති ආකෘතිය සමඟ ඊළඟ තත්ත්වය සහ එහි අවිනිශ්චිතභාවය අනාවැකි කරන්න.
  2. යාවත්කාලීන කිරීම: මිනුම් විශ්වසනීයත්වය (කල්මන් ලාභය) සමඟ නව මිනුම කිරා මැන බලා ඇස්තමේන්තුව නිවැරදි කරන්න.

Kalman gain K සෑම පියවරකදීම "මම මිනුම හෝ ආකෘතිය විශ්වාස කළ යුතුද" යන ප්‍රශ්නයට ස්වයංක්‍රීයව පිළිතුරු දෙයි. මිනුම් ශබ්දය විශාල නම්, K කුඩා වේ (ආකෘතියේ විශ්වාසය), ක්රියාවලිය අවිනිශ්චිතතාවය විශාල නම්, K විශාල වේ (මිනුම් පිළිබඳ විශ්වාසය). AI පහසුවෙන් ඒකමාන Kalman ෆිල්ටරයක් ​​ලියයි; නමුත් ඝෝෂා කෝවිරියන්ස් (`Q`, `R`) නිවැරදිව තෝරා ගැනීම ඔබේ කාර්යය වන අතර ඒවා පද්ධතියේ සැබෑ ඝෝෂාවෙන් පැමිණේ.

අවධානය: AI විසින් ලබා දී ඇති Q (ක්‍රියාවලි ශබ්දය) සහ R (මිනුම් ශබ්දය) අගයන් නියැදි/ස්ථාන දරන්නා වේ. ඔබ මේවා පද්ධතියේ සත්‍ය මිනුම් ඝෝෂාවෙන් නිර්ණය නොකරන්නේ නම් (උදා: සංවේදකය නිශ්චල වන විට මනිනු ලබන විචලනය), පෙරණය ඉතා මන්දගාමී හෝ අධික ඝෝෂාකාරී වේ. AI විසින් ලබා දී ඇති covariances "සැබෑ අගය" ලෙස විශ්වාස නොකරන්න.

IoT දත්ත ප්‍රවාහය: MQTT සහ Telemetry

ඔබ විලයනයෙන් නිපදවන පිරිසිදු දත්ත සාමාන්‍යයෙන් IoT ජාලයක් හරහා මධ්‍යයට ප්‍රවාහනය කෙරේ. කර්මාන්තයේ වඩාත් පොදු ප්‍රොටෝකෝලය වන්නේ MQTT ය: සැහැල්ලු, ප්‍රකාශන-දායක ආකෘතිය, අඩු කලාප පළල සඳහා සුදුසු වේ. AI ඉක්මනින් MQTT ප්‍රකාශක/ග්‍රාහක කේතය සහ JSON ටෙලිමෙට්‍රි ක්‍රමය ස්ථාපිත කරයි.

json import json, timeimport paho.mqtt.client ලෙස mqttclient = mqtt.Client()client.connect("broker.local", 1883, keepalive=60)def telemetry_broadcast(උෂ්ණත්වය, උෂ්ණත්වය, vibration_rms): පණිවිඩය = {"ts": time.timestamp_gde": time.timestamp_gde" සඳහා වටය(වේදනාව, 2), "උෂ්ණත්වය_c": වටය(උෂ්ණත්වය, 1), "කම්පන_rms": වටය(උෂ්ණත්වය_rms, 3), "ඒකකය": {"වේදනාව": "deg", "උෂ්ණත්වය": "C", "කම්පනය": "mm/s"} } client.publish/1" json.dumps(පණිවිඩය), qos=1)# qos=1: අවම වශයෙන් එක් වරක් බෙදා හරිනු ලැබේ. තීරණාත්මක දත්ත මත qos=0 (නැති විය හැක) භාවිතා කිරීම.

ඉංජිනේරු තීරණ දෙකක් මෙහි වැදගත් වේ: (1) කාල මුද්‍රා තැබීම (ts) සෑම පණිවිඩයක්ම - විවිධ සංවේදක විවිධ වේලාවන්හි නියැදි ඇත, සමමුහුර්තකරණය කළ හැක්කේ කාල මුද්‍රා තැබීමෙන් පමණි; (2) QoS මට්ටම-විවේචනාත්මක දත්ත අවම වශයෙන් qos=1 (අවම වශයෙන් එක් වරක් ලබා දෙනු ලැබේ), qos=0 පණිවිඩ නැතිවීමට ඉඩ සලසයි.

ශබ්දය, ක්රමාංකනය සහ සමමුහුර්තකරණය

විලයනය කොතරම් හොඳ වුවත්, ආදානය සමඟ ඇති ගැටළු තුනක් ප්රතිඵලය විකෘති කරයි:

  • ශබ්දය: අමු සංවේදක දත්ත පෙරීමකින් තොරව විලයනයට ගියහොත්, විලයන ප්‍රතිදානය ද ඝෝෂාකාරී වනු ඇත. පෙර පෙරීම (මධ්‍ය, අඩු සමත්) අවශ්‍ය විය හැකිය.
  • ක්රමාංකනය: ඕෆ්සෙට් සහ පරිමාණ දෝෂ (උදා: ත්වරණමානයේ ශුන්ය ලක්ෂ්යය මාරු කර ඇත) ක්රමානුකූලව විලයනය නොමඟ යවයි. භාවිතා කිරීමට පෙර සංවේදක ක්රමාංකනය කළ යුතුය.
  • කාල සමමුහුර්තකරණය: විවිධ අනුපාතවලට (උදා: 10 Hz GPS සමඟ 1 kHz IMU) නියැදි සංවේදක පෙළගැස්වීම සඳහා කාල මුද්‍රා තැබීම සහ අන්තර් ක්‍රියාකාරිත්වය අවශ්‍ය වේ.

AI හට මෙම පියවරයන් කේතයට එක් කළ හැක, නමුත් ඒ සෑම එකක්ම අවශ්‍යද සහ එහි පරාමිතීන් ඔබේ පද්ධතියට විශේෂිතද යන්න. AI ප්‍රතිදානයේ "ක්‍රමාංකනය කොහෙද?" සහ "වේලා මුද්දර පෙළගස්වා තිබේද?" ප්රශ්න ඇසීමට වග බලා ගන්න.

දුර්වල ක්ෂණික / ශක්තිමත් ක්ෂණික

දුර්වල:"IMU දත්ත වලින් කෝණය ගණනය කරන්න."(මොන පෙරහනද? ප්ලාවිතය හසුරුවන්නේ කෙසේද? dt? අපැහැදිලි.)STRONG:"අනුකලිත පෙරහන සහ ඇස්තමේන්තු තාර කෝණය සමඟ MPU6050 වෙතින් ත්වරණමාන සහ ගයිරොස්කෝප් දත්ත ඒකාබද්ධ කරන්න. තථ්‍ය කාල මුද්‍රාවෙන් dt ගණනය කරන්න, පරාමිතිය 8 පරාමිතිය නියත ලෙස නොසිතන්න. tane2 සමඟ ත්වරණමාන කෝණය පන්තියක් ලෙස පෙරහන් කරන්න, පෙර කෝණය තබා ගන්න, ශබ්දය සඳහා විකල්ප මධ්‍ය පෙරහනක් එක් කරන්න."

කුඩා නඩුව

රොබෝ විද්‍යා ඉංජිනේරු සෙලින් හට රෝද දෙකේ සමතුලිත රොබෝවක කෝණය ඇස්තමේන්තු කිරීම සඳහා AI වෙතින් අනුපූරක පෙරහනක් අවශ්‍යයි. AI පිරිසිදු කේතයක් ලබා දෙයි, නමුත් රොබෝවරයා සෙමින් එක පැත්තකට නැඹුරු වේ. සෙලින් dt පරීක්ෂා කරයි: කේතය dt නියත 0.01 s යැයි උපකල්පනය කරයි, නමුත් බ්ලූටූත් ටෙලිමෙට්‍රි නිසා චක්‍ර කාලය වෙනස් වේ. dt නියම කාල මුද්‍රාවෙන් ගණනය කළ විට, ප්ලාවිතය අඩු වන නමුත් සම්පූර්ණයෙන්ම අතුරුදහන් නොවේ. එවිට ඔහු ත්වරණමානයේ ක්රමාංකනය දෙස බලයි; සංවේදකය නිශ්චලව තිබියදී පවා 2° ඕෆ්සෙට් එකක් ඇත. මම ක්‍රමාංකන ඕෆ්සෙට් එක ඉවත් කළ විට, රොබෝවරයා කෙළින් සිට ගනී. අවසාන වශයෙන්, එය MQTT හරහා ටෙලිමෙට්‍රි විකාශනය කිරීමේදී එය qos=0 භාවිතා කරන බව සහ විවේචනාත්මක කෝණ දත්ත සඳහා එය qos=1 දක්වා වැඩි කරන බව දකී. AI මිනිත්තු කිහිපයකින් විලයන ඇටසැකිල්ල ලබා දුන්නේය; නමුත් ඉංජිනේරුවරයාගේ සත්‍යාපනයට පද්ධති-විශේෂිත ගැටළු තුනක් හසු විය: විචල්‍ය dt, ක්‍රමාංකන ඕෆ්සෙට් සහ QoS.

පොදු වැරදි

  • dt නියත යැයි උපකල්පනය කරන අතර, චක්‍ර කාලය වෙනස් වේ (විලයන ප්ලාවිතය).
  • සංවේදක ක්‍රමාංකනය නොකර විලයනය කිරීම (ක්‍රමානුකූල ඕෆ්සෙට්).
  • වේලා මුද්‍රා තැබීමකින් තොරව විවිධ වේග සංවේදක පෙළගස්වා ගැනීමට උත්සාහ කිරීම.
  • සැබෑ ඝෝෂාවෙන් Kalman Q/R covariances මැනීමකින් තොරව AI හි නියැදි අගය සමඟ පිටත් වීම.
  • තීරනාත්මක IoT දත්ත මත qos=0 භාවිතා කිරීමෙන් පණිවිඩ නැති වීමට ඉඩ දීම.
  • පෙර පෙරීමකින් තොරව විලයනයට අමු ඝෝෂාකාරී දත්ත ලබා දීම.

සාරාංශයක් ලෙස

  • Fusion එය ශක්තිමත් වන අතර එහි දුර්වලතාවය සඳහා වන්දි ලබා දෙන සංඛ්යාත කලාපයේ සෑම සංවේදකයක්ම භාවිතා කරයි.
  • අනුපූරක පෙරහන සරලයි; ඇල්ෆා සමඟ ගයිරොස්කෝප්-ත්වරණමාන සමතුලිතතාවය ස්ථාපිත කරයි.
  • Kalman පෙරහන් ආකෘති ශබ්දය සම්භාවිතාව; Q/R පැමිණෙන්නේ සැබෑ පද්ධතියෙනි.
  • MQTT ටෙලිමෙට්‍රි තුළ, කාල මුද්‍රා තැබීම සහ සුදුසු QoS තීරණාත්මක ඉංජිනේරු තීරණ වේ.
  • ශබ්දය, ක්රමාංකනය සහ කාල සමමුහුර්තකරණය විලයනයේ ගුණාත්මකභාවය තීරණය කරයි.
  • dt නියම වේලාවෙන් මනිනු ලැබේ; ක්‍රමාංකනය සහ QoS AI වෙත ඉතිරි නොකර සත්‍යාපනය කර ඇත.

යෙදුම් කාර්යය

IMU (සැබෑ හෝ සමාකරණ ගයිරෝ + ත්වරණමාන දත්ත) සඳහා AI අනුකලිත පෙරහන ජනනය කර dt තත්‍ය කාල මුද්‍රාවෙන් ගණනය කර ඇති බවට වග බලා ගන්න. ඉන්පසු: (1) 0.90, 0.98 සහ 1.0 සඳහා ඇල්ෆා උත්සාහ කර ප්ලාවිතය සහ ශබ්ද සමතුලිතතාවය නිරීක්ෂණය කරන්න, (2) සංවේදකයට හිතාමතා ස්ථාවර ඕෆ්සෙට් (ක්‍රමාංකන දෝෂයක්) එක් කර විලයන ප්‍රතිදානය ප්ලාවනය වන ආකාරය බලන්න, (3) දත්ත MQTT JSON ක්‍රමයට පරිවර්තනය කර කාල මුද්‍රාව සහ ඒකක ක්ෂේත්‍ර එකතු කරන්න. ඔබගේ දත්ත සඳහා වඩාත්ම සමතුලිත ප්‍රතිඵලය ලබා දෙන්නේ කුමන ඇල්ෆා අගයද යන්න සහ ක්‍රමාංකන ඕෆ්සෙට් ප්‍රතිදානය කෙතරම් විකෘති කරන්නේද යන්න සටහන් කරන්න.