পাঠ ৩: ওয়াল গোলকধাঁধা সমাধানের জন্য ড্রাইভট্রেন কমান্ড যোগ করা
ওয়াল গোলকধাঁধা সমস্যার সমাধান
এখন যেহেতু VR রোবটটি 'A' অক্ষরের পাশাপাশি Maze Wall Playgroundএ '2' নম্বরেও ড্রাইভ করেছে, আপনি কীভাবে এমন একটি প্রকল্প তৈরি করবেন যেখানে VR রোবট 'B' অক্ষরের মতো অন্যান্য স্থানে ড্রাইভ করবে? এখন পর্যন্ত, আমরা বাম্পার সেন্সর থেকে ডেটা ব্যবহার করে একটি দেয়ালে গাড়ি চালিয়েছি, তারপর পরবর্তী দেয়ালে যাওয়ার জন্য ঘুরেছি। 'B' অক্ষরে নেভিগেট করার জন্য, আমাদের VR রোবটটিকে গোলকধাঁধার পৃষ্ঠের মাঝখানে একটি বিন্দুতে নিয়ে যেতে হবে, যাতে এটি আমাদের গন্তব্যের দিকে একটি ভিন্ন পথে যেতে পারে।
যদি কোডটিতে কেবল ড্রাইভএবং turn_forকমান্ড থাকত, তাহলে VR রোবটটি ওয়াল মেজের '2' নম্বর অংশে "আটকে" যেতে পারত, কারণ এটি কখনও ব্যাক আপ না করেই বাম বা ডানে ঘুরতে থাকবে।
পরিবর্তে, আমরা অনুমান করতে পারি যে ভিআর রোবটটি শেষ যে দেয়ালটি স্পর্শ করেছিল সেখান থেকে তার ঘুরার দূরত্ব কত। এরপর আমরা Drivetrain কমান্ড ব্যবহার করতে পারি, যেমনdrive_forএবংturn_for, আমাদের প্রকল্পেwhileলুপ এবং বাম্পার সেন্সর ডেটা ব্যবহার করে গোলকধাঁধাটি সমাধান করতে পারি!
-
আপনার পূর্ববর্তী প্রকল্পটি পরিবর্তন করে শুরু করুন, একটি নতুন প্রকল্প তৈরি করুন, অথবা "কপি করুন" নির্বাচন করুন এবং এই বেস প্রকল্পের সাথে মিল রাখতে এই কোডটি VEXcode VR-এ পেস্ট করুন।
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - উপরের প্রকল্পটি VR রোবটকে 'B' অক্ষরে চালিত করা শুরু করে, তবে, VR রোবটকে এটি করার জন্য, প্রথমে এটিকে পিছনে ফিরে যেতে হবে এবং তারপর বাম দিকে ঘুরতে হবে।

- কোডটি সম্পাদনা করার জন্য stop কমান্ডটি সরিয়েdrive_forএবং turn_for কমান্ডটি ব্যবহার করুন।
- আমরা অনুমান করতে পারি যে ভিআর রোবটটিকে প্রায় ৩০০ মিলিমিটার (মিমি) বিপরীত দিকে চালাতে হবে। প্রথমে, drive_for কমান্ডের প্যারামিটারগুলিকে 300 মিলিমিটার (মিমি) এর জন্য "বিপরীত" এ সেট করুন।
-
তারপর, 90 ডিগ্রি বাম দিকে ঘুরতে turn_for কমান্ডের প্যারামিটার সেট করুন। আপনার প্রকল্পটি এখন এইরকম দেখাবে:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.drive_for(REVERSE, 300, MM) ড্রাইভট্রেন.টার্ন_ফর(বাম, ৯০, ডিগ্রি)
- Wall Maze Playground চালু করুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্পটি চালান।
-
এই কমান্ডগুলি যোগ করলে VR রোবট 'B' অক্ষরটি সঠিক দিকে পরিচালিত করবে।

