इकाई 4 / 9

सेंसर फ़्यूज़न और IoT डेटा एकीकरण

लाभ:

  • फ़्यूज़न लॉजिक (इंटीग्रेटर/कलमैन फ़िल्टर) बनाने की क्षमता जो आईएमयू, एनकोडर और डिस्टेंस सेंसर डेटा को एआई के साथ जोड़ती है
  • एआई की मदद से एमक्यूटीटी-आधारित आईओटी डेटा स्ट्रीम और टेलीमेट्री को कॉन्फ़िगर और व्याख्या करने की क्षमता
  • एआई आउटपुट में सेंसर शोर, अंशांकन और समय सिंक्रनाइज़ेशन मुद्दों का पता लगाने और उन्हें ठीक करने की क्षमता

कोई भी सेंसर परफेक्ट नहीं है. जाइरोस्कोप अल्पावधि में बहुत सटीक होता है, लेकिन समय के साथ कम हो जाता है। एक्सेलेरोमीटर लंबे समय तक स्थिर रहता है लेकिन कंपन से शोर उत्पन्न होता है। एनकोडर स्थिति को सटीक रूप से मापता है, लेकिन स्लिप होने पर यह गलत होता है। जीपीएस एक विस्तृत क्षेत्र में काम करता है लेकिन कम आवृत्ति वाला और शोर वाला होता है। मेक्ट्रोनिक्स इंजीनियर को इन अपूर्ण सेंसरों से एकल, विश्वसनीय सत्य का उत्पादन करना होता है; यह सेंसर फ़्यूज़न है. इसके अलावा, आधुनिक प्रणालियों में, यह डेटा न केवल स्थानीय रहता है, बल्कि IoT नेटवर्क के माध्यम से क्लाउड और नियंत्रण केंद्रों तक प्रवाहित होता है। आर्टिफिशियल इंटेलिजेंस फ़्यूज़न एल्गोरिदम स्थापित करने और IoT टेलीमेट्री को कॉन्फ़िगर और व्याख्या करने दोनों में एक शक्तिशाली सहायता है। इस इकाई में, हम पूरक फिल्टर, कलमन फिल्टर तर्क और एआई के साथ एमक्यूटीटी-आधारित आईओटी प्रवाह कैसे स्थापित करें और शोर और सिंक्रनाइज़ेशन जाल को कैसे पकड़ें, को कवर करते हैं।

सेंसर फ़्यूज़न क्यों?

प्रत्येक सेंसर में एक "अच्छा आवृत्ति क्षेत्र" होता है। फ़्यूज़न का उद्देश्य प्रत्येक सेंसर का उस क्षेत्र में उपयोग करना है जहां वह मजबूत है और उस क्षेत्र में दूसरे के साथ उसका समर्थन करना है जहां वह कमजोर है।

सेंसर

मजबूत बिंदु

कमजोरी

जाइरोस्कोप

अल्पकालिक कोणीय वेग, तेज़ प्रतिक्रिया

समय के साथ बह जाना

एक्सेलेरोमीटर

दीर्घकालिक ढलान संदर्भ (गुरुत्वाकर्षण)

चलने पर कंपन/शोर

एनकोडर

उच्च रिज़ॉल्यूशन स्थान

स्लिप/बैकलैश त्रुटि

जीपीएस

पूर्ण स्थिति

कम आवृत्ति, शोर, कोई इनडोर नहीं

किसी एक सेंसर पर भरोसा करने से सिस्टम में उस सेंसर की कमजोरी आ जाती है। उदाहरण के लिए, फ़्यूज़न, जाइरोस्कोप के तेज़ लेकिन बहाव वाले कोण को एक्सेलेरोमीटर के धीमे लेकिन स्थिर संदर्भ के साथ जोड़ता है, जिससे एक ऐसा कोण प्राप्त होता है जो तेज़ और बहाव-मुक्त दोनों होता है।

पूरक फ़िल्टर

सबसे सरल और सबसे आम फ़्यूज़न पूरक फ़िल्टर है। विचार सहज है: उच्च आवृत्ति (तेज परिवर्तन) पर जाइरोस्कोप पर भरोसा करें, कम आवृत्ति (धीमा, स्थिर) पर एक्सेलेरोमीटर पर। एक पंक्ति सारांश:

