Skip to main content

विज़न सेंसर का उपयोग - C++

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - इस गतिविधि का उद्देश्य

विज़न सेंसर का प्रभावी ढंग से उपयोग करने के लिए छात्रों को इसे कॉन्फ़िगर करने और इसे उस वातावरण के आधार पर ट्यून करने में सक्षम होना आवश्यक है जिसमें यह मौजूद है। निम्नलिखित गतिविधि में, छात्र दोनों कार्य करना सीखेंगे।
VEXcode V5 के साथ विज़न सेंसर प्रोग्रामिंग के बारे में अधिक जानकारी के लिए,C++के लिए सहायता जानकारी पर जाएँ।VEX लाइब्रेरी में।

इस गतिविधि में आपके विद्यार्थी क्या करेंगे, इसकी रूपरेखा निम्नलिखित है:

  • ऑब्जेक्ट्स का पता लगाना (विज़न) उदाहरण प्रोजेक्ट खोलें.

  • विज़न सेंसर को कॉन्फ़िगर करें.

  • ऑब्जेक्ट्स का पता लगाना (विज़न) उदाहरण प्रोजेक्ट चलाएँ.

  • चर्चा करें और चिंतन करें.

  • विज़न सेंसर को ट्यून करें.

शिक्षक युक्तियाँ आइकन शिक्षक युक्तियाँ

यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहे हैं, तो वेलाइब्रेरी मेंसहायतालेखों तक पहुंच सकते हैं

शिक्षक युक्तियाँ आइकन शिक्षक सुझाव - स्वतः पूर्ण का उपयोग करना

स्वतः पूर्ण (Autocomplete) VEXcode V5 में एक सुविधा है जो आपके द्वारा टाइप किए जा रहे कमांड के शेष भाग का पूर्वानुमान लगाती है। चूंकि छात्र VEXcode V5 में काम कर रहे हैं, इसलिए उन्हेंसिंटैक्समें मदद के लिए स्वतः पूर्ण सुविधा का उपयोग करने के लिए प्रोत्साहित करें।

VEXcode V5 में बाईं ओर टाइप किए गए कमांड के ड्राइवट्रेन भाग को दिखाया गया है, तथा दाईं ओर उस कमांड के लिए स्वतः पूर्ण विकल्पों की स्क्रॉल करने योग्य सूची दिखाई गई है।

C++के लिए स्वतः पूर्ण लेख में बताया गया है कि स्वतः पूर्ण सुविधा का उपयोग कैसे किया जाए।

आवश्यक हार्डवेयर, अपनी इंजीनियरिंग नोटबुक लें और VEXcode V5 खोलें।

सामग्री की आवश्यकता:
मात्रा आवश्यक सामग्री
1

VEX V5 क्लासरूम स्टार्टर किट

1

VEXcode V5 (नवीनतम संस्करण, Windows, MacOS)

1

इंजीनियरिंग नोटबुक

1

विज़न सेंसर कॉन्फ़िगर करना (VEX लाइब्रेरी)

1

विज़न सेंसर को ट्यून करना (VEX लाइब्रेरी)

1

वस्तुओं का पता लगाना (दृष्टि) उदाहरण परियोजना

यह गतिविधि आपको विज़न सेंसर का उपयोग करने के लिए उपकरण प्रदान करेगी।

निर्देशों के बारे में जानने के लिए आप VEXcode V5 के अंदर सहायता (C++) जानकारी का उपयोग कर सकते हैं।

VEXcode V5 को सबसे बाईं ओर खुले टूलबॉक्स के साथ दिखाया गया है, तथा सबसे दाईं ओर ड्राइव फॉर कमांड के लिए सहायता को खुला दिखाया गया है। सहायता कमांड की परिभाषा और इसके उपयोग के बारे में जानकारी दिखाती है।

 

चरण 1: एक उदाहरण प्रोजेक्ट खोलें

VEXcode V5 में कई अलग-अलग उदाहरण परियोजनाएं शामिल हैं। आप इस अन्वेषण में उनमें से एक का उपयोग करेंगे।