- খেলার মাঠ রিসেট করতে "রিসেট" বোতামটি নির্বাচন করুন এবং VR রোবটটিকে তার শুরুর অবস্থানে ফিরিয়ে আনুন।
-
এখন যেহেতু VR রোবটটি সঠিক দিকে পরিচালিত হয়েছে, তাই VR রোবটটিকে Wall Maze Playgroundএর 'B' অক্ষরে চালানোর জন্য চূড়ান্ত turn_for কমান্ডের নীচে নিম্নলিখিত কমান্ডগুলি যোগ করুন। আপনার প্রকল্পে কমান্ডগুলি সঠিকভাবে ইন্ডেন্ট করা আছে কিনা তা নিশ্চিত করুন।
while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(ডান, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(ডান, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - ওয়াল মেজ খেলার মাঠ চালু করুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্পটি চালান।
-
VR রোবট এখন Wall Maze Playgroundএ 'B' অক্ষরে চলে যাবে।

মিনি চ্যালেঞ্জ
এই চ্যালেঞ্জে, VR রোবটকে একাধিকএবংলুপ, ড্রাইভট্রেন কমান্ড এবং বাম্পার সেন্সর ব্যবহার করে Wall Maze Playground এর '3' নম্বরে নেভিগেট করতে হবে।

মিনি চ্যালেঞ্জ সম্পূর্ণ করতে এই পদক্ষেপগুলি অনুসরণ করুন:
-
নিচের সমাধান ভিডিওটি দেখুন এবং মিনি চ্যালেঞ্জটি সম্পূর্ণ করার জন্য VR রোবট কীভাবে গাড়ি চালাবে তা পর্যালোচনা করুন। নিচের ভিডিও ক্লিপে, ভিআর রোবটটি শুরুর স্থান থেকে শুরু হয় এবং বাম্পারটি চাপা না দেওয়া পর্যন্ত দেয়ালের দিকে গাড়ি চালানোর একই ধরণ অনুসরণ করে এবং তারপর ঘুরতে থাকে। রোবটটি শুরু করার জন্য একই পথ চালায়, যে পথ দিয়ে এটি B অক্ষরে গাড়ি চালানোর জন্য চালাত। দেয়াল থেকে দূরে বাঁক নেওয়ার সময়, রোবটটি ৩ নম্বরে যাওয়ার জন্য ডানদিকে মোড় নেয়। সেখান থেকে এটি সামনের দিকে এগিয়ে যায় এবং দুবার বাম দিকে ঘুরতে ঘুরতে পরবর্তী দেয়ালের চারপাশে ঘুরে, B অক্ষরটি অতিক্রম করে। অবশেষে, রোবটটি সামনের দিকে এগিয়ে যায় এবং দুবার ডান দিকে ঘুরতে ঘুরতে শেষ দেয়ালটি অতিক্রম করে ৩ নম্বরে পৌঁছায়।
- Unit4Lesson3 প্রকল্পে প্রয়োজনীয় কমান্ড যোগ করে বা সরিয়ে একটি প্রকল্প তৈরি করুন যাতে VR রোবটটিকে Wall Maze Playgroundনম্বরে '3' নম্বরে নিয়ে যাওয়া যায়।
- এটি কাজ করে কিনা তা পরীক্ষা করার জন্য প্রকল্পটি শুরু করুন।
- প্রকল্প সফল না হলে, সম্পাদনা করুন এবং আবার চেষ্টা করুন। চ্যালেঞ্জ সম্পূর্ণ না হওয়া পর্যন্ত এই প্রক্রিয়া চালিয়ে যান।
- একবার VR রোবটটি Wall Maze Playgroundএর '3' নম্বরে সফলভাবে ড্রাইভ করলে, প্রকল্পটি সংরক্ষণ করুন।
অভিনন্দন! আপনি ওয়াল মেজ চ্যালেঞ্জ সফলভাবে সম্পন্ন করেছেন!