পাঠ ২: '৫' নম্বরে গাড়ি চালান
এই পাঠে, ভিআর রোবটটি নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ড-এ '5' নম্বরে গাড়ি চালিয়ে '1' নম্বরে ফিরে যাবে!

লক্ষ্য করুন যে VR রোবট X অক্ষ বরাবর ভ্রমণ করবে এবং X মান বৃদ্ধি পাবে নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ড-এ '5' নম্বরে যেতে।

ভিআর রোবটটি নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ড-এ '5' নম্বরের অবস্থানে চলে যাবে। যাইহোক, ভিআর রোবট সেই নম্বরে নেভিগেট করার আগে, ভিআর রোবটকে সেই নম্বরটির অবস্থান কোথায় তা জানাতে হবে। খেলার মাঠের কেন্দ্র থেকে শুরু করে, '5' নম্বরের স্থানাঙ্কগুলি হল (-100, -900)।

- শুরু করার জন্য, VR রোবটটিকে '5' নম্বরের মুখোমুখি হতে হবে। টেনে আনুন বা টাইপ করুন একটি turn_for কমান্ড।
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)- turn_forকমান্ডের অধীনে একটি while লুপ টেনে আনুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- ঠিক দূরত্ব সেন্সর ইউনিটের মতো, এই প্রকল্পটি নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ডনেভিগেট করতে তুলনা অপারেটরের সাথে অবস্থান সেন্সর অবস্থানের অবস্থা ব্যবহার করবে। while লুপের জন্য শর্তটি অবস্থান কমান্ডে X-অক্ষে -100 মিলিমিটার (মিমি) এর কম সেট করুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- while লুপের ভিতরে নন-ওয়েটিং ড্রাইভ কমান্ড টেনে আনুন বা টাইপ করুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- মনে রাখবেন যে অপারেটরের চেয়ে কম অপারেটরের পরিবর্তে ব্যবহার করা হয়েছে কারণ VR রোবটটি খেলার মাঠের বাম দিক থেকে ডানদিকে ড্রাইভ করছে। VR রোবট -900 মিলিমিটার (মিমি) এর X-মানে শুরু হচ্ছে। VR রোবট এগিয়ে যাওয়ার সাথে সাথে X-মান বৃদ্ধি পায়, এবং এইভাবে রোবটটি এগিয়ে যেতে থাকবে যখন X-মান -100-এর কম হবে।

