यह आलेख एक उदाहरण परियोजना को कवर करेगा जो VEXlink का उपयोग करके रोबोट से रोबोट संचार की स्थिति और जेटसन की स्थिति की रिपोर्ट करने वाला एक डैशबोर्ड प्रदर्शित करता है। ai_demo परियोजना हमारे Githubपर होस्ट की गई है। यह डेमो प्रोजेक्ट USB सीरियल कनेक्शन के माध्यम से जेटसन प्रोसेसर से डेटा एकत्र करता है। एक बार डेटा प्राप्त हो जाने पर इसे V5 ब्रेन की स्क्रीन पर प्रदर्शित किया जाता है और साथ ही इसे VEXlink के माध्यम से जुड़े हुए एक सहयोगी V5 रोबोट को भी प्रेषित किया जाता है।

नोट: इस परियोजना के लिए V5 के लिए VS कोड एक्सटेंशन के नवीनतम संस्करण की आवश्यकता है। V5 के लिए VS कोड एक्सटेंशन यहां से डाउनलोड करें.


NVIDIA Jetson Nano से VEX V5 ब्रेन कम्युनिकेशंस

जेटसन प्रोसेसर में एक एप्लिकेशन होता है जो VEX AI सॉफ्टवेयर से निम्नलिखित डेटा एकत्र करता है:

VEX AI के उपयोग की प्रक्रिया को दर्शाने वाला आरेख, V5 रोबोटिक्स प्रणालियों में प्रभावी कार्यान्वयन के लिए प्रमुख घटकों और कार्यप्रवाह को प्रदर्शित करता है।

रोबोट स्थान डेटा:

  • क्षेत्र के केंद्र से मीटर में रोबोट का X,Y स्थान।
  • रोबोट का अजीमुथ (हेडिंग), एलिवेशन (पिच), रोटेशन (रोल) सभी रेडियन में।

ऑब्जेक्ट डिटेक्शन डेटा (तीन प्रकार):

VEX AI प्रणाली घटकों और उनकी अंतःक्रियाओं को दर्शाने वाला आरेख, यह दर्शाता है कि VEX AI किस प्रकार V5 श्रेणी में रोबोटिक्स कार्यक्षमता को बढ़ाता है।

छवि पहचान (प्रकार एक):
  • यह डेटा VEX AI इंटेल कैमरा द्वारा पता लगाई गई वस्तु का प्रतिनिधित्व करता है।
  • यह डेटा कैमरे की छवि के संदर्भ में वस्तु का वर्णन करता है।
  • X, Y, चौड़ाई और ऊँचाई के मान पिक्सेल की इकाइयों में हैं। पिक्सेल मान छवि और ऑब्जेक्ट डिटेक्शन बॉक्स के ऊपरी बाएं कोने के संदर्भ में हैं। छवि का रिज़ॉल्यूशन 640x480 है.

 

V5 श्रेणी विवरण के भाग के रूप में, VEX AI की विशेषताओं और घटकों को दर्शाने वाला आरेख, रोबोटिक्स में इसके अनुप्रयोगों और लाभों पर प्रकाश डालता है।

मानचित्र संसूचन (प्रकार दो):

  • यह डेटा, मीटर में रिपोर्ट किए गए GPS सेंसर के समान निर्देशांक प्रणाली में क्षेत्र पर वस्तु के स्थान को दर्शाता है।
  • प्रत्येक वस्तु में क्षेत्र के केंद्र के सापेक्ष वस्तु का स्थान भी शामिल होता है। X और Y के मान उनके संबंधित अक्ष पर क्षेत्र के केंद्र से मीटर की इकाइयों में हैं। Z का मान फ़ील्ड टाइल्स (ऊंचाई) से मीटर है।

पता लगाने वाली वस्तु (प्रकार तीन):

VEX AI प्रणाली घटकों और उनकी अंतःक्रियाओं को दर्शाने वाला आरेख, V5 रोबोटिक्स प्लेटफॉर्म के भीतर प्रमुख विशेषताओं और कार्यात्मकताओं पर प्रकाश डालता है।

  • इसमें पता लगाई गई वस्तुओं के बारे में समस्त जानकारी समाहित होती है।
  • प्रत्येक ऑब्जेक्ट में एक मान होता है जो पता लगाई गई ऑब्जेक्ट के वर्गीकरण को दर्शाता है। (क्लास आईडी: 0 = ग्रीनट्राइबॉल, 1 = रेडट्राइबॉल, 2 = ब्लूट्राइबॉल)
  • प्रत्येक वस्तु में एक संभावना भी होती है जो पता लगाने में VEX AI के विश्वास को दर्शाती है। यह model.py में एक फिल्टर के बाद है जो कम संभावना वाले डिटेक्शन को हटा देता है।
  • इसके अलावा, VEX AI इंटेल कैमरा से वस्तु की गहराई मीटर में रिपोर्ट की जाती है।
  • छवि पहचान और मानचित्र पहचान प्रत्येक वस्तु से जुड़ी होती है, जो छवि पर तथा वास्तविक दुनिया में वस्तु के निर्देशांकों को प्रदर्शित करती है।

ai_demo कार्यक्रम का विवरण:

मुख्य.सीपीपी

V5 श्रेणी में VEX AI की विशेषताओं और कार्यात्मकताओं को दर्शाने वाला आरेख, यह दर्शाता है कि रोबोटिक्स अनुप्रयोगों के लिए प्रौद्योगिकी का प्रभावी ढंग से उपयोग कैसे किया जाए।

VEX परियोजनाओं के लिए मानक में शामिल हैं:

