വിഷൻ ഡാറ്റ ചലഞ്ച് - പൈത്തൺ
ടീച്ചർ ടൂൾബോക്സ്
-
വിഷൻ ഡാറ്റ ചലഞ്ചിന്റെ ഉദ്ദേശ്യം
വിഷൻ സെൻസറിന്റെ സ്നാപ്പ്ഷോട്ടിൽ നിന്ന് ശേഖരിക്കുന്ന ഡാറ്റയും സെന്റർ X, Y മൂല്യങ്ങൾ എങ്ങനെ കണക്കാക്കുന്നുവെന്നും വിദ്യാർത്ഥികൾ മനസ്സിലാക്കുന്നുവെന്ന് ഉറപ്പാക്കുക എന്നതാണ് വിഷൻ ഡാറ്റ ചലഞ്ചിന്റെ ലക്ഷ്യം. ആ ഡാറ്റ എങ്ങനെ വ്യാഖ്യാനിക്കാം (ഉദാഹരണത്തിന്, റോബോട്ടിന്റെ മധ്യബിന്ദുവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വസ്തു എവിടെയാണെന്ന് നിർണ്ണയിക്കാൻ മധ്യ X മൂല്യം ഉപയോഗിക്കാം) എന്നിവയെക്കുറിച്ചും കോൺഫിഗർ ചെയ്യുമ്പോൾ വസ്തുക്കൾക്ക് പേരിടുന്നതിനുള്ള മികച്ച രീതികളെക്കുറിച്ചും നിങ്ങളുടെ വിദ്യാർത്ഥികൾ ഈ ലാബ് പൂർത്തിയാക്കണം.

ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകിക്കൊണ്ടും നിങ്ങളുടെ എഞ്ചിനീയറിംഗ് നോട്ട്ബുക്കിൽ നഷ്ടപ്പെട്ട ഡാറ്റ പൂരിപ്പിച്ചുകൊണ്ടും വിഷൻ ഡാറ്റ ചലഞ്ച് പൂർത്തിയാക്കുക.
- മുകളിലുള്ള സ്നാപ്പ്ഷോട്ട് എടുക്കാൻ ഈ നിർദ്ദേശങ്ങളിൽ ഏതാണ് ഉപയോഗിച്ചത്?
-
vision_5.take_snapshot(റെഡ്ബോക്സ്) -
vision_5.take_snapshot(YELLOWBOX) (മഞ്ഞപ്പെട്ടി)
-
-
ഈ മൂല്യങ്ങൾ പൂരിപ്പിക്കുക:

- റോബോട്ടിന്റെ മധ്യബിന്ദുവിന്റെ ഇടത്തോട്ടോ വലത്തോട്ടോ ആണോ YELLOWBOX?
- YELLOWBOX റോബോട്ടിന്റെ മധ്യബിന്ദുവിന് മുകളിലാണോ താഴെയാണോ?
- ഒപ്പ് ഏത് നിറത്തിലുള്ളതാണെന്ന് എളുപ്പത്തിൽ തിരിച്ചറിയണമെങ്കിൽ ഈ വസ്തുവിന് നൽകാൻ ഏറ്റവും അനുയോജ്യമായ പേര് YELLOWBOXഅല്ലആണ്. ഇതിൽ ഏതാണ് കൂടുതൽ നല്ല പേര്? എന്തുകൊണ്ട്?
- മഞ്ഞഗിയർ
- മഞ്ഞക്കമ്പ്
ടീച്ചർ ടൂൾബോക്സ്
-
ഉത്തരങ്ങൾ
വിദ്യാർത്ഥികളുടെ ഉത്തരങ്ങൾ ഒരു ക്ലാസായി ചർച്ച ചെയ്യാവുന്നതാണ് കൂടാതെ/അല്ലെങ്കിൽ പ്രവർത്തനം വിജയകരമായി പൂർത്തിയാക്കിയെന്ന് ഉറപ്പാക്കാൻ അവരുടെ എഞ്ചിനീയറിംഗ് നോട്ട്ബുക്കുകൾ നിങ്ങൾക്ക് അവലോകനം ചെയ്യാവുന്നതാണ്.
-
vision_5.take_snapshot(YELLOWBOX) (മഞ്ഞപ്പെട്ടി) 
- റോബോട്ടിന്റെ മധ്യബിന്ദുവിൽ നിന്ന് YELLOWBOX അല്പം ഇടതുവശത്താണ്, പക്ഷേ 16.5 പിക്സലുകളുടെ വ്യത്യാസത്തിൽ മാത്രം (മധ്യഭാഗം 157.5 - 141).
- YELLOWBOX റോബോട്ടിന്റെ മധ്യബിന്ദുവിനേക്കാൾ അല്പം താഴെയാണ്, പക്ഷേ 5.5 പിക്സലുകളുടെ വ്യത്യാസത്തിൽ (111 - മധ്യഭാഗം 105.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("സെന്റർ X:", vision_5.largest_object().centerX)
brain.screen.next_row()
brain.screen.print("സെന്റർ Y:", vision_5.largest_object().centerY)
brain.screen.next_row()
brain.screen.print("വീതി:", vision_5.largest_object().width)
brain.screen.next_row()
brain.screen.print("ഉയരം:", vision_5.largest_object().height)
brain.screen.next_row()
else:
brain.screen.print("റെഡ് ഒബ്ജക്റ്റ് ഇല്ല")കൂടുതൽ പുരോഗമിച്ച വിദ്യാർത്ഥികൾ തീരുമാനങ്ങൾ എടുക്കുന്നതിന് ഒരു പ്രോജക്റ്റിനുള്ളിൽ ഈ നിർദ്ദേശങ്ങൾ ഉപയോഗിച്ചേക്കാം.
ശരിയാണെങ്കിൽ:
drivetrain.drive(FORWARD)
vision_5_objects = vision_5.take_snapshot(REDBOX)
vision_5_objects ആണെങ്കിൽ (vision_5_objects) ഉം (vision_5.largest_object().centerX < 157.5):
drivetrain.turn_for(LEFT, 90, DEGREES)
അല്ലാത്തപക്ഷം:
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)