बाधा परिहार
इस ब्लॉग में, हम प्रदर्शित करते हैं कि रास्पबेरी पाई और एक स्फेरो आरवीआर रोवर का उपयोग करके हमारी बाधा परिहार एल्गोरिथ्म को कैसे चलाया जाए। प्राथमिक लक्ष्य बाधाओं का पता लगाने और उनसे बचने के दौरान अपने परिवेश का पता लगाना है। यह एल्गोरिथ्म बाधाओं की पहचान करने के लिए बाधा का पता लगाने एल्गोरिथ्म का उपयोग करता है। अधिक जानकारी के लिए, आप बाहर की जाँच कर सकते हैं पिछला ब्लॉग.
रास्पबेरी पाई + स्फेरो आरवीआर रोवर सेटअप नीचे दिखाया गया है। मूवमेंट को लगातार रिकॉर्ड करने के लिए सामने मोबाइल कैमरा लगाया गया था।
We आउटपुट प्राप्त करने के लिए एक पायथन कोड चलाते हैं, स्रोत कोड नीचे पाया जा सकता है।
GitHub से API स्रोत कोडइसका उपयोग करने के लिए आपके पास सदस्यता कुंजी होनी चाहिए, आप इसे चेक आउट कर सकते हैं परिचय ब्लॉग पर कैसे अपनी नि: शुल्क सदस्यता कुंजी प्राप्त करने के लिए.
रोवर को चलाने के लिए, हमें 4 सेटिंग्स को समायोजित करने की आवश्यकता है।
- MinSafeDistanceFactor: यह रोवर और किसी भी दिशा में बाधा के बीच न्यूनतम सुरक्षित दूरी निर्दिष्ट करने के लिए है। यह 0.1 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ्रेम की पंक्ति के आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं, यानी यदि मान 0.5 है, तो आधी छवि के लिए कोई बाधा मौजूद नहीं होनी चाहिए। यह ध्यान रखना महत्वपूर्ण है कि छवि में रोवर के लिए केंद्र सबसे नीचे पंक्ति और मध्य स्तंभ है।
- MinPathWidthFactor: यह रोवर के लिए न्यूनतम सुरक्षित दूरी बिंदु पर पार करने के लिए बाधाओं के बीच उपलब्ध न्यूनतम पथ चौड़ाई निर्दिष्ट करने के लिए है। यह 0.1 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ्रेम के स्तंभ आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं, यानी यदि मान 0.5 है, तो कम से कम आधी छवि न्यूनतम दूरी बिंदु पर बाधा मुक्त है।
- MinObjectHeightFactor: यह वैध माना जाने के लिए बाधा की न्यूनतम ऊंचाई निर्दिष्ट करने के लिए है। यह 0.1 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ़्रेम की पंक्ति आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं। यह किसी भी नकली पिक्सेल या बाधाओं के कारण झूठी सकारात्मकता से बचने के लिए है जिसे पार किया जा सकता है।
- MinObjectWidthFactor: यह मान्य माना जाने के लिए बाधा की न्यूनतम चौड़ाई निर्दिष्ट करने के लिए है। यह 0.1 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ़्रेम के स्तंभ आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं। यह किसी भी नकली पिक्सेल या बाधाओं के कारण झूठी सकारात्मकता से बचने के लिए है जिसे पार किया जा सकता है।
आउटपुट में तीन पैरामीटर हैं:
- BestDirectionAngle: यह उस कोण को निर्दिष्ट करता है जिसमें कम से कम बाधाएं होती हैं। यह मान -90 से +90 तक हो सकता है. 0 डिग्री का कोण दिशा में कोई बदलाव नहीं करने से मेल खाता है, नकारात्मक कोण फ्रेम के बाईं ओर सबसे अच्छी दिशा से मेल खाता है और धनात्मक कोण फ्रेम के दाईं ओर सबसे अच्छी दिशा से मेल खाता है।
- MaxDistanceFactor: यह सबसे अच्छी दिशा में बाधा के लिए मापा अधिकतम दूरी निर्दिष्ट करता है। यह 0 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ़्रेम की पंक्ति आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं।
- MaxPathWidthFactor: यह सर्वोत्तम दिशा में बाधाओं के बीच उपलब्ध अधिकतम पथ चौड़ाई निर्दिष्ट करता है। यह 0 से 1 तक एक फ़्लोटिंग पॉइंट नंबर है। मान छवि फ़्रेम के स्तंभ आकार के कारक के रूप में दूरी का प्रतिनिधित्व करते हैं।
यदि सभी सेट थ्रेशोल्ड से सहमत एक ट्रैवर्सेबल पथ सफलतापूर्वक पहचाना जाता है, तो 'StatusFlag' 1 वापस आ जाएगा, अन्यथा यह 0 वापस आ जाएगा।
नमूना इनपुट और संसाधित आउटपुट छवियों को नीचे संदर्भ के लिए दिखाया गया है
छवियां मूल छवि और संसाधित छवि को सबसे अच्छा रास्ता दिखाती हैं। संसाधित छवि में, एक हरा शंकु एक मान्य पथ का प्रतिनिधित्व करता है और एक लाल एक ऐसे पथ का प्रतिनिधित्व करता है जो सभी शर्तों को पूरा नहीं करता है।
इसका एक नमूना वीडियो नीचे देखा जा सकता है। इन के लिए सेटिंग्स हैं
- MinSafeDistanceFactor = 0.5
- MinPathWidthFactor = 0.4
- MinObjectHeightFactor = 0.1
- MinObjectWidthFactor = 0.1
इस कार्यान्वयन में, कुछ अतिरिक्त शर्तें हैं जिन्हें किसी भी बाधा से बचने के लिए रखा गया था। यदि सबसे अच्छी दिशा केंद्र से 45 डिग्री से ऊपर है, तो सभी बाधाओं को तुरंत पहचानना संभव नहीं है क्योंकि दृश्य का क्षेत्र प्रतिबंधित है। ऐसे मामलों में, रोवर नई दिशा में बदल जाता है और एक पुष्टि की प्रतीक्षा करता है यदि पथ बाधा मुक्त है। यदि हां, तो यह नई दिशा में पार करना जारी रखता है, अन्यथा, यह घुमाएगा और पुष्टि की प्रतीक्षा करेगा।
हमारे अगले ब्लॉग में, हम दिखाते हैं कि आईआर का उपयोग करके रात में बाधा परिहार एल्गोरिथ्म कैसे काम करता है।