การเขียนโค้ดด้วยเซ็นเซอร์ AI Vision ใน VEXcode V5 Blocks

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

นอกจากนี้ AI Vision Sensor ยังสามารถตรวจจับ AI Classifcations และ AprilTags ได้อีกด้วย หากต้องการเรียนรู้วิธีเปิดใช้งานโหมดการตรวจจับเหล่านี้ โปรดไปที่นี่:

หากต้องการเรียนรู้รายละเอียดเพิ่มเติมเกี่ยวกับบล็อกแต่ละบล็อกเหล่านี้และวิธีใช้ใน VEXcode โปรดไปที่ไซต์ API


ถ่ายภาพสแนปช็อต

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

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

  • ลายเซ็นสี
  • รหัสสี
  • การจำแนกประเภท AI
  • เอพริลแท็กส์

การถ่ายภาพแบบสแน็ปช็อตจะสร้างอาร์เรย์ของวัตถุที่ตรวจพบทั้งหมดที่คุณระบุ ตัวอย่างเช่น หากคุณต้องการตรวจจับ "สีแดง"ลายเซ็นสีและเซ็นเซอร์ AI Vision ตรวจพบวัตถุสีแดงที่แตกต่างกัน 3 ชิ้น ข้อมูลจากทั้งสามชิ้นจะถูกใส่ไว้ในอาร์เรย์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการระบุระหว่างวัตถุที่แตกต่างกัน โปรดไปที่ส่วน "ตั้งค่ารายการวัตถุ" ในบทความนี้

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

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

ข้อมูลที่นำมาจาก Snapshot

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

ปณิธาน

การทำความเข้าใจความละเอียดของเซ็นเซอร์ AI Vision ถือเป็นสิ่งสำคัญสำหรับการตีความข้อมูลที่แม่นยำ เซ็นเซอร์มีความละเอียด 320x240 พิกเซล โดยมีจุดศูนย์กลางที่แน่นอนที่พิกัด (160, 120)

พิกัด X ที่น้อยกว่า 160 แสดงถึงครึ่งซ้ายของระยะการมองเห็นของเซนเซอร์ ในขณะที่พิกัด X ที่มากกว่า 160 แสดงถึงครึ่งขวา ในทำนองเดียวกัน พิกัด Y ที่น้อยกว่า 120 แสดงถึงครึ่งบนของมุมมอง และพิกัด Y ที่มากกว่า 120 แสดงถึงครึ่งล่าง

ไปที่ การทำความเข้าใจข้อมูลใน AI Vision Utility ใน VEXcode V5 เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการวัดวัตถุด้วย AI Vision Sensor

ความกว้างและความสูง

นี่คือความกว้างหรือความสูงของวัตถุที่ตรวจพบเป็นพิกเซล

รูปภาพแสดง Buckyball สีน้ำเงินพร้อมเส้นขอบสี่เหลี่ยมสีขาวติดตามอยู่ มุมบนซ้ายมีป้ายกำกับระบุว่าเป็นวัตถุสีน้ำเงิน มีพิกัด X:176, Y:117 และขนาด W:80, H:78 ลูกศรสีแดงเน้นความกว้างและความสูงของวัตถุ

การวัดความกว้างและความสูงช่วยระบุวัตถุที่แตกต่างกัน ตัวอย่างเช่น Buckyball จะมีความสูงมากกว่า Ring

วัตถุลูกบาศก์สีน้ำเงินสองชิ้นถูกติดตามโดยระบบการจดจำภาพ ลูกบาศก์ด้านบนมีโครงร่างสีขาวพร้อมป้ายระบุตำแหน่งเป็น X:215, Y:70 และขนาด W:73, H:84 ลูกบาศก์ด้านล่างมีโครงร่างสีขาวคล้ายกัน โดยมีป้ายแสดง X:188, Y:184 และขนาด W:144, H:113 ลูกบาศก์แต่ละลูกจะมีเครื่องหมายกากบาทสีขาวอยู่ตรงกลาง ซึ่งอาจบ่งบอกจุดโฟกัสสำหรับการติดตาม ป้ายกำกับเน้นข้อมูลการวัดและการติดตามสำหรับแต่ละวัตถุ

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

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

