ভিশন ডেটা চ্যালেঞ্জ - পাইথন
শিক্ষক টুলবক্স
-
ভিশন ডেটা চ্যালেঞ্জের উদ্দেশ্য
ভিশন ডেটা চ্যালেঞ্জের উদ্দেশ্য হল শিক্ষার্থীরা ভিশন সেন্সরের স্ন্যাপশট থেকে সংগৃহীত ডেটা এবং কেন্দ্র X এবং Y মান কীভাবে গণনা করা হয় তা বুঝতে পারে তা নিশ্চিত করা। তোমার শিক্ষার্থীদের এই ল্যাবটি কীভাবে সেই তথ্য ব্যাখ্যা করা যেতে পারে (যেমন, রোবটের কেন্দ্রবিন্দুর সাপেক্ষে বস্তুটি কোথায় তা নির্ধারণ করতে কেন্দ্র X মান ব্যবহার করা যেতে পারে) এবং কনফিগার করার সময় বস্তুর নামকরণের সর্বোত্তম অনুশীলনগুলি বোঝার মাধ্যমে শেষ করা উচিত।

প্রশ্নের উত্তর দিয়ে এবং আপনার ইঞ্জিনিয়ারিং নোটবুকে অনুপস্থিত ডেটা পূরণ করে ভিশন ডেটা চ্যালেঞ্জটি সম্পূর্ণ করুন ।
- উপরের স্ন্যাপশটটি নিতে এই নির্দেশগুলির মধ্যে কোনটি ব্যবহার করা হয়েছিল?
-
vision_5.take_snapshot(রেডবক্স) -
vision_5.take_snapshot(YELLOWBOX)
-
-
এই মানগুলি পূরণ করুন:

- YELLOWBOX কি বাম দিকে নাকি রোবটের সেন্টার পয়েন্টের ডানদিকে?
- YELLOWBOX কি রোবটের সেন্টার পয়েন্টের উপরে বা নীচে?
- কোন রঙের স্বাক্ষরটি কোনটি তা সহজেই চিনতে চাইলে, এই বস্তুর নাম দেওয়ার জন্য YELLOWBOX হলনয়সবচেয়ে ভালো নাম। এর মধ্যে কোনটি আরও ভাল নাম? কেন?
- YELLOWGEAR
- YELLOWCUBE
শিক্ষক টুলবক্স
-
উত্তর
শিক্ষার্থীদের উত্তরগুলি ক্লাসে আলোচনা করা যেতে পারে এবং/অথবা আপনি তাদের ইঞ্জিনিয়ারিং নোটবুকগুলি পর্যালোচনা করতে পারেন যাতে তারা সফলভাবে কার্যকলাপটি সম্পন্ন করতে পারে।
-
vision_5.take_snapshot(হলুদবক্স) 
- ইয়েলোবক্স রোবটের কেন্দ্রবিন্দুর সামান্য বাম দিকে অবস্থিত কিন্তু মাত্র ১৬.৫ পিক্সেলের পার্থক্যে (মাঝে ১৫৭.৫ - ১৪১)।
- ইয়েলোবক্স রোবটের কেন্দ্রবিন্দুর থেকে সামান্য কম, কিন্তু মাত্র ৫.৫ পিক্সেলের পার্থক্যে (১১১ - কেন্দ্রবিন্দু ১০৫.৫)।
-
ক. হলুদ গিয়ার
এটি একটি ভালো নাম কারণ এটি কেবল বস্তুর রঙই নয় বরং বস্তুর ধরণও বর্ণনা করে। এটি একটি গিয়ার,টি বাক্স বা ঘনক নয়।
আপনার শেখার পরিধি বাড়ান
-
একটি প্রকল্পের মধ্যে সেন্সিং নির্দেশাবলী ব্যবহার করুন
এখন যেহেতু ভিশন সেন্সরের কিছু রিপোর্ট করা তথ্য আরও ভালোভাবে বোঝা গেছে, শিক্ষার্থীরা হয়তো এই সেন্সিং নির্দেশাবলী একটি প্রকল্পের মধ্যে ব্যবহার করতে চাইতে পারে। তাদের এটি করে অন্বেষণ করার অনুমতি দিন।
def check_red_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(REDBOX)
if (vision_5_objects):
brain.screen.print("লাল বস্তু পাওয়া গেছে")
brain.screen.next_row()
brain.screen.print("সনাক্তকৃত বস্তুর সংখ্যা:", len(vision_5_objects))
brain.screen.next_row()
brain.screen.print("Center X:", vision_5.largest_object().centerX)
brain.screen.next_row()
brain.screen.print("Center Y:", vision_5.largest_object().centerY)
brain.screen.next_row()
brain.screen.print("Width:", vision_5.largest_object().width)
brain.screen.next_row()
brain.screen.print("Height:", vision_5.largest_object().height)
brain.screen.next_row()
else:
brain.screen.print("No Red Object")আরও উন্নত শিক্ষার্থীরা সিদ্ধান্ত নেওয়ার জন্য একটি প্রকল্পের মধ্যে এই নির্দেশাবলী ব্যবহার করতে পারে।
while True:
drivetrain.drive(FORWARD)
vision_5_objects = vision_5.take_snapshot(REDBOX)
if (vision_5_objects) and (vision_5.largest_object().centerX < 157.5):
drivetrain.turn_for(LEFT, 90, DEGREES)
else:
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)