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

रोबोट आर्म की प्रोग्रामिंग - पायथन

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - गतिविधि रूपरेखा

  • इस अध्ययन के माध्यम से छात्रों को वी5 क्लॉबॉट के आर्म मोटर की बुनियादी प्रोग्रामिंग से परिचित कराया जाएगा। 
  • आर्म मोटर को प्रोग्राम करना सीखने से छात्र वी5 क्लॉबॉट की भुजाओं की गतिविधियों को ठीक से नियंत्रित कर सकते हैं। पायथन प्रोजेक्ट में उपयोग किए जाने वाले निर्देशों के बारे में जानकारी के लिए, VEXcode V5 पायथन के लिए सहायता जानकारी देखें

शिक्षक सुझाव आइकन शिक्षकों के लिए सुझाव - ऑटो-कंप्लीट का उपयोग करना

ऑटो-कंप्लीट VEXcode V5 का एक फीचर है जो आपके द्वारा टाइप किए जा रहे कमांड के बाकी हिस्से का अनुमान लगाता है। चूंकि छात्र VEXcode V5 में काम कर रहे हैं, इसलिए उन्हें पायथन सिंटैक्स में मदद के लिए ऑटो-कंप्लीट सुविधा का उपयोग करने के लिए प्रोत्साहित करें। निर्देश टाइप करना शुरू करते समय आपको ऑटो-कंप्लीट फंक्शन दिखाई दे सकता है। अपनी पसंद का नाम चुनने के लिए "ऊपर" और "नीचे" कुंजियों का उपयोग करें, फिर चयन को अंतिम रूप देने के लिए अपने कीबोर्ड पर "टैब" या (एंटर/रिटर्न) दबाएं। इस फीचर के बारे में अधिक जानकारी के लिए पायथन लेख देखें। VEXcode V5 Python वर्कस्पेस में ड्राइवट्रेन कमांड का आरंभिक भाग टाइप किया गया है, और ऑटो-कंप्लीट विंडो खुली हुई है जिसमें कमांड के शेष भाग के लिए विकल्प दिखाए गए हैं।

V5 क्लॉबॉट पहुंचने के लिए तैयार है!

इस अन्वेषण से आपको वी5 क्लॉबॉट के हाथ का उपयोग करके कुछ शानदार प्रोजेक्ट बनाना शुरू करने के लिए आवश्यक उपकरण मिलेंगे।

  • इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 Python निर्देश:
    • arm_motor.spin_for(FORWARD, 90, DEGREES)
    • आर्म_मोटर.सेट_पोजिशन(0, डिग्री)
    • प्रतीक्षा करें(2, सेकंड)
  • निर्देश के बारे में अधिक जानकारी प्राप्त करने के लिए, किसी कमांड के आगे स्थित चिह्न आइकन का चयन करें। 

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

  • सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 डाउनलोड और तैयार हैं।
सामग्री की आवश्यकता:
मात्रा आवश्यक सामग्री
1

VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ)

1

VEXcode V5

1

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

1

क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) उदाहरण प्रोजेक्ट

चरण 1: अन्वेषण की तैयारी

गतिविधि शुरू करने से पहले, क्या आपके पास ये सभी चीजें तैयार हैं? निम्नलिखित में से प्रत्येक की जाँच करें:

शिक्षक सुझाव आइकन शिक्षक सुझाव

छात्रों के लिए समस्या निवारण के प्रत्येक चरण का प्रदर्शन करें।

चरण 2: एक नया प्रोजेक्ट शुरू करें

अपना प्रोजेक्ट शुरू करने से पहले, सही टेम्पलेट प्रोजेक्ट का चयन करें। क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, नो जाइरो) उदाहरण प्रोजेक्ट में क्लॉबॉट के मोटर्स का कॉन्फ़िगरेशन शामिल है। यदि टेम्पलेट का उपयोग नहीं किया जाता है, तो आपका रोबोट प्रोजेक्ट को सही ढंग से नहीं चला पाएगा।

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

निम्नलिखित चरणों को पूरा करें:

  • फ़ाइल मेनू खोलें।
  • खोलेंउदाहरण चुनें।

आइकन पर 'क्लॉबॉट' और 'एडवांस्ड ट्रेनिंग बॉट' लिखा है और टेक्स्ट के ऊपर एक ग्रे रंग का रोबोट बना हुआ है।

  • क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, नो जाइरो) उदाहरण प्रोजेक्ट का चयन करें और खोलें।
  • चूंकि हम भुजा को नियंत्रित करने के लिए प्रोग्रामिंग करेंगे, इसलिए अपनी परियोजना का नाम बदलकरArmControl कर दें।
  • अपनी परियोजना सहेजें
  • यह सुनिश्चित करने के लिए जांच करें कि प्रोजेक्ट का नाम ArmControl अब टूलबार के केंद्र में स्थित विंडो में दिखाई दे रहा है।

VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में Arm Control लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।

शिक्षक सुझाव आइकन शिक्षक सुझाव

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

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

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

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - बचत परियोजनाएं

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

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - रुकें और चर्चा करें

यह एक अच्छा मौका है कि छात्र समूह रुकें और VEXcode V5 में एक नया प्रोजेक्ट शुरू करने के लिए अभी-अभी पूरे किए गए चरणों की समीक्षा करें।

चरण 3: बांह को ऊपर उठाएं

अब हम हाथ को ऊपर उठाने के लिए प्रोग्रामिंग शुरू करने जा रहे हैं!

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

# प्रोजेक्ट कोड प्रारंभ
arm_motor.set_position(0, DEGREES)
  • आर्म के लिए प्रारंभिक स्थिति निर्धारित करने के लिए प्रोग्रामिंग क्षेत्र में ऊपर दिखाए अनुसार arm_motor.set_position()कमांड लिखें।
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
  • आर्मऊपर ले जाने के लिए ऊपर दिखाए अनुसार () कमांडनीचे () जोड़ें

प्रोजेक्ट नाम के बगल में स्लॉट चयन विकल्प के साथ VEXcode V5 टूलबार खुला हुआ है। स्लॉट 1 का चयन किया गया है और उसे एक लाल बॉक्स से हाइलाइट किया गया है तथा प्रोजेक्ट का नाम आर्म कंट्रोल लिखा हुआ है।

  • स्लॉट आइकन का चयन करें। आप अपने प्रोजेक्ट को रोबोट ब्रेन में उपलब्ध स्लॉट में से किसी एक में डाउनलोड कर सकते हैं। स्लॉट 1 का चयन करें।

VEXcode V5 में टूलबार की छवि जिसमें हरे रंग के भुजा आइकन के चारों ओर एक लाल बॉक्स है।

VEXcode V5 में टूलबार, जिसमें डाउनलोड बटन के चारों ओर एक लाल बॉक्स है। बाईं से दाईं ओर दिखाए गए आइकन हैं: कंट्रोलर, ब्रेन, डाउनलोड, रन और स्टॉप।

  • रोबोट ब्रेन में आर्मकंट्रोल प्रोजेक्ट डाउनलोड करने के लिए टूलबार पर मौजूदडाउनलोडबटन पर क्लिक करें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स

यदि छात्र कंप्यूटर का उपयोग कर रहे हैं, तो उनसे कहें कि वे रोबोट ब्रेन से यूएसबी केबल को डिस्कनेक्ट कर दें। किसी प्रोजेक्ट को चलाते समय रोबोट को कंप्यूटर से कनेक्ट रखने से रोबोट कनेक्शन केबल को खींच सकता है।

V5 ब्रेन होम स्क्रीन के निचले बाएं कोने में स्लॉट 1 में आर्म कंट्रोल प्रोजेक्ट दिखाई देता है। ऊपर वाली पंक्ति में, आइकन पर ड्राइव, डिवाइसेस, सेटिंग्स और VEX लिखा हुआ है।

  • यह सुनिश्चित करें कि आर्मकंट्रोल प्रोजेक्ट आपके द्वारा चुने गए स्लॉट में ब्रेन में डाउनलोड हो गया है।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - मॉडल प्रथम

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

छात्रों को बताएं कि अब उनकी परियोजनाओं को चलाने की बारी है। यह सुनिश्चित करें कि उनके पास क्लॉबॉट की भुजा को सुरक्षित रूप से ऊपर उठाने के लिए पर्याप्त जगह हो।
 

चरण 4: यह आजमाएं: आर्म को नीचे की ओर प्रोग्राम करें

अब जब आपने भुजा को ऊपर की ओर गति करने के लिए प्रोग्राम कर दिया है, तो अब आप भुजा को नीचे की ओर गति करने के लिए प्रोग्राम करेंगे।

वी5 क्लॉबॉट का पार्श्व दृश्य, जिसमें उसकी भुजा नीचे की ओर है।