# पूरक फ़िल्टर: दर्द का अनुमान (पिच) # अल्फा ~ 0.98: जाइरोस्कोप से अधिक, एक्सेलेरोमीटर से कम (डिग्री/सेकंड) त्वरण_एंज: एक्सेलेरोमीटर (डिग्री) से गणना किया गया कोण dt: नमूना अवधि (सेकंड) """ gyro_pac = पिछला + gyro_speed * dt # जाइरोस्कोप रिटर्न अल्फा को एकीकृत करें * जाइरो_पेस + (1 - अल्फा) * त्वरण_कोण# सत्यापन तर्क: शुद्ध जाइरोस्कोप (बहाव) यदि अल्फ़ा=1, # यदि अल्फ़ा=0 शुद्ध एक्सेलेरोमीटर (शोर) मध्यवर्ती मान दोनों को संतुलित करता है।

यहां गुणांक अल्फा संतुलन निर्धारित करता है: यदि यह 1 के करीब है, तो यह जाइरोस्कोप पर निर्भर करता है (बहाव का जोखिम बढ़ जाता है), यदि यह 0 के करीब है, तो यह एक्सेलेरोमीटर (शोर बढ़ता है) पर निर्भर करता है। सामान्य मान 0.95–0.98 है। एआई इस मान का सुझाव दे सकता है, लेकिन सही अल्फा आपके सिस्टम की नमूना दर और शोर चरित्र पर निर्भर करता है; प्रायोगिक तौर पर सेट किया गया है.

टिप: एआई के लिए इंटीग्रल फ़िल्टर प्रिंट करते समय, यह पूछना सुनिश्चित करें कि डीटी कैसे मापा जाता है। अधिकांश त्रुटियाँ यह मानने से आती हैं कि dt स्थिर है लेकिन वास्तव में चक्र का समय भिन्न होता है। वास्तविक dt को millis()/टाइमस्टैम्प से मापें, स्थिरांक न लिखें।

कलमन फ़िल्टर तर्क

पूरक फ़िल्टर सरल है लेकिन शोर के आँकड़े मॉडल नहीं करता है। कलमन फ़िल्टर संभाव्य रूप से सेंसर शोर और प्रक्रिया अनिश्चितता को मॉडलिंग करके एक इष्टतम (कुछ मान्यताओं के तहत) अनुमान उत्पन्न करता है। यह दो चरणों में काम करता है:

  1. भविष्यवाणी: सिस्टम मॉडल के साथ अगली स्थिति और उसकी अनिश्चितता की भविष्यवाणी करें।
  2. अद्यतन: माप विश्वसनीयता (कलमन लाभ) के विरुद्ध नए माप को तौलें और अनुमान को सही करें।

कल्मन गेन K प्रत्येक चरण पर स्वचालित रूप से इस प्रश्न का उत्तर देता है "क्या मुझे माप या मॉडल पर अधिक भरोसा करना चाहिए"। यदि माप शोर बड़ा है, तो K छोटा हो जाता है (मॉडल में विश्वास), यदि प्रक्रिया अनिश्चितता बड़ी है, तो K बड़ा हो जाता है (माप में विश्वास)। एआई आसानी से एक-आयामी कलमन फ़िल्टर लिखता है; लेकिन शोर सहप्रसरण ('क्यू', 'आर') को सही ढंग से चुनना आपका काम है और वे सिस्टम के वास्तविक शोर से आते हैं।

ध्यान दें: एआई द्वारा दिए गए क्यू (प्रक्रिया शोर) और आर (माप शोर) मान नमूना/प्लेसहोल्डर हैं। यदि आप इन्हें सिस्टम के वास्तविक माप शोर (उदाहरण के लिए सेंसर स्थिर होने पर मापा गया भिन्नता) से निर्धारित नहीं करते हैं, तो फ़िल्टर या तो बहुत धीमा होगा या बहुत शोर होगा। एआई द्वारा दिए गए सहप्रसरणों पर "सही मूल्य" के रूप में भरोसा न करें।

IoT डेटा स्ट्रीम: MQTT और टेलीमेट्री

