Visi AI#
Perkenalan#
Sensor Penglihatan AI pada Robot Coding VEX AIM mendeteksi dan melacak objek, warna, dan ID AprilTag. Hal ini memungkinkan robot untuk menganalisis lingkungannya, mengikuti objek, dan bereaksi berdasarkan data visual yang terdeteksi.
Sensor Penglihatan AI memiliki resolusi 320×240 piksel. Titik asal (0, 0) terletak di pojok kiri atas, sehingga pusat sensor berada di (160, 120), seperti yang ditunjukkan pada diagram di bawah ini:

Berikut adalah daftar semua blok:
Aksi — Mengontrol umpan AI Vision dan menangkap data objek.
Penampil AI Vision di layar — Mengaktifkan atau menonaktifkan tampilan langsung AI Vision di layar robot.
mendapatkan data objek — Mengambil data untuk tanda tangan tertentu, seperti warna yang dikonfigurasi, objek yang telah dilatih sebelumnya, atau ID AprilTag.
Pengaturan — Sesuaikan objek mana yang terdeteksi yang dapat diakses.
set AI Vision object item — Memilih objek tertentu dari daftar objek yang terdeteksi.
Nilai — Mengembalikan keberadaan objek, klasifikasi, dan properti.
memiliki objek — Memeriksa apakah robot memegang objek yang terdeteksi.
Objek AI Vision ada — Melaporkan apakah suatu objek terdeteksi.
Objek AI Vision adalah — Memeriksa apakah objek yang terdeteksi sesuai dengan klasifikasi tertentu.
Objek AI Vision adalah ID AprilTag — Memeriksa apakah ID AprilTag yang terdeteksi cocok dengan ID tertentu.
Jumlah objek AI Vision — Melaporkan jumlah objek yang terdeteksi.
Properti objek AI Vision — Detail laporan seperti:
Tindakan#
Penampil AI Vision di layar#
Blok tumpukan Penampil Visi AI di layar mengaktifkan atau menonaktifkan umpan Visi AI langsung di layar robot. Saat diaktifkan, layar menampilkan data sensor waktu nyata, mencegah gambar atau teks lain muncul. Untuk menampilkan konten lain, gunakan blok ini untuk menyembunyikan umpan.
AI Vision [tampilkan v] penampil di layar
Parameter |
Keterangan |
|---|---|
status |
Mengontrol tampilan umpan data pada layar robot: show menampilkan umpan data, sedangkan hide menyembunyikan umpan data dari layar. |
Contoh
saat dimulai
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [tampilkan v] penampil di layar
tunggu [5] detik
AI Vision [sembunyikan v] penampil di layar
mendapatkan data objek#
Blok tumpukan get object data menyaring data dari bingkai AI Vision Sensor ke satu tanda tangan tunggal — deskripsi tersimpan dari sesuatu yang dapat dikenali oleh sensor, seperti objek yang telah dilatih sebelumnya, ID AprilTag, atau warna atau kode warna yang dikonfigurasi.
Warna dan kode warna harus dikonfigurasi terlebih dahulu di AI Vision Utility sebelum dapat digunakan dengan blok ini.
Dataset ini menyimpan objek yang diurutkan dari yang terbesar hingga terkecil berdasarkan lebar, dimulai dari indeks 0. Properti setiap objek dapat diakses menggunakan blok Properti objek AI Vision. Dataset kosong akan dilaporkan jika tidak ada objek yang cocok yang terdeteksi.
ambil data [bola olahraga v] dari AI Vision
Parameter |
Keterangan |
|---|---|
tanda tangan |
Memfilter dataset agar hanya menyertakan data dari tanda tangan yang diberikan. Tanda tangan yang tersedia adalah:
|
Contoh
saat dimulai
[Move forward if a sports ball is detected.]
selamanya
ambil data [bola olahraga v] dari AI Vision
jika <objek AI Vision ada?> maka
gerak [maju v] sejauh [10] [mm v] ▶
Tanda Warna#
Tanda Warna (Color Signature) adalah warna unik yang dapat dikenali oleh Sensor Penglihatan AI. Tanda warna ini memungkinkan sensor untuk mendeteksi dan melacak objek berdasarkan warnanya. Setelah Tanda Warna dikonfigurasi di Utilitas Penglihatan AI, sensor dapat mengidentifikasi objek dengan warna spesifik tersebut dalam bidang pandangnya.
Tanda Warna digunakan dalam blok mendapatkan data objek untuk memproses dan mendeteksi objek berwarna secara real-time.

