एक ईकेएफ की कल्पना और डिबगिंग


22

मैं वर्तमान में एक ईकेएफ (एक्सटेंडेड कलमन फ़िल्टर) डिबगिंग और ट्यूनिंग कर रहा हूं। यह कार्य शास्त्रीय मोबाइल रोबोट पोज ट्रैकिंग है जहां लैंडस्केप एआर मार्कर हैं।

कभी-कभी मुझे आश्चर्य होता है कि कुछ माप अनुमान को कैसे प्रभावित करते हैं। जब मैं देखता हूं और इसमें शामिल संख्याओं और मैट्रिसेस की गणना करता हूं, तो मैं यह पता लगा सकता हूं कि अपडेट कदम को कैसे निष्पादित किया गया, क्या और क्यों हुआ, लेकिन यह बहुत थकाऊ है।

तो मुझे आश्चर्य है कि अगर कोई ईकेएफ अपडेट कदम में क्या हो रहा है, इसका बेहतर अनुभव पाने के लिए कोई तकनीक, चाल या चतुर दृश्य का उपयोग कर रहा है?

अद्यतन # 1 (अधिक विशिष्ट होगा और मेरे मन में जो कुछ भी है उसका पहला सन्निकटन दिखाएगा)

मैं जिस चीज की तलाश कर रहा हूं, वह एक तरह से एक अद्यतन कदम की कल्पना करने का एक तरीका है जो मुझे यह महसूस कराता है कि माप के प्रत्येक घटक राज्य के प्रत्येक घटक को कैसे प्रभावित करता है।

मेरा पहला विचार माप को प्लॉट करना है और यह K मैट्रिक्स से लिए गए कुछ वैक्टर के साथ मिलकर भविष्यवाणी है। K के वैक्टर यह दर्शाते हैं कि नवप्रवर्तन वेक्टर (माप - माप भविष्यवाणी, प्लॉट नहीं) राज्य के प्रत्येक घटक को प्रभावित करेगा।

वर्तमान में मैं एक ईकेएफ के साथ काम कर रहा हूं जहां राज्य 2 डी पोज (एक्स, वाई, कोण) है और माप भी 2 डी पोज हैं।

अपडेट स्टेप का प्लॉट

संलग्न छवि में (इसे नए पृष्ठ / टैब में पूर्ण रिज़ॉल्यूशन में देखने के लिए खोलें), (स्केल किया हुआ) वेक्टर K (1,1: 2) (3x3 मैट्रिक्स से सबमेट्रिक्स लेने के लिए MATLAB सिंटैक्स) एक विचार देना चाहिए कि पहला कैसे ईकेएफ राज्य का घटक वर्तमान नवाचार वेक्टर, के (2,1: 2) के साथ बदल जाएगा कि ईकेएफ का दूसरा घटक कैसे बदल जाएगा, आदि। इस उदाहरण में, नवाचार वेक्टर में अपेक्षाकृत बड़ा x घटक है और इसके साथ गठबंधन किया गया है। वेक्टर K (2,1: 2) - राज्य का दूसरा घटक (y निर्देशांक) सबसे बदल जाएगा।

इस भूखंड में एक समस्या यह है कि यह इस बात का एहसास नहीं देता है कि नवाचार वेक्टर का तीसरा घटक (कोण) राज्य को कैसे प्रभावित करता है। राज्य का पहला घटक थोड़ा बढ़ जाता है, जो K (1: 1: 2) के विपरीत इंगित करता है - नवाचार का तीसरा घटक इसका कारण बनता है, लेकिन वर्तमान में मैं यह कल्पना नहीं कर सकता।

पहला सुधार यह कल्पना करना होगा कि नवाचार का तीसरा घटक राज्य को कैसे प्रभावित करता है। फिर यह महसूस करना अच्छा होगा कि के मैट्रिक्स को बनाने के लिए कोविरेंस डेटा को कैसे जोड़ा जाए।

अद्यतन # 2 अब प्लॉट में राज्य-स्थान में वैक्टर हैं जो दिखाते हैं कि माप के प्रत्येक घटक स्थिति को कैसे बदलते हैं। इस साजिश से, मैं देख सकता हूं कि माप का तीसरा घटक राज्य को सबसे अधिक बदलता है।

राज्य-अंतरिक्ष में माप के प्रत्येक घटक के अनुरूप वैक्टर जोड़े गए


आप गज़ेबो डेटा पर ईकेएफ का अनुकरण करने का प्रयास कर सकते हैं।
नरेश

अपडेट @Ian के लिए धन्यवाद और खेद है कि मुझे नोटिस करने में इतना समय लगा। * 8 ')
मार्क बूथ

जवाबों:


4

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

यह करने के लिए:

मैं दीर्घवृत्त की साजिश करने के लिए इनमें से एक या अधिक कार्यों का उपयोग करता हूं । स्थिरांक खोजने के लिए,, ध्यान दें कि वे सहसंयोजक मैट्रिक्स के प्रतिजन के वर्गमूल हैं। फिर कोण का नमूनाθ ऊपर [0,2π]और परिकल्पना से सीमा पाते हैं। लिंक किए गए समीकरण का उपयोग करना। मैं विशेष रूप से इस समीकरण का उपयोग करने की सलाह देता हूं :

आर(θ)=क्योंकि2θ+पाप2θ

पूर्व परिकल्पना, मापा स्थिति, और पीछे की परिकल्पना के सहसंयोजक को ट्रैक करना आमतौर पर यह पता लगाने के लिए पर्याप्त है कि क्या ईकेएफ के समीकरणों को सही तरीके से लागू किया जा रहा है।

सौभाग्य, और अपने प्रश्न को बार-बार अपडेट न करें। इसके बजाय, नए सवालों के साथ वापस आएं।


0

कुछ ऐसा जो अक्सर किया जाता है वह है समय के साथ-साथ उनके 3-सिग्मा अंतराल के साथ राज्य के चर की साजिश करना। पॉइंट्स जहां यह अंतराल सिकुड़ता है, वे अपडेट हैं, जहां आप संभवतः माप के स्रोत को एनोटेट कर सकते हैं।

कार्यान्वयन में त्रुटियां होने के अलावा, जिनकी जाँच की जानी चाहिए (न केवल गलत समीकरण, बल्कि संख्यात्मक रूप से अस्थिर समीकरण भी), अद्यतनों का प्रभाव केवल "अपेक्षित" और "मापा" और उनकी संबंधित अनिश्चितताओं के बीच के अंतर से सीधे प्रभावित होता है। तो आप पहले प्लॉट में समय की प्रगति के संदर्भ में इस संतुलन की कल्पना करने का एक तरीका खोज सकते हैं।

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