Skip to main content

เตรียมพร้อมสำหรับ Vision Data Challenge - C++

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

Vision Sensor ให้ข้อมูลหลากหลายที่สามารถนำไปใช้ในโครงการได้ คำสั่ง Sensing ช่วยให้ผู้ใช้สามารถทำการถ่ายสแนปช็อตของโครงการ ตัดสินใจว่าวัตถุนั้นมีอยู่หรือไม่ ตัดสินใจว่ามีอยู่จำนวนเท่าใด กำหนดพิกัด X และ Y ศูนย์กลางของวัตถุภายในสแนปช็อตของ Vision Sensor และกำหนดความกว้างและความสูงของวัตถุเป็นพิกเซลภายในสแนปช็อต กิจกรรมนี้จะแนะนำคำแนะนำที่เกี่ยวข้องทั้งหมดที่จำเป็นสำหรับการรวบรวมข้อมูลนั้นในการเตรียมพร้อมสำหรับ Vision Data Challenge
ต่อไปนี้เป็นโครงร่างของ Vision Data Challenge ของ Rethink:

  • ทบทวนชุดข้อมูลสมบูรณ์ที่รวบรวมจากคำสั่งการตรวจจับของเซ็นเซอร์วิชั่น

  • กรอกข้อมูลชุดข้อมูลบางส่วนที่รวบรวมจาก Vision Sensor เกี่ยวกับสแนปช็อตที่แตกต่างกัน

  • สร้างชุดข้อมูลโดยอิงจากสแนปช็อตและคำแนะนำการตรวจจับของเซ็นเซอร์วิชั่น

คำแนะนำการตรวจจับของเซ็นเซอร์วิชั่น

VEXcode V5 มีคำสั่งการตรวจจับสำหรับเซ็นเซอร์วิชั่น สองอันแรกคุณได้ใช้ในส่วน Play แล้วเพื่อถ่ายภาพและตรวจสอบว่าวัตถุนั้นมีอยู่หรือไม่

ในรูปด้านล่าง คุณจะเห็นว่าภาพสแน็ปช็อต  ได้จับภาพสแน็ปช็อต GREENBOX ไว้ วัตถุ GREENBOX ได้รับการระบุในสแน็ปช็อต ดังนั้นคำตอบว่าวัตถุนี้มีอยู่จริงหรือไม่ก็คือ TRUE

มาดูคำสั่งการตรวจจับอื่นๆ เหล่านี้และสิ่งที่ค่าต่างๆ บอกกับเรา

ทางด้านซ้ายจะแสดงคำสั่ง Take snapshot ที่ตั้งค่าเป็น GREENBOX พร้อมด้วยรูปภาพของสแน็ปช็อตดังที่แสดงด้านล่าง ทางด้านขวา คำสั่ง Vision Sensor แต่ละคำสั่งจะแสดงพร้อมค่าที่จะรายงานตามภาพรวมนี้ ตามลำดับให้อ่านว่า Object count>0 True, Object count 1, Object 0 center x 154, Object 0 center y 105, Object 0 width 140, Object 0 height 142.

  • คำสั่ง object count บอกให้เราทราบว่ามี GREENBOX object กี่ตัวในสแน็ปช็อต ที่นี่ตรวจพบเพียง 1 แห่ง
  • ค่า X ตรงกลางบอกเราว่าวัตถุ GREENBOX อยู่ทางซ้ายหรือทางขวาของจุดศูนย์กลางของหุ่นยนต์ โปรดจำไว้ว่าควรติดตั้งเซนเซอร์วิชั่นไว้ตรงกลางของหุ่นยนต์โดยให้หันไปข้างหน้า ดังนั้น มุมมองของสแน็ปช็อตจึงเท่ากับมุมมองของหุ่นยนต์
    • หากจุดศูนย์กลาง X มากกว่า 157.5 วัตถุจะอยู่ทางขวาของจุดศูนย์กลางของหุ่นยนต์
    • ถ้าจุดศูนย์กลาง X น้อยกว่า 157.5 วัตถุจะอยู่ทางซ้ายของจุดศูนย์กลางของหุ่นยนต์
  • ค่า Y ตรงกลางจะบอกให้เราทราบว่า GREENBOX สูงกว่าหรือต่ำกว่าจุดศูนย์กลางของหุ่นยนต์
    • หากจุดศูนย์กลาง Y มากกว่า 105.5 วัตถุนั้นจะต่ำกว่าจุดศูนย์กลางของหุ่นยนต์
    • ถ้าจุดศูนย์กลาง Y น้อยกว่า 105.5 วัตถุจะสูงกว่าจุดศูนย์กลางของหุ่นยนต์
  • ค่าความกว้างและความสูงบอกเราว่า GREENBOX อยู่ห่างจากหุ่นยนต์แค่ไหน
    • วัตถุที่มีขนาดเท่ากันจะมีความกว้างและความสูงมากขึ้นเมื่อเข้าใกล้หุ่นยนต์

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือสำหรับครู - ทำไมต้องอ่านหนังสือเล่มนี้?

