2010-05-25 26 views
11

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

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

तो मेरा सवाल है: इस तरह के वातावरण में नेविगेट करने के लिए किस तरह की तकनीकों का उपयोग किया जाता है ताकि मुझे एक चिकनी गति मिल सके?

रोबोट में दो पहियों और दो मोटर हैं। मैं मोटर्स को रिवर्स में बदलकर मोटर की दिशा बदलता हूं।

संपादित करें: मैं मोटर्स की गति को बदल सकता हूं मूल रूप से रोबोट एक आर्डिनो प्लस अर्डुमोतो है, मैं किसी भी दिशा में मोटर्स को 0-255 के बीच मूल्यों की आपूर्ति कर सकता हूं।

+2

अगर आप सभी गति बाहर चिकनी है क्या करना चाहते हैं, एक पट्टी की अवस्था की गणना के पथ का पालन किया जाना के लिए –

+0

@steven thats कोशिश वास्तव में मैं क्या चाहते हैं लेकिन मैं एक की जरूरत नहीं है क्या: विशेष व्याख्यान 7 में देखें सुराग यह है कि मैं वक्र को मोटर गति में कैसे मैप कर सकता हूं। –

+0

यह वर्तमान स्थान पर वक्र की ढलान के आधार पर एक अनुपात होगा; अनिवार्य रूप से, सीधी रेखा में 1: 1 का व्हील-मोटर-पावर अनुपात होता है, जिसमें तेज छत और अधिकार 0: 1 और 1: 0 के रूप में होते हैं। घुमावदार मोड़ इसलिए भिन्न होते हैं, इसलिए बाईं ओर एक कोमल मोड़ 0.75: 1 हो सकता है। –

उत्तर

8

आपको एक अलग चालित रोबोट के लिए प्रतिक्रिया रैखिकरण की आवश्यकता है। यह document इसे धारा 2.2 में बताता है।

नकली रोबोट प्रोजेक्ट के लिए आवश्यक एक घिरे वेग के साथ एक di एफएफ erential ड्राइव रोबोट है: मैं नीचे प्रासंगिक अंश शामिल किया है। के बाद डि एफएफ erential ड्राइव रोबोट nonholonomic कर रहे हैं, छात्रों को प्रतिक्रिया linearization उपयोग करने के लिए अपने एल्गोरिदम से विज्ञान सम्बन्धी नियंत्रण उत्पादन परिवर्तित di एफएफ erential रोबोट ड्राइव को नियंत्रित करने के लिए प्रोत्साहित किया जाता। परिवर्तन इस प्रकार है:

Transformation

जहां v, ω, एक्स, y रेखीय, कोणीय, और विज्ञान सम्बन्धी वेग कर रहे हैं। एल रोबोट के पहिया आधार आयाम के अनुपात में एक ओएफएफ लंबाई लंबाई है।

+0

धन्यवाद! सोचें कि कैश की गई प्रतिलिपि को जोड़ने के बजाय मैं इसे यहां दोबारा पोस्ट करूंगा। – Jacob

1

इस पर मेरे प्रारंभिक विचार (मैं काम में हूँ तो भी ज्यादा समय खर्च नहीं कर सकते हैं):

यह निर्भर करता है आप कैसे तंग चाहते हैं या अपने कोनों की जरूरत होने के लिए (जो कितना दूरी पर निर्भर करेगा आपके पथ खोजक आपको बाधाओं से देता है)

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

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

5

एक नियंत्रण एल्गोरिदम मेरे पास pure pursuit के साथ बहुत अच्छे परिणाम हुए हैं। असल में, रोबोट रोबोट से पहले एक निश्चित दूरी के रास्ते के साथ एक बिंदु पर जाने का प्रयास करता है। इसलिए जब रोबोट पथ के साथ चलता है, तो आगे की ओर देखो भी आगे बढ़ता है। एल्गोरिदम arcs के रूप में संभावित पथ मॉडलिंग द्वारा गैर-holonomic बाधाओं के लिए क्षतिपूर्ति करता है।

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

0

एक अनुकूलन दृष्टिकोण इसे संभालने का एक बहुत ही सामान्य तरीका है।

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

मार्क टॉसेंट के रोबोटिक्स कोर्स नोट इस प्रकार के दृष्टिकोण के लिए एक अच्छा स्रोत हैं। http://userpage.fu-berlin.de/mtoussai/teaching/10-robotics/