त्वरण जब डिवाइस झुकाव पर है


13

मैं वर्तमान में डिवाइस पर काम कर रहा हूं जो हमेशा ऑन-थ्री डी एक्सेलेरोमीटर (स्केल + -2 जी का उपयोग करके) और 3 डी जाइरोस्कोप (स्केल + -250 ग्राम का उपयोग करके)-सेंसर का उपयोग करता है।

मैं हर संभव वेक्टर (एक्स, वाई, जेड) और उनके त्वरण (जी) और कोणीय दर (डीपीएस) और उस कोण को भी पढ़ सकता हूं जहां डिवाइस वर्तमान में है। लेकिन मेरी समस्या यह है कि जब डिवाइस झुकाव पर होता है (0g जब कोई झुकाव नहीं होता है) तो त्वरण (नीचे की ओर) 0g -> - 1g या बीच (ऊपर की ओर) 0g-> 1g होता है जो कि वर्तमान में डिवाइस किस कोण पर निर्भर करता है। नीचे चित्र है कि उम्मीद है कि विचार को साफ करता है।

उम्मीद है कि यह मदद करता है

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

एक्स और वाई-एक्सिस 0g का उत्पादन करते हैं और Z अक्ष 1g है जब डिवाइस का कोई झुकाव नहीं है और सपाट सतह पर है। झुकाव X अक्ष को पढ़ने का कारण बनता है यदि 1g की ओर जाता है यदि झुकाव ऊपर की ओर है और -1g नीचे की ओर है। जब डिवाइस मूल स्थिति से 90 * डिग्री पर होता है, तो + -1 जी पहुंच जाता है

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

मूल रूप से मुझे लगता है कि अगर मैं केवल एक्स अक्ष त्वरण (चित्र) को माप सकता था, भले ही सेंसर तस्वीर की तरह झुकाव में हो।

उम्मीद है कि यह संदेश मेरे अंग्रेजी कौशल और जिस तरह से मैं अपनी समस्या को समझाने की कोशिश कर रहा हूं, उसके कारण बहुत मुश्किल नहीं है।


2
जब कोई दिलचस्प त्वरण नहीं हो रहा है, तो आप सिर्फ माप क्यों नहीं करते हैं और एक तुलना बिंदु के रूप में इसका उपयोग करते हैं?
प्लाज़्मा एचएच

मुझे लगता है कि काम नहीं करेगा। यदि डिवाइस पूरी तरह से अभी भी एक्स और वाई अक्ष 0 जी और जेड अक्ष 1 जी है। झुकाव के कारण X अक्ष पढ़ना -1g से 1g तक झुकाव पर निर्भर करता है, जैसे मैंने कहा था। ब्रेकिंग के कारण एक्स अक्ष मापा मूल्य घट जाता है (नकारात्मक त्वरण तो कार धीमा हो रहा है)। यदि डिवाइस पहले से ही उदाहरण के लिए नीचे की ओर झुका हुआ है, तो यह 0g - (-1g) के बीच कुछ है मैं कैसे बता सकता हूं कि यह ब्रेकिंग के कारण त्वरण नहीं है?
जंबोझोन

आप केवल Y- अक्ष के बजाय तीन अक्षों के कुल त्वरण की गणना क्यों नहीं करते हैं? मुझे लगता है कि सभी तीन कुल्हाड़ियों पर विचार करने के लिए बुनियादी कुछ है !? कुछ इस
चारणसाई

LSM6DSM में मैग्नेटोमीटर नहीं होता है। आपको यह जानकारी कहां से मिली? मुझे लगता है कि आप वास्तव में ST से X-NUCLEO-IKS01A1 बोर्ड का उपयोग कर रहे हैं, जिसमें LSM6DSM गायरो / एक्सेलेरोमीटर और एक LIS3MDL मैग्नेटोमीटर दोनों हैं।
मृगम्बर

@MrGerber उस पर ध्यान देने के लिए धन्यवाद। सेंसर की डेटशीट को गलत तरीके से फैलाना मेरा बुरा था।
जंबोझोन

जवाबों:


18

केवल एक समाधान का एक स्केच।

सभी 3 कुल्हाड़ियों को ध्यान में रखें।

गुरुत्वाकर्षण के कारण त्वरण, झुकाव की परवाह किए बिना, हमेशा X, Y, Z के वेक्टर योग के रूप में 1G होगा, चाहे कोई भी झुकाव हो। आप रेस्ट या स्थिर गति पर त्वरण को त्रिज्या 1G के साथ एक क्षेत्र के रूप में देख सकते हैं। (यदि आप पूरी तरह से क्षैतिज हैं, तो वह बिंदु (0, 0, -1) होगा यानी सीधे आपके नीचे)।

ब्रेकिंग के कारण त्वरण क्षेत्र को विकृत कर देगा; X, Y, Z का वेक्टर योग अब 1G नहीं होगा।

इसलिए

A=X2+Y2+Z2