Contoh
saat dimulai
[Display if any objects matching the Red_Box signature is detected.]
selamanya
atur kursor ke baris [1] kolom [1] di layar
bersihkan baris [1] di layar
[Change the signature to any configured Color Signature.]
ambil data [Red_Box v] dari AI Vision
jika <objek AI Vision ada?> maka
cetak [Color signature detected!] di layar ▶
Kode Warna#
Kode Warna adalah pola terstruktur yang terdiri dari 2 hingga 4 Tanda Warna yang disusun dalam urutan tertentu. Setelah Kode Warna dikonfigurasi di Utilitas Visi AI, sensor dapat mengenali pola warna yang telah ditentukan sebelumnya.
Kode warna sangat berguna untuk mengidentifikasi objek kompleks, menyelaraskan dengan elemen permainan, atau membuat penanda unik untuk navigasi otomatis.

Contoh
saat dimulai
[Display if any objects matching the BlueRed code is detected.]
selamanya
atur kursor ke baris [1] kolom [1] di layar
bersihkan baris [1] di layar
[Change the signature to any configured Color Code.]
ambil data [BlueRed v] dari AI Vision
jika <objek AI Vision ada?> maka
cetak [Color code detected!] di layar ▶
Pengaturan#
atur item objek Visi AI#
Blok tumpukan set AI Vision object item menentukan item mana dalam dataset yang akan digunakan.
atur item objek AI Vision ke (1)
Parameter |
Keterangan |
|---|---|
barang |
Nomor item dalam dataset yang akan digunakan. |
Contoh
saat dimulai
[Display the width of the smallest detected object.]
selamanya
ambil data [semua kargo v] dari AI Vision
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
jika <objek AI Vision ada?> maka
atur item objek AI Vision ke (jumlah objek AI Vision)
cetak (objek AI Vision [lebar v]) di layar ▶
Nilai-nilai#
memiliki objek#
Blok Boolean has object melaporkan apakah robot saat ini memiliki objek yang terdeteksi di dekat Kicker.
Benar — Robot tersebut memiliki objek tersebut.
Salah — Robot tersebut tidak memiliki objek tersebut.
<memiliki [bola olahraga v] ? :: custom-ai-vision>
Parameter |
Keterangan |
|---|---|
obyek |
Objek yang akan dideteksi oleh penendang robot:
|
Contoh
saat dimulai
[Kick when the robot has a sports ball.]
selamanya
jika <memiliki [bola olahraga v] ? :: custom-ai-vision> maka
tendang objek [sedang v]
Objek AI Vision ada.#
Blok Boolean AI Vision object exists melaporkan apakah suatu objek terdeteksi dalam dataset.
Benar — Dataset tersebut mencakup objek yang terdeteksi.
Salah — Tidak ada objek yang terdeteksi.
<objek AI Vision ada?>
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Move forward if a sports ball is detected.]
selamanya
ambil data [bola olahraga v] dari AI Vision
jika <objek AI Vision ada?> maka
gerak [maju v] sejauh [10] [mm v] ▶
Objek AI Vision adalah#
Blok Boolean AI Vision object melaporkan apakah objek yang terdeteksi sesuai dengan klasifikasi tertentu.
Benar — Item dalam dataset adalah objek spesifik tersebut.
Salah — Item dalam dataset bukanlah objek spesifik tersebut.
<objek AI Vision adalah [bola olahraga v]?>
Parameter |
Keterangan |
|---|---|
obyek |
Benda mana yang harus dibandingkan dengan barang ini:
|
Contoh
saat dimulai
[Display if a sports ball is detected.]
selamanya
ambil data [semua kargo v] dari AI Vision
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
jika <objek AI Vision ada?> maka
jika <objek AI Vision adalah [bola olahraga v]?> maka
cetak [Sports ball detected!] di layar ▶
tunggu [0.5] detik
Objek AI Vision adalah AprilTag ID#
Blok Boolean AI Vision object is AprilTag ID melaporkan apakah ID AprilTag yang terdeteksi cocok dengan ID tertentu.
Benar — ID AprilTag adalah angkanya.
Salah — ID AprilTag bukanlah angka.
<AI Vision object is AprilTag ID [1] ?>
Parameter |
Keterangan |
|---|---|
AprilTag ID |
Angka yang akan dibandingkan dengan nomor ID AprilTag yang terdeteksi. |
Penghitungan objek AI Vision#
Blok pelapor Penghitungan objek AI Vision melaporkan jumlah objek yang terdeteksi dalam dataset sebagai bilangan bulat.
jumlah objek AI Vision
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Display the amount of sports balls and barrels.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
ambil data [semua kargo v] dari AI Vision
jika <objek AI Vision ada?> maka
cetak (jumlah objek AI Vision) di layar ▶
selesai
tunggu [0.5] detik
Properti objek AI Vision#
Terdapat sembilan properti yang disertakan dengan setiap objek (ditunjukkan di bawah) yang disimpan setelah blok get object data digunakan.
objek AI Vision [lebar v]
Semua nilai properti kecuali tagID menjelaskan posisi, ukuran, orientasi, atau arah objek yang terdeteksi pada saat blok get object data digunakan. Nilai-nilai ini diukur dalam piksel atau derajat, berdasarkan resolusi sensor 320 x 240 piksel.

