सुनिश्चित करें कि आपके पास रंग हस्ताक्षर और रंग कोड आपके एआई विजन सेंसर के साथ कॉन्फ़िगर किए गए हैं ताकि उनका उपयोग आपके ब्लॉक के साथ किया जा सके। इन्हें कॉन्फ़िगर करने के तरीके के बारे में अधिक जानने के लिए, आप नीचे दिए गए लेख पढ़ सकते हैं:
- VEXcode V5 में AI विज़न सिग्नेचर के साथ रंगीन हस्ताक्षर कॉन्फ़िगर करना
- VEXcode V5 में AI विज़न सेंसर के साथ रंग कोड कॉन्फ़िगर करना
एआई विजन सेंसर एआई वर्गीकरण और अप्रैलटैग का भी पता लगा सकता है। इन पहचान मोडों को सक्षम करने का तरीका जानने के लिए यहां जाएं:
AI विज़न सेंसर से दृश्य डेटा प्राप्त करें
प्रत्येक AI विज़न सेंसर कमांड कॉन्फ़िगर किए गए AI विज़न सेंसर के नाम से शुरू होगा। इस आलेख में दिए गए सभी उदाहरणों के लिए, प्रयुक्त AI विज़न सेंसर का नाम ai_vision_1होगा।
आशुचित्र लें
take_snapshot विधि, AI विज़न सेंसर द्वारा वर्तमान में देखी जा रही वस्तु का चित्र लेती है तथा उस स्नैपशॉट से डेटा खींचती है, जिसका उपयोग किसी परियोजना में किया जा सकता है। जब स्नैपशॉट लिया जाता है, तो आपको यह निर्दिष्ट करना होगा कि AI विज़न सेंसर को किस प्रकार की वस्तु का डेटा एकत्र करना चाहिए:
- एरंग हस्ताक्षर यारंग कोड
- ये विज़ुअल हस्ताक्षर AI विज़न सेंसर के नाम, डबल अंडरस्कोर और फिर विज़ुअल हस्ताक्षर के नाम से शुरू होते हैं, उदाहरण के लिए:
ai_vision_1__Blue।
- ये विज़ुअल हस्ताक्षर AI विज़न सेंसर के नाम, डबल अंडरस्कोर और फिर विज़ुअल हस्ताक्षर के नाम से शुरू होते हैं, उदाहरण के लिए:
-
AI वर्गीकरण -
AiVision.ALL_AIOBJS -
अप्रैलटैग्स-
AiVision.ALL_TAGS
स्नैपशॉट लेने से आपके द्वारा निर्दिष्ट सभी ज्ञात ऑब्जेक्ट्स का एक टपल बन जाएगा। उदाहरण के लिए, यदि आप "नीले" रंग हस्ताक्षरका पता लगाना चाहते हैं, और AI विज़न सेंसर ने 3 अलग-अलग नीली वस्तुओं का पता लगाया है, तो तीनों से डेटा को टपल में रखा जाएगा।
इस उदाहरण में, वेरिएबल vision_objects एक टपल को संग्रहीत करता है जिसमें AI विजन सेंसर से पता लगाए गए "बैंगनी"रंग हस्ताक्षर होते हैं, जिसका नाम ai_vision_1है। यह पता लगाई गई वस्तुओं की संख्या प्रदर्शित करता है तथा प्रत्येक 0.5 सेकंड में एक नया स्नैपशॉट कैप्चर करता है।
while True:
# सभी बैंगनी रंग के हस्ताक्षरों का एक स्नैपशॉट प्राप्त करें और इसे vision_objects में संग्रहीत करें।
vision_objects = ai_vision_1.take_snapshot(ai_vision_1__Purple)
# डेटा खींचने से पहले यह सुनिश्चित करने के लिए जांचें कि स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था।
if vision_objects[0].exists == True
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Object count:", len(vision_objects))
wait(0.5, SECONDS)
ऑब्जेक्ट गुण
स्नैपशॉट से प्रत्येक ऑब्जेक्ट के अलग-अलग गुण होते हैं जिनका उपयोग उस ऑब्जेक्ट के बारे में जानकारी देने के लिए किया जा सकता है। उपलब्ध संपत्तियां इस प्रकार हैं:
- पहचान
- केंद्रX और केंद्रY
- मूलX और मूलY
- चौड़ाई
- ऊंचाई
- कोण
- अंक
- मौजूद है
किसी ऑब्जेक्ट के गुण तक पहुंचने के लिए, टपल को संग्रहीत करने वाले वेरिएबल नाम का उपयोग करें, उसके बाद ऑब्जेक्ट इंडेक्स का उपयोग करें।
ऑब्जेक्ट इंडेक्स यह इंगित करता है कि आप किस विशिष्ट ऑब्जेक्ट का गुण प्राप्त करना चाहते हैं। स्नैपशॉट लेने के बाद, AI विज़न सेंसर स्वचालित रूप से वस्तुओं को आकार के अनुसार क्रमबद्ध कर देता है। सबसे बड़ी वस्तु को सूचकांक 0 दिया जाता है, जबकि छोटी वस्तुओं को उच्च सूचकांक संख्या दी जाती है।
उदाहरण के लिए, vision_objects चर के अंदर सबसे बड़े ऑब्जेक्ट की चौड़ाई को कॉल करना होगा: vision_objects[0].width।
पहचान
आईडी संपत्ति केवल अप्रैल टैग और एआई वर्गीकरण के लिए उपलब्ध है।
अप्रैलटैगके लिए, आईडी गुण पता लगाए गएअप्रैलटैग(एस) आईडी नंबर का प्रतिनिधित्व करता है।
विशिष्ट अप्रैलटैग की पहचान करने से चयनात्मक नेविगेशन की अनुमति मिलती है। आप अपने रोबोट को कुछ टैग्स की ओर बढ़ने के लिए प्रोग्राम कर सकते हैं, जबकि अन्य को अनदेखा कर सकते हैं, तथा उन्हें स्वचालित नेविगेशन के लिए प्रभावी रूप से संकेत-चिह्न के रूप में उपयोग कर सकते हैं।
एआई वर्गीकरणके लिए, आईडी गुण पता लगाए गए एआई वर्गीकरण के विशिष्ट प्रकार का प्रतिनिधित्व करता है।
विशिष्ट एआई वर्गीकरणकी पहचान करने से रोबोट केवल विशिष्ट वस्तुओं पर ध्यान केंद्रित कर सकता है, जैसे कि केवल लाल बकीबॉल की ओर नेविगेट करना, नीले की ओर नहीं।
अप्रैलटैग्स और एआई वर्गीकरण और एआई विजन यूटिलिटी में उनका पता लगाने को सक्षम करने के तरीके के बारे में अधिक जानकारी के लिए इन लेखों पर जाएं।
केंद्र और केंद्रY
यह पिक्सेल में पता लगाई गई वस्तु का केंद्र निर्देशांक है।
सेंटरएक्स और सेंटरवाई निर्देशांक नेविगेशन और स्थिति निर्धारण में सहायता करते हैं। एआई विज़न सेंसर का रिज़ॉल्यूशन 320 x 240 पिक्सल है।
आप देख सकते हैं कि AI विज़न सेंसर के निकट स्थित वस्तु का केंद्रY निर्देशांक, दूर स्थित वस्तु की तुलना में कम होगा।
इस उदाहरण में, क्योंकि AI विज़न सेंसर के दृश्य का केंद्र (160, 120) है, रोबोट तब तक दाईं ओर मुड़ेगा जब तक कि किसी ज्ञात वस्तु का केंद्रX निर्देशांक 150 पिक्सेल से अधिक, लेकिन 170 पिक्सेल से कम न हो जाए।
while True:
# सभी नीले रंग के हस्ताक्षरों का एक स्नैपशॉट प्राप्त करें और इसे vision_objects में संग्रहीत करें।
vision_objects = ai_vision_1.take_snapshot(ai_vision_1__Blue)
# डेटा खींचने से पहले यह सुनिश्चित करने के लिए जांचें कि स्नैपशॉट में ऑब्जेक्ट का पता लगाया गया था।
if vision_objects[0].exists == True
# जांचें कि क्या ऑब्जेक्ट AI विज़न सेंसर के दृश्य के केंद्र में नहीं है।
if vision_objects[0].centerX > 150 और 170 > vision_objects[0].centerX:
# जब तक ऑब्जेक्ट दृश्य के केंद्र में न हो, तब तक दाईं ओर मुड़ते रहें।
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(5, MSEC)
मूलX और मूल
OriginX और OriginY पिक्सेल में पता लगाई गई वस्तु के ऊपरी-बाएँ कोने पर निर्देशांक है।
OriginX और OriginY निर्देशांक नेविगेशन और स्थिति निर्धारण में सहायता करते हैं। इस निर्देशांक को ऑब्जेक्ट की चौड़ाई और ऊंचाई के साथ संयोजित करके, आप ऑब्जेक्ट के बाउंडिंग बॉक्स का आकार निर्धारित कर सकते हैं। इससे गतिशील वस्तुओं को ट्रैक करने या वस्तुओं के बीच नेविगेट करने में मदद मिल सकती है।
चौड़ाई और ऊंचाई
यह पिक्सेल में पता लगाई गई वस्तु की चौड़ाई या ऊंचाई है।
चौड़ाई और ऊंचाई माप विभिन्न वस्तुओं की पहचान करने में मदद करते हैं। उदाहरण के लिए, बकीबॉल की ऊंचाई रिंग से अधिक होगी।
चौड़ाई और ऊंचाई, एआई विजन सेंसर से किसी वस्तु की दूरी को भी इंगित करती है। छोटे मापों से आमतौर पर यह पता चलता है कि वस्तु अधिक दूर है, जबकि बड़े मापों से पता चलता है कि वह अधिक निकट है।
इस उदाहरण में, ऑब्जेक्ट की चौड़ाई का उपयोग नेविगेशन के लिए किया जाता है। रोबोट तब तक वस्तु के पास जाएगा जब तक कि चौड़ाई एक विशिष्ट आकार तक नहीं पहुंच जाती, उसके बाद वह रुक जाएगा।
while True:
# सभी नीले रंग के हस्ताक्षरों का एक स्नैपशॉट प्राप्त करें और इसे vision_objects में संग्रहीत करें।
vision_objects = ai_vision_1.take_snapshot(ai_vision_1__Blue)
# डेटा खींचने से पहले यह सुनिश्चित करने के लिए जांचें कि स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था।
if vision_objects[0].exists == True
# इसकी चौड़ाई को मापकर जांचें कि क्या सबसे बड़ी वस्तु AI विजन सेंसर के करीब है।
if vision_objects[0].width < 250:
# जब तक यह 250 पिक्सेल से अधिक चौड़ा न हो जाए, तब तक ऑब्जेक्ट के करीब ड्राइव करें।
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
कोण
कोण गुण केवलरंग कोड औरअप्रैलटैग.
के लिए उपलब्ध है। यह दर्शाता है कि पता लगाया गया रंग कोडया अप्रैलटैग अलग-अलग उन्मुख है।
आप देख सकते हैं कि रोबोटकलर कोड याअप्रैलटैग के संबंध में अलग-अलग उन्मुख है या नहीं और उसके अनुसार नेविगेशन निर्णय ले सकते हैं।
उदाहरण के लिए, यदिरंग कोड को उचित कोण पर नहीं पहचाना जाता है, तो वह जिस वस्तु का प्रतिनिधित्व करता है, उसे रोबोट द्वारा ठीक से नहीं पकड़ा जा सकेगा।
अंक
स्कोर गुण का उपयोग AI विज़न सेंसर के साथAI वर्गीकरण का पता लगाने के दौरान किया जाता है।
आत्मविश्वास स्कोर यह दर्शाता है कि एआई विज़न सेंसर इसकी पहचान के बारे में कितना आश्वस्त है। इस छवि में, यह इन चार वस्तुओं के AI वर्गीकरण को पहचानने में 99% आश्वस्त है। आप इस स्कोर का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि आपका रोबोट केवल अत्यधिक विश्वसनीय पहचानों पर ही ध्यान केंद्रित करे।
मौजूद है
मौजूद है गुण का उपयोग यह पता लगाने के लिए किया जाता है कि क्या निर्दिष्ट दृश्य हस्ताक्षर अंतिम बार लिए गए स्नैपशॉट में पहचाना गया है।
इससे आप यह जांच सकते हैं कि पिछले स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था या नहीं। यह गुण तब सत्य लौटाएगा जब कोई ऑब्जेक्ट मौजूद होगा, तथा जब ऑब्जेक्ट मौजूद नहीं होगा तो असत्य लौटाएगा।