निम्नलिखित चरणों को पूरा करके डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट खोलें:

  • फ़ाइल मेनू खोलें.
  • उदाहरणखोलें का चयन करें.

VEXcode V5 टूलबार जिसमें फ़ाइल मेनू खुला है और लाल बॉक्स में खुले उदाहरण हाइलाइट किए गए हैं। ओपन उदाहरण, न्यू ब्लॉक्स प्रोजेक्ट, न्यू टेक्स्ट प्रोजेक्ट और ओपन के नीचे चौथा मेनू आइटम है।

  • एप्लिकेशन के शीर्ष पर स्थित फ़िल्टर बार का उपयोग करें और "सेंसिंग" का चयन करें।

VEXcode V5 उदाहरण परियोजना चयन विंडो जिसमें शीर्ष पर सेंसिंग फिल्टर चयनित है, तथा लाल बॉक्स में हाइलाइट किया गया है। नीचे छह उदाहरण परियोजना चिह्न दिखाए गए हैं।

Detecting Objects (Vision) उदाहरण प्रोजेक्ट का चयन करें और उसे खोलें।

उदाहरण परियोजना आइकन में नीचे की ओर 'डिटेक्टिंग ऑब्जेक्ट्स विज़न' लिखा है तथा ऊपर की ओर एक सेंसर के साथ एक रोबोट का नीला आरेख दिखाया गया है जो ऑब्जेक्ट डिटेक्शन को दर्शाता है।

अपने प्रोजेक्ट को Detecting Objects के रूप में सहेजें।

  • यह सुनिश्चित करने के लिए जाँच करें कि प्रोजेक्ट का नाम Detecting Objects अब टूलबार के मध्य में विंडो में है।

VEXcode V5 टूलबार में प्रोजेक्ट नाम संवाद बॉक्स में लिखा है 'ऑब्जेक्ट्स का पता लगाना' और दिखाया गया है कि स्लॉट 1 बाईं ओर चयनित है, तथा दाईं ओर लिखा है 'सेव्ड'।

शिक्षक युक्तियाँ आइकन शिक्षक युक्तियाँ

  • सुनिश्चित करें कि छात्रों ने फ़ाइल मेनू से ओपन उदाहरण चयन किया है।

  • सुनिश्चित करें कि छात्रों ने वस्तुओं का पता लगाना (दृष्टि) उदाहरण परियोजना का चयन किया है। आप विद्यार्थियों को बता सकते हैं कि खुले उदाहरण पृष्ठ पर चुनने के लिए कई विकल्प उपलब्ध हैं।

  • आप विद्यार्थियों से परियोजना के नाम में अपना आद्याक्षर या अपने समूह का नाम जोड़ने के लिए कह सकते हैं। यदि आप छात्रों से कार्यक्रम प्रस्तुत करने के लिए कहेंगे तो इससे कार्यक्रमों में अंतर करने में मदद मिलेगी।

  • चूंकि VEXcode V5 में ऑटोसेव की सुविधा है, इसलिए पहली बार सेव करने के बाद प्रोजेक्ट को दोबारा सेव करने की आवश्यकता नहीं होती।

  • यदि विद्यार्थियों को बचत में सहायता की आवश्यकता हो, तो उन्हें निम्नलिखित लेखों में से किसी एक की ओर निर्देशित करें: 

चरण 2: विज़न सेंसर को कॉन्फ़िगर करना और उसका उपयोग करना

विज़न सेंसर कॉन्फ़िगरेशन विंडो में बाईं ओर एक लाल क्यूब पकड़े हुए हाथ की छवि दिखाई देती है, क्यूब पर एक ओवरले और उसके ऊपर REDBOX और W142 H142 शब्द दिखाई देते हैं। दाईं ओर, ब्लूबॉक्स, रेडबॉक्स और ग्रीनबॉक्स के लिए 3 रंग हस्ताक्षर निर्धारित हैं।

