AI Vision#

การแนะนำ#

เซ็นเซอร์ AI Vision ของหุ่นยนต์เขียนโค้ด VEX AIM ตรวจจับและติดตามวัตถุ สี และรหัส AprilTag ทำให้หุ่นยนต์สามารถวิเคราะห์สภาพแวดล้อม ติดตามวัตถุ และตอบสนองตามข้อมูลภาพที่ตรวจพบได้

เซ็นเซอร์ AI Vision มีความละเอียด 320×240 พิกเซล จุดกำเนิด (0, 0) อยู่ที่มุมบนซ้าย ทำให้จุดศูนย์กลางของเซ็นเซอร์อยู่ที่ (160, 120) ดังแสดงในแผนภาพด้านล่าง:

แผนภาพแสดงความละเอียดของเซ็นเซอร์ AI Vision ของ AIM โดยมีพิกัด 0, 0 อยู่ที่มุมซ้ายบนของแผนภาพ 320, 0 อยู่ที่มุมขวาบน และ 0, 240 อยู่ที่มุมซ้ายล่าง โดยมี 160, 120 อยู่ตรงกลางพอดี

ด้านล่างนี้คือรายการของบล็อกทั้งหมด:

การดำเนินการ — ควบคุมฟีด AI Vision และบันทึกข้อมูลวัตถุ

  • AI Vision viewer on screen — เปิดใช้งานหรือปิดใช้งานฟีด AI Vision สดบนหน้าจอของหุ่นยนต์

  • รับข้อมูลวัตถุ — บันทึกข้อมูลสำหรับลายเซ็นเฉพาะ เช่น สีที่กำหนดค่าไว้ วัตถุที่ฝึกฝนไว้ล่วงหน้า หรือรหัส AprilTag

การตั้งค่า — ปรับแต่งว่าวัตถุที่ตรวจพบใดบ้างที่จะสามารถเข้าถึงได้

ค่าที่ส่งคืน — แสดงการมีอยู่ การจำแนกประเภท และคุณสมบัติของวัตถุ

  • มีวัตถุ — ตรวจสอบว่าหุ่นยนต์กำลังถือวัตถุที่ตรวจพบอยู่หรือไม่

  • วัตถุ AI Vision มีอยู่ — รายงานว่าตรวจพบวัตถุหรือไม่

  • AI Vision object is — ตรวจสอบว่าวัตถุที่ตรวจพบตรงกับการจำแนกประเภทที่ระบุหรือไม่

  • วัตถุ AI Vision คือ AprilTag ID — ตรวจสอบว่า AprilTag ID ที่ตรวจพบตรงกับ ID ที่ระบุหรือไม่

  • จำนวนวัตถุ AI Vision — รายงานจำนวนวัตถุที่ตรวจพบ

  • คุณสมบัติของวัตถุ AI Vision — รายงานรายละเอียดต่างๆ เช่น:

    • width & height — ขนาดของวัตถุ

    • centerX & centerY — พิกัดตำแหน่งศูนย์กลางในมุมมองของเซ็นเซอร์

    • originX & originY — พิกัดตำแหน่งมุมบนซ้ายในมุมมองของเซ็นเซอร์

    • การหมุน — การวางแนวของวัตถุ

    • bearing — มุมแนวนอนเทียบกับด้านหน้าของหุ่นยนต์

    • tagID — หมายเลขประจำตัวของ AprilTag ID

การกระทำ#

โปรแกรม AI Vision บนหน้าจอ#

บล็อก AI Vision viewer on screen ใช้สำหรับเปิดหรือปิดการแสดงภาพ AI Vision แบบเรียลไทม์บนหน้าจอของหุ่นยนต์ เมื่อเปิดใช้งาน หน้าจอจะแสดงข้อมูลเซ็นเซอร์แบบเรียลไทม์ ป้องกันไม่ให้ภาพหรือข้อความอื่นๆ ปรากฏขึ้น หากต้องการแสดงเนื้อหาอื่นๆ ให้ใช้บล็อกนี้เพื่อซ่อนภาพที่แสดง

บล็อกแสดงหรือซ่อนแดชบอร์ด AI Vision#
AI Vision [แสดง v] ผู้ชมบนหน้าจอ

พารามิเตอร์

คำอธิบาย

สถานะ

