विज़न सेंसर क्या है? - पायथन
शिक्षक टूलबॉक्स
-
इस पृष्ठ का उद्देश्य
यह पृष्ठ विद्यार्थियों को विज़न सेंसर क्या है और इसकी कुछ क्षमताओं से परिचित कराएगा। इसके बाद छात्र एक उदाहरण परियोजना की आंशिक छवि का विश्लेषण करेंगे, ताकि यह देखा जा सके कि विज़न सेंसर का उपयोग VEXcode V5 के साथ किस प्रकार किया जा सकता है।
पृष्ठ के नीचे दिए गए प्रेरणात्मक चर्चा प्रश्नों को कक्षा चर्चा के रूप में या छात्रों की इंजीनियरिंग नोटबुक में व्यक्तिगत रूप से पूरा किया जा सकता है।
चर्चा को प्रेरित करें
प्रश्न:किस प्रकार के मानवीय कार्यों में दृष्टि संवेदक वाले रोबोट की मदद से लाभ होगा?
उत्तर:उन मानवीय कार्यों के बारे में सुनिए जिनमें वातावरण को देखने और/या दूर से परिवेश में हेरफेर करने की क्षमता से लाभ होगा (उदाहरण के लिए, जंगली जानवरों का अवलोकन करना, विस्फोटकों को निष्क्रिय करना, या रोबोट की सहायता से सर्जरी करना)।
प्रश्न:एक उपकरण का नाम बताइए और वर्णन कीजिए कि यह इनपुट, आउटपुट और प्रक्रिया का उपयोग कैसे करता है।
उत्तर:एक संभावित उत्तर एक कैलकुलेटर हो सकता है जो किसी व्यक्ति द्वारा इनपुट की गई संख्याओं और गणितीय ऑपरेटरों के अनुक्रमों को लेता है, परिणाम की गणना करने के लिए उन संख्याओं और संचालनों को संसाधित करता है, और फिर उस परिणाम को व्यक्ति के लिए स्क्रीन पर आउटपुट करता है।
प्रश्न:आपके विचार से दिखाए गए प्रोजेक्ट में फॉरएवर लूप का उपयोग क्यों किया गया था?
उत्तर:फॉरएवर लूप का उपयोग इसलिए किया गया था ताकि विज़न सेंसर लगातार लिए गए कई स्नैपशॉट की जाँच करता रहे और देखे कि क्या कोई लाल वस्तु सेंसर के दृश्य में आती है।
विवरण
विज़न सेंसर आपके रोबोट को लाइव फीड से दृश्य डेटा एकत्र करने की अनुमति देता है। लाइव फीड, वीडियो कैमरा द्वारा कैप्चर की जा रही सामग्री का स्ट्रीमिंग प्रसारण है। विज़न सेंसर एक स्मार्ट कैमरे की तरह है जो अपने दृश्य क्षेत्र में दिखाई देने वाले रंगों और वस्तुओं का निरीक्षण, चयन, समायोजन और भंडारण कर सकता है।
क्षमताएं:
- इस सेंसर का उपयोग रंगों और रंग पैटर्न को पहचानने के लिए किया जा सकता है।
- इस सेंसर का उपयोग किसी वस्तु का अनुसरण करने के लिए किया जा सकता है।
- इस सेंसर का उपयोग पर्यावरण के बारे में जानकारी एकत्र करने के लिए किया जा सकता है।
विज़न सेंसर रोबोट को अपने वातावरण से दृश्य इनपुट डेटा का उपयोग करने की अनुमति देता है। इसके बाद परियोजना यह निर्धारित कर सकती है कि दृश्य इनपुट डेटा रोबोट के व्यवहार को किस प्रकार प्रभावित करेगा। उदाहरण के लिए, रोबोट मोटर को घुमाने या एलसीडी स्क्रीन पर परिणाम प्रदर्शित करने जैसे कार्य (आउटपुट) कर सकता है।
विज़न सेंसर अपने सामने मौजूद चीज़ों का स्नैपशॉट भी ले सकता है और उपयोगकर्ता जो पूछ रहा है उसके अनुसार उसका विश्लेषण कर सकता है। उदाहरण के लिए, उपयोगकर्ता स्नैपशॉट से डेटा एकत्र कर सकता है, जैसे कि वस्तु का रंग क्या है? क्या कोई वस्तु पाई गई है? वस्तु कितनी बड़ी है (चौड़ाई और ऊँचाई)?
रोबोट फिर इस डेटा के आधार पर निर्णय ले सकता है। नीचे दिया गया आंशिक उदाहरण प्रोजेक्ट यह दर्शाता है कि यह कैसे किया जाता है। परियोजना शुरू होने के बाद तीन रंगों की बार-बार जांच की जाती है, और प्रत्येक रंग की जांच एक अलग घटना होती है। नीचे केवल वह इवेंट दिखाया गया है जो ब्लू की जांच करता है। इस स्टैक में यदि कोई नीली वस्तु पाई जाती है तो रोबोट "नीली वस्तु मिली" प्रिंट करता है, अन्यथा "कोई नीली वस्तु नहीं" प्रिंट करता है। नीचे नहीं दिखाए गए check_red और check_green इवेंट्स में स्क्रीन पर क्या प्रिंट करना है, यह तय करने के लिए समान स्टैक हैं।
# लाइब्रेरी आयात
from vex import *
# प्रोजेक्ट कोड शुरू करें
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)
#यह सुनिश्चित करने के लिए कि ईवेंट सही ढंग से पंजीकृत हैं, 15ms विलंब जोड़ें
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)