विषयसूची:

$10:4 चरणों में अपने ड्रोन हावभाव को नियंत्रित करें
$10:4 चरणों में अपने ड्रोन हावभाव को नियंत्रित करें

वीडियो: $10:4 चरणों में अपने ड्रोन हावभाव को नियंत्रित करें

वीडियो: $10:4 चरणों में अपने ड्रोन हावभाव को नियंत्रित करें
वीडियो: 14 RC Helicopters Reviews in 14 Days - Biggest Beginner RC Helicopter Comparison of 2021! 2024, नवंबर
Anonim
Image
Image
$10. में अपने ड्रोन हावभाव को नियंत्रित करें
$10. में अपने ड्रोन हावभाव को नियंत्रित करें
$10. में अपने ड्रोन हावभाव को नियंत्रित करें
$10. में अपने ड्रोन हावभाव को नियंत्रित करें

यह निर्देशयोग्य आपके R / C ड्रोन को $ 10 से कम में एक जेस्चर नियंत्रित ड्रोन में बदलने के लिए एक गाइड है!

मैं एक ऐसा व्यक्ति हूं जो विज्ञान-फाई फिल्मों से बहुत प्रेरित है और फिल्म में तकनीक को वास्तविक जीवन में दिखाने की कोशिश करता हूं। यह परियोजना दो ऐसी फिल्मों से प्रेरणा है: "स्टार वार्स: द एम्पायर स्ट्राइक्स बैक" और "प्रोजेक्ट अल्मनैक"। दोनों फिल्मों में, आप एक उड़ती हुई वस्तु (एक्स-विंग स्टारशिप और एक आर/सी ड्रोन) देखते हैं, जिसे सिर्फ हाथ की गति से नियंत्रित किया जाता था। इसने मुझे कुछ ऐसा ही बनाने के लिए प्रेरित किया …

जाहिर है मेरे पास एक्स-विंग नहीं है, इसलिए, दुर्भाग्य से, मुझे अपने मिनी आर/सी क्वाडकोप्टर के साथ काम करना है।

तो योजना है - मेरे लैपटॉप पर एक इमेज प्रोसेसिंग स्क्रिप्ट चल रही होगी जो लगातार मेरे हाथ की तलाश करेगी और वीडियो फ्रेम में अपनी स्थिति को ट्रैक करेगी। एक बार जब यह हाथ के निर्देशांक प्राप्त कर लेता है, तो यह ड्रोन को संबंधित संकेत भेजेगा और यह एक NRF24L01 2.4GHz ट्रांसीवर मॉड्यूल के साथ लैपटॉप से जुड़े Arduino का उपयोग करके किया जाएगा जो किसी भी R/C ड्रोन के रिसीवर बोर्ड के साथ सीधे संचार कर सकता है।.

आपूर्ति

  • वेबकैम और पायथन के साथ लैपटॉप/डेस्कटॉप कंप्यूटर स्थापित। (मैं अपने डब्ल्यू इंडोज लैपटॉप का उपयोग इसके अंतर्निर्मित वेबकैम के साथ कर रहा हूं और पायथन 2.7.14 चला रहा हूं)
  • 2.4Ghz फ़्रीक्वेंसी पर चलने वाला कोई भी R/C ड्रोन। (मेरे मामले में JJRC H36)
  • Arduino UNO अपने प्रोग्रामिंग केबल के साथ। (मैं इसके क्लोन का उपयोग कर रहा हूं क्योंकि यह सस्ता है)
  • NRF24L01 2.4GHz एंटीना वायरलेस ट्रांसीवर मॉड्यूल। (मैंने इसे यहां से सिर्फ ₹99 ($1.38) में खरीदा है)
  • 24L01 वायरलेस मॉड्यूल के लिए 3.3V एडेप्टर बोर्ड। (मैंने इसे यहां से केवल ₹49 ($0.68) में खरीदा है)
  • पुरुष से महिला जम्पर तार x7

चरण 1: आपूर्ति इकट्ठा करो

आपूर्ति इकट्ठा करो!
आपूर्ति इकट्ठा करो!

चरण 2: Arduino के साथ NRF मॉड्यूल का कनेक्शन

Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन
Arduino के साथ NRF मॉड्यूल का कनेक्शन