आपको कुल त्वरण देता है। यदि यह जी के बराबर है तो आप आराम कर रहे हैं; अन्यथा आप तेजी ला रहे हैं, और , G का सदिश योग है और सही त्वरण है।A

अब आपको वास्तविक त्वरण का पता लगाना होगा जो आम तौर पर आगे (या पीछे की ओर) दिशा में एक वेक्टर होगा जो और G. के बीच का अंतर बताता है । आपको ( G) से G के गोले पर कुछ बिंदु निकालने की आवश्यकता है (उम्मीद है कि अद्वितीय) समाधान) केवल एक एक्स (आगे / पिछड़े) घटक के साथ वेक्टर। वह तुम्हारा त्वरण है। (मैं त्रिकोणमिति को एक सरल पहेली के रूप में छोड़ूंगा, उम्मीद है कि विचार स्पष्ट है)।AA

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


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

सही होने के दौरान मुझे एक मजबूत संदेह है कि त्रुटि मार्जिन महत्वपूर्ण होने जा रहा है। यह भी मत भूलो कि ऊर्ध्वाधर त्वरण क्षेत्र को विकृत करेगा (जैसे गति धक्कों, गड्ढे) ताकि आपको आवेदन के आधार पर इसके लिए हल करने की आवश्यकता हो।
क्रिस एच

लेकिन गुरुत्वाकर्षण स्थिर नहीं है यदि आप पर्याप्त रूप से कठिन दिखते हैं । जबकि अमेरिका में सबसे ऊंची सड़क $ जी $ को लगभग 0.1% तक कम करती है, लेकिन ध्रुवों से भूमध्य रेखा तक जाने में 0.5% का अंतर आता है। भूविज्ञान भी परिमाण के इस क्रम का अंतर बना सकता है । संभवतः गेम-चेंजर नहीं है
क्रिस एच

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

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

9

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

लेकिन मेरी समस्या यह है कि जब डिवाइस झुकाव पर होता है (0g जब कोई झुकाव नहीं होता है) तो त्वरण नीचे (नीचे) 0g -> - 1g या बीच (ऊपर की ओर) 0g-> 1g के बीच होता है।

नहीं। यह बात है। आप जो कह रहे हैं वह एक्सेलेरोमीटर आउटपुट के एक्स घटक के लिए सही हो सकता है, लेकिन कार के आराम के समय यह त्वरण के लिए सही नहीं है।

आदर्श मापा त्वरण हमेशा कार (पृथ्वी के सापेक्ष) का वास्तविक त्वरण होगा, साथ ही गुरुत्वाकर्षण के कारण 1 ग्राम त्वरण। उत्तरार्द्ध हमेशा ऊपर की दिशा में होता है। यदि आप कार के उन्मुखीकरण को जानते हैं, तो आप गुरुत्वाकर्षण के कारण इस 1 जी को घटा सकते हैं, जिस त्वरण को आप वास्तव में ढूंढ रहे हैं।

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


गुरुत्वाकर्षण के कारण (मापा) त्वरण "अप" दिशा में नहीं होगा? जैसा कि, पृथ्वी के गुरुत्वाकर्षण में आराम से आप जिस उपकरण से पढ़ेंगे, वह उसी तरह होगा जैसे आप किसी गुरुत्वाकर्षण क्षेत्र से बाहर निकलेंगे, लेकिन (डिवाइस-सापेक्ष) "अप" दिशा में तेजी ला रहे हैं?
भजन

@psmears: हाँ, आप सही कह रहे हैं। बल नीचे की ओर है, लेकिन स्पष्ट त्वरण ऊपर की ओर है। फिक्स्ड।
ओलिन लेथ्रोप

5

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

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

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

आपके पास जितना अधिक डेटा होगा, और जितना अधिक आप कार के भौतिकी को मॉडल कर सकते हैं, उतना सटीक यह अनुमान बन सकता है।

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

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

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

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

आप जानते हैं कि क्या चालक ब्रेक मारता है, यह त्वरण वेक्टर को स्थानांतरित करने जा रहा है, और आप इसे अनुमानित "डाउन" घटक से घटा सकते हैं।

या यदि आपके पास GPS और मैप डेटा है, तो आप स्थान के आधार पर कार के ढलान का अनुमान शामिल कर सकते हैं। यदि आपके पास उच्च सटीकता डेटा है, तो आप ठीक से जान सकते हैं कि वाहन किस पहाड़ी पर है। यदि आपके पास केवल कम सटीकता डेटा है, तो यह अभी भी उपयोगी हो सकता है। उदाहरण के लिए यदि कार कैनसस में है, तो पहाड़ियों की संभावना नहीं है। यदि कार सैन फ्रांसिस्को में है, तो पहाड़ियों की संभावना अधिक है और आप एक्सेलेरोमीटर कम वजन दे सकते हैं।

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

और इसी तरह। जितना अधिक आप जानते हैं, उतना बेहतर आपका अनुमान हो सकता है।


