Cảm biến thị giác AI#
Giới thiệu#
Cảm biến thị giác AI có thể phát hiện và theo dõi các vật thể, màu sắc và ID AprilTag. Điều này cho phép robot phân tích môi trường xung quanh, theo dõi các vật thể và phản ứng dựa trên dữ liệu hình ảnh được phát hiện.
Dưới đây là danh sách các khối có sẵn:
Thao tác – Thu thập dữ liệu từ Cảm biến Thị giác AI cho một chữ ký đã chọn.
chụp ảnh – Ghi lại dữ liệu cho một chữ ký cụ thể, chẳng hạn như màu được cấu hình, đối tượng được đào tạo trước hoặc ID AprilTag.
Cài đặt – Chọn đối tượng bạn muốn tương tác.
đặt mục đối tượng AI Vision – Chọn một đối tượng cụ thể từ danh sách đối tượng được phát hiện.
Giá trị – Truy cập và sử dụng dữ liệu đã thu thập.
Đối tượng AI Vision tồn tại – Báo cáo liệu có phát hiện thấy đối tượng hay không.
Đối tượng AI Vision là – Kiểm tra xem đối tượng được phát hiện có khớp với phân loại cụ thể hay không.
Đối tượng AI Vision là AprilTag – Kiểm tra xem đối tượng được phát hiện có phải là AprilTag khớp với ID cụ thể hay không.
Đối tượng AI Vision là ID AprilTag – Kiểm tra xem ID AprilTag được phát hiện có khớp với ID cụ thể hay không.
Số lượng đối tượng AI Vision – Báo cáo số lượng đối tượng được phát hiện.
Thuộc tính đối tượng Tầm nhìn AI – Báo cáo các chi tiết như:
chiều rộng & chiều cao – Kích thước của đối tượng.
centerX & centerY – Tọa độ vị trí trung tâm trong tầm nhìn của cảm biến.
góc – Hướng của đối tượng.
originX & originY – Tọa độ vị trí góc trên bên trái trong tầm nhìn của cảm biến.
tagID – Số định danh của ID AprilTag.
điểm – Mức độ tự tin của mô hình trong việc nhận dạng của nó dưới dạng phần trăm.
Hành động#
chụp ảnh#
Khối lệnh chụp ảnh nhanh lọc dữ liệu từ khung hình của Cảm biến Thị giác AI thành một chữ ký duy nhất — một mô tả đã lưu về thứ mà cảm biến có thể nhận ra, chẳng hạn như một đối tượng đã được huấn luyện trước, ID AprilTag hoặc màu sắc hoặc mã màu đã được cấu hình.
Màu sắc và mã màu phải được cấu hình trước trong Tiện ích Thị giác AI trước khi có thể sử dụng chúng với khối này.
Tập dữ liệu lưu trữ các đối tượng được sắp xếp từ lớn nhất đến nhỏ nhất theo chiều rộng, bắt đầu từ chỉ mục 0. Thuộc tính của mỗi đối tượng có thể được truy cập bằng cách sử dụng khối thuộc tính đối tượng AI Vision. Tập dữ liệu trống sẽ được báo cáo nếu không phát hiện thấy đối tượng phù hợp nào.
chụp ảnh [AIVision1 v] của [SELECT_A_SIG v]
Tham số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
chữ ký |
Lọc tập dữ liệu để chỉ bao gồm dữ liệu của chữ ký đã cho. Các chữ ký có sẵn là:
|
Lưu ý: Để tùy chọn ID AprilTag hoặc Phân loại AI hiển thị, tính năng phát hiện của chúng phải được bật trong Tiện ích Thị giác AI.
Ví dụ
khi bắt đầu
[Drive forward if an AprilTag ID is detected.]
mãi mãi
chụp ảnh [AIVision1 v] của [AprilTag IDs v]
nếu <đối tượng [AIVIsion1 v] tồn tại?> thì
lái [tiến v] trong [10] [mm v] ▶
Phân loại AI#
Cảm biến thị giác AI có thể phát hiện các đối tượng khác nhau theo các phân loại AI nhất định. Tùy thuộc vào mô hình phân loại AI được chọn khi cấu hình Cảm biến thị giác AI trong cửa sổ Thiết bị, các đối tượng khác nhau sẽ được phát hiện. Các mô hình hiện có sẵn là:
Đồ dùng trong lớp học
BlueBall
Quả bóng xanh
Quả bóng đỏ
Vòng Xanh
Vòng Xanh
Vòng đỏ
BlueCube
Khối lập phương xanh
RedCube
Phản hồi về cuộc thi robot VEX V5
Khối Xanh
Khối Đỏ
Cuộc thi robot VEX V5 đầy kịch tính
Mục tiêu di động
Vòng đỏ
Vòng Xanh
Chế độ ghi đè cuộc thi robot VEX V5
Ghim ĐỏXanh
BlueYellowPin
Ghim ĐỏVàng
YellowPin
Tách
Màu sắc đặc trưng#
Màu sắc đặc trưng là một màu sắc duy nhất mà cảm biến thị giác AI có thể nhận biết. Những màu sắc đặc trưng này cho phép cảm biến phát hiện và theo dõi các đối tượng dựa trên màu sắc của chúng. Sau khi cấu hình màu sắc đặc trưng, cảm biến có thể xác định các đối tượng có màu sắc cụ thể đó trong tầm nhìn của nó.
Chữ ký màu được sử dụng trong khối chụp ảnh để xử lý và phát hiện các đối tượng màu trong thời gian thực. Có thể cấu hình tối đa 7 Chữ ký màu cùng một lúc.