Parameter |
Keterangan |
|---|---|
milik |
Properti objek yang terdeteksi mana yang akan digunakan: |
lebar#
Properti width melaporkan lebar objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 320.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [lebar v]

Contoh
saat dimulai
[Move towards a blue barrel until its width is larger than 100 pixels.]
selamanya
ambil data [tong biru v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [lebar v]) [math_less_than v] [100]> maka
gerak [maju v]
selesai
lainnya
hentikan semua gerakan
tinggi#
Properti height melaporkan tinggi objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 240.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [tinggi v]

Contoh
saat dimulai
[Move towards a blue barrel until its height is larger than 100 pixels.]
selamanya
ambil data [tong biru v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [tinggi v]) [math_less_than v] [100]> maka
gerak [maju v]
selesai
lainnya
hentikan semua gerakan
pusatX#
Properti centerX melaporkan koordinat x dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [centerX v]

Contoh
saat dimulai
[Turn slowly until a blue barrel is centered in front of the robot.]
atur kecepatan belok ke [30]%
belok [kanan v]
selamanya
ambil data [tong biru v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <[140] [math_less_than v] (objek AI Vision [centerX v]) [math_less_than v] [180]> maka
hentikan semua gerakan
pusatY#
Properti centerY melaporkan koordinat y dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 240.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [centerY v]

Contoh
saat dimulai
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
selamanya
ambil data [tong biru v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [centerY v]) [math_less_than v] [140]> maka
gerak [maju v]
selesai
lainnya
hentikan semua gerakan
asalX#
Properti originX melaporkan koordinat x dari sudut kiri atas kotak pembatas objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [originX v]

Contoh
saat dimulai
[Display if an orange barrel is to the left or the right.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
ambil data [tong oranye v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [originX v]) [math_less_than v] [160]> maka
cetak [To the left!] di layar ▶
lainnya
cetak [To the right!] di layar ▶
selesai
tunggu [0.5] detik
asalY#
Properti originY melaporkan koordinat y dari sudut kiri atas kotak pembatas objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 240.
Catatan: Nilai piksel relatif terhadap sistem koordinat sensor. Lihat diagram di Pendahuluan untuk referensi.
objek AI Vision [originY v]

Contoh
saat dimulai
[Display if an orange barrel is close or far from the robot.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
ambil data [tong oranye v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [originY v]) [math_less_than v] [80]> maka
cetak [Far!] di layar ▶
lainnya
cetak [Close!] di layar ▶
selesai
tunggu [0.5] detik
rotasi#
Properti rotasi melaporkan orientasi ID AprilTag atau Kode Warna yang terdeteksi sebagai bilangan bulat dalam derajat dari 0 hingga 359.
objek AI Vision [rotasi v]

Contoh
saat dimulai
[Slide left or right depending on how the Color Code is rotated.]
selamanya
ambil data [Red_Blue v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <[50] [math_less_than v] (objek AI Vision [rotasi v]) [math_less_than v] [100]> maka
gerak [kanan v]
lainnya jika <[270] [math_less_than v] (objek AI Vision [rotasi v]) [math_less_than v] [330]> maka
gerak [kiri v]
lainnya
hentikan semua gerakan
selesai
lainnya
hentikan semua gerakan
bantalan#
Properti bearing melaporkan seberapa jauh suatu objek berada di sebelah kiri atau kanan dari pusat pandangan Sensor Penglihatan AI dalam satuan derajat. Nilai 0 berarti objek berada di tengah, nilai positif berarti objek berada di sebelah kanan, dan nilai negatif berarti objek berada di sebelah kiri.
saat dimulai
[Keep the blue barrel directly in front of the robot.]
atur kecepatan belok ke [40]%
selamanya
ambil data [tong biru v] dari AI Vision
jika <objek AI Vision ada?> maka
jika <(objek AI Vision [bearing v]) [math_greater_than v] [5]> maka
belok [kanan v]
lainnya jika <(objek AI Vision [bearing v]) [math_less_than v] [-5]> maka
belok [kiri v]
lainnya
hentikan semua gerakan
tagID#
Properti tagID melaporkan nomor identifikasi dari ID AprilTag yang terdeteksi sebagai bilangan bulat.
objek AI Vision [tagID v]
Contoh
saat dimulai
[Move forward when AprilTag ID 0 is detected.]
selamanya
ambil data [AprilTag ID 0 v] dari AI Vision
jika <objek AI Vision ada?> maka
gerak [maju v]
selesai
hentikan semua gerakan