ข้อมูลวิธีใช้ใน VEXcode V5 ยังให้ข้อมูลเกี่ยวกับคำสั่งด้วย แต่ที่นี่ ข้อมูลที่รวบรวมจะถูกกำหนดบริบทตามที่ข้อมูลแจ้งให้ผู้ใช้ทราบโดยเฉพาะเกี่ยวกับอ็อบเจ็กต์ในสแนปช็อต

หมายเหตุ:

  • ค่า centerX และ centerY ของสแนปช็อตทั้งหมดจะถูกใช้เพื่อกำหนดว่าวัตถุจะอยู่ทางซ้าย/ขวาหรืออยู่เหนือ/ใต้จุดศูนย์กลางของหุ่นยนต์ คำนวณได้โดยการหารจำนวนพิกเซลทั้งหมดบนแกนนั้นด้วย 2 (เช่น ศูนย์กลาง X ของสแน็ปช็อต = 315 / 2 = 157.5)

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

  • ค่า Y จะเพิ่มขึ้นตามลำดับภายในสแน็ปช็อต ให้แน่ใจว่านักเรียนเข้าใจสิ่งนี้ก่อนที่จะดำเนินการส่วนถัดไป

ค่าศูนย์กลาง X และค่าศูนย์กลาง Y คำนวณได้อย่างไร?

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

เซ็นเซอร์วิชั่นติดตามค่า X และ Y ของมุมซ้ายบนของวัตถุ ด้านล่างนี้พิกัดดังกล่าวคือ (84, 34)

ทางด้านซ้ายจะแสดงบล็อก Take snapshot ที่ตั้งค่าเป็น GREENBOX พร้อมด้วยรูปภาพของสแน็ปช็อตดังที่แสดงด้านล่าง ทางด้านขวาของแต่ละบล็อกเซนเซอร์วิชั่นจะแสดงพร้อมค่าที่จะรายงานตามภาพรวมนี้ ตามลำดับจะอ่านว่า Object มีอยู่หรือไม่? จริง จำนวนวัตถุ 1, ศูนย์กลางวัตถุ x 154, ศูนย์กลางวัตถุ y 105, ความกว้างของวัตถุ 140, ความสูงของวัตถุ 142

ค่าศูนย์กลาง X และศูนย์กลาง Y สามารถคำนวณได้จากพิกัดของมุมซ้ายบน (84, 34) และค่าความกว้าง (W 140) และความสูง (H 142) ที่ให้ไว้

คำสั่งการตรวจจับวิสัยทัศน์ทั้งสี่คำสั่งจะแสดงพร้อมค่าที่จะรายงานตามภาพรวมด้านบน ตามลำดับจากบนลงล่างอ่านว่า วัตถุ 0 ศูนย์กลาง x 154; วัตถุ 0 ศูนย์กลาง y 105; วัตถุ 0 ความกว้าง 140; และวัตถุ 0 ความสูง 142

  • ศูนย์X = 140/2 + 84 = 154
    • centerX = ครึ่งหนึ่งของความกว้างของวัตถุที่เพิ่มไปยังพิกัด X ด้านซ้ายสุด
  • จุดศูนย์กลางY = 142/2 + 34 = 105
    • centerY = ครึ่งหนึ่งของความสูงของวัตถุที่เพิ่มไปยังพิกัด Y บนสุด

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือสำหรับครู - ปิดท้ายหน้านี้

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

ถามว่าค่า (84, 34) และ (W 140, H 142) เกี่ยวข้องกับพิกัดที่ระบุไว้ที่มุมของสแนปช็อตอย่างไร นักเรียนควรตระหนักว่าภาพสแนปช็อตทั้งหมดจะถูกแมปลงในระนาบพิกัดตามจำนวนพิกเซล ค่า X มีช่วงตั้งแต่ 0 ถึง 315 (กว้าง 316 พิกเซล) และค่า Y มีช่วงตั้งแต่ 0 ถึง 211 (สูง 212 พิกเซล) พิกัดและขนาดของวัตถุจะขึ้นอยู่กับจำนวนพิกเซลที่วัตถุใช้ตามแกนเหล่านั้น