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

ভিশন ডেটা চ্যালেঞ্জ - পাইথন

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - ভিশন ডেটা চ্যালেঞ্জের উদ্দেশ্য

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

একটি হলুদ গিয়ার ধরে রাখা একটি হাত দেখানো কনফিগারেশন থেকে ভিশন সেন্সর স্ন্যাপশট । উপরে তালিকাভুক্ত নিম্নলিখিত ডেটা সহ গিয়ারের উপরে একটি বর্গক্ষেত্রের ওভারলে রয়েছে: হলুদ বক্স, এক্স 90, ওয়াই 62, ডাব্লু 102, এইচ 98 ।

প্রশ্নের উত্তর দিয়ে এবং আপনার ইঞ্জিনিয়ারিং নোটবুকে অনুপস্থিত ডেটা পূরণ করে ভিশন ডেটা চ্যালেঞ্জটি সম্পূর্ণ করুন ।

  1. উপরের স্ন্যাপশটটি নিতে এই নির্দেশগুলির মধ্যে কোনটি ব্যবহার করা হয়েছিল?
    1. vision_5.take_snapshot(রেডবক্স)
    2. vision_5.take_snapshot(YELLOWBOX)
  2. এই মানগুলি পূরণ করুন:

    ভিশন সেন্সর কমান্ডগুলি তাদের মানগুলি পূরণ করতে ফাঁকা বাক্স সহ বাম দিকে তালিকাভুক্ত । উপরে থেকে নীচে ব্লকগুলি তালিকাভুক্ত করা হয়েছে: দৃষ্টি 5 অবজেক্টগুলি কোনও 0 নয়, লেন ভিশন 5 অবজেক্টস, বৃহত্তম অবজেক্ট সেন্টার এক্স, বৃহত্তম অবজেক্ট সেন্টার ওয়াই, বৃহত্তম অবজেক্ট প্রস্থ এবং বৃহত্তম অবজেক্টের উচ্চতা ।

  3. YELLOWBOX কি বাম দিকে নাকি রোবটের সেন্টার পয়েন্টের ডানদিকে?
  4. YELLOWBOX কি রোবটের সেন্টার পয়েন্টের উপরে বা নীচে?
  5. কোন রঙের স্বাক্ষরটি কোনটি তা সহজেই চিনতে চাইলে, এই বস্তুর নাম দেওয়ার জন্য YELLOWBOX হলনয়সবচেয়ে ভালো নাম। এর মধ্যে কোনটি আরও ভাল নাম? কেন?
    1. YELLOWGEAR
    2. YELLOWCUBE

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - উত্তর

শিক্ষার্থীদের উত্তরগুলি ক্লাসে আলোচনা করা যেতে পারে এবং/অথবা আপনি তাদের ইঞ্জিনিয়ারিং নোটবুকগুলি পর্যালোচনা করতে পারেন যাতে তারা সফলভাবে কার্যকলাপটি সম্পন্ন করতে পারে।

  1. vision_5.take_snapshot(হলুদবক্স)
  2. সম্পূর্ণ ডেটা VEXcode কমান্ডের সাথে সারিবদ্ধ। উত্তরগুলি পড়ুন, ক্রমানুসারে, দৃষ্টি ৫ বস্তু সত্য নয় = সত্য; লেন দৃষ্টি ৫ বস্তু = ১; বৃহত্তম বস্তুর কেন্দ্র x = ১৪১; বৃহত্তম বস্তুর কেন্দ্র y = ১১১; বৃহত্তম বস্তুর প্রস্থ = ১০২; বৃহত্তম বস্তুর উচ্চতা = ৯৮।
  3. ইয়েলোবক্স রোবটের কেন্দ্রবিন্দুর সামান্য বাম দিকে অবস্থিত কিন্তু মাত্র ১৬.৫ পিক্সেলের পার্থক্যে (মাঝে ১৫৭.৫ - ১৪১)।
  4. ইয়েলোবক্স রোবটের কেন্দ্রবিন্দুর থেকে সামান্য কম, কিন্তু মাত্র ৫.৫ পিক্সেলের পার্থক্যে (১১১ - কেন্দ্রবিন্দু ১০৫.৫)।
  5. ক. হলুদ গিয়ার

    এটি একটি ভালো নাম কারণ এটি কেবল বস্তুর রঙই নয় বরং বস্তুর ধরণও বর্ণনা করে। এটি একটি গিয়ার,টি বাক্স বা ঘনক নয়।

আপনার শিক্ষার আইকন প্রসারিত করুন আপনার শেখার পরিধি বাড়ান - একটি প্রকল্পের মধ্যে সেন্সিং নির্দেশাবলী ব্যবহার করুন

এখন যেহেতু ভিশন সেন্সরের কিছু রিপোর্ট করা তথ্য আরও ভালোভাবে বোঝা গেছে, শিক্ষার্থীরা হয়তো এই সেন্সিং নির্দেশাবলী একটি প্রকল্পের মধ্যে ব্যবহার করতে চাইতে পারে। তাদের এটি করে অন্বেষণ করার অনুমতি দিন।

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)