মূল বিষয়বস্তুতে যান

নতুন উচ্চতা

ফুল ভলিউম ভার্চুয়াল স্কিলস ফিল্ডে একটি স্থানাঙ্ক ব্যবস্থা তৈরি করুন, যেখানে লাল বিন্দুর অবস্থান হবে মূলবিন্দু (0, 0) এবং হিরো বট সেন্টারের প্রাথমিক অবস্থান হবে (0, 36) স্থানাঙ্কে। হাইলাইট করা চারটি বেগুনি ব্লকের প্রত্যেকটি তুলে নিয়ে গোল III-তে স্কোর করার জন্য হিরো বটকে কোড করতে [Drive for], [Turn to heading], [Spin ​​to position], এবং [Spin ​​for] ব্লকগুলো ব্যবহার করুন। এমন একটি অ্যালগরিদম তৈরি করুন যা রোবটকে একটি নির্দিষ্ট অবস্থানে নিয়ে গিয়ে ব্লকটি ফেলবে এবং গোলের ফিল লেভেল (Fill Level) ও ফিল লেভেল ৩ করবে।

  • VIQRC ভার্চুয়াল স্কিলস - ফুল ভলিউম প্লেগ্রাউন্ড নির্বাচন করুন।
  • হিরো বটকে এমনভাবে কোড করুন যাতে সে একটি হাইলাইট করা বেগুনি ব্লক তুলে নিয়ে তৃতীয় গোলে পরিণত করে 
    • রোবটটিকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত চালনা করতে এবং এর X ও Y স্থানাঙ্ক ট্র্যাক করার জন্য একটি অ্যালগরিদম তৈরি করুন। অ্যালগরিদম ব্যবহার করে রোবটটিকে চিহ্নিত বেগুনি ব্লকটির কাছে নিয়ে যান।
    • রোবটটিকে ব্লকটি তুলে নেওয়ার জন্য কোড করুন।
    • রোবটটিকে একটি নির্দিষ্ট অবস্থানে চালনা করার জন্য একটি অ্যালগরিদম তৈরি করুন। অ্যালগরিদম ব্যবহার করে রোবটটিকে (-70, 1270) স্থানাঙ্কে নিয়ে যান এবং রোবটটিকে -45 ডিগ্রি দিকে ঘোরান।
    • রোবটটিকে ব্লকটি ফেলার জন্য কোড করুন।
  • হিরো বটকে এমনভাবে কোড করুন যাতে সে দ্বিতীয় হাইলাইট করা বেগুনি ব্লকটি তুলে নেয় এবং প্রথম বেগুনি ব্লকটি গোল করার মতো একই অবস্থান ও অভিমুখে সেটিকে গোল III-তে প্রবেশ করায়। 
  • হিরো বটকে এমনভাবে কোড করুন যাতে সে তৃতীয় হাইলাইট করা বেগুনি ব্লকটি তুলে নেয় এবং প্রথম বেগুনি ব্লকটি গোল করার মতো একই অবস্থান ও অভিমুখে সেটিকে গোল III-তে প্রবেশ করায়। 
  • হিরো বটকে এমনভাবে কোড করুন যাতে সে চতুর্থ হাইলাইট করা বেগুনি ব্লকটি তুলে নেয় এবং প্রথম বেগুনি ব্লকটি গোল করার মতো একই অবস্থান ও অভিমুখে সেটিকে গোল III-তে প্রবেশ করায়। 