फ़्यूज़न के साथ आपके द्वारा उत्पादित स्वच्छ डेटा आमतौर पर IoT नेटवर्क के माध्यम से केंद्र तक पहुंचाया जाता है। उद्योग में सबसे आम प्रोटोकॉल MQTT है: हल्का, प्रकाशित-सदस्यता मॉडल, कम बैंडविड्थ के लिए उपयुक्त। AI शीघ्रता से MQTT प्रकाशक/ग्राहक कोड और JSON टेलीमेट्री स्कीमा स्थापित करता है।

json, timeimport paho.mqtt.client को mqttclient के रूप में आयात करें = mqtt.Client()client.connect("broker.local", 1883, Keepalive=60)def टेलीमेट्री_ब्रॉडकास्ट(तापमान, तापमान, कंपन_rms): संदेश = { "ts": time.time(), # टाइमस्टैम्प - सिंक्रनाइज़ेशन के लिए शर्त "pain_deg": राउंड(दर्द, 2), "तापमान_सी": गोल(तापमान, 1), "कंपन_आरएमएस": दौर(तापमान_आरएमएस, 3), "इकाई": {"दर्द": "डिग्री", "तापमान": "सी", "कंपन": "एमएम/एस" } } क्लाइंट.प्रकाशन("मशीन/लाइन1/सेंसर", जेएसओएन.डंप्स(संदेश), क्यूओएस=1)# क्यूओएस=1: वितरित कम से कम एक बार. महत्वपूर्ण डेटा पर qos=0 (खो सकता है) का उपयोग करना।

यहां दो इंजीनियरिंग निर्णय महत्वपूर्ण हैं: (1) प्रत्येक संदेश की टाइमस्टैम्पिंग (टीएस) - अलग-अलग सेंसर का अलग-अलग समय पर नमूना लिया जाता है, सिंक्रनाइज़ेशन केवल टाइमस्टैम्पिंग के साथ संभव है; (2) QoS स्तर-महत्वपूर्ण डेटा कम से कम qos=1 (कम से कम एक बार वितरित) का उपयोग करता है, qos=0 संदेश हानि की अनुमति देता है।

शोर, अंशांकन और तुल्यकालन

कोई फर्क नहीं पड़ता कि फ़्यूज़न कितना अच्छा है, इनपुट के साथ तीन समस्याएं परिणाम को विकृत कर देती हैं:

  • शोर: यदि कच्चा सेंसर डेटा फ़िल्टर किए बिना फ़्यूज़न में चला जाता है, तो फ़्यूज़न आउटपुट भी शोर होगा। पूर्व-फ़िल्टरिंग (माध्यिका, निम्न पास) की आवश्यकता हो सकती है।
  • अंशांकन: ऑफसेट और स्केल त्रुटियां (उदाहरण के लिए एक्सेलेरोमीटर का शून्य बिंदु स्थानांतरित हो गया है) व्यवस्थित रूप से संलयन को गुमराह करती है। उपयोग से पहले सेंसर को कैलिब्रेट किया जाना चाहिए।
  • समय सिंक्रनाइज़ेशन: अलग-अलग दरों पर सैंपल किए गए सेंसर को संरेखित करने के लिए टाइमस्टैम्पिंग और इंटरपोलेशन की आवश्यकता होती है (उदाहरण के लिए 1 किलोहर्ट्ज़ आईएमयू के साथ 10 हर्ट्ज जीपीएस)।

एआई इन चरणों को कोड में जोड़ सकता है, लेकिन क्या प्रत्येक आवश्यक है और इसके पैरामीटर आपके सिस्टम के लिए विशिष्ट हैं। एआई आउटपुट में "अंशांकन कहाँ है?" और "क्या टाइमस्टैम्प संरेखित हैं?" प्रश्न अवश्य पूछें.

कमजोर संकेत/मजबूत संकेत

कमजोर:"आईएमयू डेटा से कोण की गणना करें।" शोर के लिए वैकल्पिक माध्य प्रीफ़िल्टर जोड़ें।"

मिनी केस

रोबोटिक्स इंजीनियर सेलिन दो-पहिया संतुलन रोबोट पर कोण अनुमान के लिए एआई से एक पूरक फिल्टर चाहते हैं। एआई एक साफ कोड देता है, लेकिन रोबोट धीरे-धीरे एक तरफ झुक जाता है। सेलिन dt की जाँच करता है: कोड मानता है कि dt स्थिर 0.01 s है, जबकि ब्लूटूथ टेलीमेट्री के कारण चक्र का समय भिन्न होता है। जब डीटी की गणना वास्तविक टाइमस्टैम्प से की जाती है, तो बहाव कम हो जाता है लेकिन पूरी तरह से गायब नहीं होता है। फिर वह एक्सेलेरोमीटर के अंशांकन को देखता है; यहां तक ​​कि जब सेंसर स्थिर होता है तब भी 2° ऑफसेट होता है। जब मैं अंशांकन ऑफसेट हटाता हूं, तो रोबोट सीधा खड़ा हो जाता है। अंत में, यह नोटिस करता है कि यह MQTT के माध्यम से टेलीमेट्री प्रसारित करते समय qos=0 का उपयोग करता है और महत्वपूर्ण कोण डेटा के लिए इसे qos=1 तक बढ़ा देता है। AI ने मिनटों में फ़्यूज़न स्केलेटन प्रदान किया; लेकिन इंजीनियर के सत्यापन में तीन सिस्टम-विशिष्ट मुद्दे पकड़े गए: वेरिएबल डीटी, कैलिब्रेशन ऑफसेट और क्यूओएस।

सामान्य गलतियाँ

  • यह मानते हुए कि dt स्थिर है, जबकि चक्र का समय भिन्न होता है (संलयन बहाव)।
  • सेंसरों को कैलिब्रेट किए बिना फ़्यूज़ करना (व्यवस्थित ऑफसेट)।
  • टाइमस्टैम्पिंग के बिना विभिन्न गति के सेंसर को संरेखित करने का प्रयास किया जा रहा है।
  • वास्तविक शोर से कलमैन क्यू/आर सहप्रसरण को मापे बिना एआई के नमूना मूल्य को छोड़ना।
  • महत्वपूर्ण IoT डेटा पर qos=0 का उपयोग करके संदेश हानि की अनुमति देना।
  • पूर्व-फ़िल्टरिंग के बिना फ़्यूज़न को कच्चा शोर डेटा देना।

संक्षेप में

  • फ़्यूज़न प्रत्येक सेंसर का उपयोग आवृत्ति क्षेत्र में करता है जहां यह मजबूत है और इसकी कमजोरी की भरपाई करता है।
  • पूरक फ़िल्टर सरल है; अल्फा के साथ जाइरोस्कोप-एक्सेलेरोमीटर संतुलन स्थापित करता है।
  • कलमन फ़िल्टर मॉडल संभावित रूप से शोर करते हैं; क्यू/आर वास्तविक प्रणाली से आता है।
  • एमक्यूटीटी टेलीमेट्री में, टाइमस्टैम्पिंग और उपयुक्त क्यूओएस महत्वपूर्ण इंजीनियरिंग निर्णय हैं।
  • शोर, अंशांकन और समय तुल्यकालन संलयन की गुणवत्ता निर्धारित करते हैं।
  • dt को वास्तविक समय से मापा जाता है; अंशांकन और क्यूओएस को एआई पर छोड़े बिना सत्यापित किया जाता है।

आवेदन कार्य

IMU (वास्तविक या सिम्युलेटेड जाइरो + एक्सेलेरोमीटर डेटा) के लिए AI इंटीग्रल फ़िल्टर उत्पन्न करता है और सुनिश्चित करता है कि dt की गणना वास्तविक टाइमस्टैम्प से की जाती है। फिर: (1) 0.90, 0.98 और 1.0 के लिए अल्फा आज़माएं और बहाव और शोर संतुलन का निरीक्षण करें, (2) सेंसर में एक जानबूझकर निश्चित ऑफसेट (अंशांकन त्रुटि) जोड़ें और देखें कि फ़्यूज़न आउटपुट कैसे बहता है, (3) डेटा को एमक्यूटीटी जेएसओएन स्कीमा में परिवर्तित करें और टाइमस्टैम्प और यूनिट फ़ील्ड जोड़ें। ध्यान दें कि कौन सा अल्फ़ा मान आपके डेटा के लिए सबसे संतुलित परिणाम देता है और अंशांकन ऑफ़सेट आउटपुट को कितना विकृत करता है।