Skip to main content

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

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

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

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

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

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

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

คำอธิบาย

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

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

ความสามารถ:

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

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

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

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

#include "vex.h"

  using namespace vex;
  
  event checkBlue = event();
  event checkRed = event();
  event checkGreen = event();
  
  void has BlueCallback() {
  
    Brain.Screen.setFont(mono20);
    Brain.Screen.clearLine(1, black);
    Brain.Screen.setCursor(Brain.Screen.row(), 1);
    Brain.Screen.setCursor(1, 1);
    Vision5.takeSnapshot(Vision5__BLUEBOX);
  
    if (Vision5.objectCount > 0) {
      Brain.Screen.print("Blue Object Found");
  
    } else {
      Brain.Screen.print("No Blue Object");
    }
  }
  
  // Begin project code
  int main() {
    // Initializing Robot Configuration. DO NOT REMOVE!
    vexcodeInit();
  
    checkBlue (hasBlueCallback);
  
    while (true) {
      checkBlue.broadcast();
      checkRed.broadcast();
      checkGreen.broadcast();
      wait(1, seconds);
    }
  }