VEX AI प्रणाली घटकों और उनकी अंतःक्रियाओं को दर्शाने वाला आरेख, VEX AI का उपयोग अनुभाग में V5 श्रेणी विवरण के भाग के रूप में।

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

#परिभाषित करें प्रबंधक_रोबोट 1

V5 रोबोटिक्स के संदर्भ में VEX AI की विशेषताओं और घटकों को दर्शाने वाला आरेख, प्रमुख कार्यात्मकताओं और उपयोग दिशानिर्देशों पर प्रकाश डालता है।

robot_link वर्ग का एक उदाहरण घोषित करें. इस ऑब्जेक्ट का उपयोग इस रोबोट और एक सहयोगी रोबोट के बीच डेटा को जोड़ने और स्थानांतरित करने के लिए किया जाएगा। इसी प्रोजेक्ट को दो अलग-अलग रोबोटों पर डाउनलोड किया जा सकता है। एक रोबोट को निम्नलिखित पंक्ति की आवश्यकता होगी:

//#परिभाषित करें MANAGER_ROBOT 1

दूसरे रोबोट पर कोड लोड करने से पहले, आपको उस पंक्ति पर टिप्पणी करनी होगी:

रोबोट_लिंक वर्ग रोबोट के VEXlink को सेट करता है और दो रोबोटों के बीच डेटा के प्रेषण और प्राप्ति को संभालता है। इस लेख में हम इस बात पर विस्तार से नहीं जाने वाले हैं कि वह वर्ग किस प्रकार काम करता है। सबसे पहले यह समझना अच्छा होगा कि VEXlink कैसे काम करता है। V5 VEXlink API का उपयोग करने के बारे में अधिक विस्तृत जानकारी के लिए, यह दस्तावेज़ नई लाइब्रेरीज़ और रोबोट-से-रोबोट संचार के लिए उन्हें प्रभावी ढंग से उपयोग करने के तरीके के बारे में बताता है।

  • प्रतियोगिता इवेंट संचालक

    V5 रोबोटिक्स प्रणाली में VEX AI की विशेषताओं और घटकों को दर्शाने वाला आरेख, रोबोट प्रदर्शन और प्रोग्रामिंग को बढ़ाने के लिए इसकी क्षमताओं पर प्रकाश डालता है।

    VAIC और VRC के बीच सबसे बड़ा अंतर यह है कि इसमें ड्राइवर नियंत्रण अवधि नहीं होती। इसके बजाय दो स्वायत्त अवधियाँ हैं, अलगाव अवधि और अंतःक्रिया अवधि। इस उदाहरण में, प्रत्येक स्वायत्त अवधि के लिए अलग-अलग रूटीन हैं। चूंकि VEX API दो अलग-अलग कॉलबैक का समर्थन नहीं करता है, इसलिए प्रोग्राम में एक फ्लैग होना आवश्यक है जो यह निर्धारित करे कि कौन सा रूटीन निष्पादित किया जाना है। इस उदाहरण प्रोग्राम में, “firstAutoFlag” का उपयोग आइसोलेशन फ़ंक्शन को कॉल करने के लिए किया जाता है जब पहली बार स्वायत्त सक्षम होता है, और इंटरैक्शन फ़ंक्शन को तब कॉल करने के लिए किया जाता है जब स्वायत्त दूसरी बार सक्षम होता है। ध्यान देने योग्य बात यह है कि यदि किसी कारणवश मैच को रीसेट करने की आवश्यकता हो, तो डेमो प्रोग्राम को पुनः आरंभ करना होगा ताकि firstAutoFlag को रीसेट किया जा सके।

  • मुख्य()

    V5 श्रेणी के अंतर्गत VEX AI की विशेषताओं और कार्यात्मकताओं को दर्शाने वाला आरेख, उन्नत रोबोटिक्स प्रोग्रामिंग और स्वचालन के लिए प्रमुख घटकों और उनकी अंतःक्रियाओं पर प्रकाश डालता है।

    यह इस परियोजना का मुख्य कार्य है। यह VEXcode वातावरण को सही ढंग से सेट करने के लिए vexcodeInit() को कॉल करके शुरू होता है। इसके बाद, जेटसन से प्राप्त डेटा को संग्रहीत करने के लिए एक स्थानीय AI_RECORD ऑब्जेक्ट घोषित किया जाता है। स्क्रीन को नवीनतम डेटा से अपडेट करने के लिए एक अलग कार्य भी निर्धारित किया गया है। उस कार्य के लिए कोड dashboard.cpp फ़ाइल में निहित है। स्वायत्त कॉलबैक को भी स्वायत्त अवधियों के आरंभ होने पर संभालने के लिए पंजीकृत किया जाता है।

    मुख्य while() लूप jetson_comms ऑब्जेक्ट से नवीनतम डेटा को हमारे स्थानीय AI_RECORD ऑब्जेक्ट में कॉपी करके शुरू होता है। इसके बाद यह रोबोट की स्थान संबंधी जानकारी लिंक ऑब्जेक्ट को भेजता है, ताकि इसे हमारे पार्टनर रोबोट तक पहुंचाया जा सके। एक बार जब यह डेटा का प्रसंस्करण कर लेता है, तो यह जेटसन से और अधिक डेटा का अनुरोध करता है और 66 मिलीसेकंड के लिए सो जाता है। इस डेटा के लिए मतदान दर 15Hz है। चूंकि AI सिस्टम का डेटा लगभग 15Hz पर अपडेट होता है, इसलिए तेजी से मतदान करने का कोई कारण नहीं है।

    नोट: जेटसन मानचित्र डेटा को केवल एक ही कार्य द्वारा अनुरोधित करने की आवश्यकता है।

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: