কম্পিটিশন টেমপ্লেট হলো একটি নমুনা প্রজেক্ট, যাতে প্রতিযোগিতার সময় ফিল্ড কন্ট্রোল সিস্টেমের সাথে যোগাযোগের জন্য প্রয়োজনীয় কমান্ড আগে থেকেই অন্তর্ভুক্ত থাকে। এটি নিশ্চিত করে যে কমান্ডগুলো ফিল্ডের নিয়মকানুন মেনে চলে এবং জটিলতা ও অযোগ্যতা এড়াতে প্রজেক্ট সেট আপ করতে সহায়তা করে ("প্রতিযোগিতা" বলতে অফিসিয়াল ফিল্ড কন্ট্রোল হার্ডওয়্যার ব্যবহার করে অনুষ্ঠিত একটি VEX V5 রোবোটিক্স কম্পিটিশন ইভেন্টকে বোঝায়)।
উদাহরণ পৃষ্ঠা থেকে প্রতিযোগিতার টেমপ্লেটটি খুলুন
টেমপ্লেটের তিনটি অংশ: প্রাক-স্বায়ত্তশাসিত, স্বায়ত্তশাসিত মোড এবং চালক নিয়ন্ত্রণ
# প্রজেক্ট কোড শুরু
def pre_autonomous():
# প্রোগ্রাম শুরু হলে যে কাজগুলো করতে হবে
brain.screen.clear_screen()
brain.screen.print("প্রি অটোন কোড")
wait(1, SECONDS)
def autonomous():
brain.screen.clear_screen()
brain.screen.print("অটোনমাস কোড")
# এখানে অটোনমাস কোড রাখুন
def user_control():
brain.screen.clear_screen()
# এই while লুপে ড্রাইভার কন্ট্রোল রাখুন
while True:
wait(20, MSEC)
# কম্পিটিশন ইনস্ট্যান্স তৈরি করুন
comp = Competition(user_control, autonomous)
pre_autonomous()
দ্রষ্টব্য: কোনো প্রতিযোগিতায় আপনার প্রজেক্টটি সফল হওয়ার জন্য, আপনাকে অবশ্যই আপনার প্রজেক্টে এই ফাংশনগুলো রাখতে হবে। প্রতিটি বিভাগের জন্য মন্তব্যে নির্দেশিত স্থানে কমান্ডগুলো যোগ করুন
যেকোনো সেটআপের জন্য pre_autonomous ফাংশনটি ব্যবহার করুন
def pre_autonomous():
# প্রোগ্রাম শুরু হলে যে কাজগুলো করতে হবে
brain.screen.clear_screen()
brain.screen.print("প্রি-অটোনমাস কোড")
wait(1, SECONDS)
pre_autonomous ফাংশনটি আপনার রোবটের প্রয়োজনীয় যেকোনো সেট-আপের জন্য ব্যবহৃত হয়, যেমন জাইরো ক্যালিব্রেট করা, ভেরিয়েবল সেট করা বা অন্যান্য ডিভাইস সেটিংস। প্রজেক্টটি শুরু হওয়ার সাথে সাথেই, ম্যাচের স্বয়ংক্রিয় অংশটি শুরু হওয়ার আগে এই কমান্ডগুলো রান হবে।
নিশ্চিত করুন যে সমস্ত কমান্ড সঠিকভাবে ইনডেন্ট করা আছে, যাতেpre_autonomous এবংautonomous ফাংশনগুলির মধ্যে নির্দেশক রেখাটি দৃশ্যমান থাকে।
দ্রষ্টব্য: যদি কোনো সেটআপের প্রয়োজন না হয়, তাহলে এই ফাংশনটি খালি থাকতে পারে।
স্বায়ত্তশাসিত
def autonomous():
brain.screen.clear_screen()
brain.screen.print("autonomous code")
# এখানে স্বায়ত্তশাসিত কোড রাখুন
একটি VRC ম্যাচের স্বয়ংক্রিয় অংশে আপনার রোবটকে নিয়ন্ত্রণ করার জন্য স্বয়ংক্রিয় ফাংশনটি ব্যবহার করা হয়। ম্যাচটি স্বায়ত্তশাসিত সময়কাল শুরু করলে এই ফাংশনের অন্তর্ভুক্ত কমান্ডগুলো কার্যকর হবে।
নিশ্চিত করুন যে সমস্ত কমান্ড সঠিকভাবে ইনডেন্ট করা আছে, যাতেpre_autonomous এবংautonomous ফাংশনগুলির মধ্যে নির্দেশক রেখাটি দৃশ্যমান থাকে।
দ্রষ্টব্য: যদি কোনো সেটআপের প্রয়োজন না হয়, তাহলে এই ফাংশনটি খালি থাকতে পারে।
ব্যবহারকারীর নিয়ন্ত্রণ
def user_control():
brain.screen.clear_screen()
# ড্রাইভার নিয়ন্ত্রণ এই while লুপে রাখুন
while True:
wait(20, MSEC)
VRC ম্যাচের ড্রাইভার কন্ট্রোল অংশে আপনার রোবটকে নিয়ন্ত্রণ করার জন্য user_control ফাংশনটি ব্যবহার করা হয়। ম্যাচটি ড্রাইভার কন্ট্রোল পিরিয়ড শুরু করলে এই ফাংশনের অন্তর্ভুক্ত কমান্ডগুলো কার্যকর হবে।
দ্রষ্টব্য: while True লুপটি উপরে দেখানো হয়েছে যাতে রোবটটি ম্যাচের পুরো সময় জুড়ে V5 কন্ট্রোলারের ইনপুটে সাড়া দেয়।
ইউজার কন্ট্রোল অংশটি কোড করার সময় নিশ্চিত করুন যেwhile True লুপের মধ্যে সমস্ত কমান্ড সঠিকভাবে ইনডেন্ট করা আছে। এখানে দেখানো অনুযায়ী দুটি নির্দেশক রেখা দৃশ্যমান থাকা উচিত। এক, কারণwhile True `user_control`ফাংশনের মধ্যে আছে। অন্যটি হলো কমান্ডগুলোwhile True লুপের মধ্যে আছে কিনা তা নিশ্চিত করা।