ในตัวอย่างนี้ ความกว้างของวัตถุจะถูกใช้สำหรับการนำทาง หุ่นยนต์จะเข้าใกล้วัตถุจนกระทั่งความกว้างถึงขนาดที่กำหนดก่อนที่จะหยุด

CenterX และ Center Y

นี่คือพิกัดศูนย์กลางของวัตถุที่ตรวจพบเป็นพิกเซล

Buckyball สีน้ำเงินที่กำลังถูกติดตามโดยระบบการมองเห็นด้วยคอมพิวเตอร์ วัตถุนั้นมีโครงร่างเป็นสี่เหลี่ยมสีขาว และภายในโครงร่างเป็นสี่เหลี่ยมสีแดงขนาดเล็กที่ล้อมรอบไม้กางเขนสีขาวตรงกลาง ที่มุมบนซ้ายของรูปภาพ มีป้ายกำกับระบุว่าวัตถุนั้นเป็นสีน้ำเงิน โดยมีพิกัด X:176, Y:117 และขนาด W:80, H:78

พิกัด CenterX และ CenterY ช่วยในการนำทางและการระบุตำแหน่ง เซ็นเซอร์ AI Vision มีความละเอียด 320 x 240 พิกเซล

วัตถุลูกบาศก์สีน้ำเงินสองชิ้นที่ติดตามโดยระบบการมองเห็น วัตถุด้านบนมีป้ายกำกับพิกัด X:215, Y:70 และขนาด W:73, H:84 พร้อมด้วยเส้นขอบสีขาวและกากบาทสีขาวตรงกลาง วัตถุด้านล่างมีป้ายกำกับพิกัด X:188, Y:184 และขนาด W:144, H:113 โดยมีเส้นขอบเป็นสีขาวและมีเครื่องหมายกากบาทสีขาวอยู่ตรงกลาง

คุณจะเห็นได้ว่าวัตถุที่อยู่ใกล้กับ AI Vision Sensor จะมีพิกัด CenterY ต่ำกว่าวัตถุที่อยู่ไกลออกไป

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

ในตัวอย่างนี้ เนื่องจากจุดศูนย์กลางของมุมมองของเซ็นเซอร์วิสัยทัศน์ AI อยู่ที่ (160, 120) หุ่นยนต์จะเลี้ยวขวาจนกระทั่งพิกัดศูนย์กลาง X ของวัตถุที่ตรวจจับได้มีมากกว่า 150 พิกเซล แต่ต่ำกว่า 170 พิกเซล

มุม

มุมเป็นคุณสมบัติที่มีให้เฉพาะรหัสสีรหัส และเมษายนแท็ก นี่แสดงว่ารหัสสีหรือ AprilTag ที่ตรวจพบนั้นมีการวางแนวต่างกัน

กองลูกบาศก์สองลูก ลูกหนึ่งสีเขียวอยู่ด้านบนและอีกลูกสีน้ำเงินอยู่ด้านล่าง ซึ่งถูกติดตามโดยระบบการมองเห็น มีโครงร่างสีขาวล้อมรอบลูกบาศก์ทั้งสอง โดยมีเครื่องหมายกากบาทสีขาวอยู่ตรงกลางลูกบาศก์สีเขียว ป้ายกำกับที่ด้านล่างของรูปภาพจะแสดงเป็น Green_Blue A:87° ซึ่งระบุสีที่ตรวจพบและการวัดมุม ด้านล่างนั้น พิกัดจะแสดงเป็น X:117, Y:186 โดยมีมิติ W:137, H:172 ซึ่งแสดงตำแหน่งและขนาดของลูกบาศก์ที่ซ้อนกันในกรอบ

คุณสามารถดูได้ว่าหุ่นยนต์มีการวางแนวที่แตกต่างกันหรือไม่เมื่อเทียบกับรหัสสี หรือAprilTag และตัดสินใจนำทางตามนั้น