আপনার তথ্যের জন্য
আপনি VR রোবট X বা Y অক্ষ বরাবর ভ্রমণ করতে চান তার উপর নির্ভর করে আপনার প্রকল্পে কোন তুলনা অপারেটর ব্যবহার করতে হবে তা চয়ন করতে হবে। যখন VR রোবটটি বৃহত্তর মানের দিকে যাত্রা করবে, তখন (<) এর চেয়ে কম অপারেটরটিwhile লুপের সাথে ব্যবহার করা হবে; এবং যখন VR রোবটটি বৃহত্তর মানের দিকে যাত্রা করবে, তখন (>) এর চেয়ে বড় অপারেটরটিwhile লুপের সাথে ব্যবহার করা হবে।
খেলার মাঠের দিকে তাকালে এটি বাম এবং ডান নড়াচড়ার সাথে সামঞ্জস্যপূর্ণ। যদি VR রোবটটি বাম থেকে ডানে অথবা নীচে থেকে উপরে (বৃহত্তর মান) সরানো হয়, তাহলে লক্ষ্য মানের চেয়ে অবস্থান কম হলে ড্রাইভ করার জন্য less than অপারেটর ব্যবহার করা হয়।
যদি VR রোবটটি ডান থেকে বামে অথবা উপরে থেকে নীচে (ছোট মান) সরে যায়, তাহলে লক্ষ্য মানের চেয়ে অবস্থান বেশি হলে greater than অপারেটরটি ড্রাইভ করার জন্য ব্যবহৃত হয়।
তুলনা অপারেটর ব্যবহার করে, VR রোবট ভ্রমণ করবে যখন অবস্থান সেন্সর দ্বারা রিপোর্ট করা মান (>) বা (<) থ্রেশহোল্ড মানের চেয়ে কম। এই উদাহরণে, VR রোবটটি X-অক্ষে ধনাত্মক 500 মিলিমিটার (মিমি) পর্যন্ত নেভিগেট করবে। X-অক্ষের অবস্থান 0 থেকে ধনাত্মক 499 এর মধ্যে থাকা অবস্থায় VR রোবটটি গাড়ি চালাবে। যখন লোকেশন সেন্সর রিপোর্ট করে যেপজিশন 501 বা তার বেশি, তখন VR রোবটটি গাড়ি চালানো বন্ধ করে দেবে।
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()লক্ষ্য করুন যে লোকেশন সেন্সর দ্বারা রিপোর্ট করা মানটি ঠিকনয় মিলিমিটার (মিমি)। দূরত্ব সেন্সরের মতো, তুলনা অপারেটরগুলি ব্যবহার করা হয় কারণ VR রোবট প্রকল্পের মাধ্যমে পুনরাবৃত্তি করতে এবং মানগুলি রিপোর্ট করতে সময় নেয়।
- while লুপের বাইরে stop কমান্ড টেনে আনুন অথবা টাইপ করুন। আপনার প্রকল্পটি দেখতে এরকম হওয়া উচিত:
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- যদি খেলার মাঠের উইন্ডোইতিমধ্যে খোলা না থাকে তবে এটি খুলুন। নিশ্চিত করুন যেনম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ডখোলে, এবং প্রকল্পটি চালান।
- নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ড-এ '5' নম্বরে ভিআর রোবট ড্রাইভ দেখুন।

- এই প্রজেক্টে, ভিআর রোবট নম্বর গ্রিড ম্যাপ প্লেগ্রাউন্ডএ '5' নম্বরে চলে। while লুপ ব্যবহার করা হয় যাতে VR রোবটটি এগিয়ে যেতে থাকে যখন X-মান নির্দেশিত সংখ্যাটি যে স্থানাঙ্কে রয়েছে তার X-মানের চেয়ে কম থাকে।
- X-মান -100-এর বেশি হলে, প্রকল্পটি লুপের বাইরের পরবর্তী কমান্ডে চলে যায়, যা একটি stop কমান্ড। যেহেতু '5' নম্বরের X-মান -100, X-মান -100-এর বেশি হলে VR রোবট গাড়ি চালানো বন্ধ করে দেবে৷

আপনার তথ্যের জন্য
লক্ষ্য করুন যে লোকেশন সেন্সর দ্বারা রিপোর্ট করা মানঠিক-100 মিলিমিটার (মিমি) নাও হতে পারে। দূরত্ব সেন্সরের মতো, তুলনা অপারেটরগুলি ব্যবহার করা হয় কারণ VR রোবট প্রকল্পের মাধ্যমে পুনরাবৃত্তি করতে এবং মানগুলি রিপোর্ট করতে সময় নেয়।
VEXcode VR Python-এ, আপনার গতিবিধিতে অতিরিক্ত নির্ভুলতা অর্জনের জন্য আপনি আপনার প্রকল্পেএর বেশি বা(>=) বা এর কম বা(<=) তুলনামূলক অপারেটর ব্যবহার করতে পারেন।
# "main" তে প্রোজেক্ট কোড যোগ করুন
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()VR রোবটের বেগের উপর নির্ভর করে এবং প্রকল্পটি লুপের মাধ্যমে কত দ্রুত পুনরাবৃত্তি করে, আপনি দেখতে পারেন যে VR রোবট থ্রেশহোল্ড মানের কাছাকাছি থামতে সক্ষম হয় যখন (<= বা >=এর সমান হয়) ) অপারেটরে যোগ করা হয়।
এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।