ትርፍ፡
- IMU ፣ encoder እና የርቀት ዳሳሽ መረጃን ከ AI ጋር የሚያጣምር የውህደት አመክንዮ (Intector/Kalman filter) የመገንባት ችሎታ
- በ AI እገዛ MQTT ላይ የተመሰረቱ IoT የመረጃ ዥረቶችን እና ቴሌሜትሪ የማዋቀር እና የመተርጎም ችሎታ
- በ AI ውፅዓት ውስጥ የሰንሰሮችን ድምጽ፣ የመለኪያ እና የጊዜ ማመሳሰል ጉዳዮችን የመለየት እና የማረም ችሎታ
ምንም ዳሳሽ ፍጹም አይደለም። ጋይሮስኮፕ በአጭር ጊዜ ውስጥ በጣም ትክክለኛ ነው, ነገር ግን በጊዜ ሂደት ይንሸራተታል. የፍጥነት መለኪያው በረጅም ጊዜ ውስጥ የተረጋጋ ነው ነገር ግን ከንዝረት ጫጫታ ያገኛል. ኢንኮደሩ ቦታውን በትክክል ይለካል, ነገር ግን መንሸራተት ሲኖር ስህተት ነው. ጂፒኤስ በሰፊው አካባቢ ይሰራል ነገር ግን ዝቅተኛ ድግግሞሽ እና ጫጫታ ነው። የሜካትሮኒክስ መሐንዲሱ ከእነዚህ ፍጽምና የጎደላቸው ዳሳሾች አንድ አስተማማኝ እውነት ማፍራት አለበት። ይህ ሴንሰር ውህደት ነው። በተጨማሪም, በዘመናዊ ስርዓቶች, ይህ መረጃ በአካባቢው ብቻ ሳይሆን በአዮቲ አውታረ መረቦች በኩል ወደ ደመና እና ቁጥጥር ማዕከሎች ይፈስሳል. አርቴፊሻል ኢንተለጀንስ የውህደት ስልተ ቀመሮችን በማዘጋጀት እና IoT ቴሌሜትሪን በማዋቀር እና በመተርጎም ረገድ ጠንካራ እገዛ ነው። በዚህ ክፍል ውስጥ የተጨማሪ ማጣሪያን ፣ የካልማን ማጣሪያ አመክንዮ እና እንዴት MQTT ላይ የተመሠረተ IoT ፍሰትን ከ AI ጋር ማዋቀር እና የድምጽ እና የማመሳሰል ወጥመዶችን እንይዛለን።
ለምን ዳሳሽ Fusion?
እያንዳንዱ ዳሳሽ "ጥሩ ድግግሞሽ ዞን" አለው. የመዋሃድ አላማ እያንዳንዱን ዳሳሽ ጠንካራ በሆነበት አካባቢ መጠቀም እና ደካማ በሆነበት አካባቢ ከሌላው ጋር መደገፍ ነው።
ዳሳሽ
ጠንካራ ነጥብ
ድክመት
ጋይሮስኮፕ
የአጭር ጊዜ የማዕዘን ፍጥነት, ፈጣን ምላሽ
በጊዜ መንሸራተት
የፍጥነት መለኪያ
የረጅም ጊዜ ተዳፋት ማጣቀሻ (ስበት)
በእንቅስቃሴ ላይ ንዝረት / ጫጫታ
ኢንኮደር
ከፍተኛ ጥራት ያለው ቦታ
የመንሸራተቻ/የኋላ ምላሽ ስህተት
ጂፒኤስ
ፍጹም አቀማመጥ
ዝቅተኛ ድግግሞሽ፣ ጫጫታ፣ ምንም የቤት ውስጥ የለም።
በነጠላ ዳሳሽ ላይ መተማመን የዚያን ዳሳሽ ድክመት ወደ ስርዓቱ ውስጥ ያስገባል። ፊውዥን ለምሳሌ የጋይሮስኮፕን ፈጣን ግን ተንሳፋፊ አንግል ከፍጥነት መለኪያው ቀርፋፋ ነገር ጋር በማጣመር ፈጣን እና ተንሳፋፊ ያልሆነ አንግል ይሰጣል።
ተጨማሪ ማጣሪያ
በጣም ቀላሉ እና በጣም የተለመደው ውህደት የተጨማሪ ማጣሪያ ነው. ሃሳቡ ሊታወቅ የሚችል ነው: ጋይሮስኮፕን በከፍተኛ ድግግሞሽ (ፈጣን ለውጥ), የፍጥነት መለኪያውን በዝቅተኛ ድግግሞሽ (ቀርፋፋ, የተረጋጋ). የአንድ መስመር ማጠቃለያ፡-
# ተጨማሪ ማጣሪያ፡ የህመም ግምት (ፒች) # አልፋ ~ 0.98፡ የበለጠ ወደ ጋይሮስኮፕ፣ ወደ አክስሌሮሜትር (ዲግሪዎች/ሰከንድ) የፍጥነት_አንጅ ያነሰ፡ አንግል ከአክሴሌሮሜትር (ዲግሪ) የተሰላ dt፡ የናሙና ጊዜ (ሰከንድ) """ ጋይሮ_ፓኬሮ * መመለሻ + * ጋይሮ_ፍጥነት + (1 - አልፋ) * የፍጥነት_ማዕዘን # የማረጋገጫ አመክንዮ፡ ንጹህ ጋይሮስኮፕ (drifts) alpha=1 ከሆነ፣ # alpha=0 pure accelerometer (ጫጫታ) ከሆነ መካከለኛው እሴት ሁለቱን ያስተካክላል።
እዚህ ያለው ኮፊደል አልፋ ሚዛኑን የሚወስነው፡ ወደ 1 የሚጠጋ ከሆነ በጋይሮስኮፕ (የመንሸራተት አደጋ ይጨምራል)፣ ወደ 0 የሚጠጋ ከሆነ በፍጥነት መለኪያ (ድምፅ ይጨምራል) ላይ ይመሰረታል። የተለመደው ዋጋ 0.95-0.98 ነው. AI ይህን እሴት ሊጠቁም ይችላል፣ ነገር ግን ትክክለኛው አልፋ በስርዓትዎ የናሙና መጠን እና የድምጽ ባህሪ ላይ የተመሰረተ ነው። በሙከራ ተዘጋጅቷል።
ጠቃሚ ምክር: አንድ ኮምፓል ማጣሪያ ወደ AI በሚታተምበት ጊዜ, dt እንዴት እንደሚለካ መጠየቅዎን ያረጋግጡ. አብዛኛዎቹ ስህተቶች dt ቋሚ ነው ብለው በመገመት ይመጣሉ ነገር ግን በእውነቱ የዑደቱ ጊዜ ይለያያል። dt እውነተኛ በሚሊ ()/timestamp ይለኩ፣ ቋሚዎችን አይጻፉ።
የካልማን ማጣሪያ አመክንዮ
የተጨማሪ ማጣሪያው ቀላል ነው ነገር ግን የድምጽ ስታቲስቲክስን ሞዴል አያደርግም። የካልማን ማጣሪያ የዳሳሽ ጫጫታ እና የሂደት እርግጠኛ አለመሆንን በመቅረጽ የተሻለ (በተወሰኑ ግምቶች) ግምት ይፈጥራል። በሁለት ደረጃዎች ይሰራል.
- መተንበይ: የሚቀጥለውን ሁኔታ እና እርግጠኛ አለመሆንን ከስርአቱ ሞዴል ጋር ይተነብዩ.
- አዘምን፡ አዲሱን መለኪያ በመለኪያ አስተማማኝነት (ካልማን ጥቅም) መዘኑ እና ግምቱን ያስተካክሉ።
Kalman gain K በእያንዳንዱ እርምጃ "መለኪያውን ወይም ሞዴሉን የበለጠ ማመን አለብኝ" የሚለውን ጥያቄ በራስ-ሰር ይመልሳል። የመለኪያ ጫጫታ ትልቅ ከሆነ K ትንሽ ይሆናል (በአምሳያው ላይ እምነት), የሂደቱ እርግጠኛ አለመሆን ትልቅ ከሆነ, K ትልቅ ይሆናል (በመለኪያው ላይ እምነት). AI በቀላሉ አንድ-ልኬት የካልማን ማጣሪያ ይጽፋል; ነገር ግን የጩኸት መጋጠሚያዎችን (`Q`፣ `R`) በትክክል መምረጥ የእርስዎ ስራ ነው እና እነሱ ከስርዓቱ ጫጫታ የሚመጡ ናቸው።
ትኩረት፡ Q (የሂደት ጫጫታ) እና R (የመለኪያ ድምጽ) በ AI የተሰጡ እሴቶች ናሙና/ቦታ ያዥ ናቸው። እነዚህን ከስርዓቱ ትክክለኛ የመለኪያ ጫጫታ ካልወሰኑ (ለምሳሌ ዳሳሹ በሚቆምበት ጊዜ የሚለካው ልዩነት) ማጣሪያው በጣም ቀርፋፋ ወይም በጣም ጫጫታ ይሆናል። በ AI የተሰጡትን ትብብሮች እንደ "እውነተኛ እሴት" አትመኑ.
IoT የውሂብ ዥረት፡ MQTT እና ቴሌሜትሪ
ከውህደት ጋር የሚያመርቱት ንፁህ መረጃ አብዛኛውን ጊዜ በአይኦቲ ኔትወርክ ወደ መሃል ይጓጓዛል። በኢንዱስትሪው ውስጥ በጣም የተለመደው ፕሮቶኮል MQTT ነው፡ ቀላል ክብደት ያለው፣ የደንበኝነት ተመዝጋቢ ሞዴል፣ ለዝቅተኛ የመተላለፊያ ይዘት ተስማሚ። AI በፍጥነት MQTT አሳታሚ/የተመዝጋቢ ኮድ እና JSON የቴሌሜትሪ እቅድ ያቋቁማል።
import json, timeimport paho.mqtt.client እንደ mqttclient = mqtt.Client()client.connect("broker.local", 1883, keepalive=60)የቴሌሜትሪ_ስርጭት(ሙቀት፣ ሙቀት፣ ንዝረት_rms)፡ መልእክት = {"ts"፡ጊዜ።ጊዜ()፣ለዙር ጊዜ ማመሳሰል፡-"ማመሳሰል ሁኔታ፡-" 2), "temperature_c": ክብ (ሙቀት, 1), "vibration_rms": ክብ (temperature_rms, 3), "unit": {"ህመም": "deg", "ሙቀት": "C", "ንዝረት": "mm/s"} } ደንበኛ. አትም ("machine/jline1/messor), qos ("machine/jline1/mpson)" qos=1፡ ቢያንስ አንድ ጊዜ ደረሰ። በወሳኝ መረጃ ላይ qos=0 (ሊጠፋ ይችላል) መጠቀም።
እዚህ ሁለት የምህንድስና ውሳኔዎች አስፈላጊ ናቸው (1) የጊዜ ማህተም (ቲኤስ) እያንዳንዱ መልእክት - የተለያዩ ዳሳሾች በተለያየ ጊዜ ይወሰዳሉ, ማመሳሰል የሚቻለው በጊዜ ማህተም ብቻ ነው; (2) የQoS ደረጃ—ወሳኝ ዳታ ቢያንስ qos=1 ይጠቀማል (ቢያንስ አንድ ጊዜ ደርሷል)፣ qos=0 የመልእክት መጥፋትን ይፈቅዳል።
ጫጫታ፣ መለካት እና ማመሳሰል
ውህደቱ ምንም ያህል ጥሩ ቢሆን፣ ከግብአት ጋር የተያያዙ ሶስት ችግሮች ውጤቱን ያዛባሉ፡-
- ጫጫታ፡- ጥሬ ሴንሰር ዳታ ሳይጣራ ወደ ውህደት ከገባ የውህደቱ ውጤትም ጫጫታ ይሆናል። ቅድመ ማጣሪያ (ሚዲያን, ዝቅተኛ ማለፊያ) ሊያስፈልግ ይችላል.
- መለካት፡ የማካካሻ እና የመጠን ስህተቶች (ለምሳሌ የፍጥነት መለኪያው ዜሮ ነጥብ ተቀይሯል) ውህደቱን በዘዴ ያሳሳታል። ከመጠቀምዎ በፊት ዳሳሾች መስተካከል አለባቸው።
- የሰዓት ማመሳሰል፡ የናሙና መጠበቂያዎችን በተለያየ ፍጥነት (ለምሳሌ 10 Hz GPS ከ 1 kHz IMU ጋር) ለማስማማት የጊዜ ማህተም እና መስተጋብር ያስፈልጋል።
AI እነዚህን ደረጃዎች ወደ ኮድ ማከል ይችላል, ነገር ግን እያንዳንዱ ይፈለጋል እና ግቤቶቹ ለእርስዎ ስርዓት የተወሰኑ ናቸው. በ AI ውፅዓት "መለኪያው የት ነው?" እና "የጊዜ ማህተሞች የተስተካከሉ ናቸው?" ጥያቄዎችን መጠየቅዎን እርግጠኛ ይሁኑ.
ደካማ ፈጣን/ጠንካራ ፍጥነት
ደካማ፡"አንግልን ከአይኤምዩ መረጃ አስላ።"(የትኛው ማጣሪያ? ተንሸራታች ነው የሚስተናገደው? እንዴት dt? ግልጽ ያልሆነ።)STRONG፡"የፍጥነት መለኪያ እና ጋይሮስኮፕ መረጃን ከMPU6050 ጋር ያጣምሩ እና የፒች አንግል ይገምታሉ። dt ከእውነተኛ ጊዜ ማህተም አስሉት፣ ቋሚ አይመስላችሁ። አልፋን ከ0 መለኪያ መለኪያ ጋር ያዋቅሩ። tane2. እንደ ክፍል አጣራ፣ የቀደመውን አንግል አቆይ፣ አማራጭ ሚዲያን ለጩኸት ጨምር።
ሚኒ መያዣ
የሮቦቲክስ መሐንዲስ ሴሊን ባለ ሁለት ጎማ ሚዛን ሮቦት ላይ የማዕዘን ግምት ለማግኘት ተጨማሪ ማጣሪያ ከ AI ይፈልጋል። AI ንጹህ ኮድ ይሰጣል, ነገር ግን ሮቦቱ ቀስ በቀስ ወደ አንድ ጎን ዘንበል ይላል. ሴሊን ቼኮች dt፡ ኮዱ ዲቲ ቋሚ 0.01 ሰ ነው ብሎ ያስባል፣ የዑደቱ ጊዜ ግን በብሉቱዝ ቴሌሜትሪ ምክንያት ይለያያል። dt ከእውነተኛው የጊዜ ማህተም ሲሰላ ተንሳፋፊው ይቀንሳል ነገር ግን ሙሉ በሙሉ አይጠፋም. ከዚያም የፍጥነት መለኪያ መለኪያውን ይመለከታል; ዳሳሹ በማይቆምበት ጊዜ እንኳን የ2° ማካካሻ አለ። የካሊብሬሽን ማካካሻውን ሳስወግድ ሮቦቱ ቀጥ ብሎ ይቆማል። በመጨረሻም ቴሌሜትሪ በMQTT ሲያሰራጭ qos=0 እንደሚጠቀም እና ለወሳኝ አንግል መረጃ ወደ qos=1 እንደሚያሳድገው ያስተውላል። AI በደቂቃዎች ውስጥ ፊውዥን አጽም አሳልፎ; ነገር ግን የኢንጂነሩ ማረጋገጫ ሶስት ስርዓት-ተኮር ጉዳዮችን ያዘ፡ ተለዋዋጭ dt፣ የካሊብሬሽን ኦፍሴት እና QoS።
የተለመዱ ስህተቶች
- ዲቲ ቋሚ ነው ብለን ካሰብን የዑደቱ ጊዜ ግን ይለያያል (የፊውዥን ድሪፍቶች)።
- ዳሳሾችን ሳያስተካከሉ በማዋሃድ (ስልታዊ ማካካሻ)።
- የጊዜ ማህተም ሳይደረግ የተለያየ ፍጥነት ያላቸውን ዳሳሾች ለማቀናጀት በመሞከር ላይ።
- የካልማን Q/R አጋርነቶችን ከእውነተኛው ጫጫታ ሳይለኩ በአይአይ ናሙና እሴት መልቀቅ።
- በወሳኝ የአይኦቲ መረጃ ላይ qos=0 በመጠቀም የመልዕክት መጥፋትን መፍቀድ።
- ያለ ቅድመ-ማጣራት ጥሬ ጫጫታ መረጃን ወደ ውህደት መስጠት።
በማጠቃለያው
- Fusion ጠንካራ በሆነበት ድግግሞሽ ክልል ውስጥ እያንዳንዱን ዳሳሽ ይጠቀማል እና ድክመቱን ይከፍላል።
- የማሟያ ማጣሪያው ቀላል ነው; የጋይሮስኮፕ-አክሌሮሜትር ሚዛን ከአልፋ ጋር ይመሰርታል።
- የካልማን ማጣሪያ ሞዴሎች ጫጫታ ሊሆን ይችላል; Q/R የሚመጣው ከእውነተኛው ስርዓት ነው።
- በMQTT ቴሌሜትሪ፣ የጊዜ ማህተም እና ተገቢ QoS ወሳኝ የምህንድስና ውሳኔዎች ናቸው።
- ጫጫታ ፣ መለካት እና የጊዜ ማመሳሰል የውህደትን ጥራት ይወስናሉ።
- dt የሚለካው ከእውነተኛ ጊዜ ነው; ካሊብሬሽን እና QoS የተረጋገጡት ወደ AI ሳይለቁ ነው።
የመተግበሪያ ተግባር
ለ IMU (እውነተኛ ወይም የተመሰለ የጋይሮ + የፍጥነት መለኪያ ዳታ) AI ውህደቱን ማጣሪያ ያመነጫል እና ዲቲው ከእውነተኛው የጊዜ ማህተም የተሰላ መሆኑን ያረጋግጡ። ከዚያ፡ (1) አልፋን ለ 0.90፣ 0.98 እና 1.0 ይሞክሩ እና የተንሸራታች እና የድምጽ ሚዛንን ይመልከቱ፣ (2) ሆን ተብሎ ቋሚ ማካካሻ (የካሊብሬሽን ስህተት) ወደ ሴንሰሩ ላይ ይጨምሩ እና የውህደት ውፅዓት እንዴት እንደሚንሸራተቱ ይመልከቱ፣ (3) መረጃውን ወደ MQTT JSON schema ይቀይሩ እና የጊዜ ማህተም እና አሃድ መስኮችን ይጨምሩ። የትኛው የአልፋ እሴት ለውሂብዎ በጣም ሚዛኑን የጠበቀ ውጤት እንደሚሰጥ እና የመለኪያ ማካካሻ ውጤቱን ምን ያህል እንደሚያዛባ ልብ ይበሉ።