Tầm nhìn AI#
Giới thiệu#
Cảm biến thị giác AI của robot lập trình VEX AIM 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.
Cảm biến thị giác AI có độ phân giải 320×240 pixel. Gốc tọa độ (0, 0) nằm ở góc trên bên trái, đặt tâm của cảm biến tại (160, 120), như thể hiện trong sơ đồ bên dưới:

Dưới đây là danh sách tất cả các khối:
Thao tác — Điều khiển nguồn cấp dữ liệu hình ảnh AI và thu thập dữ liệu đối tượng.
Trình xem AI Vision trên màn hình — Bật hoặc tắt nguồn cấp dữ liệu AI Vision trực tiếp trên màn hình của robot.
lấy dữ liệu đối tượng — Thu thập 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 — Điều chỉnh các đối tượng được phát hiện mà bạn có thể truy cập.
đặ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ị — Trả về sự hiện diện, phân loại và thuộc tính của đối tượng.
có đối tượng — Kiểm tra xem robot có đang giữ một đối tượng được phát hiện hay không.
Đố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à 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.
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.
xoay — Hướng của đối tượng.
bearing — Góc ngang so với phía trước của robot.
tagID — Số định danh của ID AprilTag.
Hành động#
Trình xem AI Vision trên màn hình#
Khối lệnh Trình xem AI Vision trên màn hình cho phép hoặc vô hiệu hóa nguồn cấp dữ liệu AI Vision trực tiếp trên màn hình của robot. Khi được bật, màn hình sẽ hiển thị dữ liệu cảm biến theo thời gian thực, ngăn không cho các hình ảnh hoặc văn bản khác xuất hiện. Để hiển thị nội dung khác, hãy sử dụng khối lệnh này để ẩn nguồn cấp dữ liệu.
AI Vision [hiện v] trình xem trên màn hình
Thông số |
Sự miêu tả |
|---|---|
trạng thái |
Điều khiển việc hiển thị nguồn cấp dữ liệu trên màn hình của robot: show hiển thị nguồn cấp dữ liệu, trong khi hide ẩn nguồn cấp dữ liệu khỏi màn hình. |
Ví dụ
khi bắt đầu
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [hiện v] trình xem trên màn hình
chờ [5] giây
AI Vision [ẩn v] trình xem trên màn hình
lấy dữ liệu đối tượng#
Khối lệnh lấy dữ liệu đối tượng lọc dữ liệu từ khung hình 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ột 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.
lấy dữ liệu [bóng thể thao v] từ AI Vision
Tham số |
Sự miêu tả |
|---|---|
chữ ký |
Lọc tập dữ liệu chỉ bao gồm dữ liệu có chữ ký đã cho. Các chữ ký có sẵn là:
|
Ví dụ
khi bắt đầu
[Move forward if a sports ball is detected.]
mãi mãi
lấy dữ liệu [bóng thể thao v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
di chuyển [tiến v] trong [10] [mm v] ▶
Chữ ký màu sắc#
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 trong tiện ích thị giác AI, 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 lấy dữ liệu đối tượng để xử lý và phát hiện các đối tượng có màu trong thời gian thự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.]
lấy dữ liệu [Red_Box v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
in [Color signature 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ể. Sau khi mã màu được cấu hình trong tiện ích AI Vision, cảm biến có thể nhận dạng 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 ra các điểm đánh dấu độc đáo cho việc điều hướng tự động.

Ví dụ
khi bắt đầu
[Display if any objects matching the BlueRed 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.]
lấy dữ liệu [BlueRed v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
in [Color 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 AI Vision thành (1)
Thông số |
Sự miêu tả |
|---|---|
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 chú thích 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 get object data 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 width of the smallest detected object.]
mãi mãi
lấy dữ liệu [tất cả hàng hóa v] từ AI Vision
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 AI Vision tồn tại?> thì
đặt mục đối tượng AI Vision thành (số lượng đối tượng AI Vision)
in (đối tượng AI Vision [chiều rộng v]) trên màn hình ▶
Giá trị#
có đối tượng#
Khối Boolean có đối tượng báo cáo liệu robot hiện có đối tượng được phát hiện so với Kicker.
Đúng — Robot đang giữ vật thể.
Sai — Robot không có vật thể đó.
<có [bóng thể thao v]? :: custom-ai-vision>
Tham số |
Sự miêu tả |
|---|---|
sự vật |
Vật thể cần phát hiện khi chạm vào bộ phận đá của robot:
|
Ví dụ
khi bắt đầu
[Kick when the robot has a sports ball.]
mãi mãi
nếu <có [bóng thể thao v]? :: custom-ai-vision> thì
đá đối tượng [vừa v]
Đối tượng AI Vision tồn tại#
Khối Boolean AI Vision object exists cho biết liệu một đối tượng có đượ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 — Không phát hiện thấy đối tượng nào.
<đối tượng AI Vision tồn tại?>
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Move forward if a sports ball is detected.]
mãi mãi
lấy dữ liệu [bóng thể thao v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
di chuyển [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 AI Vision là [bóng thể thao v]?>
Tham số |
Sự miêu tả |
|---|---|
sự vật |
So sánh vật phẩm với vật nào:
|
Ví dụ
when started, tiếp theo là khối comment với nội dung “Hiển thị nếu phát hiện thấy quả bóng thể thao”. Bên trong một vòng lặp vô hạn, khối get object data chụp ảnh bằng cách sử dụng phân loại AI. Màn hình được xóa và con trỏ được đặt ở hàng 1, cột 1. Một khối if kiểm tra xem đối tượng AI Vision có tồn tại hay không, và nếu đúng, một khối if khác xác minh xem phân loại có phải là quả bóng thể thao hay không. Nếu có, một khối print hiển thị “Đã phát hiện bóng!” trên màn hình, tiếp theo là khối wait tạm dừng trong 0,5 giây trước khi lặp lại quá trình.#khi bắt đầu
[Display if a sports ball is detected.]
mãi mãi
lấy dữ liệu [tất cả hàng hóa v] từ AI Vision
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 AI Vision tồn tại?> thì
nếu <đối tượng AI Vision là [bóng thể thao v]?> thì
in [Sports ball detected!] trên màn hình ▶
chờ [0.5] 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ố.
<AI Vision object is AprilTag ID [1] ?>
Thông số |
Sự miêu tả |
|---|---|
Mã định danh AprilTag |
Con số này dùng để so sánh với số ID AprilTag đã được phát hiện. |
đế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 AI Vision
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Display the amount of sports balls and barrels.]
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
lấy dữ liệu [tất cả hàng hóa v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
in (số lượng đối tượng AI Vision) 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 lấy dữ liệu đối tượng được sử dụng.
đối tượng AI Vision [chiều rộng v]
Tất cả các giá trị thuộc tính, ngoại trừ tagID, mô tả vị trí, kích thước, hướng hoặc góc phương vị của đối tượng được phát hiện tại thời điểm khối get object data được sử dụng. Các giá trị này được đo bằng pixel hoặc độ, dựa trên độ phân giải 320 x 240 pixel của cảm biến.

Tham số |
Sự miêu tả |
|---|---|
tài sản |
Chọn thuộc tính nào của đối tượng được phát hiện để sử dụng: |
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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [chiều rộng v]

Ví dụ
khi bắt đầu
[Move towards a blue barrel until its width is larger than 100 pixels.]
mãi mãi
lấy dữ liệu [thùng xanh v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [chiều rộng v]) [math_less_than v] [100]> thì
di chuyển [tiến v]
fin
nếu không
dừng tất cả chuyển động
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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [chiều cao v]

Ví dụ
khi bắt đầu
[Move towards a blue barrel until its height is larger than 100 pixels.]
mãi mãi
lấy dữ liệu [thùng xanh v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [chiều cao v]) [math_less_than v] [100]> thì
di chuyển [tiến v]
fin
nếu không
dừng tất cả chuyển động
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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [centerX v]

Ví dụ
khi bắt đầu
[Turn slowly until a blue barrel is centered in front of the robot.]
đặt vận tốc quay thành [30]%
quay [phải v]
mãi mãi
lấy dữ liệu [thùng xanh v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <[140] [math_less_than v] (đối tượng AI Vision [centerX v]) [math_less_than v] [180]> thì
dừng tất cả chuyển động
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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [centerY v]

Ví dụ
khi bắt đầu
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
mãi mãi
lấy dữ liệu [thùng xanh v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [centerY v]) [math_less_than v] [140]> thì
di chuyển [tiến v]
fin
nếu không
dừng tất cả chuyển động
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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [originX v]

Ví dụ
khi bắt đầu
[Display if an orange barrel 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
lấy dữ liệu [thùng cam v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [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.
Lưu ý: Giá trị pixel tương đối so với hệ tọa độ của cảm biến. Xem sơ đồ trong phần Giới thiệu để tham khảo.
đối tượng AI Vision [originY v]

Ví dụ
khi bắt đầu
[Display if an orange barrel 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
lấy dữ liệu [thùng cam v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [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
xoay#
Thuộc tính xoay báo cáo hướng của ID AprilTag hoặc Mã màu được phát hiện dưới dạng số nguyên tính bằng độ từ 0 đến 359.
đối tượng AI Vision [rotation v]

Ví dụ
khi bắt đầu
[Slide left or right depending on how the Color Code is rotated.]
mãi mãi
lấy dữ liệu [Red_Blue v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <[50] [math_less_than v] (đối tượng AI Vision [rotation v]) [math_less_than v] [100]> thì
di chuyển [phải v]
nếu không nếu <[270] [math_less_than v] (đối tượng AI Vision [rotation v]) [math_less_than v] [330]> thì
di chuyển [trái v]
nếu không
dừng tất cả chuyển động
fin
nếu không
dừng tất cả chuyển động
ổ trục#
Thuộc tính bearing cho biết vật thể nằm cách tâm của khung nhìn cảm biến AI bao xa về phía bên trái hoặc bên phải. Giá trị 0 nghĩa là vật thể nằm ở trung tâm, giá trị dương nghĩa là vật thể nằm bên phải, và giá trị âm nghĩa là vật thể nằm bên trái.
khi bắt đầu
[Keep the blue barrel directly in front of the robot.]
đặt vận tốc quay thành [40]%
mãi mãi
lấy dữ liệu [thùng xanh v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
nếu <(đối tượng AI Vision [bearing v]) [math_greater_than v] [5]> thì
quay [phải v]
nếu không nếu <(đối tượng AI Vision [bearing v]) [math_less_than v] [-5]> thì
quay [trái v]
nếu không
dừng tất cả chuyển động
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 AI Vision [tagID v]
Ví dụ
khi bắt đầu
[Move forward when AprilTag ID 0 is detected.]
mãi mãi
lấy dữ liệu [AprilTag ID 0 v] từ AI Vision
nếu <đối tượng AI Vision tồn tại?> thì
di chuyển [tiến v]
fin
dừng tất cả chuyển động