2015-12-15 9 views
5

का उपयोग कर ट्रैकिंग स्थिति और वेग ट्रैकिंग मैं किसी ऑब्जेक्ट की पोस्टियन और वेग को ट्रैक करने के लिए एक कलमैन फ़िल्टर (निरंतर वेग मॉडल) का उपयोग कर रहा हूं। मैं ऑब्जेक्ट के x, y को मापता हूं और एक्स, वाई, वीएक्स, vy ट्रैक करता हूं। कौन सा काम करता है लेकिन यदि सेंसर रीडिंग्स x, y, vx, vy में 20 मिमी का एक जोड़ गौसियन शोर उतार-चढ़ाव करता है, भले ही बिंदु सिर्फ शोर नहीं चल रहा हो। उस स्थान के लिए जो मेरी आवश्यकताओं के लिए पर्याप्त है लेकिन बिंदु स्थिर होने पर वेग बदलता है और इससे मेरी ऑब्जेक्ट की गति गणना में समस्याएं आ रही हैं। क्या इस समस्या के आसपास कोई रास्ता है? अगर लगातार त्वरण मॉडल में स्विचिंग इस पर सुधार हो? मैं एक कैमरे के माध्यम से एक रोबोट ट्रैकिंग कर रहा हूँ।एक कलमैन फ़िल्टर

मैं opencv कार्यान्वयन उपयोग कर रहा हूँ और मेरे kalman मॉडल के रूप में [1]

[1] http://www.morethantechnical.com/2011/06/17/simple-kalman-filter-for-tracking-using-opencv-2-2-w-code/

उत्तर

2

एक Kalman फिल्टर को डिजाइन करने के बारे में सबसे महत्वपूर्ण बात यह नहीं है, डेटा यह त्रुटि अनुमान है एक ही है। उस उदाहरण में मैट्रिस मनमाने ढंग से चुने जाते हैं, लेकिन आपको उन्हें अपने सिस्टम के विशिष्ट ज्ञान का उपयोग करके चुनना चाहिए। विशेष रूप से:

  • त्रुटि कॉन्वर्सिस में इकाइयां हैं। यह मानक विचलन वर्ग है। तो आपकी स्थिति त्रुटि "लंबाई वर्ग" और "लम्बाई प्रति वर्ग वर्ग" में वेग में है। उन मैट्रिक्स में मान अलग-अलग होंगे, चाहे आप एम या मिमी में काम करते हों या नहीं।
  • आप "निरंतर वेग" मॉडल को कार्यान्वित कर रहे हैं, लेकिन उदाहरण से "processNoiseCov" दोनों स्थिति और वेग प्रक्रिया शोर के लिए समान मान सेट करता है। इसका मतलब यह है कि आप अपनी वेग, के बारे में गलत होने के कारण आपकी स्थिति के बारे में गलत हो सकते हैं और आप गलत हो सकते हैं क्योंकि ऑब्जेक्ट इस तरह से टेलीपोर्ट किया गया है जो वेग से स्वतंत्र है। एक सीवी मॉडल में आप उम्मीद करेंगे कि स्थिति प्रक्रिया शोर बहुत कम होगा (मूल रूप से नॉनजेरो केवल संख्यात्मक कारणों के लिए और मॉडलिंग त्रुटि को कवर करने के लिए) और सिस्टम की वास्तविक अज्ञात गति को अज्ञात वेग के लिए जिम्मेदार ठहराया जाएगा। यह समस्या स्थिति इनपुट से वेग को कम करने की केएफ की क्षमता में भी हस्तक्षेप करती है, क्योंकि स्थिति की "टेलीपोर्टेशन त्रुटि" को वेग परिवर्तन के लिए जिम्मेदार नहीं ठहराया जाता है।
  • यदि आप +/- 20 मिमी त्रुटि में डाल रहे हैं (यदि आप आदर्श व्यवहार को अनुकरण करना चाहते हैं तो आपको वास्तव में गॉसियन शोर में डाल देना चाहिए) आपके पास 11.5 मिमी का अनुमानित मानक विचलन है या (11.5 मिमी)^2 का एक भिन्नता है । यह नहीं जानना कि आपकी इकाइयां क्या हैं (मिमी या एम) मैं नहीं कह सकता कि "माप नोजिसकोव" का संख्यात्मक मूल्य क्या होना चाहिए, लेकिन यह 0.1 नहीं है (उदाहरण के रूप में)।

और अंत में, यहां तक ​​कि सभी सही के साथ, ध्यान रखें कि केएफ आखिरकार एक रैखिक फ़िल्टर है। जो भी शोर आप डालते हैं वह आउटपुट में दिखाई देगा, बस कुछ कारक (कलामन लाभ) द्वारा बढ़ाया जाएगा।

संबंधित मुद्दे