अब जैसा कि आपके पास सभी भाग हैं, आइए Arduino के साथ NRF मॉड्यूल को वायरिंग करना शुरू करें।

  1. सबसे पहले, एडेप्टर पर दिए गए स्लॉट में NRF मॉड्यूल डालें। इसके लिए आप ऊपर दिए गए चित्र को देख सकते हैं।
  2. उसके बाद, पुरुष से महिला तारों को लें और NRF एडेप्टर को Arduino से इस प्रकार कनेक्ट करें: (ऊपर सर्किट आरेख देखें)

    • NRF अडैप्टर पिन - Arduino Pin
    • वीसीसी - 5वी
    • जीएनडी - जीएनडी
    • सीई - डिजिटल पिन 5
    • सीएसएन - एनालॉग पिन 1
    • एससीके - डिजिटल पिन 4
    • एमओ - डिजिटल पिन 3
    • एमआई - एनालॉग पिन 0
    • आईआरक्यू - इस्तेमाल नहीं किया गया
  3. एक बार कनेक्शन हो जाने के बाद, Arduino प्रोग्रामिंग USB केबल का उपयोग करके Arduino को अपने पीसी से कनेक्ट करें और आप लगभग कर चुके हैं।

चरण 3: आइए कोडिंग में प्रवेश करें

आइए कोडिंग में प्रवेश करें!
आइए कोडिंग में प्रवेश करें!
आइए कोडिंग में प्रवेश करें!
आइए कोडिंग में प्रवेश करें!

अब शुरू होता है कठिन हिस्सा…!!!

मैंने अपना पूरा कोड खुद नहीं बनाया है। इसके बजाय, मैंने अलग-अलग डेवलपर्स से कोड के कुछ हिस्से और बिट्स लिए हैं और उन सभी को थोड़ा सा ट्विकिंग के साथ एक में एकीकृत किया है। इसलिए, सभी मूल रचनाकारों को उचित श्रेय दिया जाता है।

आप यहां संलग्न सभी कोड डाउनलोड कर सकते हैं, और इसे काम कर सकते हैं। या फिर आप मेरे जीथब रिपोजिटरी में जा सकते हैं, जहां मैं बेहतर ट्रैकिंग के लिए लगातार नवीनतम कोड अपडेट करता रहूंगा।

हाथ ट्रैकिंग:

इस प्रोजेक्ट में हैंड ट्रैकिंग के लिए Haar Cascade क्लासिफायर का इस्तेमाल किया गया है। हार कैस्केड को नकारात्मक छवियों के एक सेट पर सकारात्मक छवि को सुपरइम्पोज़ करके प्रशिक्षित किया जाता है। और यह प्रशिक्षित डेटा आमतौर पर ".xml" फ़ाइलों में संग्रहीत किया जाता है। आपको इंटरनेट पर लगभग किसी भी चीज की क्लासिफायर फाइल मिल सकती है या आप अपनी खुद की फाइल भी बना सकते हैं। इस परियोजना के लिए, जैसा कि हमें इसे हाथ के हावभाव-नियंत्रित बनाने की आवश्यकता थी, मैंने अपने हाथ का पता लगाने के लिए अरविंद नांबिसन द्वारा बनाए गए "क्लोज्ड_फ्रंटल_पालम.एक्सएमएल" नामक एक फिस्ट क्लासिफायर का उपयोग किया। आप मेरे रेपो में "hand_live.py" कोड चलाकर इस कोड का परीक्षण कर सकते हैं।

अपने ड्रोन से मिलान करने के लिए NRF24 कोड चुनना:

तो आपके ड्रोन के निर्माता और मॉडल के अनुसार, आप पेरी त्साओ द्वारा बनाए गए Github रिपॉजिटरी - "nrf24_cx10_pc" का उल्लेख कर सकते हैं, ताकि चलाने के लिए उचित Arduino कोड का चयन किया जा सके जो इसकी आवृत्ति से मेल खाएगा। उन्होंने पीसी पर अपने CX10 ड्रोन को नियंत्रित करने के लिए एक अच्छा ट्यूटोरियल बनाया है।

जैसा कि मैं JJRC H36 ड्रोन का उपयोग कर रहा था, मैंने एक और Github रिपॉजिटरी - "nrf24_JJRC_H36_pc" को संदर्भित किया, जो कि पेरी त्साओ के रेपो का एक कांटा था जिसे लुईस कॉर्निक ने पीसी पर अपने JJRC H36 को नियंत्रित करने के लिए बनाया था।

Arduino तैयार करना:

मैंने लुईस के रेपो को अपने जीथब पर फोर्क किया जिसे आप क्लोन कर सकते हैं यदि आप उसी ड्रोन पर काम कर रहे हैं। हर बार जब हम अपनी पायथन स्क्रिप्ट चलाते हैं, तो इसे अपने ड्रोन से जोड़ने के लिए आपको अपने Arduino Uno पर एक बार "nRF24_multipro.ino" कोड अपलोड करना होगा।