ลูกบาศก์ 2 ลูก หนึ่งลูกเป็นสีเขียวและอีกหนึ่งลูกเป็นสีน้ำเงิน วางเคียงข้างกันและติดตามโดยระบบการมองเห็น โครงร่างสีขาวล้อมรอบลูกบาศก์ทั้งสองและมีเครื่องหมายกากบาทสีขาวอยู่ตรงกลาง ป้ายกำกับด้านบนซ้ายระบุเป็นสีเขียว_น้ำเงิน A:0° อ้างอิงถึงสีที่ตรวจพบและการวัดมุม ด้านล่างนั้นพิกัดจะแสดงเป็น X:150, Y:102 โดยมีมิติ W:179, H:109 ซึ่งแสดงตำแหน่งและขนาดของลูกบาศก์ภายในกรอบ

ตัวอย่างเช่น หากไม่ตรวจพบรหัสสี ในมุมที่เหมาะสม วัตถุที่รหัสสีนั้นแสดงอาจไม่สามารถถูกหุ่นยนต์หยิบขึ้นได้อย่างถูกต้อง

OriginX และ OriginY

OriginX และ OriginY คือพิกัดที่มุมบนซ้ายของวัตถุที่ตรวจพบเป็นพิกเซล

Buckyball สีน้ำเงินที่ถูกติดตามโดยระบบการมองเห็น โครงร่างสีขาวล้อมรอบวัตถุ โดยมีกากบาทสีขาวอยู่ตรงกลางภายในโครงร่าง ป้ายด้านบนซ้ายระบุสีของวัตถุเป็นสีน้ำเงิน พร้อมด้วยพิกัด X:176, Y:117 และขนาด W:80, H:78 สี่เหลี่ยมสีแดงเล็กๆ เน้นที่มุมบนซ้ายของวัตถุ

พิกัด OriginX และ OriginY ช่วยในการนำทางและการระบุตำแหน่ง การรวมพิกัดนี้กับความกว้างและความสูงของวัตถุ ช่วยให้คุณสามารถกำหนดขนาดของกรอบขอบเขตของวัตถุได้ สิ่งนี้สามารถช่วยติดตามวัตถุที่กำลังเคลื่อนที่หรือการนำทางระหว่างวัตถุได้

ลำดับการเข้ารหัสแบบบล็อกเริ่มจากเมื่อเริ่มต้นตามด้วยการวนซ้ำตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้ AIVision1 เพื่อตรวจจับวัตถุสีน้ำเงิน หากมีวัตถุอยู่ โปรแกรมจะวาดรูปสี่เหลี่ยมผืนผ้าบนหน้าจอ Brain โดยอิงตามตำแหน่งและขนาดของวัตถุ สี่เหลี่ยมผืนผ้าถูกวาดโดยใช้ค่า originX, originY, ความกว้าง และความสูงของวัตถุ ซึ่งจัดทำโดยเซ็นเซอร์ AIVision1 โปรแกรมนี้จะติดตามและไฮไลต์วัตถุที่ตรวจพบบนหน้าจอ Brain

ในตัวอย่างนี้ เราจะวาดสี่เหลี่ยมผืนผ้าบน Brain โดยใช้พิกัดที่แน่นอนของจุดกำเนิด ความกว้าง และความสูง

แท็ก ID

tagID นี้มีให้ใช้งานได้เฉพาะ AprilTagsเท่านั้น นี่คือหมายเลข ID สำหรับAprilTagที่ระบุ

การ์ดสี่เหลี่ยมสามใบพร้อม AprilTags ที่ถูกติดตามโดยระบบวิสัยทัศน์ การ์ดแต่ละใบจะมีหมายเลข ID และข้อมูลการติดตามที่เกี่ยวข้องติดไว้ การ์ดทางด้านซ้ายมีฉลากว่า ID:0 แสดงพิกัด A:350°, X:110, Y:96, W:41, H:41 ไพ่ตรงกลางมีป้าย ID:3 และมีพิกัด A:1°, X:187, Y:180, W:57, H:57 การ์ดทางด้านขวามีฉลากว่า ID:9 โดยมีพิกัด A:3°, X:237, Y:89, W:38, H:38 การ์ดแต่ละใบจะมีเส้นขอบสีขาว และระบบจะติดตามตำแหน่งและทิศทางของการ์ดเหล่านั้น

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