Ví dụ
khi bắt đầu
[Display if any objects matching the RED_BOX signature is detected.]
mãi mãi
đặt con trỏ đến hàng [1] cột [1] trên màn hình
xóa hàng [1] trên màn hình
[Change the signature to any configured Color Signature.]
chụp ảnh [AIVision1 v] của [RED_BOX v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
in [Color detected!] trên màn hình ▶
Mã màu#
Mã màu là một mẫu cấu trúc gồm 2 đến 4 chữ ký màu được sắp xếp theo một thứ tự cụ thể. Các mã này cho phép cảm biến thị giác AI nhận diện các mẫu màu được xác định trước.
Mã màu đặc biệt hữu ích để nhận dạng các đối tượng phức tạp, căn chỉnh với các yếu tố trong trò chơi hoặc tạo các điểm đánh dấu độc đáo cho việc điều hướng tự động. Có thể cấu hình tối đa 8 mã màu cùng một lúc.

Ví dụ
khi bắt đầu
[Display if any objects matching the RED_BLUE code is detected.]
mãi mãi
đặt con trỏ đến hàng [1] cột [1] trên màn hình
xóa hàng [1] trên màn hình
[Change the signature to any configured Color Code.]
chụp ảnh [AIVision1 v] của [RED_BLUE v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
in [Code detected!] trên màn hình ▶
Cài đặt#
đặt mục đối tượng AI Vision#
Khối lệnh set AI Vision object item xác định mục nào trong tập dữ liệu sẽ được sử dụng.
đặt mục đối tượng [AIVision1 v] thành (1)
Thông số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
mục |
Số thứ tự của mục trong tập dữ liệu cần sử dụng. |
Ví dụ
when started, tiếp theo là khối lệnh comment có nội dung “Hiển thị ID AprilTag được phát hiện lớn nhất”. Bên trong một vòng lặp vô hạn, khối lệnh take a AI Vision snapshot chụp ảnh các ID AprilTag. Khối lệnh if kiểm tra xem đối tượng AI Vision có tồn tại hay không. Nếu đúng, khối lệnh set AI Vision object item gán số lượng đối tượng cho một biến, và khối lệnh print hiển thị ID thẻ của đối tượng được phát hiện trên màn hình.#khi bắt đầu
[Display the largest detected AprilTag ID.]
mãi mãi
chụp ảnh [AIVision1 v] của [AprilTag IDs v]
xóa hàng [1] trên màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
nếu <đối tượng [AIVision1 v] tồn tại?> thì
đặt mục đối tượng [AIVision1 v] thành (số lượng đối tượng [AIVision1 v])
in (đối tượng [AIVision1 v] [tagID v]) trên màn hình ▶
Giá trị#
Đối tượng AI Vision có tồn tại không?#
Khối Boolean AI Vision object exists cho biết liệu có đối tượng nào được phát hiện trong tập dữ liệu hay không.
Đúng – Tập dữ liệu bao gồm một đối tượng được phát hiện.
Sai – Tập dữ liệu không bao gồm bất kỳ đối tượng nào được phát hiện.
<đối tượng [AIVision1 v] tồn tại?>
Thông số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu
[Drive forward if an object is detected.]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
lái [tiến v] trong [10] [mm v] ▶
Đối tượng AI Vision là#
Khối Boolean AI Vision báo cáo liệu một đối tượng được phát hiện có khớp với một phân loại cụ thể hay không.
Đúng – Mục trong tập dữ liệu là đối tượng cụ thể.
Sai – Mục trong tập dữ liệu không phải là đối tượng cụ thể.
<đối tượng [AIVision1 v] là [BlueBall v]?>
Tham số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
sự vật |
So sánh mục này với Phân loại AI nào. |
Ví dụ
khi bắt đầu
[Display if a Blue Cube is detected.]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
xóa hàng [1] trên màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <đối tượng [AIVision1 v] là [BlueCube v]?> thì
in [Cube detected!] trên màn hình ▶
chờ [0.5] giây
Đối tượng AI Vision là AprilTag#
Khối Boolean AI Vision object is AprilTag cho biết liệu đối tượng được phát hiện có phải là AprilTag khớp với một ID cụ thể hay không.
Đúng – Đối tượng được phát hiện là một AprilTag có ID đã cho.
Sai – Đối tượng được phát hiện không phải là AprilTag có ID đã cho.
<đối tượng [AIVision1 v] là AprilTag [0]?>
Tham số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
Mã định danh AprilTag |
Mã số định danh cần so sánh với AprilTag đã được phát hiện. |
Ví dụ
khi bắt đầu
[Report if AprilTag 3 is detected.]
mãi mãi
xóa màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
chụp ảnh [AIVision1 v] của [AprilTag IDs v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <đối tượng [AIVision1 v] là AprilTag [3]?> thì
in [That is 3!] trên màn hình ▶
nếu không
in [That isn't 3!] trên màn hình ▶
fin
fin
chờ [0.1] giây
Đối tượng AI Vision là ID AprilTag#
Khối Boolean AI Vision object is AprilTag ID cho biết liệu ID của AprilTag được phát hiện có khớp với một ID cụ thể hay không.
Đúng – Mã định danh AprilTag chính là số.
Sai – Mã định danh AprilTag không phải là số.
<[AIVision1 v] object is AprilTag ID [1] ?>
Thông số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
Mã số ID AprilTag |
Con số này dùng để so sánh với số ID AprilTag đã được phát hiện. |
Ví dụ:
khi bắt đầu
[Report if AprilTag ID 3 is detected.]
mãi mãi
xóa màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
chụp ảnh [AIVision1 v] của [AprilTag IDs v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <[AIVision1 v] object is AprilTag ID [3] ?> thì
in [That is 3!] trên màn hình ▶
nếu không
in [That isn't 3!] trên màn hình ▶
fin
fin
chờ [0.1] giây
đếm đối tượng trong AI Vision#
Khối báo cáo Số lượng đối tượng được phát hiện trong AI Vision sẽ hiển thị số lượng đối tượng được phát hiện trong tập dữ liệu dưới dạng số nguyên.
(số lượng đối tượng [AIVision1 v])
Thông số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu
[Display the total amount of cubes, rings, and balls.]
mãi mãi
xóa hàng [1] trên màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
in (số lượng đối tượng [AIVision1 v]) trên màn hình ▶
fin
chờ [0.5] giây
Thuộc tính đối tượng AI Vision#
Có chín thuộc tính được bao gồm trong mỗi đối tượng (hiển thị bên dưới) được lưu trữ sau khi khối chụp nhanh được sử dụng.
(đối tượng [AIVision1 v] [chiều rộng v])
Tất cả các giá trị thuộc tính ngoại trừ tagID và score mô tả vị trí và kích thước của đối tượng được phát hiện trong tầm nhìn của Cảm biến Thị giác AI tại thời điểm khối take snapshot được sử dụng. Các giá trị này được đo bằng pixel, dựa trên độ phân giải 320 x 240 pixel của cảm biến.
Tham số |
Sự miêu tả |
|---|---|
thiết bị |
Nên sử dụng cảm biến thị giác AI nào, được cấu hình trong cửa sổ Thiết bị. |
tài sản |
Nên sử dụng thuộc tính nào của đối tượng được phát hiện: |
chiều rộng#
Thuộc tính width báo cáo chiều rộng của đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 1 đến 320.
(đối tượng [AIVision1 v] [chiều rộng v])
Ví dụ
khi bắt đầu
[Drive towards an object until its width is larger than 100 pixels.]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [chiều rộng v]) [math_less_than v] [100]> thì
lái [tiến v]
nếu không
dừng lái
fin
chiều cao#
Thuộc tính chiều cao báo cáo chiều cao của đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 1 đến 240.
(đối tượng [AIVision1 v] [chiều cao v])
Ví dụ
khi bắt đầu
[Drive towards an object until its height is larger than 100 pixels.]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [chiều cao v]) [math_less_than v] [100]> thì
lái [tiến v]
nếu không
dừng lái
fin
centerX#
Thuộc tính centerX báo cáo tọa độ x của tâm đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 320.
(đối tượng [AIVision1 v] [centerX v])
Ví dụ
khi bắt đầu
[Turn slowly until an object is centered in front of the robot.]
đặt vận tốc quay thành [30] [% v]
quay [phải v]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <[140] [math_less_than v] (đối tượng [AIVision1 v] [centerX v]) [math_less_than v] [180]> thì
dừng lái
trung tâmY#
Thuộc tính centerY báo cáo tọa độ y của tâm đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 240.
(đối tượng [AIVision1 v] [centerY v])
Ví dụ
khi bắt đầu
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
mãi mãi
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [centerY v]) [math_less_than v] [140]> thì
lái [tiến v]
nếu không
dừng lái
fin
góc#
Thuộc tính góc báo cáo hướng của Mã màu hoặc ID AprilTag được phát hiện dưới dạng số nguyên tính bằng độ từ 0 đến 359.
(đối tượng [AIVision1 v] [góc v])
Ví dụ
khi bắt đầu
[Slide left or right depending on how the Color Code is rotated.]
mãi mãi
chụp ảnh [AIVision1 v] của [RED_BLUE v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <[50] [math_less_than v] (đối tượng [AIVision1 v] [góc v]) [math_less_than v] [100]> thì
lái [phải v]
nếu không nếu <[270] [math_less_than v] (đối tượng [AIVision1 v] [góc v]) [math_less_than v] [330]> thì
lái [trái v]
nếu không
dừng lái
fin
nếu không
dừng lái
nguồn gốcX#
Thuộc tính originX báo cáo tọa độ x của góc trên bên trái của khung bao quanh đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 320.
(đối tượng [AIVision1 v] [originX v])
Ví dụ
khi bắt đầu
[Display if an object is to the left or the right.]
mãi mãi
xóa hàng [1] trên màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [originX v]) [math_less_than v] [160]> thì
in [To the left!] trên màn hình ▶
nếu không
in [To the right!] trên màn hình ▶
fin
chờ [0.5] giây
nguồn gốc#
Thuộc tính originY báo cáo tọa độ y của góc trên bên trái của khung bao quanh đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 240.
(đối tượng [AIVision1 v] [originY v])
Ví dụ
khi bắt đầu
[Display if an object is close or far from the robot.]
mãi mãi
xóa hàng [1] trên màn hình
đặt con trỏ đến hàng [1] cột [1] trên màn hình
chụp ảnh [AIVision1 v] của [Phân loại AI v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [originY v]) [math_less_than v] [80]> thì
in [Far!] trên màn hình ▶
nếu không
in [Close!] trên màn hình ▶
fin
chờ [0.5] giây
ID thẻ#
Thuộc tính tagID báo cáo số nhận dạng của ID AprilTag được phát hiện dưới dạng số nguyên.
(đối tượng [AIVision1 v] [tagID v])
Ví dụ
khi bắt đầu
[Drive forward when AprilTag ID 0 is detected.]
mãi mãi
chụp ảnh [AIVision1 v] của [AprilTag IDs v]
nếu <đối tượng [AIVision1 v] tồn tại?> thì
nếu <(đối tượng [AIVision1 v] [tagID v]) [math_equal v] [0]> thì
lái [tiến v]
nếu không
dừng lái
fin
chờ [0.5] giây
điểm#
Thuộc tính điểm số cho biết mức độ tin cậy của mô hình đối với phân loại AI được phát hiện, được thể hiện bằng phần trăm từ 70% đến 100%.
Điểm số thấp hơn có nghĩa là cảm biến ít tự tin hơn về vật thể được phát hiện, trong khi điểm số cao hơn có nghĩa là cảm biến tự tin hơn.
(đối tượng [AIVision1 v] [điểm số v])