परीक्षण सीरियल संचार:

उसी रेपो में, आपको एक कोड "serial_test.py" भी मिल सकता है, जिसका उपयोग Arduino के साथ Python स्क्रिप्ट के सीरियल कम्युनिकेशन का परीक्षण करने के लिए किया जा सकता है और यदि आपका ड्रोन युग्मित हो जाता है या नहीं। अपने Arduino बोर्ड के COM पोर्ट के अनुसार कोड में COM पोर्ट को बदलना न भूलें।

एक कोड में सब कुछ एकीकृत करना:

इसलिए मैंने इन सभी कोड को अलग-अलग डेवलपर्स द्वारा एकीकृत किया और अपना खुद का कोड "handserial.py" बनाया। यदि आप ठीक वही काम कर रहे हैं जो मैं ठीक उसी ड्रोन के साथ कर रहा हूं, तो आप सीधे इस कोड को चला सकते हैं और फिर आप हवा में अपनी मुट्ठी घुमाकर अपने ड्रोन को नियंत्रित कर सकते हैं। कोड पहले वीडियो फ्रेम में मुट्ठी के लिए ट्रैक करता है। मुट्ठी के वाई-निर्देशांक के आधार पर, कोड थ्रॉटल मान को ड्रोन को भेजता है जिससे यह ऊपर या नीचे जाता है और इसी तरह मुट्ठी के एक्स-समन्वय के आधार पर, कोड एयलरॉन मान को ड्रोन को भेजता है जिससे यह बाएं या दाएं जाता है.

चरण 4: लेखक का नोट

इस परियोजना के संबंध में मैं विशेष रूप से 4 बिंदुओं का उल्लेख करना चाहूंगा:

  1. जैसा कि पहले बताया गया है, यह कोड पूरी तरह से मेरे द्वारा नहीं बनाया गया है, लेकिन मैं इस पर लगातार काम कर रहा हूं और अपने जीथब रिपोजिटरी पर बेहतर ट्रैकिंग के लिए कोड को अपडेट करता रहूंगा। तो किसी भी प्रश्न या अपडेट के लिए, आप रिपॉजिटरी पर जा सकते हैं या मुझे इंस्टाग्राम पर पिंग कर सकते हैं।
  2. वर्तमान में, हम लैपटॉप के वेबकैम का उपयोग कर रहे हैं जो ड्रोन के दृश्य के परिप्रेक्ष्य की अनुमति नहीं देता है, लेकिन यदि आवश्यक हो, तो ड्रोन पर लगे कैमरों का उपयोग ट्रैकिंग उद्देश्य के लिए भी किया जा सकता है। यह एक बेहतर दृष्टिकोण और अंततः बेहतर नियंत्रण रखने में मदद करेगा।
  3. इस परियोजना के लिए, मैं एक JJRC H36 ड्रोन का उपयोग कर रहा हूं जो बाजार में उपलब्ध सबसे सस्ते ड्रोनों में से एक है, इसलिए इसमें जाइरोस्कोपिक स्थिरता का अभाव है। यही कारण है कि आपको लग सकता है कि वीडियो में गति डगमगा रही है, लेकिन अगर आप अच्छी स्थिरता के साथ एक अच्छी गुणवत्ता वाले ड्रोन का उपयोग कर रहे हैं, तो आपको इस समस्या का सामना नहीं करना पड़ेगा।
  4. मैं कंप्यूटर विज़न और ड्रोन नियंत्रण के इर्द-गिर्द टिंकर करना चाहता था, इसलिए मैंने इस परियोजना के साथ शुरुआत की। लेकिन कंप्यूटर विज़न पर काम करने के बाद, मुझे लगता है कि ड्रोन को नियंत्रित करने के लिए यह इष्टतम समाधान नहीं है। इस प्रकार, मैं भविष्य में ड्रोन को नियंत्रित करने के लिए Gyro सेंसर के साथ किसी प्रकार का दस्ताने-प्रकार का उपकरण बनाने की योजना बना रहा हूं। तो अपडेट के लिए बने रहें…

अगर आपको यह ट्यूटोरियल पसंद आया हो, तो कृपया इसे लाइक और शेयर करें और इसके लिए वोट भी करें।

अभी के लिए बस इतना ही.. जल्द ही मिलते हैं अगली बार…

सिफारिश की: