Skip to main content

প্যাকেজ ড্যাশ চ্যালেঞ্জ - পাইথন

প্যাকেজ ড্যাশ চ্যালেঞ্জের নমুনা বিন্যাসে নীচের বাম কোণে লোডিং ডক, ক্যান স্থাপনের জন্য তিনটি এলাকা এবং উপরের ডান কোণে শুরুর এলাকা দেখানো হয়েছে যার ভিতরে একটি ক্লবট রয়েছে।
প্যাকেজ ড্যাশ চ্যালেঞ্জ (স্কেল অনুসারে নয়)

প্যাকেজ ড্যাশ চ্যালেঞ্জ

এই চ্যালেঞ্জে, আপনি আপনার রোবটকে প্রোগ্রাম করবেন যাতে প্যাকেজগুলি তুলে যত তাড়াতাড়ি সম্ভব লোডিং ডকে নিয়ে আসা যায়!

চ্যালেঞ্জের নিয়ম:

  • রোবটটিকে স্টার্ট জোনে চ্যালেঞ্জ শুরু করতে হবে।
  • প্যাকেজগুলি (অ্যালুমিনিয়ামের ক্যান) কেবল বই, ক্লবটের নখর এবং লোডিং ডকের সংস্পর্শে আসতে পারে।
    • যদি কোনও প্যাকেজ গুদামের মাটিতে পড়ে যায়, তাহলে আপনাকে অবশ্যই ক্ষেত্রটি পুনরায় সেট করতে হবে এবং আবার শুরু করতে হবে।
  • রোবটটি নড়াচড়া করার সাথে সাথে প্রতিটি দৌড়ের সময় শুরু হয়।
  • শেষ প্যাকেজটি লোডিং ডকে ফেলার সাথে সাথে সময় বন্ধ হয়ে যায়।
  • ক্ষেত্রটি পুনরায় সেট করার সময়, সবকিছু ঠিক সেই স্থানে ফিরিয়ে আনা উচিত যেখানে এটি শুরু হয়েছিল।
  • আনন্দ কর!
     

শিক্ষক টিপস আইকন শিক্ষকদের টিপস

  • গুদামের পিছনের গল্প বা উদ্দেশ্য তৈরি করে সম্পৃক্ততা বৃদ্ধি করুন! এটি কোন ধরণের গুদাম? গুদামে কী ধরণের প্যাকেজ পাওয়া যায়? গুদামটির মালিক কে?
  • শিক্ষার্থীদের বিভিন্ন রুট বা কৌশল তৈরি করতে দিন যা তাদের ক্যানগুলি আরও দক্ষতার সাথে পরিবহন করতে সাহায্য করবে।
  • এই চ্যালেঞ্জের বিজয়ী নির্ধারণের জন্য (যদি আপনি এটি প্রতিযোগিতামূলকভাবে আয়োজন করেন) কেবল সমাপ্তির সময় তুলনা করবেন না, বরং ব্যবহৃত নেভিগেশন কৌশলগুলিও তুলনা করুন যাতে শিক্ষার্থীরা অন্যান্য দলের সমাধানগুলি বিবেচনা করতে পারে।

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - সমাধান

শিক্ষার্থীদের মূল্যায়নের জন্য একটি প্রোগ্রামিং রুব্রিক এখানেপাওয়া যাবে।

এই চ্যালেঞ্জের একটি সম্ভাব্য সমাধান নিচে দেওয়া হল। রোবটের শুরুর অবস্থান এবং বেছে নেওয়া পথের উপর নির্ভর করে সমাধানগুলি পরিবর্তিত হতে পারে। সমস্ত প্যাকেজ সরানোর জন্য একাধিক পথ রয়েছে।

# প্রকল্প কোড

শুরু করুন # ক্ল মোটরটি নিরাপদে চালান এবং প্রথম প্যাকেজটি তুলে নিন
claw_motor.set_timeout(2, seconds)
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.drive_for(FORWARD, 215, MM)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# প্রথম প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
drivetrain.drive_for(REVERSE, 110, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 920, MM)
ড্রাইভট্রেন.turn_for(LEFT, 90, DEGREES)
ড্রাইভট্রেন.drive_for(FORWARD, 2300, MM)
টি ড্রাইভট্রেন.turn_for(LEFT, 90, DEGREES)
টি ড্রাইভট্রেন.drive_for(FORWARD, 750, MM)
টি আর্ম_মোটর.spin_for(REVERSE, 315, DEGREES)
ক্ল_মোটর.spin_for(REVERSE, 120, DEGREES)

# দ্বিতীয় প্যাকেজটি নিন
ড্রাইভট্রেন.drive_for(REVERSE, 200, MM)
টি ড্রাইভট্রেন.turn_for(LEFT, 170, DEGREES)
ড্রাইভট্রেন.drive_for(FORWARD, 900, MM)
ড্রাইভট্রেন.turn_for(RIGHT, 90, DEGREES)
ড্রাইভট্রেন.drive_for(FORWARD, ২৩০০, এমএম)
আর্ম_মোটর.স্পিন_ফর(ফরওয়ার্ড, ৩১৫, ডিগ্রি)
ক্লো_মোটর.স্পিন_ফর(ফরওয়ার্ড, ১২০, ডিগ্রি)

# দ্বিতীয় প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
ড্রাইভট্রেন.ড্রাইভ_ফর(ফরওয়ার্ড, ৯০০, মিমি)
ড্রাইভট্রেন.টার্ন_ফর(ডান, ৯০, ডিগ্রি)
ড্রাইভট্রেন.ড্রাইভ_ফর(ফরওয়ার্ড, ৯৬০, মিমি)
আর্ম_মোটর.স্পিন_ফর(বিপরীত, ৩১৫, ডিগ্রি)
ক্লো_মোটর.স্পিন_ফর(বিপরীত, ১২০, ডিগ্রি)

# তৃতীয় প্যাকেজটি তুলে নিন
ড্রাইভট্রেন.ড্রাইভ_ফর(বিপরীত, ১৫০, মিমি)
ড্রাইভট্রেন.টার্ন_ফর(বাম, ৯০, ডিগ্রি)
drivetrain.drive_for(FORWARD, 490, MM)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# তৃতীয় প্যাকেজটি নামানোর জন্য লোডিং ডকে যান
drivetrain.drive_for(REVERSE, 490, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 150, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, DEGREES)