VEX V5 क्लॉबॉट की छवि जिसमें उसका हाथ नीचे की ओर है

  • अपने ArmControl प्रोजेक्ट में दूसरा arm_motor.spin_for()कमांड जोड़ें ताकि आर्म 90 डिग्री तक उठे, 2 सेकंड प्रतीक्षा करे और फिर वापस नीचे आ जाए।
    • संकेत:आपको कमांड के भीतर दिशा बदलने की आवश्यकता होगी।
  • ध्यान दें किwaitकमांड चलने के दौरान आर्म अपनी स्थिति बनाए रखता है। मोटर बैटरी से शक्ति प्राप्त करके भुजा को गुरुत्वाकर्षण बल के विरुद्ध ऊपर की ओर स्थिर रखती है। ऐसा इसलिए है क्योंकि मोटर को रोकने के लिए डिफ़ॉल्ट सेटिंगहोल्डसेटिंग है। रुकने के लिए दो अन्य सेटिंग्स हैं -ब्रेकऔरकोस्ट। आप इनके बारे में किसी दूसरी प्रयोगशाला में सीखेंगे।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - समाधान

इस समस्या का समाधान नीचे दिया गया है। हाथ को नीचे करने के लिए, छात्रोंजोड़े गए () कमांड में "FORWARD" पैरामीटर"REVERSE" में बदलना होगा

# प्रोजेक्ट कोड प्रारंभ करें
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
wait(2, SECONDS)
arm_motor.spin_for(REVERSE, 90, DEGREES)

चरण 5: फ्लाइट ट्रैफिक कंट्रोलर चैलेंज को पूरा करें

वी5 क्लॉबॉट का पार्श्व दृश्य जिसमें भुजा ऊपर उठी हुई है और उसके नीचे तीर ऊपर और नीचे की गति को दर्शा रहे हैं।

V5 क्लॉबॉट की छवि जिसमें उसका हाथ ऊपर उठा हुआ है और ऊपर और नीचे की ओर लाल तीर दिखाए गए हैं, यह दर्शाता है कि क्लॉबॉट अपना हाथ कैसे ऊपर और नीचे कर सकता है। फ्लाइट ट्रैफिक कंट्रोलर चैलेंज में, क्लॉबॉट को अपनी भुजा को एक बार 90 डिग्री तक ऊपर और नीचे घुमाना होगा, 3 सेकंड तक प्रतीक्षा करनी होगी, फिर भुजा को दो बार 45 डिग्री तक ऊपर और नीचे घुमाना होगा, 5 सेकंड तक प्रतीक्षा करनी होगी, और फिर भुजा को तीन बार 90 डिग्री तक ऊपर और नीचे घुमाना होगा।

यहां क्लॉबॉट के व्यवहारों की सूची दी गई है:

  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • 3 सेकंड प्रतीक्षा करें।
  • हाथ को ऊपर उठाएं और फिर 45 डिग्री तक नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 45 डिग्री नीचे लाएं।
  • 5 सेकंड प्रतीक्षा करें।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - समाधान

इस चुनौती के अधिकांश कमांड arm_motor.spin_for() हैं। हाथ को ऊपर की ओर ले जाने के लिए एक कमांड और हाथ को नीचे की ओर ले जाने के लिए एक कमांड जोड़ने के बाद, आप दोनों कमांड को हाइलाइट कर सकते हैं, राइट-क्लिक कर सकते हैं और फिर आवश्यकतानुसार उन्हें कॉपी और पेस्ट कर सकते हैं। फिर चुनौती के अनुरूप मापदंडों को बदला जा सकता है और बीच में waitकमांड जोड़े जा सकते हैं।वर्कस्पेस में VEXcode V5 पायथन प्रोजेक्ट, जिसमें दो स्पिन फॉर ब्लॉक हाइलाइट किए गए हैं और दाईं ओर संदर्भ मेनू खुला हुआ है। संदर्भ मेनू में कॉपी विकल्प हाइलाइट किया गया है। कॉपी शब्द कट और पेस्ट के बीच में दिखाई देता है।

  • यहां फ्लाइट ट्रैफिक कंट्रोलर चैलेंज के समाधान का एक उदाहरण देखें: 
# प्रोजेक्ट कोड प्रारंभ करें
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, डिग्री)
आर्म_मोटर.स्पिन_फॉर(फॉरवर्ड, 90, डिग्री)
आर्म_मोटर.स्पिन_फॉर(रिवर्स, 90, डिग्री)
आर्म_मोटर.स्पिन_फॉर(फॉरवर्ड, 90, डिग्री)
आर्म_मोटर.स्पिन_फॉर(रिवर्स, 90, डिग्री)

अधिक उन्नत छात्र समाधान को सरल बनाने के लिए लूप का उपयोग कर सकते हैं।

# प्रोजेक्ट कोड प्रारंभ
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
for repeat_count in range(2): 
    arm_motor.spin_for(FORWARD, 45, DEGREES)
    arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
for repeat_count in range(3):
    arm_motor.spin_for(FORWARD, 90, DEGREES)
    arm_motor.spin_for(REVERSE, 90, DEGREES)