Skip to main content

วิชั่นเซนเซอร์คืออะไร? - ไพธอน

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือสำหรับครู - วัตถุประสงค์ของหน้านี้

หน้านี้จะแนะนำให้นักเรียนทราบว่าวิชั่นเซนเซอร์คืออะไร และความสามารถบางประการของมัน จากนั้นนักเรียนจะวิเคราะห์ภาพบางส่วนของโครงการตัวอย่างเพื่อดูว่าสามารถใช้ Vision Sensor กับ VEXcode V5 ได้อย่างไร

คำถามในการอภิปรายสร้างแรงจูงใจที่ด้านล่างของหน้านี้สามารถทำเป็นการอภิปรายในชั้นเรียนหรือทำเป็นรายบุคคลในสมุดบันทึกวิศวกรรมของนักเรียนได้
 

ไอคอนสร้างแรงจูงใจในการสนทนา กระตุ้นการสนทนา

ถาม: งานประเภทใดของมนุษย์ที่จะได้รับประโยชน์จากความช่วยเหลือของหุ่นยนต์ที่มีเซ็นเซอร์การมองเห็น
ตอบ: รับฟังงานของมนุษย์ที่จะได้รับประโยชน์จากความสามารถในการมองเห็นสภาพแวดล้อมและ/หรือจัดการสภาพแวดล้อมจากระยะไกล (เช่น การสังเกตสัตว์ในป่า การปลดอาวุธวัตถุระเบิด หรือการทำการผ่าตัดโดยใช้หุ่นยนต์ช่วย)

คำถาม: จงบอกชื่ออุปกรณ์และอธิบายว่าอุปกรณ์ดังกล่าวใช้ข้อมูลอินพุต ข้อมูลเอาต์พุต และกระบวนการอย่างไร
คำถาม: คำตอบที่เป็นไปได้ก็คือเครื่องคิดเลขที่นำลำดับตัวเลขและตัวดำเนินการทางคณิตศาสตร์ที่ผู้ใช้ป้อนเข้าไป มาประมวลผลตัวเลขและการดำเนินการเหล่านั้นเพื่อคำนวณผลลัพธ์ แล้วจึงแสดงผลลัพธ์นั้นออกสู่หน้าจอให้ผู้ใช้คนนั้นดู

ถาม: ทำไมคุณถึงคิดว่ามีการใช้ลูป ตลอดไป ในโปรเจ็กต์ที่แสดง
ตอบ: มีการใช้ลูป ตลอดไป เพื่อให้ Vision Sensor ตรวจสอบภาพสแน็ปช็อตที่ถ่ายไว้อย่างต่อเนื่องเพื่อดูว่ามีวัตถุสีแดงเข้ามาในมุมมองของ Sensor หรือไม่

คำอธิบาย

เซ็นเซอร์วิสัยทัศน์ช่วยให้หุ่นยนต์ของคุณรวบรวมข้อมูลภาพจากฟีดสดได้ ฟีดสดคือการถ่ายทอดภาพจากกล้องวิดีโอที่กำลังบันทึกอยู่แบบสตรีมมิ่ง Vision Sensor เป็นเหมือนกล้องอัจฉริยะที่สามารถสังเกต เลือก ปรับ และจัดเก็บสีและวัตถุที่ปรากฏอยู่ในขอบเขตการมองเห็นได้

เซ็นเซอร์ VEX Vision โดยแสดงส่วนบนของเซ็นเซอร์ทางด้านซ้าย และส่วนล่างของเซ็นเซอร์ พร้อมด้วยพอร์ตสำหรับการเชื่อมต่อทางด้านขวา
เซ็นเซอร์วิชั่น

ความสามารถ:

  • เซ็นเซอร์นี้สามารถใช้ในการจดจำสีและรูปแบบสีได้
  • เซ็นเซอร์นี้ใช้ติดตามวัตถุได้
  • เซ็นเซอร์นี้สามารถใช้ในการรวบรวมข้อมูลเกี่ยวกับสภาพแวดล้อมได้

เซ็นเซอร์วิสัยทัศน์ช่วยให้หุ่นยนต์สามารถใช้ข้อมูลอินพุตภาพจากสภาพแวดล้อมได้ จากนั้นโครงการจะสามารถกำหนดได้ว่าข้อมูลอินพุตภาพจะส่งผลต่อพฤติกรรมของหุ่นยนต์อย่างไร ตัวอย่างเช่น หุ่นยนต์สามารถดำเนินการต่างๆ (เอาท์พุต) เช่น การหมุนมอเตอร์หรือการแสดงผลบนหน้าจอ LCD

เซ็นเซอร์วิชั่นยังสามารถจับภาพสิ่งที่อยู่ตรงหน้าและวิเคราะห์ตามสิ่งที่ผู้ใช้ต้องการได้อีกด้วย ตัวอย่างเช่น ผู้ใช้สามารถรวบรวมข้อมูลจากสแนปช็อต เช่น วัตถุมีสีอะไร มีการตรวจจับวัตถุใด ๆ บ้างหรือไม่? วัตถุมีขนาดใหญ่เท่าใด (ความกว้างและความสูง)

จากนั้นหุ่นยนต์สามารถตัดสินใจโดยอิงจากข้อมูลเหล่านี้ โครงการตัวอย่างบางส่วนด้านล่างนี้แสดงวิธีดำเนินการนี้ มีการตรวจสอบสีสามสีซ้ำๆ หลังจากเริ่มโครงการแล้ว และการตรวจสอบแต่ละสีจะเป็นเหตุการณ์ที่แตกต่างกัน ด้านล่างจะแสดงเฉพาะเหตุการณ์ที่ตรวจสอบเป็นสีน้ำเงินเท่านั้น สแต็กนี้จะมีการพิมพ์หุ่นยนต์ว่า "พบวัตถุสีน้ำเงิน" หากตรวจพบวัตถุสีน้ำเงิน หรือ "ไม่มีวัตถุสีน้ำเงิน" หากตรวจพบ เหตุการณ์ check_red และ check_green ที่ไม่ได้แสดงด้านล่างนี้มีสแต็กที่คล้ายกันในการตัดสินใจว่าจะพิมพ์อะไรบนหน้าจอ

# Library imports
  from vex import *
  
  # Begin project code
  
  check_red = Event()
  check_blue = Event()
  check_green = Event()
  
  def check_blue_callback(): 
      brain.screen.set_font(FontType.MONO40)
      brain.screen.clear_row(1)
      brain.screen.set_cursor(1, 1)
  
      # Take a snapshot with the Vision Sensor and store vision data into a variable
      vision_5_objects = vision_5.take_snapshot(vision_5__BLUEBOX)
      # Check the variable to see if the snapshot detected any blue objects
      if (vision_5_objects):
          brain.screen.print("Blue Object Found")
      else: 
          brain.screen.print("No Blue Object")
  
  # System Event Handlers
  check_blue(check_blue_callback)
  
  #add 15ms delay to make sure events are registered correctly
  wait(15, MSEC)
  
  while True: 
      check_blue.broadcast_and_wait()
      check_red.broadcast_and_wait()
      check_green.broadcast_and_wait()
      wait(0.1,SECONDS)
      wait(5, MSEC)