दो चीज़ें।
यदि आप मैपिंग करने की योजना बनाते हैं, तो आपको एक पूर्ण स्थानीयकरण और मैपिंग (SLAM) एल्गोरिथम की आवश्यकता है। देखें: एक साथ स्थानीयकरण और मानचित्रण (SLAM): भाग I आवश्यक एल्गोरिथ्म । SLAM में, रोबोट स्थिति का अनुमान केवल आधी समस्या है। कैसे किया जाए कि एक बड़ा सवाल है जिसका उत्तर यहां दिया जा सकता है।
स्थानीयकरण (रोबोट की स्थिति का आकलन) के बारे में, यह एक कलमन फ़िल्टर के लिए कोई काम नहीं है। से संक्रमण
के लिए एक्स ( टी + 1 )x ( t ) = [ x , y, एक्स˙, वाई˙,θ,θ˙]x(t+1)कोणीय त्वरण और वेग के कारण रैखिक कार्य नहीं है। इसलिए आपको इस कार्य के लिए गैर-रैखिक अनुमानकों पर विचार करने की आवश्यकता है। हां, ऐसा करने के मानक तरीके हैं। हां, वे साहित्य में उपलब्ध हैं। हां, आम तौर पर सभी इनपुट एक ही फिल्टर में डाल दिए जाते हैं। रोबोट के स्थान, वेग, अभिविन्यास और कोणीय वेग को आउटपुट के रूप में उपयोग किया जाता है। और हाँ, मैं उनके सामान्य विषयों का संक्षिप्त परिचय यहाँ प्रस्तुत करूँगा। मुख्य टेक-वे हैं
- अपने राज्य में Gyro और IMU पूर्वाग्रह को शामिल करें या आपके अनुमानों में बदलाव होगा
- एक विस्तारित कलमन फ़िल्टर (EKF) आमतौर पर इस समस्या के लिए उपयोग किया जाता है
- कार्यान्वयन खरोंच से प्राप्त किया जा सकता है, और आमतौर पर "ऊपर देखा" होने की आवश्यकता नहीं है।
- कार्यान्वयन स्थानीयकरण और SLAM समस्या के अधिकांश के लिए मौजूद हैं, इसलिए आपके द्वारा किए गए कार्य से अधिक काम न करें। देखें: रोबोट ऑपरेटिंग सिस्टम आरओएस
अब, अपने सिस्टम के संदर्भ में ईकेएफ को समझाने के लिए। हमारे पास IMU + Gyro, GPS, और odometry है। प्रश्न में रोबोट उल्लिखित एक अंतर ड्राइव है। छानने के कार्य रोबोट की वर्तमान मुद्रा अनुमान लेने के लिए है
एक्स टी , नियंत्रण आदानों यू टी , और प्रत्येक संवेदक, से माप जेड टी , और अगली बार कदम पर अनुमान उत्पन्न
एक्स टी + 1 । हम IMU माप फोन करता हूँ मैं टी , जीपीएस है जी टी , और odometry, हे टी ।x^tutzटीएक्स^टी + १मैंटीजीटीहेटी
मुझे लगता है हम के रूप में रोबोट मुद्रा का आकलन कर रहे हैं में रुचि रखने वाले
। IMU और Gyros के साथ समस्या बहाव है। त्वरण में एक गैर-स्थिर पूर्वाग्रह है जो आपको ईकेएफ में होना चाहिए। यह पूर्वाग्रह में अनुमानित स्थिति में डालकर (आमतौर पर) किया जाता है। यह आपको प्रत्येक समय कदम पर सीधे पूर्वाग्रह का अनुमान लगाने की अनुमति देता है।
एक्स टी = एक्स , वाई , ˙ एक्स , ˙ y , θ , ˙ θ , खएक्सटी=एक्स , वाई,एक्स˙,वाई˙, θ ,θ˙एक्सटी= एक्स , वाई, एक्स˙, वाई˙, Θ , θ˙, बी, गैसों के एक वेक्टर के लिए ।ख
मैं मान रहा हूँ:
- = दो दूरी माप जो कि कुछ छोटे समय वृद्धि में यात्रा की दूरी को दर्शाती हैहेटी
- = तीन उन्मुखीकरण माप अल्फा , β , θ और तीन त्वरण माप ¨ एक्स , ¨ y , ¨ जेड ।मैंटीα , β, θएक्स¨, वाई¨, ज़ेड¨
- =वैश्विकफ्रेममें रोबोट की स्थिति,
जी एक्स टी , जी वाई टी ।जीटीजीएक्सटी,जीyटी
आमतौर पर, नियंत्रण इनपुट (प्रत्येक चलने के लिए वांछित गति) के परिणामस्वरूप आउटपुट (रोबोट के मुद्रा में परिवर्तन) के लिए मैप करना मुश्किल होता है। के स्थान में , यह सामान्य है (देखें Thrun , Odometry प्रश्न ) नियंत्रण से "परिणाम" के रूप में odometry उपयोग करने के लिए। जब आप निकट-घर्षण रहित सतह पर नहीं होते हैं तो यह धारणा अच्छी तरह से काम करती है। IMU और GPS स्लिपेज के लिए सही मदद कर सकते हैं, जैसा कि हम देखेंगे।यू
तो पहला काम वर्तमान स्थिति से अगले राज्य भविष्यवाणी करने के लिए
। डिफरेंशियल ड्राइव रोबोट के मामले में, यह भविष्यवाणी सीधे साहित्य से प्राप्त की जा सकती है (देखें कि मोबाइल रोबोट्स की किनेमैटिक्स पर या किसी आधुनिक रोबोटिक्स की पाठ्यपुस्तक में अधिक संक्षिप्त उपचार), या यहां दिखाए गए अनुसार खरोंच से व्युत्पन्न: ओडोमेट्री प्रश्न ।एक्स^टी + १= च( x)^टी, आपटी)
तो, हम अब भविष्यवाणी कर सकते हैं एक्स टी + 1 = च ( एक्स टी , हे टी ) । यह प्रचार या भविष्यवाणी कदम है। आप केवल प्रचार करके एक रोबोट संचालित कर सकते हैं। यदि मान हे टी पूरी तरह से सही हैं, तो आप एक अनुमान है कभी नहीं होगा एक्स जो वास्तव में अपने सही स्थिति के बराबर हो। व्यवहार में ऐसा कभी नहीं होता।एक्स^टी + १= च( x)^टी, ओटी)हेटीएक्स^
यह केवल पिछले अनुमान से अनुमानित मूल्य देता है, और हमें यह नहीं बताता है कि अनुमान की सटीकता समय के साथ कैसे घट जाती है। इसलिए, अनिश्चितता को फैलाने के लिए, आपको EKF समीकरणों का उपयोग करना चाहिए (जो गॉसियन शोर मान्यताओं के तहत बंद रूप में अनिश्चितता का प्रचार करते हैं), एक कण फ़िल्टर (जो नमूना-आधारित दृष्टिकोण का उपयोग करता है) *, UKF (जो एक बिंदु-वार का उपयोग करता है) अनिश्चितता का अनुमान), या कई अन्य प्रकारों में से एक है।
ईकेएफ के मामले में, हम निम्नानुसार आगे बढ़ते हैं। चलो रोबोट राज्य के सहप्रसरण मैट्रिक्स हो। हम समारोह linearize च
एक रेखीय प्रणाली प्राप्त करने के लिए टेलर सीरीज विस्तार का उपयोग। कलमन फ़िल्टर का उपयोग करके एक रैखिक प्रणाली को आसानी से हल किया जा सकता है। समय में अनुमान के सहप्रसरण मान लें टी है पी टी , और odometry में शोर के ग्रहण सहप्रसरण मैट्रिक्स के रूप में दिया जाता है यू टी
(आमतौर पर एक विकर्ण 2 × 2 की तरह, मैट्रिक्स .1 × मैं 2 × 2 )। फ़ंक्शन च के मामले में , हम याकूब को प्राप्त करते हैंपीटीचटीपीटीयूटी2 × 2.1 × I2 × 2च
औरएफयू=∂चएफएक्स= ∂च∂एक्स , फिर अनिश्चितता का प्रचार करें,एफयू= ∂च∂यू
पीटी + १= एफएक्स∗ पीटी∗ एफटीएक्स+ एफयू∗ यूटी∗ एफटीयू
मैंटीजीटी
जजी( )जमैं( )आरआरजीआरमैंज
रोंzरों
vरों= zरों- एचरों( x)^टी + १)
एसरों= एचरों∗ पीटी + १∗ जटीरों+ आररों
कश्मीर= पीटी + १∗ जटीरोंएस- 1रों
एक्स^टी + १= एक्स^टी + १- के∗ वी
पीटी + १= ( मैं- के∗ जरों) ∗ पीटी + १
zजी= एचजी( )एचजीआरजी
zमैं= एचमैं( )पीमैंआरमैंपीमैं। पूर्वाग्रह के लिए अद्यतन को शामिल करना अधिक कठिन है, और मेरी विशेषज्ञता से बाहर है। हालाँकि, जब से आप प्लांटर गति में रुचि रखते हैं, आप शायद समस्या को सरल कर सकते हैं। आपको इसके लिए साहित्य में देखना होगा।
कुछ ऑफ-द-टॉप-ऑफ-माइ-हेड संदर्भ:
ईकेएफ-आधारित दृश्य-जड़ता ओडोमेट्री की सटीकता में सुधार
बहु-रोबोट सहकारी स्थानीयकरण के लिए अवलोकन-आधारित सुसंगत ईकेएफ अनुमानक
अज्ञात गलती पूर्वाग्रह के साथ आईएनएस-जीपीएस शिथिल युग्मित प्रणाली के लिए अनुकूली दो चरण ईकेएफ
यह क्षेत्र इतना परिपक्व है कि Google (विद्वान) शायद आपको एक कार्यशील कार्यान्वयन मिल सकता है। यदि आप इस क्षेत्र में बहुत काम करने जा रहे हैं, तो मैं आपको एक ठोस पाठ्यपुस्तक चुनने की सलाह देता हूं। शायद गूगल कार की प्रसिद्धि के एस थ्रुन द्वारा प्रोबेलिस्टिक रोबोटिक्स जैसा कुछ । (मैंने इसे देर रात के कार्यान्वयन के लिए एक उपयोगी संदर्भ पाया है)।
* रोबोट ऑपरेटिंग सिस्टम (आरओएस) में कई पीएफ-आधारित अनुमानक उपलब्ध हैं
। हालाँकि, इन्हें इनडोर उपयोग के लिए अनुकूलित किया गया है। कण फिल्टर मल्टी-मोडल पीडीएफ के साथ सौदा करते हैं, जो मानचित्र-आधारित स्थानीयकरण ( इस दरवाजे या उस दरवाजे के पास मैं हूं ) से हो सकता है। मेरा मानना है कि अधिकांश आउटडोर कार्यान्वयन (विशेषकर जो जीपीएस का उपयोग कर सकते हैं, कम से कम रुक-रुक कर) विस्तारित कलमन फ़िल्टर (ईकेएफ) का उपयोग कर सकते हैं । मैंने अंतर ड्राइव के साथ एक आउटडोर, ग्राउंड रोवर के लिए विस्तारित कलामन फ़िल्टर का सफलतापूर्वक उपयोग किया है।