पहले से सहेजे गए डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट को खोलें।

इस परियोजना में विज़न सेंसर का उपयोग किस प्रकार किया जा रहा है? भविष्यवाणी करें कि परियोजना के चलने पर क्या होगा और अपनी इंजीनियरिंग नोटबुक में पूर्वानुमानों को लिखें।

#include "vex.h"

using namespace vex;

event checkBlue = event();
event checkRed = event();
event checkGreen = event();

// यह देखने के लिए जाँच करेगा कि क्या विज़न
// सेंसर के दृश्य में कोई नीली वस्तु है और V5 ब्रेन की स्क्रीन की लाइन 1 पर परिणाम प्रदर्शित करेगा।
void has BlueCallback() {

  Brain.Screen.clearLine(1);
  Brain.Screen.setCursor(1, 1);
  Vision5.takeSnapshot(Vision5__BLUEBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("नीली वस्तु मिली");

  } else {
    Brain.Screen.print("कोई नीली वस्तु नहीं");
  }
}

// यह देखने के लिए जाँच करेगा कि क्या विज़न
// सेंसर के दृश्य में कोई लाल वस्तु है और V5 ब्रेन की स्क्रीन की लाइन 3 पर परिणाम प्रदर्शित करेगा।
void has RedCallback() {

  Brain.Screen.clearLine(3);
  Brain.Screen.setCursor(3, 1);
  Vision5.takeSnapshot(Vision5__REDBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("लाल वस्तु मिली");

  } else {
    Brain.Screen.print("कोई लाल वस्तु नहीं");
  }
}

// यह देखने के लिए जाँच करेगा कि क्या विज़न
// सेंसर के दृश्य में कोई हरी वस्तु है और V5 ब्रेन की स्क्रीन की लाइन 5 पर परिणाम प्रदर्शित करेगा।
void has GreenCallback() {

  Brain.Screen.clearLine(5);
  Brain.Screen.setCursor(5, 1);
  Vision5.takeSnapshot(Vision5__GREENBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("हरा ऑब्जेक्ट मिला");

  } else {
    Brain.Screen.print("कोई हरा ऑब्जेक्ट नहीं");
  }
}

// प्रोजेक्ट कोड शुरू करें
int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है। दूर नहीं करते!
  vexcodeInit();

  // इवेंट हैंडलर पंजीकृत करें
  checkBlue (hasBlueCallback);
  checkRed (hasRedCallback);
  checkGreen (hasGreenCallback);

  // इवेंट हैंडलर उपयोग के लिए तैयार हैं यह सुनिश्चित करने के लिए छोटा विलंब
  wait(15, msec);

  // V5 स्क्रीन पर भविष्य के सभी प्रिंट के लिए प्रिंट फ़ॉन्ट सेट करें
  Brain.Screen.setFont(mono40);

  // नए सेंसर डेटा की जांच के लिए लगातार चलाएं
  while (true) {
    checkBlue.broadcastAndWait();
    checkRed.broadcastAndWait();
    checkGreen.broadcastAndWait();
    wait(0.1, seconds);
  }
}
  • प्रोजेक्ट डाउनलोड करें और। विज़न सेंसर के सामने अलग-अलग रंग की वस्तुएं रखें और रोबोट के व्यवहार का निरीक्षण करें। अपनी इंजीनियरिंग नोटबुक में दर्ज करें कि परियोजना से आपने जो वास्तव में देखा, उसकी तुलना में आपका पूर्वानुमान किस प्रकार भिन्न या सही था।

शिक्षक युक्तियाँ आइकन शिक्षक युक्तियाँ

तीन रंगीन वस्तुओं का घन होना आवश्यक नहीं है, वे कोई भी अपेक्षाकृत छोटी हरी, लाल और नीली वस्तु हो सकती हैं।

चर्चा को प्रेरित करें आइकन चर्चा को प्रेरित करें - उत्तर

