मुख्य सामग्री पर जाएं

विज़न सेंसर क्या है? - पायथन

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - इस पृष्ठ का उद्देश्य

यह पेज छात्रों को विज़न सेंसर क्या होता है और इसकी कुछ क्षमताओं से परिचित कराएगा। इसके बाद छात्र एक उदाहरण परियोजना की आंशिक छवि का विश्लेषण करेंगे ताकि यह देख सकें कि विजन सेंसर का उपयोग VEXcode V5 के साथ कैसे किया जा सकता है।

पृष्ठ के निचले भाग में दिए गए प्रेरक चर्चा प्रश्नों को कक्षा में चर्चा के रूप में या छात्रों द्वारा व्यक्तिगत रूप से अपनी इंजीनियरिंग नोटबुक में पूरा किया जा सकता है।
 

चर्चा को प्रेरित करने वाला आइकन चर्चा को प्रेरित करें

प्रश्न: दृष्टि संवेदक वाले रोबोट की सहायता सेप्रकार के मानवीय कार्यों को लाभ होगा?
उत्तर:उन मानवीय कार्यों को सुनें जिन्हें दूरस्थ स्थानों से वातावरण में देखने और/या परिवेश में हेरफेर करने की क्षमता से लाभ होगा (उदाहरण के लिए, जंगली जानवरों का अवलोकन करना, विस्फोटकों को निष्क्रिय करना, या रोबोट-सहायता प्राप्त सर्जरी करना)।

प्रश्न:किसी उपकरण का नाम बताइए और वर्णन कीजिए कि वह इनपुट, आउटपुट और प्रक्रिया उपयोग कैसे करता है।
उत्तर:एक संभावित उत्तर कैलकुलेटर हो सकता है जो किसी व्यक्ति द्वारा इनपुट किए गए संख्याओं और गणितीय ऑपरेटरों के अनुक्रम को लेता है, उन संख्याओं और संक्रियाओं को संसाधित करके परिणाम की गणना करता है, और फिर उस परिणाम को स्क्रीन पर प्रदर्शित करता है।

प्रश्न: आपको क्या लगता है दिखाए गए प्रोजेक्ट में एक अनंत लूपउपयोग क्यों किया गया था?
एक अनंत लूप का उपयोग इसलिए किया गया था ताकि विज़न सेंसर लगातार ली गई कई तस्वीरों की जाँच कर सके और देख सके कि क्या कोई लाल वस्तु सेंसर के दृश्य में आती है।

विवरण

विजन सेंसर आपके रोबोट को लाइव फीड से दृश्य डेटा एकत्र करने की अनुमति देता है। लाइव फीड वीडियो कैमरे द्वारा कैप्चर की जा रही सामग्री का स्ट्रीमिंग प्रसारण है। विजन सेंसर एक स्मार्ट कैमरे की तरह है जो अपने दृश्य क्षेत्र में दिखाई देने वाले रंगों और वस्तुओं का अवलोकन, चयन, समायोजन और भंडारण कर सकता है।

VEX विज़न सेंसर, जिसका ऊपरी भाग बाईं ओर और निचला भाग, कनेक्शन के लिए पोर्ट के साथ दाईं ओर दिखाया गया है।
विज़न सेंसर

क्षमताएं:

  • इस सेंसर का उपयोग रंगों और रंग पैटर्न को पहचानने के लिए किया जा सकता है।
  • इस सेंसर का उपयोग किसी वस्तु का पीछा करने के लिए किया जा सकता है।
  • इस सेंसर का उपयोग पर्यावरण के बारे में जानकारी एकत्र करने के लिए किया जा सकता है।

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

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

# लाइब्रेरी आयात
vex से आयात *

# प्रोजेक्ट कोड प्रारंभ

check_red = Event()
check_blue = Event()
check_green = Event()

def check_blue_callback(): 
    brain.screen.set_font(FontType.MONO40)
    brain.screen.clear_row(1)
    brain.screen.set_cursor(1, 1)

    # विज़न सेंसर से स्नैपशॉट लें और विज़न डेटा को एक वेरिएबल में स्टोर करें
    vision_5_objects = vision_5.take_snapshot(vision_5__BLUEBOX)
    # यह देखने के लिए वेरिएबल की जाँच करें कि क्या स्नैपशॉट ने कोई नीली वस्तुएँ पाई हैं
    if (vision_5_objects):
        brain.screen.print("नीली वस्तु मिली")
    else: 
        brain.screen.print("कोई नीली वस्तु नहीं")

# सिस्टम इवेंट हैंडलर
check_blue(check_blue_callback)

#जोड़ें यह सुनिश्चित करने के लिए 15 मिलीसेकंड का विलंब कि घटनाएँ सही ढंग से पंजीकृत हैं
wait(15, MSEC)

while True: 
    check_blue.broadcast_and_wait()
    check_red.broadcast_and_wait()
    check_green.broadcast_and_wait()
    wait(0.1,SECONDS)
    wait(5, MSEC)