คะแนน

คุณสมบัติคะแนนจะใช้เมื่อตรวจจับการจำแนกประเภท AIรายการ ด้วยเซ็นเซอร์ AI Vision

ภาพแสดงวัตถุสี่ชิ้นที่ถูกติดตามโดยระบบการมองเห็น ได้แก่ ลูกบอลสองลูกและวงแหวนสองวง ลูกบอลสีแดงมีพิกัด X:122, Y:84, W:67, H:66 และคะแนน 99% ลูกบอลสีน้ำเงินมี X:228, Y:86, W:70, H:68 โดยมีคะแนน 99% วงแหวนสีเขียวมีพิกัด X:109, Y:186, W:98, H:92 และคะแนน 99% วงแหวนสีแดงมีป้ายกำกับว่า X:259, Y:187, W:89, H:91 โดยมีคะแนน 99% วัตถุแต่ละชิ้นมีเส้นขอบเป็นสีขาว ซึ่งบ่งบอกถึงความแม่นยำในการติดตาม

คะแนนความเชื่อมั่นบ่งชี้ว่าเซ็นเซอร์ AI Vision มีความมั่นใจแค่ไหนในการตรวจจับ ในภาพนี้ มีความมั่นใจ 99% ในการระบุการจำแนก AI ของวัตถุทั้งสี่นี้ คุณสามารถใช้คะแนนนี้เพื่อให้แน่ใจว่าหุ่นยนต์ของคุณมุ่งเน้นไปที่การตรวจจับที่มีความมั่นใจสูงเท่านั้น


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

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

อย่างไรก็ตาม เมื่อเซ็นเซอร์ AI Vision ของคุณตรวจจับวัตถุหลายชิ้นพร้อมกัน คุณจะต้องใช้บล็อกSet Object Item เพื่อระบุว่าคุณต้องการดึงข้อมูลจากวัตถุใด

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

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

อินเทอร์เฟซ AI Vision Utility ที่ตรวจพบลูกบาศก์สีน้ำเงินสองลูกทางด้านซ้าย โดยแต่ละลูกมีพิกัด X และ Y และมิติกำกับไว้ ระบบเชื่อมต่อแล้ว และ AprilTags จะถูกเปิดใช้งาน ในขณะที่ AI Classification จะถูกปิดใช้งาน ทางด้านขวาจะแสดงการตั้งค่าสีน้ำเงินพร้อมช่วงเฉดสีและความอิ่มตัวที่ปรับได้ โดยตั้งไว้ที่ 22 และ 0.34 ตามลำดับ มีตัวเลือกในการเพิ่มหรือตั้งค่าสีและหยุดวิดีโอ เฟิร์มแวร์ได้รับการอัปเดตเป็นเวอร์ชัน 1.0.0.b16 และมีปุ่มปิดที่ด้านล่าง

ในตัวอย่างนี้ ตรวจพบวัตถุ 2 ชิ้นที่มีลายเซ็นสี "สีน้ำเงิน" ทั้งคู่จะถูกวางไว้ในอาร์เรย์เมื่อใช้บล็อกTake Snapshot

อินเทอร์เฟซยูทิลิตี้ AI Vision ติดตามลูกบาศก์สีน้ำเงิน 2 ลูกที่มีป้ายกำกับด้วยข้อมูล X, Y และมิติ ลูกบาศก์ด้านซ้ายมีพิกัด X:127, Y:179 และขนาด W:136, H:123 ในขณะที่ลูกบาศก์ด้านขวามีพิกัด X:233, Y:74 และขนาด W:78, H:87 ระบบเชื่อมต่อแล้ว เปิด AprilTags และปิด AI Classification การตั้งค่าสีน้ำเงินมีช่วงเฉดสี 22 และความอิ่มตัวของสี 0.34 ปุ่มหยุดวิดีโอและข้อมูลเฟิร์มแวร์ (เวอร์ชัน 1.0.0.b16) จะแสดงที่ด้านล่าง