ควบคุมการแสดงข้อมูลบนหน้าจอของหุ่นยนต์: แสดง จะแสดงข้อมูล ขณะที่ ซ่อน จะซ่อนข้อมูลออกจากหน้าจอ

ตัวอย่าง

บล็อกเหล่านี้เรียงซ้อนกัน เริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่ระบุว่า “ดูฟีดของเซ็นเซอร์ AI Vision เป็นเวลาห้าวินาที” บล็อก “แสดงแดชบอร์ด AI Vision” จะแสดงฟีด จากนั้นบล็อก “รอ” จะหยุดการทำงานชั่วคราวเป็นเวลาห้าวินาที หลังจากนั้น บล็อก “ซ่อนแดชบอร์ด AI Vision” จะซ่อนฟีดออกจากหน้าจอ#
เมื่อเริ่มต้น
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [แสดง v] ผู้ชมบนหน้าจอ
รอ [5] วินาที
AI Vision [ซ่อน v] ผู้ชมบนหน้าจอ

รับข้อมูลวัตถุ#

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

ต้องกำหนดค่าสีและรหัสสีในโปรแกรม AI Vision Utility ก่อน จึงจะสามารถใช้งานกับบล็อกนี้ได้

ชุดข้อมูลจัดเก็บวัตถุที่เรียงลำดับจากขนาดใหญ่ที่สุดไปเล็กที่สุดตามความกว้าง โดยเริ่มต้นที่ดัชนี 0 คุณสมบัติของวัตถุแต่ละชิ้นสามารถเข้าถึงได้โดยใช้บล็อก AI Vision object property หากไม่พบวัตถุที่ตรงกัน ระบบจะรายงานชุดข้อมูลว่างเปล่า

บล็อกสแต็ก Get object data#
รับข้อมูล [ลูกบอลกีฬา v] จาก AI Vision

พารามิเตอร์

คำอธิบาย

ลายเซ็น

กรองชุดข้อมูลเพื่อให้มีเฉพาะข้อมูลที่มีลายเซ็นที่กำหนดเท่านั้น ลายเซ็นที่ใช้ได้คือ:

  • ลูกบอลกีฬา
  • ถังสีส้ม
  • ถังสีฟ้า
  • หุ่นยนต์ AIM
  • AprilTag ID 0
  • AprilTag ID 1
  • AprilTag ID 2
  • AprilTag ID 3
  • AprilTag ID 4
  • สินค้าทั้งหมด - ลูกบอลกีฬาและถังทั้งหมด
  • ชื่อ - สีหรือรหัสสี โดยที่ NAME คือชื่อที่กำหนดค่าไว้ใน AI Vision Utility

ตัวอย่าง

