मुख्य सामग्री पर जाएं
शिक्षक पोर्टल

पैकेज डैश चैलेंज - सी++

पैकेज डैश चैलेंज के लिए नमूना लेआउट जिसमें निचले बाएं कोने में लोडिंग डॉक, कैन रखने के लिए तीन क्षेत्र और ऊपरी दाएं कोने में स्टार्ट एरिया दिखाया गया है, जिसके अंदर एक क्लॉबॉट मौजूद है।

रोबोटिक प्रतियोगिता के मैदान का एक ग्रिड लेआउट जिसमें दाईं ओर 'स्टार्ट' क्षेत्र में स्थित एक रोबोट दिखाया गया है। इस क्षेत्र में बाईं ओर एक 'लोडिंग डॉक' क्षेत्र और तीन छोटे क्षेत्र शामिल हैं, जिनमें से प्रत्येक में एक किताब के ऊपर रखे गए डिब्बे की छवि है, जो पूरे क्षेत्र में वितरित हैं। इन क्षेत्रों को इस तरह से व्यवस्थित किया गया है कि एक कार्य-उन्मुख वातावरण तैयार हो सके जहां रोबोट को छोटे क्षेत्रों में मौजूद वस्तुओं के साथ बातचीत करने और उन्हें लोडिंग डॉक तक पहुंचाने की आवश्यकता हो सकती है।

पैकेज डैश चैलेंज

इस चुनौती में, आपको अपने रोबोट को इस तरह से प्रोग्राम करना होगा कि वह पैकेजों को जितनी जल्दी हो सके उठा ले और उन्हें लोडिंग डॉक तक पहुंचा दे!

चुनौती के नियम:

  • रोबोट को स्टार्ट ज़ोन से ही चुनौती शुरू करनी होगी।
  • ये पैकेज (एल्यूमीनियम के डिब्बे) केवल किताबों, क्लॉबॉट के पंजे और लोडिंग डॉक के संपर्क में आ सकते हैं।
    • यदि कोई पैकेज गोदाम के फर्श पर गिर जाता है, तो आपको फ़ील्ड को रीसेट करना होगा और फिर से शुरू करना होगा।
  • रोबोट के हिलते ही प्रत्येक दौड़ का समय शुरू हो जाता है।
  • जैसे ही आखिरी पैकेज लोडिंग डॉक में डाला जाता है, समय रुक जाता है।
  • फ़ील्ड को रीसेट करते समय, सब कुछ ठीक उसी स्थान पर वापस आ जाना चाहिए जहाँ से यह शुरू हुआ था।
  • मस्ती करो!

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

  • वेयरहाउस के लिए एक पृष्ठभूमि या उद्देश्य बनाकर ग्राहकों की भागीदारी बढ़ाएं! यह किस प्रकार का गोदाम है? गोदाम में किस प्रकार के पैकेज पाए जाते हैं? इस गोदाम का मालिक कौन है?

  • छात्रों को ऐसे अलग-अलग रास्ते या रणनीतियाँ बनाने की अनुमति दें जिनसे वे डिब्बों को अधिक कुशलता से परिवहन कर सकें।

  • इस चुनौती के विजेता का फैसला करने के लिए न केवल पूरा करने में लगने वाले समय की तुलना करें (यदि आप इसे प्रतिस्पर्धी बनाने के लिए आयोजित कर रहे हैं) बल्कि उपयोग की गई नेविगेशन तकनीकों की भी तुलना करें ताकि छात्र अन्य टीमों के समाधानों पर विचार कर सकें।

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

छात्रों के मूल्यांकन के लिए एक प्रोग्रामिंग रूब्रिक यहाँ पाया जा सकता है.

चुनौती का एक संभावित समाधान निम्नलिखित है। रोबोट की प्रारंभिक स्थिति और चुने गए पथ के आधार पर समाधान भिन्न हो सकते हैं। सभी पैकेजों को स्थानांतरित करने के कई रास्ते हैं।

int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
  vexcodeInit();

  // क्लॉ मोटर को सुरक्षित रूप से चलाएं और पहला पैकेज उठाएं
  ClawMotor.setTimeout(2, सेकंड);
  Drivetrain.driveFor(forward, 900, mm);
  Drivetrain.turnFor(right, 90, डिग्री);
  ArmMotor.spinFor(forward, 315, डिग्री);
  ClawMotor.spinFor(reverse, 180, डिग्री);
  Drivetrain.driveFor(forward, 215, mm);
  ClawMotor.spinFor(forward, 120, डिग्री);

  // पहला पैकेज छोड़ने के लिए लोडिंग डॉक तक ड्राइव करें
  Drivetrain.driveFor(reverse, 110, mm);
  Drivetrain.turnFor(right, 90, डिग्री);
  Drivetrain.driveFor(forward, 920, mm);
  Drivetrain.turnFor(left, 90, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 2300, मिमी);
  ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 750, मिमी);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 315, डिग्री);
  क्लॉमोटर.स्पिनफॉर(रिवर्स, 120, डिग्री);

  // दूसरा पैकेज उठाएं
  ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 200, मिमी);
  ड्राइवट्रेन.टर्नफॉर(बाएं, 170, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 900, मिमी);
  ड्राइवट्रेन.टर्नफॉर(दाएं, 90, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 2300, मिमी);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 315, डिग्री);
  क्लॉमोटर.स्पिनफॉर(फॉरवर्ड, 120, डिग्री);

  // दूसरा पैकेज उतारने के लिए लोडिंग डॉक तक ड्राइव करें
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 900, मिमी);
  ड्राइवट्रेन.टर्नफॉर(राइट, 90, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 960, मिमी);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 315, डिग्री);
  क्लॉमोटर.स्पिनफॉर(रिवर्स, 120, डिग्री);

  // तीसरा पैकेज उठाएं
  ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 150, मिमी);
  ड्राइवट्रेन.टर्नफॉर(लेफ्ट, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 315, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 490, मिमी);
  क्लॉमोटर.स्पिनफॉर(फॉरवर्ड, 120, डिग्री); 

  // तीसरा पैकेज उतारने के लिए लोडिंग डॉक तक ड्राइव करें
  ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 490, मिमी);
  ड्राइवट्रेन.टर्नफॉर(राइट, 90, डिग्री);
  ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 150, मिमी);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 315, डिग्री);
  क्लॉमोटर.स्पिनफॉर(रिवर्स, 120, डिग्री);
  
}