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

प्रतियोगिता संबंध: निर्णायक मोड़ - पायथन

टर्निंग पॉइंट वीईएक्स रोबोटिक्स प्रतियोगिता का मैदान, जिसमें खेल के तत्व और स्कोरिंग क्षेत्र मैच की शुरुआत के लिए प्रारंभिक स्थानों पर स्थित हैं। पीछे की दीवार के साथ-साथ एक जाल लगा हुआ है जिसके सामने कई पलटने योग्य झंडे लगे हुए हैं।
वीआरसी 2018-2019 टर्निंग पॉइंट फील्ड

रोबोट क्षमताएँ

2018-2019 VEX रोबोटिक्स प्रतियोगिता के गेम टर्निंग पॉइंट में खिलाड़ियों को अन्य गेम तत्वों के साथ-साथ झंडे को चालू/बंद करने की आवश्यकता थी। कुल मिलाकर नौ झंडे थे: तीन निचले झंडे जिन्हें रोबोट द्वारा हिलाया जा सकता था, और छह ऊंचे झंडे जिन्हें केवल प्रतियोगिता के बॉल गेम के टुकड़ों से मारकर ही हिलाया जा सकता था। प्रतियोगिता में भाग लेने वाली टीमों को बॉल लॉन्चर का उपयोग करके ऊंचे झंडों को निशाना बनाने का तरीका ढूंढना था। अगर आप कल्पना कर सकते हैं, तो गेंद के टुकड़ों का उपयोग करके झंडों को हिट करने के लिए रोबोट को प्रोग्राम करना, माप के आधार पर, हमेशा सटीक नहीं हो सकता है। यदि रोबोट स्वायत्त अवधि के दौरान एक गलत मोड़ लेता है, तो संभावना है कि गणना गलत होने के कारण कोई भी झंडा नहीं टकराएगा। इसी तरह, ड्राइविंग स्किल्स चैलेंज के लिए, टीमों के लिए रोबोट को मैन्युअल रूप से इतनी अच्छी तरह से संरेखित करना मुश्किल हो सकता है कि गेंद को ठीक से लॉन्च किया जा सके। इस प्रकार, कुशल टीमें विजन सेंसर का उपयोग करके रोबोट को प्रोग्राम करेंगी ताकि वह झंडों का पता लगा सके और फिर सटीक निशाने लगाने के लिए रोबोट को ठीक से संरेखित कर सके।

अपने सीखने का विस्तार करें आइकन अपने ज्ञान का विस्तार करें

इस गतिविधि को आगे बढ़ाने के लिए, अपने छात्रों से एक ऐसा प्रोजेक्ट डिज़ाइन और रूपरेखा तैयार करने के लिए कहें जिसमें रोबोट पीले रंग की वस्तुओं की ओर बढ़े, जिनका उपयोग वे संभावित रूप से इस प्रतियोगिता खेल के लिए कर सकते हैं! अपने छात्रों से निम्नलिखित करने के लिए
:

  • क्लॉबॉट (ड्राइवट्रेन, 2-मोटर, नो जाइरो) टेम्पलेट उदाहरण प्रोजेक्ट खोलें।

    VEXcode V5 उदाहरण प्रोजेक्ट का चयन करते समय, ऊपर की ओर टेम्पलेट फ़िल्टर का चयन किया गया है, और क्लॉबॉट ड्राइवट्रेन 2 मोटर नो जाइरो प्रोजेक्ट आइकन को लाल बॉक्स में हाइलाइट किया गया है।

  • विज़न सेंसर को प्रोग्राम करते समय डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट को संदर्भ के रूप में उपयोग करें। विज़न सेंसर को प्रोग्राम करते समय डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट को संदर्भ के रूप में उपयोग करें (Google Doc / .v5python)।
  • क्लॉबॉट (ड्राइवट्रेन, 2-मोटर, बिना जाइरो) कॉन्फ़िगरेशन में विज़न सेंसर जोड़ें और फिर विज़न सेंसर को लाल और नीली वस्तुओं का पता लगाने के लिए कॉन्फ़िगर करें। अधिक जानकारी के लिए विज़न सेंसर को कॉन्फ़िगर करना नामक लेख देखें

    VEXcode V5 डिवाइसेस विंडो खुलती है जिसमें डिवाइस जोड़ने के विकल्प दिखाई देते हैं। विंडो में "एक डिवाइस चुनें" लिखा हुआ है, और विज़न विकल्प को एक लाल बॉक्स से हाइलाइट किया गया है। अन्य विकल्पों में कंट्रोलर, ड्राइवट्रेन, मोटर और 3 वायर शामिल हैं।

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

नीचे दिए गए नमूना समाधान को देखें:

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

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

check_yellow = Event()

def check_yellow_callback():
    brain.screen.set_font(FontType.MONO40)
    brain.screen.clear_row(3)
    brain.screen.set_cursor(3, 1)
    vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)

    if (vision_5_objects):
        arm_motor.spin_for(FORWARD, 300, DEGREES)
        claw_motor.spin_for(FORWARD, 100, DEGREES)
        drivetrain.drive_for(FORWARD, 12, INCHES)
        arm_motor.spin_for(REVERSE, 300, DEGREES)
        claw_motor.spin_for(REVERSE, 100, DEGREES)
    
    else:
        brain.screen.print("No Yellow Object")

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

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

# नए सेंसर डेटा की जांच के लिए लगातार चलता है
while True:
    check_blue.broadcast_and_wait()
    wait(105, MSEC)