บล็อกชุดหนึ่งเริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่ระบุว่า “เคลื่อนที่ไปข้างหน้าหากตรวจพบลูกบอลกีฬา” บล็อก “รับข้อมูลวัตถุ” จะจับภาพลูกบอลกีฬา จากนั้นบล็อก “ถ้า” จะตรวจสอบว่ามีวัตถุ AI Vision อยู่หรือไม่ ถ้าเป็นจริง บล็อก “เคลื่อนที่ไปข้างหน้า” จะเคลื่อนหุ่นยนต์ไปข้างหน้า 10 มิลลิเมตร#
เมื่อเริ่มต้น
[Move forward if a sports ball is detected.]
ทำตลอดไป
รับข้อมูล [ลูกบอลกีฬา v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
เคลื่อนที่ [ไปข้างหน้า v] เป็น [10] [มม. v] ▶

ลายเซ็นสี#

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

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

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

ตัวอย่าง

เมื่อเริ่มต้น
[Display if any objects matching the Red_Box signature is detected.]
ทำตลอดไป
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ล้างแถว [1] บนหน้าจอ
[Change the signature to any configured Color Signature.]
รับข้อมูล [Red_Box v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
พิมพ์ [Color signature detected!] บนหน้าจอ ▶

รหัสสี#

รหัสสีคือรูปแบบที่มีโครงสร้างซึ่งประกอบด้วยชุดสี 2 ถึง 4 ชุด เรียงลำดับตามที่กำหนด เมื่อตั้งค่ารหัสสีในโปรแกรม AI Vision Utility แล้ว เซ็นเซอร์จะสามารถจดจำรูปแบบสีที่กำหนดไว้ล่วงหน้าได้

รหัสสีมีประโยชน์อย่างยิ่งในการระบุวัตถุที่ซับซ้อน การจัดเรียงให้สอดคล้องกับองค์ประกอบของเกม หรือการสร้างเครื่องหมายเฉพาะสำหรับการนำทางอัตโนมัติ

อินเทอร์เฟซ AI Vision Utility แสดงเซ็นเซอร์ตรวจจับภาพที่เชื่อมต่ออยู่ ซึ่งตรวจจับวัตถุสองชิ้นที่อยู่ติดกัน คือกล่องสีน้ำเงินทางด้านซ้ายและกล่องสีแดงทางด้านขวา โดยจัดกลุ่มไว้ในกรอบสีขาวเดียวกันที่มีป้ายกำกับว่า BlueRed ข้อมูลการตรวจจับประกอบด้วยมุม (A:11°), พิกัด (X:143, Y:103), ความกว้าง (W:233) และความสูง (H:108) บนแผงด้านขวา จะแสดงลายเซ็นสีสามแบบ ได้แก่ Red_Box, Blue_Box และ BlueRed พร้อมช่วงค่าสีและความอิ่มตัวที่ปรับได้ ลายเซ็น BlueRed เป็นการรวมกันของ Blue_Box และ Red_Box ด้านล่างของฟีดวิดีโอจะมีปุ่มที่มีป้ายกำกับว่า Freeze Video, Copy Image, Save Image และ Close

ตัวอย่าง

เมื่อเริ่มต้น
[Display if any objects matching the BlueRed code is detected.]
ทำตลอดไป
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ล้างแถว [1] บนหน้าจอ
[Change the signature to any configured Color Code.]
รับข้อมูล [BlueRed v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
พิมพ์ [Color code detected!] บนหน้าจอ ▶

การตั้งค่า#

ตั้งค่าวัตถุ AI Vision รายการ#

บล็อกสแต็ก set AI Vision object item จะกำหนดว่าควรใช้รายการใดในชุดข้อมูล

บล็อกสแต็กรายการวัตถุ Set AI Vision#
ตั้งรายการวัตถุ AI Vision เป็น (1)

พารามิเตอร์

คำอธิบาย

รายการ

หมายเลขของรายการในชุดข้อมูลที่จะใช้

ตัวอย่าง

บล็อกโค้ดประกอบด้วยบล็อกหลายชั้น เริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่เขียนว่า “แสดงรหัส AprilTag ที่ใหญ่ที่สุดที่ตรวจพบ” ภายในลูปวนซ้ำตลอดไป บล็อก “รับข้อมูลวัตถุ” จะบันทึกภาพของรหัส AprilTag บล็อก “ถ้า” จะตรวจสอบว่ามีวัตถุ AI Vision อยู่หรือไม่ ถ้าเป็นจริง บล็อก “ตั้งค่ารายการวัตถุ AI Vision” จะกำหนดจำนวนวัตถุให้กับตัวแปร และบล็อก “พิมพ์” จะแสดงรหัสแท็กของวัตถุที่ตรวจพบลงบนหน้าจอ#
เมื่อเริ่มต้น
[Display the width of the smallest detected object.]
ทำตลอดไป
รับข้อมูล [สินค้าทั้งหมด v] จาก AI Vision
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <AI Vision พบวัตถุ?> แล้ว
ตั้งรายการวัตถุ AI Vision เป็น (จำนวนวัตถุ AI Vision)
พิมพ์ (วัตถุ AI Vision [ความกว้าง v]) บนหน้าจอ ▶

ค่านิยม#

มีวัตถุ#

บล็อกบูลีน has object รายงานว่าหุ่นยนต์ตรวจพบวัตถุกับ Kicker ในปัจจุบันหรือไม่

  • จริง — หุ่นยนต์มีวัตถุนั้นอยู่แล้ว

  • เท็จ — หุ่นยนต์ไม่มีวัตถุนั้นอยู่

<มี [ลูกบอลกีฬา v]? :: custom-ai-vision>

พารามิเตอร์

คำอธิบาย

วัตถุ

วัตถุที่จะตรวจจับโดยใช้ตัวเตะของหุ่นยนต์:

  • ลูกบอลกีฬา
  • ถังใดก็ได้
  • ถังสีส้ม
  • ถังสีฟ้า

ตัวอย่าง

บล็อกที่เรียงซ้อนกัน เริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่เขียนว่า “เตะเมื่อหุ่นยนต์มีลูกบอล” ภายในลูปวนซ้ำตลอดไป บล็อก “ถ้า” จะตรวจสอบว่าหุ่นยนต์มีลูกบอลกีฬาหรือไม่ ถ้าเป็นจริง บล็อก “เตะวัตถุ” จะทำงานด้วยแรงปานกลาง#
เมื่อเริ่มต้น
[Kick when the robot has a sports ball.]
ทำตลอดไป
ถ้า <มี [ลูกบอลกีฬา v]? :: custom-ai-vision> แล้ว
เตะวัตถุ [กลาง v]

วัตถุ AI Vision มีอยู่จริง#

บล็อกบูลีน AI Vision object exists รายงานว่าตรวจพบวัตถุในชุดข้อมูลหรือไม่

  • จริง — ชุดข้อมูลประกอบด้วยวัตถุที่ตรวจพบ

  • เท็จ — ไม่พบวัตถุใดๆ

วัตถุ AI Vision มีอยู่ในบล็อก Boolean#
<AI Vision พบวัตถุ?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

บล็อกเหล่านี้เรียงซ้อนกัน เริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่ระบุว่า “เคลื่อนที่ไปข้างหน้าหากตรวจพบลูกบอล” บล็อก “รับข้อมูลวัตถุ” จะจับภาพลูกบอลกีฬา บล็อก “ถ้า” จะตรวจสอบว่ามีวัตถุ AI Vision อยู่หรือไม่ ถ้าเป็นจริง บล็อก “เคลื่อนที่ไปข้างหน้า” จะเคลื่อนหุ่นยนต์ไปข้างหน้า 10 มิลลิเมตร#
เมื่อเริ่มต้น
[Move forward if a sports ball is detected.]
ทำตลอดไป
รับข้อมูล [ลูกบอลกีฬา v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
เคลื่อนที่ [ไปข้างหน้า v] เป็น [10] [มม. v] ▶

วัตถุ AI Vision คือ#

บล็อก Boolean AI Vision object is จะรายงานว่าวัตถุที่ตรวจพบตรงกับการจำแนกประเภทที่กำหนดหรือไม่

  • จริง — รายการในชุดข้อมูลคือวัตถุเฉพาะนั้น

  • เท็จ — รายการในชุดข้อมูลไม่ใช่วัตถุเฉพาะนั้น

การจำแนกประเภท AI Vision AI เป็นบล็อกบูลีนของวัตถุ#
<วัตถุ AI Vision เป็น [ลูกบอลกีฬา v]?>

พารามิเตอร์

คำอธิบาย

วัตถุ

ควรเปรียบเทียบสิ่งของนี้กับวัตถุใด:

  • ลูกบอลกีฬา
  • ถังสีส้ม
  • ถังสีฟ้า
  • หุ่นยนต์ AIM

ตัวอย่าง

บล็อกโค้ดประกอบด้วยบล็อกหลายชั้น เริ่มต้นด้วยบล็อก “เมื่อเริ่มต้น” ตามด้วยบล็อกความคิดเห็นที่ระบุว่า “แสดงผลหากตรวจพบลูกบอลกีฬา” ภายในลูปวนซ้ำตลอดไป บล็อก “รับข้อมูลวัตถุ” จะจับภาพโดยใช้การจำแนกประเภทด้วย AI หน้าจอจะถูกล้าง และเคอร์เซอร์จะถูกตั้งไว้ที่แถวที่ 1 คอลัมน์ที่ 1 บล็อก “ถ้า” จะตรวจสอบว่ามีวัตถุ AI Vision อยู่หรือไม่ และถ้าเป็นจริง บล็อก “ถ้า” อีกบล็อกจะตรวจสอบว่าการจำแนกประเภทนั้นเป็นลูกบอลกีฬาหรือไม่ ถ้าใช่ บล็อก “พิมพ์” จะแสดงข้อความ “ตรวจพบลูกบอล!” บนหน้าจอ ตามด้วยบล็อก “รอ” ที่หยุดชั่วคราว 0.5 วินาทีก่อนที่จะทำซ้ำกระบวนการ#
เมื่อเริ่มต้น
[Display if a sports ball is detected.]
ทำตลอดไป
รับข้อมูล [สินค้าทั้งหมด v] จาก AI Vision
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <วัตถุ AI Vision เป็น [ลูกบอลกีฬา v]?> แล้ว
พิมพ์ [Sports ball detected!] บนหน้าจอ ▶
รอ [0.5] วินาที

วัตถุ AI Vision คือ AprilTag ID#

บล็อกบูลีน AI Vision object is AprilTag ID จะรายงานว่า AprilTag ID ที่ตรวจพบตรงกับ ID ที่ระบุหรือไม่

  • ถูกต้อง — รหัส AprilTag คือตัวเลข

  • ไม่ถูกต้อง — รหัส AprilTag ไม่ใช่ตัวเลข

ระบบ AI Vision ตรวจพบว่า AprilTag ID เป็นบล็อก Boolean#
<AI Vision object is AprilTag ID [1] ?>

พารามิเตอร์

คำอธิบาย

รหัสแท็กเดือนเมษายน

ตัวเลขที่จะนำไปเปรียบเทียบกับหมายเลข AprilTag ID ที่ตรวจพบ

การนับวัตถุด้วย AI Vision#

บล็อกรายงาน AI Vision object count จะรายงานจำนวนวัตถุที่ตรวจพบในชุดข้อมูลเป็นจำนวนเต็ม

จำนวนวัตถุ AI Vision

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Display the amount of sports balls and barrels.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
รับข้อมูล [สินค้าทั้งหมด v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
พิมพ์ (จำนวนวัตถุ AI Vision) บนหน้าจอ ▶
fine
รอ [0.5] วินาที

คุณสมบัติของวัตถุ AI Vision#

มีคุณสมบัติเก้าประการที่รวมอยู่ในแต่ละวัตถุ (แสดงด้านล่าง) ที่จัดเก็บไว้หลังจากใช้บล็อก รับข้อมูลวัตถุ

บล็อกรายงานคุณสมบัติวัตถุ AI Vision#
วัตถุ AI Vision [ความกว้าง v]

ค่าคุณสมบัติทั้งหมด ยกเว้น tagID อธิบายถึงตำแหน่ง ขนาด การวางแนว หรือทิศทางของวัตถุที่ตรวจพบ ณ ขณะที่ใช้บล็อก get object data ค่าเหล่านี้วัดเป็นพิกเซลหรือองศา โดยอิงตามความละเอียด 320 x 240 พิกเซลของเซ็นเซอร์

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสีดำ แกน x และ y มีป้ายกำกับ 0 ถึง 320 จากซ้ายไปขวาทางด้านบน และ 0 ถึง 240 จากบนลงล่างตามด้านซ้ายตามลำดับ

พารามิเตอร์

คำอธิบาย

คุณสมบัติ

ควรใช้คุณสมบัติใดของวัตถุที่ตรวจพบ:

ความกว้าง#

คุณสมบัติ width จะรายงานความกว้างของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 320

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็นความกว้าง#
วัตถุ AI Vision [ความกว้าง v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสีดำ เส้นประสีแดงสองเส้นแนวตั้งลากจากด้านบนของเฟรมลงไปยังขอบด้านซ้ายและขวาของกรอบ ลูกศรสีดำสองหัวระหว่างเส้นเหล่านี้แสดงถึงการวัดความกว้าง

ตัวอย่าง

เมื่อเริ่มต้น
[Move towards a blue barrel until its width is larger than 100 pixels.]
ทำตลอดไป
รับข้อมูล [ถังสีน้ำเงิน v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [ความกว้าง v]) [math_less_than v] [100]> แล้ว
เคลื่อนที่ [ไปข้างหน้า v]
fine
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด

ความสูง#

คุณสมบัติ height จะรายงานความสูงของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 240

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกคุณสมบัติของวัตถุ AI Vision ที่มีพารามิเตอร์ตั้งค่าเป็นความสูง#
วัตถุ AI Vision [ความสูง v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสีดำ เส้นประสีแดงแนวนอนสองเส้นลากจากด้านซ้ายของเฟรมไปยังขอบบนและล่างของกรอบ ลูกศรสีดำสองหัวระหว่างเส้นเหล่านี้แสดงถึงการวัดความสูง

ตัวอย่าง

เมื่อเริ่มต้น
[Move towards a blue barrel until its height is larger than 100 pixels.]
ทำตลอดไป
รับข้อมูล [ถังสีน้ำเงิน v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [ความสูง v]) [math_less_than v] [100]> แล้ว
เคลื่อนที่ [ไปข้างหน้า v]
fine
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด

เซ็นเตอร์เอ็กซ์#

คุณสมบัติ centerX จะแสดงค่าพิกัด x ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็น centerX#
วัตถุ AI Vision [centerX v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสี่เหลี่ยมสีดำ เส้นประสีแดงแนวตั้งลากจากด้านบนของเฟรมลงมายังกึ่งกลางของกรอบสี่เหลี่ยม แสดงพิกัด X ของจุดศูนย์กลาง

ตัวอย่าง

เมื่อเริ่มต้น
[Turn slowly until a blue barrel is centered in front of the robot.]
ตั้งความเร็วเลี้ยวเป็น [30]%
เลี้ยว [ขวา v]
ทำตลอดไป
รับข้อมูล [ถังสีน้ำเงิน v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <[140] [math_less_than v] (วัตถุ AI Vision [centerX v]) [math_less_than v] [180]> แล้ว
หยุดการเคลื่อนที่ทั้งหมด

เซ็นเตอร์วาย#

คุณสมบัติ centerY จะแสดงค่าพิกัด y ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็น centerY#
วัตถุ AI Vision [centerY v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสี่เหลี่ยมสีดำ เส้นประสีแดงแนวนอนลากจากด้านซ้ายของเฟรมไปยังกึ่งกลางของกรอบสี่เหลี่ยม แสดงพิกัด Y ของจุดศูนย์กลาง

ตัวอย่าง

เมื่อเริ่มต้น
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
ทำตลอดไป
รับข้อมูล [ถังสีน้ำเงิน v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [centerY v]) [math_less_than v] [140]> แล้ว
เคลื่อนที่ [ไปข้างหน้า v]
fine
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด

ออริจินเอ็กซ์#

คุณสมบัติ originX รายงานค่าพิกัด x ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็น originX#
วัตถุ AI Vision [originX v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสี่เหลี่ยมสีดำ เส้นประสีแดงแนวตั้งลากจากด้านบนของเฟรมไปยังขอบด้านซ้ายของกรอบสี่เหลี่ยม แสดงพิกัด X ของจุดกำเนิดของกรอบสี่เหลี่ยม

ตัวอย่าง

เมื่อเริ่มต้น
[Display if an orange barrel is to the left or the right.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
รับข้อมูล [ถังสีส้ม v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [originX v]) [math_less_than v] [160]> แล้ว
พิมพ์ [To the left!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [To the right!] บนหน้าจอ ▶
fine
รอ [0.5] วินาที

ออริจินวาย#

คุณสมบัติ originY รายงานค่าพิกัด y ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240

หมายเหตุ: ค่าพิกเซลสัมพันธ์กับระบบพิกัดของเซ็นเซอร์ ดู แผนภาพในบทนำ เพื่อเป็นข้อมูลอ้างอิง

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็น originY#
วัตถุ AI Vision [originY v]

ถังสีน้ำเงินที่มีแถบสีส้มอยู่ตรงกลางเฟรม ล้อมรอบด้วยกรอบสี่เหลี่ยมสีดำ เส้นประสีแดงแนวนอนลากจากด้านซ้ายของเฟรมไปยังขอบด้านบนของกรอบสี่เหลี่ยม แสดงพิกัด Y ของจุดกำเนิดของกรอบสี่เหลี่ยม

ตัวอย่าง

เมื่อเริ่มต้น
[Display if an orange barrel is close or far from the robot.]
ทำตลอดไป
ล้างแถว [1] บนหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
รับข้อมูล [ถังสีส้ม v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [originY v]) [math_less_than v] [80]> แล้ว
พิมพ์ [Far!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [Close!] บนหน้าจอ ▶
fine
รอ [0.5] วินาที

การหมุน#

คุณสมบัติ การหมุน จะรายงานทิศทางของรหัส AprilTag หรือรหัสสีที่ตรวจพบเป็นจำนวนเต็มในหน่วยองศาตั้งแต่ 0 ถึง 359

บล็อกคุณสมบัติของวัตถุ AI Vision ที่ตั้งค่าพารามิเตอร์เป็นการหมุน#
วัตถุ AI Vision [การหมุน v]

อินเทอร์เฟซกล้องแสดงวัตถุที่ซ้อนกันในแนวตั้ง โดยมีครึ่งบนสีน้ำเงินและครึ่งล่างสีแดง อยู่ตรงกลางเฟรม ป้ายกำกับใต้ภาพระบุว่า Red_Blue A:270° CX:185 CY:81 W:93 H:150 ซึ่งแสดงชื่อวัตถุ มุมการหมุน พิกัดศูนย์กลาง X และ Y ความกว้าง และความสูง เส้นตารางและแกนตัวเลขแสดงขนาดของภาพ โดย X มีค่าตั้งแต่ 0 ถึง 320 และ Y มีค่าตั้งแต่ 0 ถึง 240

ตัวอย่าง

เมื่อเริ่มต้น
[Slide left or right depending on how the Color Code is rotated.]
ทำตลอดไป
รับข้อมูล [Red_Blue v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <[50] [math_less_than v] (วัตถุ AI Vision [การหมุน v]) [math_less_than v] [100]> แล้ว
เคลื่อนที่ [ขวา v]
มิฉะนั้นถ้า <[270] [math_less_than v] (วัตถุ AI Vision [การหมุน v]) [math_less_than v] [330]> แล้ว
เคลื่อนที่ [ซ้าย v]
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด
fine
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด

แบริ่ง#

คุณสมบัติ ทิศทาง จะรายงานระยะห่างของวัตถุจากจุดศูนย์กลางของมุมมองของเซ็นเซอร์ AI Vision ไปทางซ้ายหรือขวาเป็นองศา ค่า 0 หมายถึงอยู่ตรงกลาง ค่าบวกหมายถึงวัตถุอยู่ทางขวา และค่าลบหมายถึงวัตถุอยู่ทางซ้าย

หุ่นยนต์เขียนโปรแกรม VEX AIM อยู่บนสนาม โดยมีลูกบอลกีฬาอยู่ด้านหน้าและเยื้องไปทางซ้ายเล็กน้อย มีการวาดมุมระหว่างจุดศูนย์กลางของหุ่นยนต์กับลูกบอล และระบุค่าเป็น -30 องศา หุ่นยนต์เขียนโปรแกรม VEX AIM อยู่บนสนาม โดยมีลูกบอลกีฬาอยู่ด้านหน้าและเยื้องไปทางขวาเล็กน้อย มีเส้นแบ่งมุมระหว่างจุดศูนย์กลางของหุ่นยนต์กับลูกบอลกีฬา และระบุค่าไว้ที่ 30 องศา
เมื่อเริ่มต้น
[Keep the blue barrel directly in front of the robot.]
ตั้งความเร็วเลี้ยวเป็น [40]%
ทำตลอดไป
รับข้อมูล [ถังสีน้ำเงิน v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
ถ้า <(วัตถุ AI Vision [ทิศทาง v]) [math_greater_than v] [5]> แล้ว
เลี้ยว [ขวา v]
มิฉะนั้นถ้า <(วัตถุ AI Vision [ทิศทาง v]) [math_less_than v] [-5]> แล้ว
เลี้ยว [ซ้าย v]
มิฉะนั้น
หยุดการเคลื่อนที่ทั้งหมด

แท็กไอดี#

คุณสมบัติ tagID รายงานหมายเลขประจำตัวของ AprilTag ID ที่ตรวจพบเป็นจำนวนเต็ม

บล็อกสแต็กคุณสมบัติของวัตถุ AI Vision โดยตั้งค่าพารามิเตอร์เป็น tagID#
วัตถุ AI Vision [tagID v]

ตัวอย่าง

เมื่อเริ่มต้น
[Move forward when AprilTag ID 0 is detected.]
ทำตลอดไป
รับข้อมูล [AprilTag ID 0 v] จาก AI Vision
ถ้า <AI Vision พบวัตถุ?> แล้ว
เคลื่อนที่ [ไปข้างหน้า v]
fine
หยุดการเคลื่อนที่ทั้งหมด