8

मेरे पास कच्चे एक्स, वाई और जेड रीडआउट्स का उत्पादन करने वाला प्रत्येक एक्सेलेरोमीटर और मैग्नेटोमीटर है। इससे मुझे किसी वस्तु के चुंबकीय शीर्षक को निर्धारित करने की आवश्यकता है।कच्चे एक्सेलेरोमीटर और मैग्नेटोमीटर डेटा का उपयोग कर चुंबकीय शीर्षक की गणना

मैं ट्रिगर में इतना अच्छा नहीं हूं, लेकिन मैंने एक सूत्र तैयार किया है जो डिवाइस के घूर्णन के लिए बहुत अच्छा प्रतिक्रिया देता है, लेकिन उस आंदोलन का भी जवाब देता है जो किसी को नहीं लगता कि प्रासंगिक है, जैसे कि इस तरह से डिवाइस जिस दिशा में इसकी ओर इशारा किया गया है उस पर कोई प्रभाव नहीं पड़ता है। जैसे कि इसे फ्लैट रखना और डिवाइस को "रोलिंग" करना।

मुझे लगता है कि चुंबकीय शीर्षक की गणना करने के लिए मेरे पास सूत्र है ठीक है, लेकिन मुझे लगता है कि इनपुट के लिए मेरी पिच और रोल रेडियंस गलत हैं।

तो मुझे लगता है कि मेरे प्रश्न का मूल (जब तक किसी के पास वास्तव में ऐसा कोई सूत्र नहीं है), तो आप पिच और रोल के लिए एक्सेलेरोमीटर का उपयोग करके रेडियंस में कोणों की गणना कैसे करते हैं।

फिर दूसरी बात, हेडिंग फॉर्मूला पर कोई भी जानकारी स्वयं महान होगी।

+0

आप किस ऑब्जेक्ट की गणना करने की कोशिश कर रहे हैं, और किस वस्तु के सापेक्ष? क्या मुझे लगता है कि आप एक फोन के बारे में बात कर रहे हैं? – Seth

उत्तर

2

सटीकता आपके आवेदन की आवश्यकता पर निर्भर करता है, आप कई समस्याओं को हल करने की आवश्यकता हो सकती:

  1. accelerometer कुल्हाड़ियों कैलिब्रेटेड रहे हैं? मैंने एमईएम एक्सेलेरोमीटर को देखा है जिसमें धुरी थी जो पारस्परिक रूप से लंबवत नहीं थीं, और प्रत्येक अक्ष के लिए काफी अलग प्रतिक्रिया विशेषताओं (आमतौर पर एक्स और वाई मेल खाते थे, और ज़ेड अलग-अलग होंगे)। आपको अपने डिवाइस द्वारा प्रदान किए जाने वाले भौतिक पढ़ने से आदर्श XYZ अक्ष को संश्लेषित करने की आवश्यकता होगी। (Google 'एक्सीलरोमीटर अंशांकन')

  2. क्या मैग्नेटोमीटर अक्ष कैलिब्रेटेड हैं? ऊपर की तरह ही समस्या, जांच करने के लिए बहुत कठिन है: वर्दी कैलिब्रेटेड चुंबकीय क्षेत्रों को उत्पन्न करना बहुत मुश्किल है। यदि आप परिवेश भूगर्भीय क्षेत्र का उपयोग करते हैं, तो आपको अपने काम के माहौल और अपने उपकरणों के स्थानीय चुंबकत्व को सावधानी से नियंत्रित करने की आवश्यकता होगी। (Google 'मैग्नेटोमीटर अंशांकन')

  3. एक्सेलेरोमीटर और मैग्नेटोमीटर को व्यक्तिगत रूप से कैलिब्रेटेड करने के बाद, उनके अक्षों को एक-दूसरे के सापेक्ष कैलिब्रेटेड करने की आवश्यकता होती है। चूंकि इन दोनों उपकरणों को आमतौर पर पीसीबी को बेचा जाता है, इसलिए लगभग महत्वपूर्ण गलत संरेखण होने की गारंटी है। कई मामलों में, बोर्ड लेआउट और डिवाइस पैरामीटर XYZ अक्ष को एक-दूसरे के अनुरूप होने की अनुमति भी नहीं दे सकते हैं! यह प्रयोगशाला परिप्रेक्ष्य से करने का सबसे कठिन हिस्सा हो सकता है, इसलिए मैं आपको अन्य हार्डवेयर का उपयोग करके प्रत्यक्ष तुलना करने की सलाह दूंगा जिसमें दोनों प्रकार के सेंसर हैं और पहले से ही कैलिब्रेटेड हैं (जैसे आईफोन या एंड्रॉइड फोन - लेकिन पहले डिवाइस को सत्यापित करें उपयोग)। आम तौर पर, यह पहले दो अंशांकन मैट्रिक्स को समायोजित करके पूरा किया जाता है जब तक वे वेक्टर उत्पन्न नहीं करते हैं जो एक दूसरे के सापेक्ष सही तरीके से गठबंधन होते हैं।

  4. आप पारस्परिक रूप से कैलिब्रेटेड चुंबकीय और एक्सेलेरोमीटर वैक्टर उत्पन्न करने के बाद ही आप अन्य उत्तरदाताओं द्वारा सुझाए गए समाधानों को लागू कर सकते हैं।