ที่นี่ วัตถุที่อยู่ด้านหน้าจะกลายเป็นดัชนีวัตถุ 1 เนื่องจากเป็นวัตถุที่ใหญ่ที่สุด และวัตถุที่เล็กที่สุดจะกลายเป็นดัชนีวัตถุ 2


วัตถุมีอยู่

ก่อนที่จะดึงข้อมูลใดๆ จากสแนปช็อต สิ่งสำคัญคือ เสมอว่า AI Vision Sensor ตรวจพบวัตถุใดๆ จากสแนปช็อตนั้นหรือไม่ นี่คือจุดที่บล็อกObject Exists เข้ามามีบทบาท

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

บล็อกนี้จะคืนค่าTrue หรือFalse ว่ามีการตรวจพบวัตถุใด
ในสแนปช็อตที่ถ่ายล่าสุดหรือไม่
ควรใช้บล็อคนี้เพื่อให้แน่ใจว่าคุณไม่ได้พยายามดึงข้อมูลใดๆ จากสแน็ปช็ ตที่อาจว่างเปล่า

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

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


หากสแน็ปช็อตใด ๆ ไม่มีลายเซ็นสี "สีน้ำเงิน" หุ่นยนต์จะหยุดเคลื่อนที่


จำนวนวัตถุ

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

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

ตรวจพบอินเทอร์เฟซ AI Vision Utility ที่ประกอบด้วยลูกบาศก์สีน้ำเงินสองลูกทางด้านซ้าย ระบบเชื่อมต่อแล้ว โดยเปิดใช้งาน AprilTags และปิด AI Classification อินเทอร์เฟซจะแสดงการตั้งค่าสำหรับการตรวจจับสีน้ำเงิน โดยตั้งค่าเฉดสีเป็น 22 และความอิ่มตัวเป็น 0.34 มีปุ่มสำหรับหยุดวิดีโอและเพิ่มหรือตั้งค่าสี เฟิร์มแวร์ได้รับการระบุว่าเป็นเวอร์ชันล่าสุดแล้ว โดยใช้เวอร์ชัน 1.0.0.b16 นอกจากนี้ยังมีปุ่มสำหรับตัดการเชื่อมต่อหรือปิดยูทิลิตี้อีกด้วย

ที่นี่ เราจะเห็นว่าเซ็นเซอร์ AI Vision มีการกำหนดค่าลายเซ็นสี สี สี "สีน้ำเงิน" และตรวจจับวัตถุสองชิ้น

ลำดับการเข้ารหัสแบบบล็อกเริ่มตั้งแต่เริ่มต้น ตามด้วยลูปตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้ AIVision2 เพื่อตรวจจับลายเซ็นภาพสีน้ำเงิน มันจะล้างและรีเซ็ตคอนโซลก่อนที่จะตรวจสอบว่าตรวจพบวัตถุสีน้ำเงินใดๆ หรือไม่ หากมีวัตถุสีน้ำเงินอยู่ จำนวนวัตถุจะถูกพิมพ์ไปที่คอนโซล จากนั้นโปรแกรมจะรอสองวินาทีก่อนที่จะทำซ้ำขั้นตอน บล็อกเหล่านี้แสดงการตรวจสอบวัตถุสีน้ำเงินอย่างต่อเนื่อง โดยแสดงผลลัพธ์ในคอนโซลเอาต์พุตคอนโซลที่มีพิมพ์หมายเลข 2 คอนโซลเป็นส่วนหนึ่งของอินเทอร์เฟซที่ใหญ่กว่าซึ่งน่าจะแสดงผลลัพธ์จากโปรแกรมที่ทำงานในสภาพแวดล้อมการเขียนโค้ดแบบบล็อก ด้านบนของคอนโซลมีปุ่มสำหรับการดำเนินการหรือการควบคุมเพิ่มเติม และโปรแกรมที่ทำงานอยู่ที่นี่จะส่งข้อมูลไปยัง Print Console ซึ่งจะแสดงผลลัพธ์เป็น 2 บนหน้าจอ

