Skip to main content

प्रतियोगिता कनेक्शन: महत्वपूर्ण मोड़ - पायथन

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

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

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

अपनी शिक्षा का विस्तार करें आइकन अपनी शिक्षा का विस्तार करें

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

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

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

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

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

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

नीचे नमूना समाधान देखें:

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

# प्रोजेक्ट कोड शुरू करें

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)