Sensor Penglihatan AI#
Perkenalan#
Sensor Penglihatan AI VEX IQ dapat mendeteksi dan melacak objek, warna, dan ID AprilTag. Hal ini memungkinkan robot untuk menganalisis lingkungan sekitarnya, mengikuti objek, dan bereaksi berdasarkan data visual yang terdeteksi.
Contoh AI Vision dirancang untuk digunakan dengan Basebot yang dilengkapi dengan Sensor AI Vision VEX IQ. Dalam contoh ini, sensor dikonfigurasi dengan nama AIVision1, yang muncul di dalam blok.
Berikut adalah daftar semua blok:
Tindakan — Mengambil data dari Sensor Penglihatan AI VEX IQ untuk tanda tangan yang dipilih.
mendapatkan data objek — Mengambil data untuk tanda tangan tertentu, seperti warna yang dikonfigurasi, objek yang telah dilatih sebelumnya, atau ID AprilTag.
Pengaturan — Pilih objek mana yang ingin Anda interaksi.
set AI Vision object item — Memilih objek tertentu dari daftar objek yang terdeteksi.
Nilai — Mengakses dan menggunakan data yang telah dikumpulkan.
Objek AI Vision ada — Melaporkan apakah suatu objek terdeteksi.
Jumlah objek AI Vision — Melaporkan jumlah objek yang terdeteksi.
Properti objek AI Vision — Detail laporan seperti:
Apakah objek AI Vision itu? — Memeriksa apakah objek yang terdeteksi sesuai dengan klasifikasi tertentu.
Apakah objek AI Vision adalah AprilTag? — Memeriksa apakah objek yang terdeteksi adalah AprilTag yang cocok dengan ID tertentu.
Apakah objek AI Vision adalah ID AprilTag? — Memeriksa apakah ID AprilTag yang terdeteksi cocok dengan ID tertentu.
Tindakan#
mendapatkan data objek#
Blok tumpukan get object data menyaring data dari bingkai VEX IQ AI Vision Sensor ke satu tanda tangan tunggal — deskripsi tersimpan dari sesuatu yang dapat dikenali 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.
dapatkan data [SELECT_A_SIG v] dari [AIVision1 v]
Parameter |
Keterangan |
|---|---|
tanda tangan |
Memfilter dataset agar hanya menyertakan data dari tanda tangan yang diberikan. Tanda tangan yang tersedia adalah:
|
Catatan: Agar opsi AprilTag ID atau Klasifikasi AI muncul, deteksi keduanya harus diaktifkan di AI Vision Utility.
Contoh
saat dimulai
[Drive forward if an AprilTag ID is detected.]
selamanya
dapatkan data [AprilTag IDs v] dari [AIVision1 v]
jika <objek [AIVIsion1 v] ada?> maka
kendarai [maju v] sejauh [10] [mm v] ▶
Klasifikasi AI#
Sensor Penglihatan AI VEX IQ dapat mendeteksi berbagai objek berdasarkan Klasifikasi AI tertentu. Bergantung pada model Klasifikasi AI yang dipilih saat mengkonfigurasi Sensor Penglihatan AI VEX IQ di jendela Perangkat, objek yang berbeda akan terdeteksi. Model yang tersedia saat ini adalah:
Benda-Benda di Kelas
BlueBall
Bola Hijau
Bola Merah
Cincin Biru
Cincin Hijau
Cincin Merah
BlueCube
Kubus Hijau
RedCube
Kompetisi Robotika VEX IQ Mix & Match
Balok
Pin Merah
BluePin
Pin Oranye
Tingkat Lanjut Kompetisi Robotika VEX IQ
Kantung Biru
Kantung Kacang Merah
Kantung Kacang Kuning
Tanda Warna#
Tanda Warna (Color Signature) adalah warna unik yang dapat dikenali oleh Sensor Penglihatan AI VEX IQ. Tanda warna ini memungkinkan sensor untuk mendeteksi dan melacak objek berdasarkan warnanya. Setelah Tanda Warna dikonfigurasi, 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. Hingga 7 Tanda Warna dapat dikonfigurasi sekaligus.

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.]
dapatkan data [RED_BOX v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
cetak [Color detected!] di layar ▶
Kode Warna#
Kode Warna adalah pola terstruktur yang terdiri dari 2 hingga 4 Tanda Warna yang disusun dalam urutan tertentu. Kode-kode ini memungkinkan Sensor Penglihatan AI VEX IQ untuk 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. Hingga 8 Kode Warna dapat dikonfigurasi sekaligus.

Contoh
saat dimulai
[Display if any objects matching the RED_BLUE 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.]
dapatkan data [RED_BLUE v] dari [AIVision1 v]
jika <objek [AIVIsion1 v] ada?> maka
cetak [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 [AIVision1 v] ke (1)
Parameter |
Keterangan |
|---|---|
barang |
Nomor item dalam dataset yang akan digunakan. |
Contoh
saat dimulai
[Display the largest detected AprilTag ID.]
selamanya
dapatkan data [AprilTag IDs v] dari [AIVision1 v]
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
jika <objek [AIVision1 v] ada?> maka
atur item objek [AIVision1 v] ke (jumlah objek [AIVision1 v])
cetak (objek [AIVision1 v] [tagID v]) di layar ▶
Nilai-nilai#
Objek AI Vision ada.#
Blok Boolean AI Vision object exists melaporkan apakah ada objek yang terdeteksi dalam dataset.
Benar — Dataset tersebut mencakup objek yang terdeteksi.
Salah — Dataset ini tidak menyertakan objek yang terdeteksi.
<objek [AIVision1 v] ada?>
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Drive forward if an object is detected.]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
kendarai [maju v] sejauh [10] [mm v] ▶
Penghitungan objek AI Vision#
Blok pelapor Penghitungan objek AI Vision melaporkan jumlah objek yang terdeteksi dalam dataset sebagai bilangan bulat.
(jumlah objek [AIVision1 v])
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Display the total amount of cubes, rings, and balls.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
cetak (jumlah objek [AIVision1 v]) 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 [AIVision1 v] [lebar v])
Semua nilai properti kecuali tagID menjelaskan posisi dan ukuran objek yang terdeteksi dalam tampilan Sensor Visi AI VEX IQ pada saat blok get object data digunakan. Nilai-nilai ini diukur dalam piksel, 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.
(objek [AIVision1 v] [lebar v])
Contoh
saat dimulai
[Drive towards an object until its width is larger than 100 pixels.]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [lebar v]) [math_less_than v] [100]> maka
kendarai [maju v]
selesai
lainnya
hentikan mengemudi
tinggi#
Properti height melaporkan tinggi objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 240.
(objek [AIVision1 v] [tinggi v])
Contoh
saat dimulai
[Drive towards an object until its height is larger than 100 pixels.]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [tinggi v]) [math_less_than v] [100]> maka
kendarai [maju v]
selesai
lainnya
hentikan mengemudi
pusatX#
Properti centerX melaporkan koordinat x dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.
(objek [AIVision1 v] [centerX v])
Contoh
saat dimulai
[Turn slowly until an object is centered in front of the robot.]
atur kecepatan belok ke [30] [% v]
belok [kanan v]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <[140] [math_less_than v] (objek [AIVision1 v] [centerX v]) [math_less_than v] [180]> maka
hentikan mengemudi
pusatY#
Properti centerY melaporkan koordinat y dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 240.
(objek [AIVision1 v] [centerY v])
Contoh
saat dimulai
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [centerY v]) [math_less_than v] [140]> maka
kendarai [maju v]
selesai
lainnya
hentikan mengemudi
sudut#
Properti angle melaporkan orientasi Kode Warna atau ID AprilTag yang terdeteksi sebagai bilangan bulat dalam derajat dari 0 hingga 359.
(objek [AIVision1 v] [sudut v])
Contoh
saat dimulai
[Slide left or right depending on how the Color Code is rotated.]
selamanya
dapatkan data [RED_BLUE v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <[50] [math_less_than v] (objek [AIVision1 v] [sudut v]) [math_less_than v] [100]> maka
kendarai [kanan v]
lainnya jika <[270] [math_less_than v] (objek [AIVision1 v] [sudut v]) [math_less_than v] [330]> maka
kendarai [kiri v]
lainnya
hentikan mengemudi
selesai
lainnya
hentikan mengemudi
asalX#
Properti originX melaporkan koordinat x dari sudut kiri atas kotak pembatas objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.
(objek [AIVision1 v] [originX v])
Contoh
saat dimulai
[Display if an object is to the left or the right.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [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
asal#
Properti originY melaporkan koordinat y dari sudut kiri atas kotak pembatas objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 240.
(objek [AIVision1 v] [originY v])
Contoh
saat dimulai
[Display if an object is close or far from the robot.]
selamanya
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [originY v]) [math_less_than v] [80]> maka
cetak [Far!] di layar ▶
lainnya
cetak [Close!] di layar ▶
selesai
tunggu [0.5] detik
tagID#
Properti tagID melaporkan nomor identifikasi dari ID AprilTag yang terdeteksi sebagai bilangan bulat.
(objek [AIVision1 v] [tagID v])
Contoh
saat dimulai
[Drive forward when AprilTag ID 0 is detected.]
selamanya
dapatkan data [AprilTag IDs v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [tagID v]) [math_equal v] [0]> maka
kendarai [maju v]
lainnya
hentikan mengemudi
selesai
tunggu [0.5] detik
Objek AI Vision itu apa?#
Blok AI Vision object is? melaporkan nilai Boolean yang menunjukkan 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 [AIVision1 v] adalah [BlueBall v]?>
Parameter |
Keterangan |
|---|---|
obyek |
Which AI Classification to compare the item to. |
Contoh
saat dimulai
[Display if a Blue Cube is detected.]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision1 v]
bersihkan baris [1] di layar
atur kursor ke baris [1] kolom [1] di layar
jika <objek [AIVision1 v] ada?> maka
jika <objek [AIVision1 v] adalah [BlueCube v]?> maka
cetak [Cube detected!] di layar ▶
tunggu [0.5] detik
Apakah objek AI Vision itu AprilTag?#
Blok Apakah objek AI Vision adalah AprilTag? melaporkan nilai Boolean yang menunjukkan apakah objek yang terdeteksi adalah AprilTag yang cocok dengan ID tertentu.
Benar — Objek yang terdeteksi adalah AprilTag dengan ID yang diberikan.
Salah — Objek yang terdeteksi bukanlah AprilTag dengan ID yang diberikan.
<objek [AIVision1 v] adalah AprilTag [0]?>
Parameter |
Keterangan |
|---|---|
AprilTag ID |
Nomor ID yang akan dibandingkan dengan AprilTag yang terdeteksi. |
Contoh
saat dimulai
[Report if AprilTag 3 is detected.]
selamanya
bersihkan layar
atur kursor ke baris [1] kolom [1] di layar
dapatkan data [AprilTag IDs v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <objek [AIVision1 v] adalah AprilTag [3]?> maka
cetak [That is 3!] di layar ▶
lainnya
cetak [That isn't 3!] di layar ▶
selesai
selesai
tunggu [0.1] detik
Apakah objek AI Vision memiliki ID AprilTag?#
Blok AI Vision object is AprilTag ID? melaporkan nilai Boolean yang menunjukkan apakah ID AprilTag yang terdeteksi cocok dengan ID tertentu.
Benar — ID AprilTag adalah angkanya.
Salah — ID AprilTag bukanlah angka.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parameter |
Keterangan |
|---|---|
Nomor ID AprilTag |
Angka yang akan dibandingkan dengan nomor ID AprilTag yang terdeteksi. |
Contoh:
saat dimulai
[Report if AprilTag ID 3 is detected.]
selamanya
bersihkan layar
atur kursor ke baris [1] kolom [1] di layar
dapatkan data [AprilTag IDs v] dari [AIVision1 v]
jika <objek [AIVision1 v] ada?> maka
jika <[AIVision1 v] object is AprilTag ID [3] ?> maka
cetak [That is 3!] di layar ▶
lainnya
cetak [That isn't 3!] di layar ▶
selesai
selesai
tunggu [0.1] detik