सुनिश्चित करें कि आपके पास रंग हस्ताक्षर और रंग कोड आपके एआई विजन सेंसर के साथ कॉन्फ़िगर किए गए हैं ताकि उनका उपयोग आपके ब्लॉक के साथ किया जा सके। इन्हें कॉन्फ़िगर करने के तरीके के बारे में अधिक जानने के लिए, आप नीचे दिए गए लेख पढ़ सकते हैं:
- VEXcode V5 में AI विज़न सिग्नेचर के साथ रंगीन हस्ताक्षर कॉन्फ़िगर करना
- VEXcode V5 में AI विज़न सिग्नेचर के साथ रंग कोड कॉन्फ़िगर करना
एआई विजन सेंसर एआई वर्गीकरण और अप्रैलटैग का भी पता लगा सकता है। इन पहचान मोडों को सक्षम करने का तरीका जानने के लिए यहां जाएं:
AI विज़न सेंसर से दृश्य डेटा प्राप्त करें
प्रत्येक AI विज़न सेंसर कमांड कॉन्फ़िगर किए गए AI विज़न सेंसर के नाम से शुरू होगा। इस आलेख में दिए गए सभी उदाहरणों के लिए, प्रयुक्त AI विज़न सेंसर का नाम AIVisionहोगा।
आशुचित्र लें
टेकस्नैपशॉट विधि एआई विजन सेंसर द्वारा वर्तमान में देखी जा रही तस्वीर लेती है और उस स्नैपशॉट से डेटा खींचती है जिसका उपयोग किसी प्रोजेक्ट में किया जा सकता है। जब स्नैपशॉट लिया जाता है, तो आपको यह निर्दिष्ट करना होगा कि AI विज़न सेंसर को किस प्रकार की वस्तु का डेटा एकत्र करना चाहिए:
- एरंग हस्ताक्षर यारंग कोड
- ये विज़ुअल हस्ताक्षर AI विज़न सेंसर के नाम, डबल अंडरस्कोर और फिर विज़ुअल हस्ताक्षर के नाम से शुरू होते हैं, उदाहरण के लिए:
AIVision1__Blue।
- ये विज़ुअल हस्ताक्षर AI विज़न सेंसर के नाम, डबल अंडरस्कोर और फिर विज़ुअल हस्ताक्षर के नाम से शुरू होते हैं, उदाहरण के लिए:
-
AI वर्गीकरण -
aivision::ALL_AIOBJS -
अप्रैलटैग्स-
aivision::ALL_TAGS
स्नैपशॉट लेने से आपके द्वारा निर्दिष्ट सभी पता लगाए गए ऑब्जेक्ट्स की एक सरणी बन जाएगी। उदाहरण के लिए, यदि आप "नीले" रंग हस्ताक्षरका पता लगाना चाहते हैं, और एआई विजन सेंसर ने 3 अलग-अलग नीली वस्तुओं का पता लगाया है, तो तीनों से डेटा सरणी में डाल दिया जाएगा।
इस उदाहरण में, AIVision1नामक AI विज़न सेंसर से "ब्लू" कलर सिग्नेचरका स्नैपशॉट लिया गया है। यह सारणी में पाई गई वस्तुओं की संख्या प्रदर्शित करता है तथा प्रत्येक 0.5 सेकंड में एक नया स्नैपशॉट कैप्चर करता है।
while (true) {
// सभी नीले रंग की वस्तुओं का एक स्नैपशॉट प्राप्त करें।
AIVision.takeSnapshot(AIVision1__Blue);
// डेटा खींचने से पहले यह सुनिश्चित करने के लिए जांचें कि स्नैपशॉट में कोई वस्तु पाई गई थी।
if (AIVision.objectCount > 0) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print(AIVision1.objectCount);
}
wait(5, msec);
}
वस्तुओं
स्नैपशॉट से प्रत्येक ऑब्जेक्ट के अलग-अलग गुण होते हैं जिनका उपयोग उस ऑब्जेक्ट के बारे में जानकारी देने के लिए किया जा सकता है। ऑब्जेक्ट्स विधि आपको इन गुणों तक पहुंचने की अनुमति देती है।
उपलब्ध संपत्तियां इस प्रकार हैं:
- पहचान
- केंद्रX और केंद्रY
- मूलX और मूलY
- चौड़ाई
- ऊंचाई
- कोण
- मौजूद है
- अंक
किसी ऑब्जेक्ट की प्रॉपर्टी तक पहुंचने के लिए, AI विज़न सेंसर का नाम, उसके बाद ऑब्जेक्ट विधि और फिर ऑब्जेक्ट की इंडेक्स का उपयोग करें।
ऑब्जेक्ट इंडेक्स यह इंगित करता है कि आप किस विशिष्ट ऑब्जेक्ट का गुण प्राप्त करना चाहते हैं। स्नैपशॉट लेने के बाद, AI विज़न सेंसर स्वचालित रूप से वस्तुओं को आकार के अनुसार क्रमबद्ध कर देता है। सबसे बड़ी वस्तु को सूचकांक 0 दिया जाता है, जबकि छोटी वस्तुओं को उच्च सूचकांक संख्या दी जाती है।
उदाहरण के लिए, सबसे बड़ी ऑब्जेक्ट की चौड़ाई को कॉल करना AIVision1.objects[0].widthहोगा।
पहचान
आईडी संपत्ति केवल अप्रैल टैग और एआई वर्गीकरण के लिए उपलब्ध है।
अप्रैलटैगके लिए, आईडी गुण पता लगाए गएअप्रैलटैग(एस) आईडी नंबर का प्रतिनिधित्व करता है।
विशिष्ट अप्रैलटैग की पहचान करने से चयनात्मक नेविगेशन की अनुमति मिलती है। आप अपने रोबोट को कुछ टैग्स की ओर बढ़ने के लिए प्रोग्राम कर सकते हैं, जबकि अन्य को अनदेखा कर सकते हैं, तथा उन्हें स्वचालित नेविगेशन के लिए प्रभावी रूप से संकेत-चिह्न के रूप में उपयोग कर सकते हैं।
एआई वर्गीकरणके लिए, आईडी गुण पता लगाए गए एआई वर्गीकरण के विशिष्ट प्रकार का प्रतिनिधित्व करता है।
विशिष्ट एआई वर्गीकरणकी पहचान करने से रोबोट केवल विशिष्ट वस्तुओं पर ध्यान केंद्रित कर सकता है, जैसे कि केवल लाल बकीबॉल की ओर नेविगेट करना, नीले की ओर नहीं।
अप्रैलटैग्स और एआई वर्गीकरण और एआई विजन यूटिलिटी में उनका पता लगाने को सक्षम करने के तरीके के बारे में अधिक जानकारी के लिए इन लेखों पर जाएं।
केंद्र और केंद्रY
यह पिक्सेल में पता लगाई गई वस्तु का केंद्र निर्देशांक है।
सेंटरएक्स और सेंटरवाई निर्देशांक नेविगेशन और स्थिति निर्धारण में सहायता करते हैं। एआई विज़न सेंसर का रिज़ॉल्यूशन 320 x 240 पिक्सल है।
आप देख सकते हैं कि AI विज़न सेंसर के निकट स्थित वस्तु का केंद्रY निर्देशांक, दूर स्थित वस्तु की तुलना में कम होगा।
इस उदाहरण में, क्योंकि AI विज़न सेंसर के दृश्य का केंद्र (160, 120) है, रोबोट तब तक दाईं ओर मुड़ेगा जब तक कि किसी ज्ञात वस्तु का केंद्रX निर्देशांक 150 पिक्सेल से अधिक, लेकिन 170 पिक्सेल से कम न हो जाए।
जबकि (सत्य) {
// सभी नीले रंग की वस्तुओं का स्नैपशॉट प्राप्त करें।
AIVision.takeSnapshot(AIVision__Blue);
// डेटा खींचने से पहले यह सुनिश्चित करने के लिए जाँच करें कि स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था।
यदि (AIVision.objectCount > 0) {
यदि (AIVision.objects[0].centerX > 150.0 && 170.0 > AIVision.objects[0].centerX) {
Drivetrain.turn(right);
} अन्यथा {
Drivetrain.stop();
}
}
wait(5, msec);
}
मूलX और मूल
OriginX और OriginY पिक्सेल में पता लगाई गई वस्तु के ऊपरी-बाएँ कोने पर निर्देशांक है।
OriginX और OriginY निर्देशांक नेविगेशन और स्थिति निर्धारण में सहायता करते हैं। इस निर्देशांक को ऑब्जेक्ट की चौड़ाई और ऊंचाई के साथ संयोजित करके, आप ऑब्जेक्ट के बाउंडिंग बॉक्स का आकार निर्धारित कर सकते हैं। इससे गतिशील वस्तुओं को ट्रैक करने या वस्तुओं के बीच नेविगेट करने में मदद मिल सकती है।
चौड़ाई और ऊंचाई
यह पिक्सेल में पता लगाई गई वस्तु की चौड़ाई या ऊंचाई है।
चौड़ाई और ऊंचाई माप विभिन्न वस्तुओं की पहचान करने में मदद करते हैं। उदाहरण के लिए, बकीबॉल की ऊंचाई रिंग से अधिक होगी।
चौड़ाई और ऊंचाई, एआई विजन सेंसर से किसी वस्तु की दूरी को भी इंगित करती है। छोटे मापों से आमतौर पर यह पता चलता है कि वस्तु अधिक दूर है, जबकि बड़े मापों से पता चलता है कि वह अधिक निकट है।
इस उदाहरण में, ऑब्जेक्ट की चौड़ाई का उपयोग नेविगेशन के लिए किया जाता है। रोबोट तब तक वस्तु के पास जाएगा जब तक कि चौड़ाई एक विशिष्ट आकार तक नहीं पहुंच जाती, उसके बाद वह रुक जाएगा।
जबकि (सत्य) {
// सभी नीली वस्तुओं का स्नैपशॉट प्राप्त करें।
AIVision.takeSnapshot(AIVision1__Blue);
// डेटा खींचने से पहले यह सुनिश्चित करने के लिए जाँच करें कि स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था।
यदि (AIVision.objectCount > 0) {
यदि (AIVision.objects[0].width < 250.0) {
Drivetrain.drive(forward);
} अन्यथा {
Drivetrain.stop();
}
}
wait(5, msec);
}
कोण
कोण गुण केवलरंग कोड औरअप्रैलटैग.
के लिए उपलब्ध है। यह दर्शाता है कि पता लगाया गया रंग कोडया अप्रैलटैग अलग-अलग उन्मुख है।
आप देख सकते हैं कि रोबोटकलर कोड याअप्रैलटैग के संबंध में अलग-अलग उन्मुख है या नहीं और उसके अनुसार नेविगेशन निर्णय ले सकते हैं।
उदाहरण के लिए, यदिरंग कोड को उचित कोण पर नहीं पहचाना जाता है, तो वह जिस वस्तु का प्रतिनिधित्व करता है, उसे रोबोट द्वारा ठीक से नहीं पकड़ा जा सकेगा।
अंक
स्कोर गुण का उपयोग AI विज़न सेंसर के साथAI वर्गीकरण का पता लगाने के दौरान किया जाता है।
आत्मविश्वास स्कोर यह दर्शाता है कि एआई विज़न सेंसर इसकी पहचान के बारे में कितना आश्वस्त है। इस छवि में, यह इन चार वस्तुओं के AI वर्गीकरण को पहचानने में 99% आश्वस्त है। आप इस स्कोर का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि आपका रोबोट केवल अत्यधिक विश्वसनीय पहचानों पर ही ध्यान केंद्रित करे।
मौजूद है
मौजूद है गुण का उपयोग यह पता लगाने के लिए किया जाता है कि क्या निर्दिष्ट दृश्य हस्ताक्षर अंतिम बार लिए गए स्नैपशॉट में पहचाना गया है।
इससे आप यह जांच सकते हैं कि पिछले स्नैपशॉट में कोई ऑब्जेक्ट पाया गया था या नहीं। यह गुण तब सत्य लौटाएगा जब कोई ऑब्जेक्ट मौजूद होगा, तथा जब ऑब्जेक्ट मौजूद नहीं होगा तो असत्य लौटाएगा।
ऑब्जेक्ट गणना
objectCount विधि अंतिम स्नैपशॉट में पता लगाए गए ऑब्जेक्ट की मात्रा लौटाती है।
इस उदाहरण में,रंग हस्ताक्षर "नीला" के साथ दो वस्तुओं का पता लगाया गया है। जब takeSnapshot विधि का उपयोग किया जाएगा तो वे दोनों सरणी में डाल दिए जाएंगे।
यह कोड स्निपेट EXP ब्रेन को पता लगाई गई वस्तुओं की संख्या के साथ लगातार अपडेट करता रहता है। दिए गए उदाहरण के आधार पर, यह बार-बार मान 2 भेजेगा, जो यह दर्शाता है कि दो ऑब्जेक्ट का पता लगाया गया है।
while (true) {
// सभी नीले ऑब्जेक्ट्स का स्नैपशॉट प्राप्त करें।
AIVision.takeSnapshot(AIVision__Blue);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// डेटा खींचने से पहले यह सुनिश्चित करने के लिए जांचें कि स्नैपशॉट में ऑब्जेक्ट का पता लगाया गया था।
if (AIVision.objectCount > 0) {
Brain.Screen.print(AIVision1.objectCount);
}
wait(5, msec);
}