विषयसूची:
- चरण 1: वाहन को असेंबल करना
- चरण 2: बढ़ते मोटर्स
- चरण 3: विवाडो ब्लॉक डिज़ाइन बनाना
- चरण 4: LiDAR. के साथ संचार करना
- चरण 5: बाधाओं के साथ ग्रिड को आबाद करना
- चरण 6: मोटर्स के साथ संचार
- चरण 7: पथ योजना
वीडियो: स्वायत्त वाहन: 7 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
यह प्रोजेक्ट एक स्वायत्त रूप से नेविगेट करने वाला रोबोट है जो अपने रास्ते में आने वाली बाधाओं से बचते हुए अपने लक्ष्य की स्थिति तक पहुँचने की कोशिश करता है। रोबोट एक LiDAR सेंसर से लैस होगा जिसका उपयोग आसपास की वस्तुओं का पता लगाने के लिए किया जाएगा। जैसे ही वस्तुओं का पता लगाया जाता है और रोबोट इधर-उधर घूमता है, एक वास्तविक समय का नक्शा अपडेट किया जाएगा। मानचित्र का उपयोग उन बाधाओं के स्थानों को बचाने के लिए किया जाएगा जिनकी पहचान की गई है। इस तरह, रोबोट लक्ष्य की स्थिति के लिए असफल पथ का पुन: प्रयास नहीं करेगा। इसके बजाय यह उन रास्तों का प्रयास करेगा जिनमें या तो कोई बाधा नहीं है या ऐसे रास्ते हैं जिन्हें अभी तक बाधाओं के लिए जाँचा नहीं गया है।
रोबोट दो डीसी मोटर चालित पहियों और दो ढलाईकार पहियों से चलेगा। मोटर्स को एक गोलाकार प्लेटफॉर्म के नीचे से जोड़ा जाएगा। मोटर्स को दो मोटर चालकों द्वारा नियंत्रित किया जाएगा। मोटर चालकों को Zynq प्रोसेसर से PWM कमांड प्राप्त होगी। वाहनों की स्थिति और अभिविन्यास का ट्रैक रखने के लिए प्रत्येक मोटर पर एन्कोडर का उपयोग किया जाता है। पूरे सिस्टम को लीपो बैटरी से संचालित किया जाएगा।
चरण 1: वाहन को असेंबल करना
रोबोट साइड व्हील्स से जुड़ी दो मोटरों द्वारा संचालित होता है और फिर अतिरिक्त रूप से दो कैस्टर व्हील्स द्वारा समर्थित होता है, एक आगे और एक पीछे। प्लेटफॉर्म और मोटर माउंट शीट मेटल एल्युमिनियम से बने थे। पहियों को मोटर से जोड़ने के लिए एक मोटर हब खरीदा गया था। हालांकि, एक कस्टम इंटरमीडिएट कपलर बनाने की जरूरत थी क्योंकि हब का होल पैटर्न व्हील के होल पैटर्न से अलग था।
चयनित मोटर एक पोर्ट एस्केप 12 वी डीसी मोटर थी जिसमें एन्कोडर बनाया गया था। इस मोटर को eBay पर बहुत ही उचित मूल्य पर खरीदा जा सकता है (सामग्री का बिल देखें)। ईबे पर मोटर खोजने के लिए कीवर्ड "12V Escap 16 Coreless Geared DC Motor with Encoders" खोजें। आमतौर पर चुनने के लिए उचित मात्रा में विक्रेता होते हैं। मोटर्स के स्पेक्स और पिनआउट नीचे दिए गए चित्र में दिखाए गए हैं।
रोबोट की असेंबली चेसिस के सीएडी मॉडल डिजाइन के साथ शुरू हुई। नीचे दिया गया मॉडल चेसिस के लिए डिज़ाइन किए गए 2D आकार प्रोफ़ाइल का शीर्ष दृश्य दिखाता है।
यह सुझाव दिया जाता है कि चेसिस को 2डी प्रोफाइल के रूप में डिजाइन किया जाए ताकि इसे आसानी से निर्मित किया जा सके। हमने वाटर-जेट कटर का उपयोग करके चेसिस के आकार में एल्यूमीनियम की एक 12”X12” शीट काट दी। चेसिस प्लेटफॉर्म को बैंड आरी से भी काटा जा सकता है।
चरण 2: बढ़ते मोटर्स
अगला कदम मोटर माउंट करना है। यह सुझाव दिया जाता है कि मोटर माउंट 90-डिग्री शीट मेटल एल्युमिनियम से बने हों। इस भाग का उपयोग करके, मोटर को शीट धातु के एक चेहरे पर दो का उपयोग करके ब्रैकट लगाया जा सकता है
मोटर के M2 छेद और दूसरे चेहरे को प्लेटफॉर्म पर बोल्ट किया जा सकता है। मोटर माउंट में छेदों को ड्रिल किया जाना चाहिए ताकि मोटर माउंट पर मोटर को जकड़ने और प्लेटफॉर्म पर मोटर माउंट करने के लिए शिकंजा का उपयोग किया जा सके। मोटर माउंट को ऊपर की आकृति में देखा जा सकता है।
इसके बाद पोलोलू मोटर हब (सामग्री का बिल देखें) को मोटर शाफ्ट पर रखा गया है और प्रदान किए गए सेट स्क्रू और एलन रिंच के साथ कड़ा किया गया है। पोलोलू मोटर हब का होल पैटर्न वीईएक्स व्हील के होल पैटर्न से मेल नहीं खाता है इसलिए एक कस्टम इंटरमीडिएट कपलर बनाया जाना चाहिए। यह सुझाव दिया जाता है कि चेसिस प्लेटफॉर्म को बनाने के लिए इस्तेमाल की जाने वाली स्क्रैप शीट मेटल एल्युमीनियम का इस्तेमाल कपलर बनाने के लिए किया जाए। इस जोड़े के छेद पैटर्न और आयाम नीचे दिए गए चित्र में दिखाए गए हैं। कस्टम एल्यूमीनियम कपलर के बाहरी व्यास और आकार (एक सर्कल होने की आवश्यकता नहीं है) तब तक कोई फर्क नहीं पड़ता जब तक कि सभी छेद भाग पर फिट न हों।
चरण 3: विवाडो ब्लॉक डिज़ाइन बनाना
- एक नया विवाडो प्रोजेक्ट बनाकर शुरू करें और लक्ष्य डिवाइस के रूप में Zybo Zynq 7000 Z010 चुनें।
- अगला नया ब्लॉक डिज़ाइन बनाएं पर क्लिक करें, और Zynq IP जोड़ें। Zynq IP पर डबल क्लिक करें और Zynq के लिए प्रदान की गई XPS सेटिंग्स को आयात करें। फिर MIO कॉन्फ़िगरेशन टैब के तहत MIO 10..11 के साथ UART0 को सक्षम करें, और यह भी सुनिश्चित करें कि टाइमर 0 और वॉचडॉग टाइमर सक्षम हैं।
- ब्लॉक डिजाइन में दो AXI GPIOS जोड़ें। GPIO 0 के लिए दोहरे चैनल को सक्षम करें और दोनों को सभी आउटपुट पर सेट करें। चैनल 1 से 4 बिट्स के लिए GPIO चौड़ाई सेट करें और चैनल 2 से 12 बिट्स के लिए, इन चैनलों का उपयोग मोटर दिशा निर्धारित करने और प्रोसेसर को एन्कोडर उपायों की मात्रा भेजने के लिए किया जाएगा। GPIO 1 के लिए 4 बिट की चैनल चौड़ाई वाले सभी इनपुट के लिए केवल एक चैनल सेट करें। इसका उपयोग एन्कोडर्स से डेटा प्राप्त करने के लिए किया जाएगा। सभी GPIO पोर्ट को बाहरी बनाएं।
- इसके बाद दो AXI टाइमर जोड़ें। दोनों टाइमर बाहरी पर pwm0 पोर्ट बनाएं। ये वे pwms होंगे जो मोटरों के घूमने की गति को नियंत्रित करते हैं।
- अंत में ब्लॉक ऑटोमेशन और कनेक्शन ऑटोमेशन चलाएं। सत्यापित करें कि आपके पास जो ब्लॉक डिज़ाइन है वह प्रदान किए गए से मेल खाता है।
चरण 4: LiDAR. के साथ संचार करना
यह LiDAR UART के माध्यम से संचार करने के लिए SCIP 2.0 प्रोटोकॉल का उपयोग करता है, संलग्न फ़ाइल संपूर्ण प्रोटोकॉल का वर्णन करती है।
LiDAR के साथ संवाद करने के लिए हम UART0 का उपयोग करेंगे। LiDAR उस कोण पर किसी वस्तु की दूरी का प्रतिनिधित्व करने वाले प्रत्येक 682 डेटा बिंदु देता है। LiDAR 0.351 डिग्री के चरण के साथ काउंटर क्लॉकवाइज को -30 डिग्री से 210 डिग्री तक स्कैन करता है।
- LiDAR से सभी संचार ASCI वर्णों के साथ किया जाता है, उपयोग किए गए प्रारूप के लिए SCIP प्रोटोकॉल देखें। हम LiDAR को चालू करने के लिए QT कमांड भेजकर शुरुआत करते हैं। फिर हम UARTS 64 बाइट FIFO में फ़ीट पर एक बार में 18 डेटा बिंदुओं का अनुरोध करते हुए GS कमांड को कई बार भेजते हैं। LiDAR से लौटाए गए डेटा को तब पार्स किया जाता है और SCANdata वैश्विक सरणी में संग्रहीत किया जाता है।
- संग्रहीत प्रत्येक डेटा बिंदु एन्कोडेड डेटा के 2 बाइट्स है। इस डेटा को डिकोडर में पास करने से मिलीमीटर में दूरी वापस आ जाएगी।
Main_av.c फ़ाइल में आपको LiDAR के साथ संचार करने के लिए निम्नलिखित कार्य मिलेंगे:
भेजेंLIDARcmd (कमांड)
- यह इनपुट स्ट्रिंग को UART0. के माध्यम से LiDAR को भेजेगा
आरईवीएलआईडीएआरडेटा ()
- LiDAR को एक आदेश भेजे जाने के बाद यह डेटा प्राप्त करेगा और डेटा को RECBuffer में संग्रहीत करेगा
अनुरोधडिस्टेंसडेटा ()
- यह फ़ंक्शन सभी 682 डेटा बिंदुओं को पुनः प्राप्त करने के लिए आदेशों की एक श्रृंखला भेजेगा। 18 डेटा बिंदुओं के प्रत्येक सेट के प्राप्त होने के बाद, डेटा को पार्स करने और डेटा बिंदुओं को SCANdata में वृद्धिशील रूप से संग्रहीत करने के लिए parseLIDARinput () को कॉल किया जाता है।
चरण 5: बाधाओं के साथ ग्रिड को आबाद करना
संग्रहीत किया गया GRID एक 2D सरणी है जिसमें प्रत्येक अनुक्रमणिका मान किसी स्थान का प्रतिनिधित्व करता है। प्रत्येक सूचकांक में संग्रहीत डेटा या तो 0 या 1 है, क्रमशः कोई बाधा और बाधा नहीं है। मिलीमीटर में वर्ग दूरी जिसे प्रत्येक सूचकांक दर्शाता है, वाहन में GRID_SCALE परिभाषा के साथ बदला जा सकता है। h फ़ाइल। GRID_SIZE परिभाषा को संशोधित करके वाहन को एक बड़े क्षेत्र को स्कैन करने की अनुमति देने के लिए 2D सरणी का आकार भी भिन्न हो सकता है।
LiDAR से दूरी डेटा के एक नए सेट को स्कैन करने के बाद अपडेटग्रिड () कहा जाता है। यह स्कैनडेटा सरणी में संग्रहीत प्रत्येक डेटा बिंदु के माध्यम से यह निर्धारित करेगा कि ग्रिड में कौन से इंडेक्स में बाधाएं हैं। वाहन के वर्तमान अभिविन्यास का उपयोग करके हम उस कोण को निर्धारित कर सकते हैं जो प्रत्येक डेटा बिंदु से मेल खाता है। यह निर्धारित करने के लिए कि आप कहां बाधा हैं, फिर कोण के cos/sin से संबंधित दूरी को गुणा करें। इन दो मानों को वाहनों की वर्तमान x और y स्थिति में जोड़ने से सूचकांक बाधा के ग्रिड में वापस आ जाएगा। इस ऑपरेशन द्वारा लौटाई गई दूरी को GRID_SCALE से विभाजित करने से हम यह बदल पाएंगे कि प्रत्येक इंडेक्स की वर्ग दूरी कितनी बड़ी है।
उपरोक्त चित्र वाहनों के वर्तमान वातावरण और परिणामी ग्रिड को दिखाते हैं।
चरण 6: मोटर्स के साथ संचार
मोटर्स के साथ संवाद करने के लिए हम जीपीआईओ को नियंत्रित करने के लिए शुरू करते हैं, मोटर स्पिन की दिशा थी। फिर एएक्सआई टाइमर में पीडब्लूएम के आधार पते पर सीधे लिखना हमें अवधि और ड्यूटी चक्र जैसी चीजों को सेट करने की अनुमति देता है जो सीधे नियंत्रित करते हैं जिस गति से मोटर घूमती है।
चरण 7: पथ योजना
निकट भविष्य में लागू किया जाना है।
पहले वर्णित ग्रिड और मोटर कार्यक्षमता का उपयोग करके, ए * जैसे एल्गोरिदम को लागू करना बहुत आसान है। जैसे ही वाहन चलता है, यह आसपास के क्षेत्र को स्कैन करना जारी रखेगा और यह निर्धारित करेगा कि जिस रास्ते पर वह चल रहा है वह अभी भी मान्य है
सिफारिश की:
आपातकालीन वाहन भागने कीचेन: 11 कदम (चित्रों के साथ)
आपातकालीन वाहन भागने कीचेन: कार दुर्घटनाएं। ओह! दुर्घटना से बचने का सबसे अच्छा तरीका है सुरक्षित ड्राइविंग तकनीकों का उपयोग करना और हमेशा ध्यान देना कि आप कहाँ जा रहे हैं और अपने आस-पास की अन्य कारों पर। हालाँकि, आपके सर्वोत्तम प्रयासों के बावजूद आप अन्य ड्राइव के नियंत्रण में नहीं हैं
आरसी मॉडल वाहन को झुकाना: 21 कदम (चित्रों के साथ)
टिल्टिंग आरसी मॉडल व्हीकल: यह मॉडल 1/10 टिल्टिंग व्हीकल है जिसमें दो फ्रंट व्हील और एक रियर ड्राइव है; एक इलेक्ट्रिक मॉडल RC Arrma Vortex 1/10 से लिया गया था, जिसमें एल्यूमीनियम चेसिस का इस्तेमाल किया गया था और पूरी पीठ को हटा दिया गया था जहां उसने इलेक्ट्रिक मोटर और उसके tr को रखा था
रास्पबेरी पाई - ओपनसीवी ऑब्जेक्ट ट्रैकिंग के साथ स्वायत्त मार्स रोवर: 7 कदम (चित्रों के साथ)
रास्पबेरी पाई - ओपनसीवी ऑब्जेक्ट ट्रैकिंग के साथ ऑटोनॉमस मार्स रोवर: रास्पबेरी पाई 3 द्वारा संचालित, ओपन सीवी ऑब्जेक्ट रिकग्निशन, अल्ट्रासोनिक सेंसर और गियर डीसी मोटर्स। यह रोवर किसी भी ऐसी वस्तु को ट्रैक कर सकता है जिसके लिए उसे प्रशिक्षित किया गया है और किसी भी इलाके में आगे बढ़ सकता है
जीपीएस के साथ स्वायत्त टैंक: 5 कदम (चित्रों के साथ)
GPS के साथ स्वायत्त टैंक: DFRobot ने हाल ही में मुझे अपना डिवास्टेटर टैंक प्लेटफ़ॉर्म किट आज़माने के लिए भेजा है। इसलिए, निश्चित रूप से, मैंने इसे स्वायत्त बनाने का फैसला किया और इसमें जीपीएस क्षमताएं भी थीं। यह रोबोट नेविगेट करने के लिए एक अल्ट्रासोनिक सेंसर का उपयोग करेगा, जहां यह अपनी जांच करते समय आगे बढ़ता है
पूर्ण स्वायत्त वाहन केविन: 17 कदम (चित्रों के साथ)
केविन पूर्ण स्वायत्त वाहन: यह केविन है। यह पूर्ण स्वायत्त ड्राइव करने की क्षमता वाली रेडियो नियंत्रित कार है। मेरा पहला लक्ष्य Arduino द्वारा नियंत्रित स्वायत्त वाहन बनाना था। इसलिए मैंने सस्ते चीनी चेसिस खरीदे। लेकिन यह भयानक था क्योंकि मैं किसी भी सी को संलग्न करने में सक्षम नहीं था