সহায়ক ইঙ্গিত

  • রোবটের স্থানাঙ্ক (x1,y1), লক্ষ্য অবস্থানের স্থানাঙ্ক (x2,y2) এবং atan ফাংশন ব্যবহার করে ড্রাইভ হেডিং নির্ণয় করুন।
    • এই দুটি বিন্দুকে সংযোগকারী রেখার কোণ θ নির্ণয় করুন। দুটি গাণিতিক রাশির চিত্র। প্রথম রাশিটি হলো 'θ সমান atan((y2 - y1) / (x2 - x1))'। দ্বিতীয় রাশিটি হলো: '- পাই/২, থিটার চেয়ে ছোট, যা আবার পাই/' এর চেয়ে ছোট। উপর থেকে নিচের ডায়াগ্রামে রোবটটিকে (X1, Y1) স্থানাঙ্কে দেখানো হয়েছে এবং একটি রেখা (X2, Y2) স্থানাঙ্কের দিকে নির্দেশ করছে। দূরত্বকে d চলক দ্বারা এবং কোণকে θ চলক দ্বারা চিহ্নিত করা হয়। বিন্দু দুটির মধ্যবর্তী আনুভূমিক দূরত্বকে 'x2 - x1'এবং উল্লম্ব দূরত্বকে '= y2 - y1' দ্বারা প্রকাশ করা হয়।
    • গাণিতিক এক্সপ্রেশনের জন্য সিউডোকোড উদাহরণ:

      যদি x1, x2-এর সমান হয়:
      	যদি y2 > :
      		হেডিং = 0 ডিগ্রি
      	অন্যথায়:
      		হেডিং = 180 ডিগ্রি
      অন্যথায়:
      	যদি x2 > :
      		হেডিং = 90 ডিগ্রি - থিটা
      	অন্যথায়:
      		হেডিং = 270 ডিগ্রি - থিটা
    • কোণ থিটা (θ)-কে ড্রাইভ হেডিং-এ রূপান্তর করুন।  উপর থেকে নিচের দিকে আঁকা ডায়াগ্রাম, যেখানে 'রোবট হেডিং' লেবেল দেওয়া আছে, তাতে রোবটটিকে একটি বৃত্তের মধ্যে দেখানো হয়েছে এবং বৃত্তটির ৩৬০ ডিগ্রিকে লেবেল দিয়ে চিহ্নিত করা হয়েছে।
  • রোবটের স্থানাঙ্ক (x1,y1), লক্ষ্যস্থানের স্থানাঙ্ক (x2,y2) এবং পিথাগোরাসের উপপাদ্য ব্যবহার করে গমনের দূরত্ব নির্ণয় করুন। গাণিতিক রাশিটি হলো 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' আগের মতোই উপর থেকে নিচের দিকে দেখানো ডায়াগ্রাম, যা দুটি স্থানাঙ্কের মধ্যে পার্থক্য প্রদর্শন করছে। রোবটটি (X1, Y1) স্থানাঙ্কে রয়েছে এবং একটি রেখা (X2, Y2) স্থানাঙ্কের দিকে নির্দেশ করছে। দূরত্বকে d চলক দ্বারা এবং কোণকে θ চলক দ্বারা চিহ্নিত করা হয়। বিন্দু দুটির মধ্যবর্তী আনুভূমিক দূরত্বকে 'x2 - x1'এবং উল্লম্ব দূরত্বকে '= y2 - y1' দ্বারা প্রকাশ করা হয়।

 

  • কোণ থিটা (θ) গণনা করার জন্য একটি ফাংশন প্রকাশ করতে অপারেটরস ক্যাটাগরির ফাংশন ব্লকটি ব্যবহার করুন। VEXcode ফাংশন ব্লক, যার মধ্যে অপারেটর ব্লক রয়েছে, যা সব মিলিয়ে 'atan of ((Y2 - Y1) / (X2 - X1))' পড়ে।
    • মিলে যাওয়া পাইথন কমান্ড: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • ড্রাইভ দূরত্ব গণনা করার জন্য পিথাগোরাসের উপপাদ্য প্রকাশ করতে অপারেটরস ক্যাটাগরির ফাংশন ব্লকটি ব্যবহার করুন। VEXcode সেট ভেরিয়েবল ব্লক, যাতে ফাংশন এবং অপারেটর ব্লক রয়েছে, যা সব মিলিয়ে 'রিড করে set driveDistance to sqrt of ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • মিলে যাওয়া পাইথন কমান্ড: 

      ড্রাইভ দূরত্ব = √((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))