เซ็นเซอร์ AI วิชั่น#
การแนะนำ#
เซ็นเซอร์ตรวจจับภาพ AI สามารถตรวจจับและติดตามวัตถุ สี และรหัส AprilTag ได้ ทำให้หุ่นยนต์สามารถวิเคราะห์สภาพแวดล้อม ติดตามวัตถุ และตอบสนองตามข้อมูลภาพที่ตรวจพบได้
ด้านล่างนี้คือรายการบล็อกที่มีให้เลือก:
การดำเนินการ – บันทึกข้อมูลจากเซ็นเซอร์ AI Vision สำหรับลายเซ็นที่เลือก
ถ่ายภาพสแนปช็อต – บันทึกข้อมูลสำหรับลายเซ็นเฉพาะ เช่น สีที่กำหนดค่าไว้ วัตถุที่ฝึกฝนไว้ล่วงหน้า หรือรหัส AprilTag
การตั้งค่า – เลือกวัตถุที่จะโต้ตอบด้วย
ตั้งค่ารายการวัตถุ AI Vision – เลือกวัตถุเฉพาะจากรายการวัตถุที่ตรวจพบ
คุณค่า – การเข้าถึงและใช้งานข้อมูลที่บันทึกไว้
วัตถุ AI Vision มีอยู่ – รายงานว่าตรวจพบวัตถุหรือไม่
AI Vision object is – ตรวจสอบว่าวัตถุที่ตรวจพบตรงกับการจำแนกประเภทที่ระบุหรือไม่
วัตถุ AI Vision คือ AprilTag ID – ตรวจสอบว่า AprilTag ID ที่ตรวจพบตรงกับ ID ที่ระบุหรือไม่
จำนวนวัตถุ AI Vision – รายงานจำนวนวัตถุที่ตรวจพบ
คุณสมบัติของวัตถุ AI Vision – รายงานรายละเอียดต่างๆ เช่น:
การกระทำ#
ถ่ายภาพ#
บล็อก take snapshot จะกรองข้อมูลจากเฟรมของ AI Vision Sensor ให้เหลือเพียงลายเซ็นเดียว ซึ่งเป็นคำอธิบายที่บันทึกไว้ของสิ่งที่เซนเซอร์สามารถจดจำได้ เช่น วัตถุที่ได้รับการฝึกฝนไว้ล่วงหน้า รหัส AprilTag หรือสีหรือรหัสสีที่กำหนดค่าไว้
ต้องกำหนดค่าสีและรหัสสีในโปรแกรม AI Vision Utility ก่อน จึงจะสามารถใช้งานกับบล็อกนี้ได้
ชุดข้อมูลจัดเก็บวัตถุที่เรียงลำดับจากขนาดใหญ่ที่สุดไปเล็กที่สุดตามความกว้าง โดยเริ่มต้นที่ดัชนี 0 คุณสมบัติของวัตถุแต่ละชิ้นสามารถเข้าถึงได้โดยใช้บล็อก AI Vision object property หากไม่พบวัตถุที่ตรงกัน ระบบจะรายงานชุดข้อมูลว่างเปล่า
ถ่ายภาพ [AIVision1 v] ของ [SELECT_A_SIG v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
ลายเซ็น |
กรองชุดข้อมูลเพื่อให้มีเฉพาะข้อมูลที่มีลายเซ็นที่กำหนดเท่านั้น ลายเซ็นที่มีอยู่คือ:
|
หมายเหตุ: เพื่อให้ตัวเลือก AprilTag ID หรือ AI Classification ปรากฏขึ้น ต้องเปิดใช้งานการตรวจจับใน AI Vision Utility ก่อน
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward if an AprilTag ID is detected.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [AprilTag IDs v]
ถ้า <[AIVIsion1 v] พบวัตถุ?> แล้ว
ขับ [ไปข้างหน้า v] เป็น [10] [มม. v] ▶
การจำแนกประเภท AI#
เซ็นเซอร์ AI Vision สามารถตรวจจับวัตถุต่างๆ ภายใต้การจำแนกประเภท AI ที่แตกต่างกันได้ ขึ้นอยู่กับโมเดลการจำแนกประเภท AI ที่เลือกเมื่อกำหนดค่าเซ็นเซอร์ AI Vision ในหน้าต่างอุปกรณ์ วัตถุที่ตรวจจับได้ก็จะแตกต่างกันไป โมเดลที่มีให้เลือกในปัจจุบัน ได้แก่:
สิ่งของในห้องเรียน
บลูบอล
กรีนบอล
เรดบอล
บลูริง
กรีนริง
เรดริง
บลูคิวบ์
กรีนคิวบ์
เรดคิวบ์
เลื่อนการแข่งขันหุ่นยนต์ VEX V5 ออกไป
บลูบล็อก
เรดบล็อก
การแข่งขันหุ่นยนต์ VEX V5 เดิมพันสูง
โมบายโกล
เรดริง
บลูริง
การแข่งขันหุ่นยนต์ VEX V5 แบบพิเศษ
เรดบลูพิน
พินสีน้ำเงินเหลือง
พินสีแดงเหลือง
เยลโลว์พิน
ถ้วย
ลายเซ็นสี#
ลายเซ็นสี คือสีเฉพาะที่เซ็นเซอร์ AI Vision สามารถจดจำได้ ลายเซ็นเหล่านี้ช่วยให้เซ็นเซอร์ตรวจจับและติดตามวัตถุโดยอิงจากสีของวัตถุ เมื่อตั้งค่าลายเซ็นสีแล้ว เซ็นเซอร์จะสามารถระบุวัตถุที่มีสีเฉพาะนั้นในขอบเขตการมองเห็นได้
ลายเซ็นสีถูกใช้ในบล็อก ถ่ายภาพสแนปช็อต เพื่อประมวลผลและตรวจจับวัตถุสีแบบเรียลไทม์ สามารถกำหนดค่าลายเซ็นสีได้สูงสุด 7 รายการในคราวเดียว

ตัวอย่าง
เมื่อเริ่มต้น
[Display if any objects matching the RED_BOX signature is detected.]
ทำตลอดไป
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ล้างแถว [1] บนหน้าจอ
[Change the signature to any configured Color Signature.]
ถ่ายภาพ [AIVision1 v] ของ [RED_BOX v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
พิมพ์ [Color detected!] บนหน้าจอ ▶
รหัสสี#
รหัสสีคือรูปแบบที่มีโครงสร้างซึ่งประกอบด้วยชุดสี 2 ถึง 4 ชุด เรียงลำดับตามที่กำหนด รหัสเหล่านี้ช่วยให้เซ็นเซอร์ AI Vision สามารถจดจำรูปแบบสีที่กำหนดไว้ล่วงหน้าได้
รหัสสีมีประโยชน์อย่างยิ่งในการระบุวัตถุที่ซับซ้อน การจัดวางให้สอดคล้องกับองค์ประกอบของเกม หรือการสร้างเครื่องหมายเฉพาะสำหรับการนำทางอัตโนมัติ สามารถกำหนดค่ารหัสสีได้สูงสุด 8 รหัสในคราวเดียว

ตัวอย่าง
เมื่อเริ่มต้น
[Display if any objects matching the RED_BLUE code is detected.]
ทำตลอดไป
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ล้างแถว [1] บนหน้าจอ
[Change the signature to any configured Color Code.]
ถ่ายภาพ [AIVision1 v] ของ [RED_BLUE v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
พิมพ์ [Code detected!] บนหน้าจอ ▶
การตั้งค่า#
ตั้งค่าวัตถุ AI Vision รายการ#
บล็อกสแต็ก set AI Vision object item จะกำหนดว่าควรใช้รายการใดในชุดข้อมูล
ตั้งรายการวัตถุ [AIVision1 v] เป็น (1)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
รายการ |
หมายเลขของรายการในชุดข้อมูลที่จะใช้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the largest detected AprilTag ID.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [AprilTag IDs v]
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ตั้งรายการวัตถุ [AIVision1 v] เป็น (จำนวนวัตถุ [AIVision1 v])
พิมพ์ (วัตถุ [AIVision1 v] [tagID v]) บนหน้าจอ ▶
ค่านิยม#
วัตถุ AI Vision มีอยู่จริง#
บล็อก Boolean AI Vision object exists จะรายงานว่าตรวจพบวัตถุใด ๆ ในชุดข้อมูลหรือไม่
จริง – ชุดข้อมูลประกอบด้วยวัตถุที่ตรวจพบ
เท็จ – ชุดข้อมูลนี้ไม่มีวัตถุใดๆ ที่ตรวจพบ
<[AIVision1 v] พบวัตถุ?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward if an object is detected.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ขับ [ไปข้างหน้า v] เป็น [10] [มม. v] ▶
วัตถุ AI Vision คือ#
บล็อก Boolean AI Vision object is จะรายงานว่าวัตถุที่ตรวจพบตรงกับการจำแนกประเภทที่กำหนดหรือไม่
จริง – รายการในชุดข้อมูลคือวัตถุเฉพาะนั้น
เท็จ – รายการในชุดข้อมูลไม่ใช่วัตถุเฉพาะนั้น
<วัตถุ [AIVision1 v] เป็น [BlueBall v]?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
วัตถุ |
จะใช้ การจำแนกประเภท AI ใดในการเปรียบเทียบรายการนี้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display if a Blue Cube is detected.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <วัตถุ [AIVision1 v] เป็น [BlueCube v]?> แล้ว
พิมพ์ [Cube detected!] บนหน้าจอ ▶
รอ [0.5] วินาที
วัตถุ AI Vision คือ AprilTag ID#
บล็อกบูลีน AI Vision object is AprilTag ID จะรายงานว่า AprilTag ID ที่ตรวจพบตรงกับ ID ที่ระบุหรือไม่
ถูกต้อง – รหัส AprilTag คือตัวเลข
ไม่จริง – รหัส AprilTag ไม่ใช่ตัวเลข
<[AIVision1 v] object is AprilTag ID [1] ?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
หมายเลขประจำตัว AprilTag |
ตัวเลขที่จะนำไปเปรียบเทียบกับหมายเลข AprilTag ID ที่ตรวจพบ |
ตัวอย่าง:
เมื่อเริ่มต้น
[Report if AprilTag ID 3 is detected.]
ทำตลอดไป
ล้างหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ่ายภาพ [AIVision1 v] ของ [AprilTag IDs v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <[AIVision1 v] object is AprilTag ID [3] ?> แล้ว
พิมพ์ [That is 3!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [That isn't 3!] บนหน้าจอ ▶
fine
fine
รอ [0.1] วินาที
การนับวัตถุด้วย AI Vision#
บล็อกรายงาน AI Vision object count จะรายงานจำนวนวัตถุที่ตรวจพบในชุดข้อมูลเป็นจำนวนเต็ม
(จำนวนวัตถุ [AIVision1 v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the total amount of cubes, rings, and balls.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
พิมพ์ (จำนวนวัตถุ [AIVision1 v]) บนหน้าจอ ▶
fine
รอ [0.5] วินาที
คุณสมบัติของวัตถุ AI Vision#
มีคุณสมบัติเก้าประการที่รวมอยู่ในแต่ละวัตถุ (แสดงด้านล่าง) ที่จัดเก็บหลังจากใช้บล็อก take snapshot
(วัตถุ [AIVision1 v] [ความกว้าง v])
ค่าคุณสมบัติทั้งหมด ยกเว้น tagID และ score อธิบายตำแหน่งและขนาดของวัตถุที่ตรวจพบในมุมมองของ AI Vision Sensor ในขณะที่ใช้บล็อก take snapshot ค่าเหล่านี้วัดเป็นพิกเซล โดยอิงตามความละเอียด 320 x 240 พิกเซลของเซนเซอร์
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ควรใช้เซ็นเซอร์ AI Vision ตัวไหนดี |
คุณสมบัติ |
ควรใช้คุณสมบัติใดของวัตถุที่ตรวจพบ: |
ความกว้าง#
คุณสมบัติ width จะรายงานความกว้างของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 320
(วัตถุ [AIVision1 v] [ความกว้าง v])
ตัวอย่าง
เมื่อเริ่มต้น
[Drive towards an object until its width is larger than 100 pixels.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [ความกว้าง v]) [math_less_than v] [100]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
ความสูง#
คุณสมบัติ height จะรายงานความสูงของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 240
(วัตถุ [AIVision1 v] [ความสูง v])
ตัวอย่าง
เมื่อเริ่มต้น
[Drive towards an object until its height is larger than 100 pixels.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [ความสูง v]) [math_less_than v] [100]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
เซ็นเตอร์เอ็กซ์#
คุณสมบัติ centerX จะแสดงค่าพิกัด x ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320
(วัตถุ [AIVision1 v] [centerX v])
ตัวอย่าง
เมื่อเริ่มต้น
[Turn slowly until an object is centered in front of the robot.]
ตั้งความเร็วเลี้ยวเป็น [30] [% v]
เลี้ยว [ขวา v]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <[140] [math_less_than v] (วัตถุ [AIVision1 v] [centerX v]) [math_less_than v] [180]> แล้ว
หยุดขับ
เซ็นเตอร์วาย#
คุณสมบัติ centerY จะแสดงค่าพิกัด y ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240
(วัตถุ [AIVision1 v] [centerY v])
ตัวอย่าง
เมื่อเริ่มต้น
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [centerY v]) [math_less_than v] [140]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
มุม#
คุณสมบัติ angle รายงานทิศทางของรหัสสีหรือรหัส AprilTag ที่ตรวจพบเป็นจำนวนเต็มในหน่วยองศาตั้งแต่ 0 ถึง 359
(วัตถุ [AIVision1 v] [มุม v])
ตัวอย่าง
เมื่อเริ่มต้น
[Slide left or right depending on how the Color Code is rotated.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [RED_BLUE v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <[50] [math_less_than v] (วัตถุ [AIVision1 v] [มุม v]) [math_less_than v] [100]> แล้ว
ขับ [ขวา v]
มิฉะนั้นถ้า <[270] [math_less_than v] (วัตถุ [AIVision1 v] [มุม v]) [math_less_than v] [330]> แล้ว
ขับ [ซ้าย v]
มิฉะนั้น
หยุดขับ
fine
มิฉะนั้น
หยุดขับ
ออริจินเอ็กซ์#
คุณสมบัติ originX รายงานค่าพิกัด x ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320
(วัตถุ [AIVision1 v] [originX v])
ตัวอย่าง
เมื่อเริ่มต้น
[Display if an object is to the left or the right.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [originX v]) [math_less_than v] [160]> แล้ว
พิมพ์ [To the left!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [To the right!] บนหน้าจอ ▶
fine
รอ [0.5] วินาที
ออริจินวาย#
คุณสมบัติ originY รายงานค่าพิกัด y ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240
(วัตถุ [AIVision1 v] [originY v])
ตัวอย่าง
เมื่อเริ่มต้น
[Display if an object is close or far from the robot.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ่ายภาพ [AIVision1 v] ของ [การจำแนก AI v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [originY v]) [math_less_than v] [80]> แล้ว
พิมพ์ [Far!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [Close!] บนหน้าจอ ▶
fine
รอ [0.5] วินาที
แท็กไอดี#
คุณสมบัติ tagID รายงานหมายเลขประจำตัวของ AprilTag ID ที่ตรวจพบเป็นจำนวนเต็ม
(วัตถุ [AIVision1 v] [tagID v])
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward when AprilTag ID 0 is detected.]
ทำตลอดไป
ถ่ายภาพ [AIVision1 v] ของ [AprilTag IDs v]
ถ้า <[AIVision1 v] พบวัตถุ?> แล้ว
ถ้า <(วัตถุ [AIVision1 v] [tagID v]) [math_equal v] [0]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
รอ [0.5] วินาที
คะแนน#
คุณสมบัติ คะแนน จะแสดงระดับความมั่นใจของโมเดลในการจำแนกประเภท AI ที่ตรวจพบ โดยแสดงเป็นเปอร์เซ็นต์ตั้งแต่ 70% ถึง 100%
คะแนนที่ต่ำกว่าหมายความว่าเซ็นเซอร์มีความมั่นใจน้อยลงในการตรวจจับวัตถุ ในขณะที่คะแนนที่สูงกว่าหมายความว่าเซ็นเซอร์มีความมั่นใจมากขึ้น
(วัตถุ [AIVision1 v] [คะแนน v])