Skip to main content

পাঠ ২: পরবর্তী ডিস্কে ড্রাইভ করুন

ব্লু ডিস্কে গাড়ি চালান

পূর্ববর্তী প্রকল্পে ভিআর রোবট ডানদিকে ঘুরিয়ে দেওয়া হয়েছিল যখন ফ্রন্ট আই সেন্সর একটি সবুজ ডিস্ক সনাক্ত করে, যা ভিআর রোবটকে গোলকধাঁধার প্রথম ধাপে নিয়ে গিয়েছিল। এখন, আমরা প্রকল্পটি আরও উন্নত করব যাতে VR রোবট Disk Maze Playgroundএর প্রথম চারটি ডিস্কে চলে যায়।

সবুজ ডিস্কে ডানদিকে বাঁক নেওয়ার পরে VR রোবটটি কোথায় মুখোমুখি হচ্ছে তা দেখে, আমরা দেখতে পাচ্ছি যে পরবর্তী তিনটি নীল ডিস্কে নেভিগেট করতে, VR রোবটটিকে এগিয়ে যেতে হবে এবং প্রতিটি নীল ডিস্কে বাম দিকে ঘুরতে হবে। আমরাwhileলুপের একই লজিক ব্যবহার করতে পারি,নয়শর্তের সাথে, যাতে VR রোবটটি গোলকধাঁধার মধ্য দিয়ে চলতে থাকে এবং নীল ডিস্ক সনাক্ত করলে বাম দিকে ঘুরতে পারে।ডিস্ক মেজ খেলার মাঠের উপর থেকে নিচের দৃশ্য। প্রথম সবুজ ডিস্কের রোবটটি ডানদিকে মুখ করে প্রথম নীল ডিস্কের দিকে মুখ করে আছে। রোবটটিকে কীভাবে নড়াচড়া করতে হবে তার জন্য কালো তীরগুলি দেখানো হয়েছে। এর অর্থ হল রোবটটি নীল ডিস্কের দিকে গাড়ি চালাবে, বাম দিকে ঘুরবে, দ্বিতীয় নীল ডিস্কের দিকে গাড়ি চালাবে, বাম দিকে ঘুরবে এবং তৃতীয় নীল ডিস্কে থামবে।

  • ভিআর রোবটের পরবর্তী আচরণগুলি বর্ণনা করতে বিদ্যমান প্রকল্পে turn_for নীচে আরেকটি মন্তব্য যোগ করুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
def main():
    # প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
    যখন front_eye.detect(GREEN নয়):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
  • নতুন মন্তব্যের নিচে, not শর্তসহ আরও একটি while লুপ যোগ করুন। শর্তটি detectকমান্ডে সেট করুন এবং প্যারামিটারগুলি "নীল" তে সেট করুন, কারণ VR রোবট পরবর্তী যে ডিস্কটির মুখোমুখি হবে তা নীল।
    # দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বাম দিকে
    ঘুরুন, front_eye.detect(নীল):
        অপেক্ষা করুন (5, MSEC)
  • while লুপের ভিতরে, নন-ওয়েটিং ড্রাইভ কমান্ড টেনে আনুন বা টাইপ করুন। 
    # দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বাম দিকে
    ঘুরুন, front_eye.detect(নীল):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • টেনে আনুন বা টাইপ করুন একটি turn_for কমান্ড, এবং প্যারামিটারগুলিকে বাম দিকে 90 ডিগ্রি ঘুরানোর জন্য সেট করুন।
    # দ্বিতীয় ডিস্কে গাড়ি চালান (নীল), বাম দিকে
    ঘুরুন, front_eye.detect(নীল):
        ড্রাইভট্রেন.ড্রাইভ(ফরওয়ার্ড)
        অপেক্ষা(৫, MSEC)

    ড্রাইভট্রেন.টারন_ফর(বাম, ৯০, ডিগ্রি)
  • ডিস্ক মেজ প্লেগ্রাউন্ডের মধ্য দিয়ে ভিআর রোবট কীভাবে চলাচল করে তা দেখতে প্রকল্পটি চালান.ডিস্ক মেজ খেলার মাঠে ভিআর রোবটের উপরের দিকের দৃশ্যে একটি কালো তীর দেখা যাচ্ছে যা নির্দেশ করে যে রোবটটি শুরুর স্থান থেকে সরাসরি সবুজ ডিস্কে গাড়ি চালাবে তারপর ডানদিকে ঘুরবে, নীল ডিস্কে এগিয়ে যাবে, বাম দিকে ঘুরবে এবং গাড়ি চালানো বন্ধ করবে।
    • লক্ষ্য করুন যে সামনের চোখের সেন্সর একটি সবুজ ডিস্ক সনাক্ত করলে VR রোবটটি ডানদিকে ঘুরবে এবং সামনের চোখের সেন্সর একটি নীল ডিস্ক শনাক্ত করলে বাম দিকে ঘুরবে৷
  • ফ্রন্ট আই সেন্সর ব্যবহার করে ডিস্ক মেজ প্লেগ্রাউন্ড এ VR রোবটটিকে আরও দুটি নীল ডিস্কে চালাতে এই প্রকল্পটি তৈরি করা চালিয়ে যান। প্রকল্পে কমান্ড যোগ করুন, VR রোবটটিকে পরবর্তী দুটি ডিস্কে নেভিগেট করুন এবং তারপর থামুন। আপনার সম্পূর্ণ প্রকল্পটি এখন এইরকম দেখাবে:
def main():
    # প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(ডান, 90, DEGREES)

    # দ্বিতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
    while not front_eye.detect(BLUE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(LEFT, 90, DEGREES)

    # তৃতীয় ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
    while not front_eye.detect(BLUE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(LEFT, 90, DEGREES)

    # চতুর্থ ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
    while not front_eye.detect(BLUE):
        ড্রাইভট্রেন.ড্রাইভ(এগিয়ে)
        অপেক্ষা(৫, এমএসইসি)

    ড্রাইভট্রেন.টার্ন_ফর(বাম, ৯০, ডিগ্রি)

ভিআর রোবটের গতিবিধিতে একটি প্যাটার্ন সনাক্ত করা

ফ্রন্ট আই সেন্সরের সাহায্যে ডিস্ক মেজ সফলভাবে নেভিগেট করার লক্ষ্য হল একটি সামঞ্জস্যপূর্ণ প্যাটার্ন তৈরি করা যেখানে ভিআর রোবট যখন ফ্রন্ট আই সেন্সর একটি সবুজ ডিস্ক সনাক্ত করে তখন ডানে ঘুরবে এবং যখন ফ্রন্ট আই সেন্সর একটি নীল ডিস্ক সনাক্ত করে তখন বামে ঘুরবে। এই ধরনের নিদর্শনগুলি সনাক্ত করা আপনাকে আপনার প্রকল্পগুলিকে সহজ করতে সাহায্য করতে পারে কারণ সেগুলি জটিলতায় বৃদ্ধি পায়।

ডিস্ক মেজ খেলার মাঠের উপর থেকে নিচের দৃশ্য। রোবটটি শুরুর স্থানে রয়েছে। তীরচিহ্নগুলি Vr রোবটটি যে পথটি নেবে তা নির্দেশ করে, যেখানে দেখানো হবে যে প্রথম সবুজ ডিস্কে ড্রাইভ এগিয়ে যাবে, ডানে মোড় নেবে, নীল ডিস্কে গাড়ি চালাবে, বামে মোড় নেবে, দ্বিতীয় নীল ডিস্কে গাড়ি চালাবে, বামে মোড় নেবে এবং তৃতীয় নীল ডিস্কে থামবে।

আপনার তথ্যের জন্য

লক্ষ্য করুন যে প্রজেক্টে কমান্ডের ক্রমানুসারে একটি প্যাটার্নও রয়েছে। প্রকল্পে (নীল ডিস্কের জন্য) কমান্ডের একটি সিরিজ রয়েছে যা তিনবার পুনরাবৃত্তি করা হয়েছে। কোডের এই অংশটিকে লুপের জন্য ব্যবহার করে ঘনীভূত করা যেতে পারে। এখানে দেখানো প্রকল্পটি নীল ডিস্কের সাথে সম্পর্কিত তিনটি এবং লুপকে একটি একক এর জন্য লুপে একত্রিত করে।

def main():
    # প্রথম ডিস্কে ড্রাইভ করুন (সবুজ), ডানে ঘুরুন
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # পরবর্তী 3 ডিস্কে ড্রাইভ করুন (নীল), বামে ঘুরুন
    for value in range(3): 
        while not front_eye.detect(BLUE):
            drivetrain.drive(FORWARD)
            wait(5, MSEC)

        drivetrain.turn_for(LEFT, 90, DEGREES)

forলুপ ব্যবহার করলে আপনার প্রকল্পটি আরও সহজ এবং সহজে পঠনযোগ্য হতে পারে, তবে একটি লুপের ভিতরে পুনরাবৃত্তিমূলক কমান্ডগুলি ধারণ করতে পারে।

  • ডিস্ক মেজ প্লেগ্রাউন্ড খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্পটি চালান।
  • ডিস্ক মেজ প্লেগ্রাউন্ডএ ভিআর রোবটটিকে চারটি ডিস্কে নেভিগেট করতে দেখুন।

    ডিস্ক মেজ খেলার মাঠের উপর থেকে নিচের দৃশ্য। রোবটটি শুরুর স্থানে রয়েছে। তীরচিহ্নগুলি VR রোবটটি যে পথটি নেবে তা নির্দেশ করে, যেখানে দেখানো হবে যে প্রথম সবুজ ডিস্কে ড্রাইভ করে এগিয়ে যাওয়া, ডানে মোড় নেওয়া, নীল ডিস্কে গাড়ি চালানো, বামে মোড় নেওয়া, দ্বিতীয় নীল ডিস্কে গাড়ি চালানো, বামে মোড় নেওয়া এবং তৃতীয় নীল ডিস্কে থামানো। শেষ নীল ডিস্কে একটি লাল বাক্স রয়েছে যা শেষ অবস্থান নির্দেশ করে।
  • এই প্রজেক্টে, VR রোবট সামনের চোখের সেন্সর সবুজ রঙ সনাক্ত না করা পর্যন্ত এগিয়ে চলে।
    • VR রোবট ডানদিকে 90 ডিগ্রী ঘোরে এবং নীল রঙ শনাক্ত না হওয়া পর্যন্ত আবার এগিয়ে যায়।
    • VR রোবটটি তারপর বাম দিকে ঘুরবে এবং সামনের চোখের সেন্সর নীল শনাক্ত না করা পর্যন্ত সামনের দিকে ড্রাইভ করবে। একবার নীল রঙ শনাক্ত হয়ে গেলে, VR রোবট আবার বাম দিকে ঘুরবে।
    • অবশেষে, VR রোবট সামনের চোখের সেন্সর নীল শনাক্ত না হওয়া পর্যন্ত এগিয়ে যায়, তারপর থামে।
  • প্যাটার্নটি লক্ষ্য করুন যে যখন সামনের চোখের সেন্সর সবুজ শনাক্ত করে, তখন VR রোবট ডানদিকে ঘুরবে। যখন ফ্রন্ট আই সেন্সর নীল শনাক্ত করে, তখন ভিআর রোবটটি এই প্রকল্পে বাম দিকে ঘুরবে।

এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।