कक्षा में एक चर्चा की सुविधा प्रदान करें, जिसमें छात्र अपनी इंजीनियरिंग नोटबुक में यह बता सकें कि इस परियोजना से उन्हें क्या उम्मीदें थीं, तथा विज़न सेंसर को कॉन्फ़िगर करने के तरीके पर भी विचार कर सकें।
निम्नलिखित प्रश्न पूछकर चर्चा को सुविधाजनक बनाएँ:

  1. विज़न सेंसर को कॉन्फ़िगर करने के चरण क्या हैं?

  2. if then else संरचना क्या करती है?

  3. यदि हम कमरे बदल दें तो विज़न सेंसर द्वारा वस्तुओं का पता लगाने के तरीके पर क्या प्रभाव पड़ेगा?

उत्तर अलग - अलग होगा:

  1. विद्यार्थियों को ध्यान रखना चाहिए कि वस्तु का नाम तय करना होगा। वस्तु को विज़न सेंसर के फ्रेम में रखा जाना चाहिए तथा "फ्रीज" बटन का उपयोग करके स्थिर किया जाना चाहिए। इसके बाद "सेट" बटन का उपयोग करके रंग का चयन और कॉन्फ़िगरेशन किया जाएगा। छात्रों कोलेख में सूचीबद्ध चरणों की रूपरेखा तैयार करनी चाहिए

  2. if then elseसंरचना, रिपोर्ट किए गए बूलियन मान के आधार परif then elseके पहले या दूसरे भाग के अंदर निर्देशों को चलाती है। इस निर्देश का उपयोग कैसे करें, इस बारे में अधिक जानकारी सहायता जानकारी में मिल सकती है।

  3. यदि विज़न सेंसर को किसी भिन्न वातावरण में वस्तुओं का पता लगाने के लिए कहा जाए, तो प्रकाश बदल सकता है और वस्तुओं के रंग भिन्न दिख सकते हैं। इससे विज़न सेंसर के लिए वस्तुओं का पता लगाना कठिन हो सकता है।

अपनी शिक्षा का विस्तार करें आइकन अपनी शिक्षा का विस्तार करें - अधिक ऑब्जेक्ट कॉन्फ़िगर करें

कॉन्फ़िगर करने के लिए दो अन्य रंगीन ऑब्जेक्ट चुनें, संभवतः सफेद, बैंगनी, पीला, आदि...

विज़न सेंसर कॉन्फ़िगरेशन विंडो में बाईं ओर एक हाथ में पीले रंग का गियर पकड़े हुए स्नैपशॉट दिखाया गया है। पीले गियर पर एक वर्गाकार ओवरले है और डेटा में लिखा है पीला बॉक्स, X90 y 62, w102, h 98. दाईं ओर ब्लूबॉक्स, रेडबॉक्स, ग्रीनबॉक्स और येलोबॉक्स के लिए रंग हस्ताक्षर निर्धारित हैं।

यदि छात्रों को सहायता की आवश्यकता है, तो उन्हेंसहायताजानकारी या V5 विज़न सेंसर कॉन्फ़िगर करना लेखदेखें।

चरण 3: विज़न सेंसर को ट्यून करना

कई बार किसी वस्तु को एक वातावरण में, उदाहरण के लिए, कक्षा में, विज़न सेंसर द्वारा पहचाने जाने के लिए कॉन्फ़िगर किया जाता है। जब विज़न सेंसर को किसी भिन्न वातावरण में ले जाया जाता है, जैसे कि किसी प्रतियोगिता स्थल पर, तो विज़न सेंसर द्वारा वस्तु को पहचाना नहीं जा सकता है। ऐसा अक्सर विज़न सेंसर को पहले से हीकॉन्फ़िगरकरने के बाद प्रकाश में परिवर्तन के कारण होता है। इस समस्या को हल करने के लिए, आपको अपने विज़न सेंसर को ट्यून करना पड़ सकता है।

