Skip to main content

পাঠ ৩: লক্ষ্যে ডিস্ক স্থাপনের জন্য রিপোর্ট করা সেন্সর প্রতিক্রিয়া ব্যবহার করা

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

পাঠ ৩-এ রিপোর্ট করা সেন্সর প্রতিক্রিয়া ব্যবহার করে নির্ধারণ করা হয়েছে যে লক্ষ্যে ফিরে আসার সময় VR রোবট কোথায় গাড়ি চালানো বন্ধ করবে। এই পাঠের আগে <Eye Sensor near object> ব্লক ব্যবহার করার সময়, লক্ষ্য থেকে প্রতিটি ডিস্কের দূরত্ব জানার প্রয়োজন নেই।

ইলেক্ট্রোম্যাগনেটের সাথে সংযুক্ত প্রথম নীল ডিস্ক সহ ডিস্ক মুভার খেলার মাঠে ভিআর রোবট।

ভিআর রোবটটি দূরত্ব সেন্সর থেকে প্রাপ্ত তথ্য ব্যবহার করে নীল লক্ষ্যের দিকে ফিরে যাবে এবং কোথায় গাড়ি চালানো বন্ধ করতে হবে তা নির্ধারণ করবে। একবার ভিআর রোবটটি নীল গোলের ভিতরে থেমে গেলে, ভিআর রোবটটি নীল ডিস্কটি ফেলে দেবে।

  • Unit8Lesson3 প্রকল্পে কাজ চালিয়ে যান।
  • দূরত্ব সেন্সরটি ভিআর রোবটের সামনের দিক থেকে নিকটতম বস্তুর দূরত্ব পরিমাপ করে। এই কারণে, ভিআর রোবটটিকে নীল লক্ষ্যের দিকে ফিরে যাওয়ার আগে ১৮০ ডিগ্রি ঘুরতে হবে।
  • ভিআর রোবটটি খেলার মাঠের পিছনের দেয়ালের সাথে দূরত্ব সেন্সর ব্যবহার করবে যাতে ডিস্কটি কোথায় ফেলতে হবে তা নির্ধারণ করা যায়। এই কারণে, ভিআর রোবটটিকে নীল লক্ষ্যের দিকে ফিরে যাওয়ার আগে ১৮০ ডিগ্রি ঘুরতে হবে।
  • VR রোবট সঠিক শিরোনামে পরিণত হয়েছে তা নিশ্চিত করতে [শিরোনামের দিকে ঘুরুন] ব্লকটি ব্যবহার করা যেতে পারে।

    VEXcode VR টুলবক্স থেকে হেডিং ব্লকে যান। ব্লকটিতে লেখা আছে '৯০ ডিগ্রি মাথার দিকে ঘুরুন'।

সুইচ ব্লক ব্যবহার করা 

এটি হল [শিরোনামে ঘুরুন] ব্লক। বন্ধনীর সংখ্যাসূচক মান পরিবর্তন করে আপনি ঘূর্ণনের মাত্রা পরিবর্তন করতে পারেন। মনে রাখবেন যে সংখ্যাটি পরিমাপের এককের (DEGREES) আগে লিখতে হবে, একটি কমা দ্বারা পৃথক করে। 

VEXcode VR হেডিং-এ ঘুরুন, Python কমান্ড ব্যবহার করে ব্লক পরিবর্তন করুন যা drivetrain dot turn_to_heading (90, DEGREES) পড়বে।

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

[শিরোনামের দিকে ঘুরুন] ব্লকটি ভিআর রোবটকে গাইরো সেন্সর ব্যবহার করে একটি নির্দিষ্ট শিরোনামে পরিণত করে। VR রোবট যে দিকে ঘুরবে (বাম বা ডানে) তা জাইরো সেন্সরের বর্তমান শিরোনামের উপর ভিত্তি করে নির্ধারিত হয়। [ শিরোনামের দিকে ঘুরুন] ব্লকটি ভিআর রোবটকে ভিআর রোবটের অবস্থান নির্বিশেষে একটি নির্দিষ্ট শিরোনামে নির্দেশ করতে ব্যবহৃত হয়। আপনি একটি ডিস্ক বাছাই বা ফেলে দেওয়ার সাথে সাথে VR রোবটটি অবশ্যই ছিটকে যেতে পারে। [শিরোনামের দিকে ঘুরুন] ব্লকটি ব্যবহার করে নিশ্চিত করে যে VR রোবট পূর্বের শিরোনামের সাথে সম্পর্কিত অবস্থানের পরিবর্তে পরম অবস্থানে ফিরে যাবে।