मैं केवल स्थिर समाधान, जहां दोनों मैग्नेटोमीटर और accelerometer स्थानीय गुरुत्वाकर्षण और चुंबकीय क्षेत्र को स्थिर रिश्तेदार हैं वर्णन किया है। यदि सिस्टम तेजी से चल रहा है, तो आपको रीयल-टाइम में प्रतिक्रियाएं उत्पन्न करने की आवश्यकता है, तो आपको प्रत्येक सेंसर के समय व्यवहार के लिए खाते की आवश्यकता होगी। ऐसा करने के दो बुनियादी तरीके हैं: 1) प्रत्येक सेंसर में समय-डोमेन फ़िल्टर लागू करें ताकि उनके आउटपुट एक सामान्य समय डोमेन साझा करें (आमतौर पर कुछ देरी जोड़ते हैं)। 2) रीयल-टाइम में सेंसर आउटपुट को संशोधित करने के लिए पूर्वानुमानित मॉडलिंग का उपयोग करें (कम देरी, लेकिन अधिक शोर)।

मैंने कलमैन फ़िल्टर को ऐसे अनुप्रयोगों के लिए उपयोग किया है, लेकिन वेक्टर डोमेन में उन्हें लागू करने के लिए यूलर मैट्रिस के बजाय quaternions का उपयोग करने की आवश्यकता हो सकती है। Quaternions computationally (matrices की तुलना में कम संचालन की आवश्यकता) का उपयोग करना आसान है, लेकिन मैंने उन्हें समझने और सही पाने के लिए और अधिक कठिन पाया।

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

एक कैलिब्रेटेड संदर्भ डिवाइस (ऊपर उल्लिखित) का उपयोग करके, इसे डिवाइस के साथ कैलिब्रेटेड करने के लिए जोड़ दें, और विभिन्न उन्मुखताओं पर डिवाइस के साथ कई सौ डेटा पॉइंट लें। फिर रूपांतरण मैट्रिस बनाने के लिए nonlinear समीकरणों को स्थापित और हल करने के लिए एक मैटलैब, मैथैकैड, आर या SciPy जैसे शक्तिशाली गणित पैकेज का उपयोग करें।

+0

पीएस: मैंने इस आखिरी हिस्से को करने के लिए एक सस्ती कम्प्यूटरीकृत टेलीस्कोप बेस का उपयोग किया है: इसे मैन्युअल रूप से करना वास्तव में करने योग्य नहीं है। – BobC