विज़न सेंसर कॉन्फ़िगरेशन विंडो जिसमें एक हाथ में लाल क्यूब है, क्यूब के ऊपर एक ओवरले है और टेक्स्ट रीडिंग रेडबॉक्स और x84 y 28 फिर w 158 h 166 है। दाईं ओर ब्लूबॉक्स, रेडबॉक्स और ग्रीनबॉक्स रंग हस्ताक्षर एक स्लाइडर के साथ सेट किए गए हैं, जो लाल बॉक्स में हाइलाइट किया गया है और डायल 4.4 पर सेट है।

पहले से सहेजे गए Detecting Objects (Vision) उदाहरण प्रोजेक्ट को खोलें।

विज़न सेंसर को ट्यून करने से यह कैसे प्रभावित होगा कि वह कितनी अच्छी तरह से वस्तुओं का पता लगा सकता है? क्लॉबोट को कमरे के किसी ऐसे हिस्से में ले जाएं जहां रोशनी कम या ज्यादा हो।

वी5 क्लॉबोट एक मैदान पर है, जिसका हाथ नीचे है और पंजा खुला है तथा वह एक बैंगनी घनाकार वस्तु के चारों ओर है।

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

चर्चा को प्रेरित करें आइकन चर्चा को प्रेरित करें - गतिविधि पर चिंतन

प्रश्न:क्या विज़न सेंसर ने वस्तुओं का पता वैसे ही लगाया जैसा आपने उम्मीद की थी?
उत्तर:उत्तर अलग-अलग होंगे; हालाँकि, इस प्रश्न का लक्ष्य संज्ञानात्मक सोच को बढ़ावा देना है। छात्रों को ध्यान रखना चाहिए कि विज़न सेंसर की वस्तुओं का पता लगाने की क्षमता वातावरण और प्रकाश के आधार पर बदल सकती है।

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

अपनी शिक्षा का विस्तार करें आइकन अपनी शिक्षा का विस्तार करें - एकाधिक वस्तुएँ

विद्यार्थियों से डिटेक्टिंग ऑब्जेक्ट्स (विज़न) प्रोजेक्ट चलाने और विज़न सेंसर के सामने एक से अधिक कॉन्फ़िगर की गई वस्तुओं को रखने के लिए कहें। क्या होता है? उन्हें अपने निष्कर्षों को अपनी इंजीनियरिंग नोटबुक में दर्ज करने के लिए कहें।
, विद्यार्थियों से कहें कि वे विज़न सेंसर के सामने एक कॉन्फ़िगर की गई वस्तु और एक अज्ञात या कॉन्फ़िगर नहीं की गई वस्तु रखें। क्या होता है? उन्हें अपने निष्कर्षों को अपनी इंजीनियरिंग नोटबुक में दर्ज करने के लिए कहें।

परीक्षण करने से पहले छात्रों से पूछें कि क्या होगा यदि वे विज़न सेंसर के सामने तीन कॉन्फ़िगर की गई वस्तुएं रखें? परीक्षण से पहले विद्यार्थियों से अपनी भविष्यवाणियाँ लिखने को कहें। परीक्षण के बाद उन्हें अपने अवलोकन रिकॉर्ड करने के लिए कहें।

विज़न सेंसर यूटिलिटी इंटरफ़ेस, बाईं ओर की विंडो में दो हाथों को एक ग्रीनबॉक्स और एक रेडबॉक्स पकड़े हुए दिखा रहा है। प्रत्येक रंगीन घन पर डेटा का एक ओवरले होता है। दाईं ओर, ब्लूबॉक्स, रेडबॉक्स, ग्रीनबॉक्स और येलोबॉक्स के लिए हस्ताक्षर सेट हैं।

विद्यार्थियों ने जो पूर्वानुमान लगाया और जो देखा, उस पर चर्चा को सुगम बनाएँ।

निम्नलिखित पूछकर चर्चा को सुगम बनाएँ:

  • एक, दो और तीन वस्तुओं के बीच क्या अंतर थे?
  • क्या आप एकाधिक वस्तुओं को पहचानने के लिए परियोजना को किसी भी तरह से समायोजित करेंगे?