3

आपको एक फ्यूजन एल्गोरिथ्म की आवश्यकता होगी और 3 डी-एक्सेलेरोमीटर, 3 डी-गायरो और 3 डी-चुंबकीय सेंसर का उपयोग करना होगा। इस संलयन एल्गोरिथ्म के साथ आप दृष्टिकोण प्राप्त करते हैं, पृथ्वी का गुरुत्वाकर्षण क्षितिज का पता लगाने में मदद करता है - पिच / यव / रोल कोण। अन्य दो सेंसर मैग / जाइरो डायनामिक मूवमेंट को फिल्टर करने में मदद करते हैं। जैसे-जैसे आप कार बाएं / दाएं मुड़ेंगे, .. केन्द्रापसारक बल जुड़ जाएगा। एक बार जब आपके पास दृष्टिकोण होता है, तो आप गुरुत्वाकर्षण वेक्टर को घटा सकते हैं और तीनों अक्षों में परिणामी त्वरण को जोड़ सकते हैं।


3

एक बहुत ही मूल दृष्टिकोण के रूप में, आप त्वरण के निरंतर भाग (जो गुरुत्वाकर्षण से मेल खाती है) को समाप्त करने के लिए एक उच्च-पास फिल्टर का उपयोग कर सकते हैं और चर का हिस्सा रख सकते हैं जो कार की गतिशीलता के कारण होता है। मान लीजिए rawकि एक वेक्टर है जिसमें आपका X, Y और Z माप है, और accगुरुत्वाकर्षण के बिना कार त्वरण है। फिर

void correct_for_gravity(float *raw, float *acc)
{
   const float k = 0.9;
   static float gravity[3];

   gravity[0] = k * gravity[0] + (1 - k) * raw[0];
   gravity[1] = k * gravity[1] + (1 - k) * raw[1];
   gravity[2] = k * gravity[2] + (1 - k) * raw[2];

   acc[0] = raw[0] - gravity[0];
   acc[1] = raw[1] - gravity[1];
   acc[2] = raw[2] - gravity[2];
}

व्यक्तिगत घटक accअभी भी झुकाव से प्रभावित हैं, लेकिन वेक्टर मानक नहीं है:

norm_acc = sqrt(acc[0]*acc[0] + acc[1]*acc[1] + acc[2]*acc[2]);

बेशक, यह विधि बहुत सटीक नहीं है, खासकर अगर झुकाव उच्च दर पर बदलता है। यह के बारे में के रूप में दूर के रूप में भोले गणित तुम हो जाता है। यदि आपको बेहतर परिशुद्धता की आवश्यकता है, तो कलमन फ़िल्टर का उपयोग करना सीखें।


1

जवाब "धीमा" की सटीक परिभाषा में निहित है ।

आपके प्रश्न से:

डिवाइस एक कार में स्थित होगा और कार को धीमा (ब्रेक) होने पर त्वरण को मापना चाहिए।

हालाँकि, धीमा होना समान ब्रेकिंग नहीं है । इसकी दो संभावित परिभाषाएँ हैं:

  1. जमीन के सापेक्ष कार की गति कम हो रही है।
  2. कार के ब्रेक लगाए जा रहे हैं।

यह अंतर उतार और चढ़ाव में महत्वपूर्ण है। डाउनहिल में, ब्रेक लगाने पर कार की गति बढ़ेगी। और ऊपर उठने में, ब्रेक न लगाने पर भी गति धीमी हो सकती है।

यह पता चला है कि 1. का पता लगाना बहुत मुश्किल है। 2. कुल्हाड़ियों को कार के अभिविन्यास के सापेक्ष परिभाषित करते हैं: X: फ्रंट-बैक दिशा, Y: बाएं-दाएं दिशा, Z: अप-डाउन दिशा। सभी कुल्हाड़ियों को कार से जोड़ा गया।

समाधान:

  1. परिभाषा 1 के लिए, सबसे अच्छा तरीका यह माना जाता है कि कार की गति केवल एक्स दिशा में बदल सकती है। तब मापा त्वरण a = g + v जहां g गुरुत्वाकर्षण का मुकाबला करने वाली शक्तियों के कारण त्वरण है, और v वेग परिवर्तन के कारण त्वरण है। आप मान सकते हैं कि जी की लंबाई हमेशा 9.8 m / s and के बराबर होती है, और वह v हमेशा X दिशा में होता है। तो (g_x + v_x, g_y, g_z) = (a_x, a_y, az) , जो v_x = a_x - sqrt ((9.8m / s²) ² - g_y² - g_z²) देता है । यह केवल तब तक काम करेगा जब तक v | v | से कम है | जी |, या दूसरे शब्दों में, मोटर या ब्रेक के कारण त्वरण 1G से कम है। जब तक आपकी कार में रॉकेट बूस्टर न हो, तब तक बहुत सुरक्षित अनुमान होना चाहिए।

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


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.