ভিআর রোবটের ডিগ্রিতে শিরোনামের অবস্থানের একটি চিত্র। কেন্দ্রে একটি বৃত্ত রয়েছে যার উপর থেকে VR রোবটের দৃশ্য দেখা যায়, রোবটের সামনের অংশটি 0 ডিগ্রি হেডিংয়ের দিকে মুখ করে আছে। ঘড়ির কাঁটার দিকে, প্রতিটি পরবর্তী 90 ডিগ্রি শিরোনাম 90 ডিগ্রি, 180 ডিগ্রি এবং 270 ডিগ্রি হিসাবে চিহ্নিত করা হয়েছে।
  • তৃতীয় মন্তব্যের নিচে একটি [শিরোনামের দিকে ঘুরুন] ব্লক যোগ করুন।

    আগের পৃষ্ঠার মতো একই VEXcode VR প্রকল্প, তৃতীয় মন্তব্যের নীচে শিরোনাম ব্লকে একটি পালা যোগ করা হয়েছে। প্রকল্পটি এখন "When Started", মন্তব্য "Drive" প্রথম নীল ডিস্কে পড়বে, নিচের চোখ বস্তুর কাছে না আসা পর্যন্ত পুনরাবৃত্তি সহ, সামনের দিকে ড্রাইভ করুন, তারপর ড্রাইভিং বন্ধ করুন। এরপরে বুস্ট ব্লকের জন্য একটি এনার্জিজ ইলেক্ট্রোম্যাগনেট সহ প্রথম নীল ডিস্কটি তোলার জন্য একটি মন্তব্য। তৃতীয় মন্তব্যে লেখা আছে "ড্রাইভ টু দ্য ব্লু গোল" এবং এরপরে ৯০ ডিগ্রি ব্লক হেডিং-এর পালা।
  • [শিরোনামের দিকে ঘুরুন] ব্লকটিকে 180 ডিগ্রিতে সেট করুন।

    টার্ন টু হেডিং ব্লকের প্যারামিটার সহ একই VEXcode VR প্রকল্পটি 180 ডিগ্রিতে পরিবর্তিত হয়েছে। এখন, প্রকল্পের তৃতীয় মন্তব্য বিভাগে লেখা আছে "ড্রাইভ টু দ্য ব্লু গোল, টার্ন টু হেডিং ১৮০ ডিগ্রি"।
  • এখন যেহেতু VR রোবটটি প্রারম্ভিক অবস্থানের দিকে পরিচালিত হয়েছে, VR রোবটটিকে নীল লক্ষ্যে ফিরে যেতে হবে। [শিরোনামের দিকে বাঁক] ব্লকের নীচে একটি [পুনরাবৃত্ত না হওয়া পর্যন্ত] ব্লক যোগ করুন।

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

    ডিস্ক মুভার খেলার মাঠের নীচের বাম কোণের একটি ক্লোজ-আপ, উপর-নিচের দৃশ্য, যেখানে খেলার মাঠের উপর একটি গ্রিড বর্গক্ষেত্রের আকার দেখানো হয়েছে, যা ২০০ মিমি লম্বা এবং ২০০ মিমি চওড়া।
  • এই পরিমাপগুলি ব্যবহার করে, নীল লক্ষ্যের কেন্দ্রটি খেলার মাঠের প্রাচীর থেকে প্রায় 200 মিলিমিটার (মিমি) হতে নির্ধারণ করা যেতে পারে।

    ডিস্ক মুভার খেলার মাঠের নীচের বাম কোণে নীল গোলটির একটি ক্লোজ-আপ, উপর থেকে নীচের দৃশ্য, যেখানে দেয়াল থেকে গোলের কেন্দ্র পর্যন্ত আনুমানিক মাত্রা 200 মিমি হিসাবে লেবেল করা হয়েছে।
  • যখন দূরত্ব সেন্সর রিপোর্ট করে যে VR রোবটটি খেলার মাঠের প্রাচীর থেকে 200 মিলিমিটার (মিমি) এর চেয়ে কম দূরে রয়েছে তখন VR রোবটটিকে গাড়ি চালানো বন্ধ করা উচিত। [পর্যন্ত পুনরাবৃত্তি করুন] ব্লকে নিম্নলিখিত ব্লকগুলি যুক্ত করুন।

    একই VEXcode VR প্রকল্পটি হল একটি কম অপারেটর ব্লক সহ একটি নেস্ট ফ্রন্ট দূরত্ব মিমি, রিপিট অবধি ব্লকের প্যারামিটারে। এখন, প্রকল্পের তৃতীয় মন্তব্য বিভাগে লেখা আছে "ড্রাইভ টু দ্য ব্লু গোল; হেডিংয়ে ১৮০ ডিগ্রি ঘুরুন; মিমিতে সামনের দূরত্ব ৫০ এর কম না হওয়া পর্যন্ত পুনরাবৃত্তি করুন।"
  • <Less than> ব্লকের প্যারামিটারটি 200 এ পরিবর্তন করুন।

    একই প্রকল্প, যার কম ব্লকের প্যারামিটার 200 এ পরিবর্তিত হয়েছে। এখন "রিপিট অবধি" ব্লকে লেখা আছে 'মিমিতে সামনের দূরত্ব ২০০ এর কম না হওয়া পর্যন্ত পুনরাবৃত্তি করুন'।
  • এই ব্লকে একটি [ড্রাইভ] ব্লক যোগ করুন [পর্যন্ত পুনরাবৃত্তি করুন]। দূরত্ব সেন্সর 200 মিলিমিটার (মিমি) এর কম দূরত্বের রিপোর্ট না করা পর্যন্ত এটি VR রোবটকে এগিয়ে যাওয়ার নির্দেশ দেবে।

    একই প্রজেক্টে Repeat until ব্লকের C এর ভিতরে একটি Drive ব্লক যোগ করুন। প্রকল্পের তৃতীয় মন্তব্য বিভাগে এখন লেখা আছে "ড্রাইভ টু দ্য ব্লু গোল"; "১৮০ ডিগ্রি হেডিংয়ে মোড় নিন", "মিমিতে সামনের দূরত্ব ২০০ এর কম না হওয়া পর্যন্ত পুনরাবৃত্তি করুন", "ড্রাইভ ফরোয়ার্ড"।
  • একবার VR রোবট নীল লক্ষ্যে পৌঁছে গেলে (দেয়াল থেকে 200 মিমি), VR রোবটটিকে গাড়ি চালানো বন্ধ করতে হবে। ব্লকের নীচে একটি [ড্রাইভিং বন্ধ করুন] ব্লক যুক্ত করুন [পর্যন্ত পুনরাবৃত্তি করুন]।

    একই প্রকল্পে "রিপিট অবধি" ব্লকের পরে "স্টপ ড্রাইভিং ব্লক" যোগ করা হয়েছে। তৃতীয় মন্তব্য বিভাগে এখন লেখা আছে "ড্রাইভ টু দ্য ব্লু গোল"; "সামনের দূরত্ব মিমিতে ২০০ এর কম না হওয়া পর্যন্ত পুনরাবৃত্তি করুন," "সামনে ড্রাইভ করুন"; "এগিয়ে যান"; তারপর "ড্রাইভিং বন্ধ করুন"।
  • এখন যে ভিআর রোবটটি নীল গোলে বন্ধ হয়ে গেছে, এটি ডিস্কটি ফেলে দিতে পারে। চতুর্থ মন্তব্যের নিচে একটি [এনার্জাইজ ইলেক্ট্রোম্যাগনেট] ব্লক যোগ করুন এবং ব্লকটিকে 'ড্রপ' এ সেট করুন।

    চতুর্থ মন্তব্যের পরে, একটি Energize Electromagnet ব্লকের সাথে একই প্রকল্প, যার প্যারামিটারটি ড্রপ করার জন্য সেট করা হয়েছে। চতুর্থ মন্তব্য বিভাগে এখন লেখা আছে "ড্রপ দ্য নীল ডিস্ক ইন দ্য নীল গোল", "এনার্জাইজ ম্যাগনেট টু ড্রপ"।
  • ভিআর রোবটটিকে কোনো ডিস্কের সাথে ছিটকে যাওয়া বা সংঘর্ষ এড়াতে অল্প দূরত্বের বিপরীতে গাড়ি চালাতে হবে। একটি ডিস্কের সাথে সংঘর্ষের ফলে VR রোবটটি অবশ্যই বন্ধ হয়ে যেতে পারে। VR রোবটকে 100 মিলিমিটার (মিমি) বিপরীতে গাড়ি চালানোর নির্দেশ দিতে নিম্নলিখিত ব্লকগুলি যোগ করুন এবং 0 ডিগ্রির শিরোনামে ফিরে যান।

    একই প্রকল্পে স্ট্যাকের নীচে একটি ড্রাইভ ফর ব্লক এবং একটি টার্ন টু হেডিং ব্লক যুক্ত করা হয়েছে। এখন, চতুর্থ মন্তব্যটি হল নীল গোলের মধ্যে নীল ডিস্কটি ফেলে দিন; চুম্বকটি ফেলে দেওয়ার জন্য শক্তি দিন; ১০০ মিমি ড্রাইভ বিপরীত করুন, শিরোনামে ০ ডিগ্রি ঘুরুন।
  • ডিস্ক মুভার প্লেগ্রাউন্ড খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্পটি চালান।
  • VR রোবট এগিয়ে যায়, প্রথম ডিস্কটি তুলে নেয়, তারপর নীল লক্ষ্যের মুখোমুখি হওয়ার জন্য 180 ডিগ্রির শিরোনামে ঘুরে। VR রোবট তারপর দূরত্ব সেন্সর থেকে মান ব্যবহার করে কখন ড্রাইভিং বন্ধ করতে হবে এবং নীল ডিস্কটি ফেলে দেবে তা নির্ধারণ করতে।

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

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