ในโค้ดนี้ เซ็นเซอร์ AI Vision จะถ่ายภาพและพิมพ์ "2" บนคอนโซล VEXcode เนื่องจากตรวจจับลายเซ็นสี "สีน้ำเงิน" เพียงรายการเท่านั้น


วัตถุ

เมนูแบบดรอปดาวน์สำหรับเลือกคุณสมบัติของวัตถุที่เกี่ยวข้องกับ AIVision1 ตัวเลือกที่เลือกคือความกว้าง และเมนูจะแสดงรายการตัวเลือกอื่นๆ รวมถึงความสูง จุดกึ่งกลาง X จุดกึ่งกลาง Y มุม จุดกำเนิด X จุดกำเนิด Y ID แท็ก และคะแนน ตัวเลือกเหล่านี้ช่วยให้ผู้ใช้สามารถดึงจุดข้อมูลที่เจาะจงจากวัตถุที่ตรวจพบโดยเซ็นเซอร์ AI Vision ซึ่งให้ความยืดหยุ่นในการติดตามหรือวัดคุณลักษณะต่างๆ ของวัตถุ

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

คุณสมบัติของวัตถุที่สามารถดึงมาจากสแนปช็อตที่ถ่ายไว้ได้แก่:

  • ความกว้าง
  • ความสูง
  • เซ็นเตอร์เอ็กซ์
  • ศูนย์กลางY
  • มุม
  • ออริจินเอ็กซ์
  • ต้นกำเนิดY
  • แท็ก ID
  • คะแนน

อ่านหัวข้อ "ข้อมูลที่นำมาจากสแนปช็อต" ของบทความนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติเหล่านี้


ตรวจพบ AprilTag คือ

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

AprilTag ที่ตรวจพบคือบล็อก จะใช้
ได้เฉพาะเมื่อโหมดตรวจจับ AprilTagเปิดใช้งานอยู่
บล็อกนี้จะรายงานว่าเป็นจริงหรือเท็จ ขึ้นอยู่กับว่าวัตถุที่ระบุเป็น AprilTag หรือไม่

AprilTags สามรายการที่ถูกติดตามโดยระบบวิสัยทัศน์ แต่ละแท็กมี ID และพิกัดที่เกี่ยวข้อง แท็กด้านซ้ายมีฉลากว่า ID:0 โดยมีพิกัด X:110, Y:96, W:41, H:41 แท็กตรงกลางมีฉลากว่า ID:3 โดยมีพิกัด X:187, Y:180, W:57, H:57 แท็กด้านขวามีป้ายกำกับว่า ID:9 โดยมีพิกัด X:237, Y:89, W:38, H:38

เมื่อตรวจพบ AprilTags หลายรายการในสแนปช็อตเดียว จะมีการจัดเรียงในอาร์เรย์ตาม ID ที่ระบุ ไม่ใช่ตามขนาด

ในภาพนี้ตรวจพบ AprilTags จำนวน 3 รายการที่มี ID 0, 3 และ 9 พวกเขาจะถูกจัดเรียงตามลำดับ ID ของพวกเขาในอาร์เรย์ วัตถุที่ดัชนี 1 จะสอดคล้องกับ AprilTag ที่มี ID 0 ที่ดัชนี 2 จะสอดคล้องกับ AprilTag ที่มี ID 3 และที่ดัชนี 3 จะสอดคล้องกับ AprilTag ที่มี ID 9

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ AprilTags และวิธีเปิดใช้งานการตรวจจับด้วย AI Vision Sensor โปรดอ่านบทความนี้


การจำแนกประเภท AI คือ

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

การจำแนก AIคือบล็อก จะใช้งานได้เฉพาะเมื่อเปิดโหมดตรวจจับการจำแนก AI เท่านั้น

 

บล็อกนี้จะรายงานว่าเป็นจริงหรือเท็จ ขึ้นอยู่กับว่าวัตถุที่ระบุเป็นการจำแนก AI หรือไม่

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

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: