2009-07-26 13 views
16

मेरे पास xyz accelerometer और magnetometer है। अब मैं दोनों का उपयोग कर डिवाइस के अभिविन्यास को निर्धारित करना चाहता हूं। समस्या यह है कि डिवाइस अभिविन्यास के आधार पर, मुझे अलग-अलग क्रम में सेंसर का उपयोग करने की आवश्यकता होगी।पूर्ण अभिविन्यास कैसे निर्धारित करें

मुझे एक उदाहरण दें। अगर मेरे पास डिवाइस का सामना करना पड़ रहा है तो रोल और पिच दोनों में परिवर्तन एक्सेलेरोमीटर के साथ निर्धारित किया जा सकता है। जब मैं मैग्नेटोमीटर का उपयोग करता हूं।

लेकिन अगर मैं डिवाइस को क्षैतिज रूप से रखता हूं (यानी इसे छत का सामना करना पड़ता है, तो 9 0º चालू करें) तो अप वेक्टर (अब क्षैतिज) में कोई भी परिवर्तन नोटिस नहीं है, क्योंकि एक्सीलरोमीटर किसी भी बदलाव का पता नहीं लगाता है। यह अब मैग्नेटोमीटर के साथ पता लगाया जा सकता है।

तो प्रश्न यह है कि कैसे एक या दूसरे का उपयोग करना है। क्या यह दोनों सेंसर के साथ पर्याप्त है या मुझे कुछ और चाहिए?

धन्यवाद

उत्तर

1

मुझे लगता है कि सवाल "जब एक या अन्य उपयोग करने के लिए कैसे निर्धारित करने के लिए" गुमराह है। आपको हमेशा उन्मुख के लिए सेंसर दोनों का उपयोग करना चाहिए। ऐसे मामले हैं जहां उनमें से एक बेकार है। हालांकि, ये किनारे के मामले हैं।

+0

धन्यवाद। ऐसा लगता है कि मैं इस सवाल से बहुत स्पष्ट नहीं था। मुझे अच्छी तरह से पता है कि मुझे सभी मामलों में त्वरक और मैग्नेटोमीटर दोनों का उपयोग करने की आवश्यकता है, समस्या यह है कि कुछ मामलों में यह पर्याप्त प्रतीत नहीं होता है। –

+0

मुझे दोबारा एक समान उदाहरण का उपयोग करने दो: मान लीजिए कि मेरे पास स्क्रीन का सामना करने के साथ लंबवत सेल फोन है, "अप" वेक्टर छत पर इशारा करते हुए।जब भी मैं झुकाता हूं, एक्सेलेरोमीटर मुझे "अप" वेक्टर जानकारी प्राप्त करने की अनुमति देता है। समस्या यह है कि अगर मैं डिवाइस को झुकाता हूं और इसे क्षैतिज रूप से रखता है (स्क्रीन अब छत का सामना कर रही है, और "ऊपर" वेक्टर जहां मैं हूं) के विपरीत इंगित करता हूं, तो अगर मैं फ़ोन घुमाता हूं तो ऊपर वेक्टर अपडेट नहीं होता है मेज पर क्षैतिज रूप से। यह ऐसा कुछ है जो अब चुंबकमीटर द्वारा स्पष्ट रूप से पता चला है। तो सवाल यह है कि, प्रत्येक मामले के लिए एसी या मैग का उपयोग कहां से किया जाए? –

1

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

पिच एक्सेलेरोमीटर से पढ़ा जा सकता है।

कार्डिनल बिंदुओं के अनुसार अभिविन्यास को एक कंपास से पढ़ा जा सकता है।

अपने सॉफ़्टवेयर में सही गणित के साथ सही ढंग से इन दो सेंसर से आउटपुट का संयोजन करने से आपको पूर्ण अभिविन्यास मिल जाएगा।

मुझे लगता है कि यह संभव है कि जिस तरह से।

शुभकामनाएं।

17

कुंजी दो वैक्टर, गुरुत्वाकर्षण और चुंबकमीटर के क्रॉस उत्पाद का उपयोग करना है। क्रॉस उत्पाद दोनों के लिए एक नया वेक्टर लंबवत देता है। इसका मतलब है कि यह क्षैतिज (लंबवत नीचे) और उत्तर से 9 0 डिग्री दूर है। अब आपके पास तीन ऑर्थोगोनल वैक्टर हैं जो अभिविन्यास को परिभाषित करते हैं। यह थोड़ा बदसूरत है क्योंकि वे सभी लंबवत नहीं हैं लेकिन इसे ठीक करना आसान है। यदि आप गुरुत्वाकर्षण वेक्टर के साथ इस नए वेक्टर को वापस पार करते हैं जो गुरुत्वाकर्षण वेक्टर और चुंबक विमान वेक्टर के लिए लंबवत तीसरा वेक्टर देता है। अब आपके पास तीन लंबवत वैक्टर हैं जो आपके 3 डी अभिविन्यास समन्वय प्रणाली को परिभाषित करते हैं। मूल एक्सेलेरोमीटर (गुरुत्वाकर्षण) वेक्टर जेड (ऊपर/नीचे) परिभाषित करता है और दो क्रॉस उत्पाद वैक्टर उन्मुख के पूर्व/पश्चिम और उत्तर/दक्षिण घटकों को परिभाषित करते हैं।

+0

मैंने वाई के लिए एक्सेलेरोमीटर (जेड) और मैग्नेटोमीटर (चुंबकीय एक्स) को पार करने के बारे में सोचा, फिर स्थानीय एक्स प्राप्त करने के लिए ज़ेड और वाई को पार करना। मुझे आश्चर्य है कि कोई भी ऐसा क्यों नहीं कर रहा है; इसके बजाय हर कोई एक्स/वाई विमान में झुकाव मुआवजे पर भरोसा करता है। – sunside

+1

क्योंकि यह नरक के रूप में जटिल है और आप लोग इसके बारे में बात करते हैं और हमें नहीं बताते कि एक कारण क्यों हो सकता है। हमें कोड दिखाओ। – SpaceDog

2

यहाँ कुछ प्रलेखन है कि इस परियोजना के माध्यम से चलता है है। जैसा कि अन्य उत्तरों से स्पष्ट है, गणित मुश्किल हो सकता है। http://www.freescale.com/files/sensors/doc/app_note/AN4248.pdf

0

यदि आपको अभी भी पूर्ण अभिविन्यास की आवश्यकता है तो आप इस ब्रेक आउट बोर्ड को एडफ्रूट से देख सकते हैं: https://www.adafruit.com/products/2472। इस बारे में अच्छी बात यह है कि बोर्ड के लिए आपके पास सभी गणना करने के लिए एआरएम कॉर्टेक्स-एम 0 प्रोसेसर है।