Skip to main content

পাঠ ২: While Loops এর সাহায্যে ফ্রন্ট আই সেন্সর ব্যবহার করা

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

ডিস্ক মেজ খেলার মাঠে ভিআর রোবটের পাশের দৃশ্য, পটভূমিতে কালো তীরচিহ্ন সহ, যা রোবটটি ডিস্ক থেকে ডিস্কে যাওয়ার জন্য যে পথটি ভ্রমণ করেছে তা নির্দেশ করে। রোবটটি গোলকধাঁধার শেষে লাল ডিস্কের সামনে।

শেখার ফলাফল

  • সনাক্ত করুন যে যখন লুপ আই সেন্সরগুলির সাথে ব্যবহার করা যেতে পারে।
  • শনাক্ত করুন যে আই সেন্সর ডেটা ব্যবহার করার জন্য VR রোবট একটি প্রকল্পে সিদ্ধান্ত নিতে, একটি শর্ত ব্যবহার করা আবশ্যক।
  • বর্ণনা করুন কিভাবে একটি প্রকল্পে একটি প্যাটার্ন সনাক্তকরণ আপনার কোড সহজ করতে ব্যবহার করা যেতে পারে।

প্রথম চারটি ডিস্কে নেভিগেট করা

ফ্রন্ট আই সেন্সরটি ভিআর রোবটকে ডিস্ক এবং তাদের রঙ সনাক্ত করতে এবং সেই ডেটার উপর ভিত্তি করে সিদ্ধান্ত নিতে ব্যবহার করা যেতে পারে। এরপর ভিআর রোবটটি সনাক্ত করা বস্তুর রঙের সাথে সম্পর্কিত সেন্সর প্রতিক্রিয়া ব্যবহার করে ডিস্ক মেজে নেভিগেট করতে পারে, যাতে রোবটের গতিবিধি নির্ধারণ করা যায়। মূলত, ফ্রন্ট আই সেন্সর ডেটা ভিআর রোবটের মোড়কে 'কালার কোড' করতে ব্যবহার করা হবে, তাই যখন একটি রঙ শনাক্ত করা হয় তখন এটি বাম দিকে ঘুরে যায় এবং অন্যটি শনাক্ত করা হলে এটি ডানদিকে মোড় নেয়।

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

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

ডিস্ক মেজ প্লেগ্রাউন্ডখেলার মাঠের মেঝেতে প্রতিটি উঁচু রঙিন ডিস্কের স্থানে রঙিন চিহ্ন রয়েছে।ডিস্ক মেজ খেলার মাঠে ভিআর রোবটের পাশের দৃশ্য যেখানে একটি কালো তীর দেখানো হয়েছে যে রোবটটি সবুজ ডিস্কে গাড়ি চালিয়ে ডানদিকে ঘুরবে। 

আমরা এই ইউনিটের ডিস্কগুলি সনাক্ত করতে ফ্রন্ট আই সেন্সর ব্যবহার করব, তবে একই যুক্তি এবং প্রকল্প ডাউন আই সেন্সরের সাথেও ব্যবহার করা যেতে পারে। উত্থিত ডিস্কগুলি সনাক্ত করার পরিবর্তে, ডাউন আই সেন্সর খেলার মাঠের মেঝেতে রঙগুলি সনাক্ত করবে এবং সেই ডেটা দিয়ে সিদ্ধান্ত নেবে। ডাউন আই সেন্সর খেলার মাঠের মেঝেকে বস্তু হিসেবে সনাক্ত করে না, তবে এটি রঙিন স্থানগুলি সনাক্ত করবে। 

আই সেন্সর ডেটা সহWhileলুপ ব্যবহার করা

পূর্ববর্তী ইউনিটগুলিতে,whileলুপ ব্যবহার করা হত VR রোবট ড্রাইভ করার জন্য যখন একটি শর্ত পূরণ করা হত, অথবা while লুপ ব্যবহার করা হত যার সাথেনয়শর্ত পূরণ করা হত যখন একটি শর্ত পূরণ করা হত। আই সেন্সর থেকে ডেটা একইভাবে ব্যবহার করা যেতে পারে। আসুন Disk Maze পাথের প্রথম ধাপটি দেখি।

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

ভিআর রোবটটি এগিয়ে যাবে, যখনসামনের চোখের সেন্সর সবুজ শনাক্ত করবে না। যখন ফ্রন্ট আই সেন্সর সবুজ শনাক্ত করে, তখন VR রোবটটিকে গোলকধাঁধায় পরবর্তী ডিস্কের মুখোমুখি হতে ডানদিকে 90 ডিগ্রি ঘুরতে হবে।

প্রকল্পের নাম এবং সংরক্ষণ করুন

চলুন, whileলুপ ব্যবহার করে VR রোবটকে Disk Maze Playground-এ প্রথম (সবুজ) রঙের ডিস্ক সনাক্ত করার সময় ঘুরতে নির্দেশ দেওয়ার জন্য প্রকল্পটি তৈরি করা শুরু করি।

  • একটি নতুন প্রকল্প শুরু করুন এবং অনুরোধ করা হলেডিস্ক মেজ প্লেগ্রাউন্ডনির্বাচন করুন। VEXcode VR থেকে ডিস্ক মেজ প্লেগ্রাউন্ড নির্বাচন টাইল।
  • প্রকল্পটির নাম দিন ইউনিট৭পাঠ২.VEXcode VR টুলবারে প্রকল্পের নামের বাক্সটি ডাকা হয়েছে। প্রকল্পের নাম ইউনিট ৭ পাঠ ২।

     

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

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • যদি প্লেগ্রাউন্ড উইন্ডোইতিমধ্যে খোলা না থাকে তবে এটি খুলুন। নিশ্চিত করুন যেডিস্ক মেজ প্লেগ্রাউন্ড খোলে, এবং প্রকল্পটি চালান।
  • VR রোবটটিকে প্রথম সবুজ ডিস্কের দিকে এগিয়ে দেখুন তারপর ডানদিকে ঘুরুন।

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

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