Sensor Penglihatan AI#

Perkenalan#

Sensor Penglihatan AI 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.

Berikut adalah daftar blok yang tersedia:

Tindakan – Mengambil data dari Sensor Penglihatan AI untuk tanda tangan yang dipilih.

  • ambil cuplikan – 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.

Nilai – Mengakses dan menggunakan data yang telah dikumpulkan.

Tindakan#

ambil foto#

Blok tumpukan ambil cuplikan menyaring data dari bingkai Sensor Visi AI 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.

Blok tumpukan Ambil cuplikan.#
ambil snapshot [AIVision1 v] dari [SELECT_A_SIG v]

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

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
ambil snapshot [AIVision1 v] dari [AprilTag IDs v]
jika <objek [AIVIsion1 v] ada?> maka
kendarai [maju v] sejauh [10] [mm v] ▶

Klasifikasi AI#

Sensor Penglihatan AI dapat mendeteksi berbagai objek berdasarkan Klasifikasi AI tertentu. Bergantung pada model Klasifikasi AI yang dipilih saat mengkonfigurasi Sensor Penglihatan AI 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 V5 Dorong Mundur

  • Blok Biru

  • Blok Merah

Kompetisi Robotika VEX V5 dengan Taruhan Tinggi

  • MobileGoal

  • Cincin Merah

  • Cincin Biru

Penggantian Kompetisi Robotika VEX V5

  • Pin MerahBiru

  • Pin BiruKuning

  • Pin MerahKuning

  • Pin Kuning

  • Cangkir

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, sensor dapat mengidentifikasi objek dengan warna spesifik tersebut dalam bidang pandangnya.

Tanda Warna digunakan dalam blok ambil snapshot untuk memproses dan mendeteksi objek berwarna secara real-time. Hingga 7 Tanda Warna dapat dikonfigurasi sekaligus.

Utilitas Visi AI yang menunjukkan sensor visi terhubung yang mendeteksi dua objek berwarna. Sisi kiri menampilkan umpan kamera langsung dengan kotak biru di sebelah kiri dan kotak merah di sebelah kanan, masing-masing digariskan dengan kotak pembatas putih. Label hitam menampilkan nama, koordinat, dan dimensi masing-masing. Sisi kanan berisi pengaturan tanda warna, dengan penggeser untuk rentang rona dan saturasi untuk kotak merah dan biru. Tombol untuk menambahkan warna, membekukan video, menyalin, dan menyimpan gambar berada di bagian bawah, bersama dengan tombol tutup di sudut kanan bawah.

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 snapshot [AIVision1 v] dari [RED_BOX 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 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.

Antarmuka AI Vision Utility menampilkan sensor penglihatan yang terhubung mendeteksi dua objek yang berdekatan, kotak biru di sebelah kiri dan kotak merah di sebelah kanan, dikelompokkan bersama dalam satu kotak pembatas putih berlabel BlueRed. Informasi deteksi mencakup sudut (A:11°), koordinat (X:143, Y:103), lebar (W:233), dan tinggi (H:108). Pada panel kanan, terdapat tiga tanda warna yang tercantum: Red_Box, Blue_Box, dan BlueRed, dengan rentang rona dan saturasi yang dapat disesuaikan. Tanda warna BlueRed menggabungkan Blue_Box dan Red_Box. Di bawah umpan video terdapat tombol berlabel Bekukan Video, Salin Gambar, Simpan Gambar, dan Tutup.

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.]
ambil snapshot [AIVision1 v] dari [RED_BLUE 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.

Blok tumpukan item objek Set AI Vision.#
atur item objek [AIVision1 v] ke (1)

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

barang

Nomor item dalam dataset yang akan digunakan.

Contoh

Sekumpulan blok yang dimulai dengan blok “when started”, diikuti oleh blok komentar yang berbunyi “Tampilkan ID AprilTag terbesar yang terdeteksi”. Di dalam loop tak terbatas, blok “take a AI Vision snapshot” mengambil gambar ID AprilTag. Blok “if” memeriksa apakah objek AI Vision ada. Jika benar, blok “set AI Vision object item” menetapkan jumlah objek ke variabel, dan blok “print” menampilkan ID tag dari objek yang terdeteksi di layar.#
saat dimulai
[Display the largest detected AprilTag ID.]
selamanya
ambil snapshot [AIVision1 v] dari [AprilTag IDs 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#

Apakah objek AI Vision benar-benar 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 AI Vision berupa blok Boolean.#
<objek [AIVision1 v] ada?>

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

Contoh

saat dimulai
[Drive forward if an object is detected.]
selamanya
ambil snapshot [AIVision1 v] dari [Klasifikasi AI v]
jika <objek [AIVision1 v] ada?> maka
kendarai [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.

AI Vision AI Classification adalah blok Boolean objek.#
<objek [AIVision1 v] adalah [BlueBall v]?>

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

obyek

Which AI Classification to compare the item to.

Contoh

saat dimulai
[Display if a Blue Cube is detected.]
selamanya
ambil snapshot [AIVision1 v] dari [Klasifikasi AI 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

Objek AI Vision adalah AprilTag#

Blok Boolean AI Vision object is AprilTag melaporkan 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 AI Vision adalah blok Boolean AprilTag.#
<objek [AIVision1 v] adalah AprilTag [0]?>

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

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
ambil snapshot [AIVision1 v] dari [AprilTag IDs 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

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 angka.

  • Salah – ID AprilTag bukanlah angka.

AI Vision mendeteksi AprilTag ID sebagai blok Boolean.#
<[AIVision1 v] object is AprilTag ID [1] ?>

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

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
ambil snapshot [AIVision1 v] dari [AprilTag IDs 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

Penghitungan objek AI Vision#

Blok pelapor Penghitungan objek AI Vision melaporkan jumlah objek yang terdeteksi dalam dataset sebagai bilangan bulat.

Blok tumpukan item objek Set AI Vision.#
(jumlah objek [AIVision1 v])

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

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
ambil snapshot [AIVision1 v] dari [Klasifikasi AI 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 ambil snapshot digunakan.

Blok pelapor properti objek AI Vision.#
(objek [AIVision1 v] [lebar v])

Semua nilai properti kecuali tagID dan score menjelaskan posisi dan ukuran objek yang terdeteksi dalam tampilan Sensor Visi AI pada saat blok ambil snapshot digunakan. Nilai-nilai ini diukur dalam piksel, berdasarkan resolusi sensor 320 x 240 piksel.

Parameter

Keterangan

perangkat

Sensor Penglihatan AI mana yang akan digunakan, dikonfigurasi di jendela Perangkat.

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.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke lebar.#
(objek [AIVision1 v] [lebar v])

Contoh

saat dimulai
[Drive towards an object until its width is larger than 100 pixels.]
selamanya
ambil snapshot [AIVision1 v] dari [Klasifikasi AI v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [lebar v]) [math_less_than v] [100]> maka
kendarai [maju v]
lainnya
hentikan mengemudi
selesai

tinggi#

Properti height melaporkan tinggi objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 240.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke tinggi.#
(objek [AIVision1 v] [tinggi v])

Contoh

saat dimulai
[Drive towards an object until its height is larger than 100 pixels.]
selamanya
ambil snapshot [AIVision1 v] dari [Klasifikasi AI v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [tinggi v]) [math_less_than v] [100]> maka
kendarai [maju v]
lainnya
hentikan mengemudi
selesai

pusatX#

Properti centerX melaporkan koordinat x dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke centerX.#
(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
ambil snapshot [AIVision1 v] dari [Klasifikasi AI 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.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke centerY.#
(objek [AIVision1 v] [centerY v])

Contoh

saat dimulai
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
selamanya
ambil snapshot [AIVision1 v] dari [Klasifikasi AI v]
jika <objek [AIVision1 v] ada?> maka
jika <(objek [AIVision1 v] [centerY v]) [math_less_than v] [140]> maka
kendarai [maju v]
lainnya
hentikan mengemudi
selesai

sudut#

Properti angle melaporkan orientasi Kode Warna atau ID AprilTag yang terdeteksi sebagai bilangan bulat dalam derajat dari 0 hingga 359.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke sudut.#
(objek [AIVision1 v] [sudut v])

Contoh

saat dimulai
[Slide left or right depending on how the Color Code is rotated.]
selamanya
ambil snapshot [AIVision1 v] dari [RED_BLUE 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.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke originX.#
(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
ambil snapshot [AIVision1 v] dari [Klasifikasi AI 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.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke originY.#
(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
ambil snapshot [AIVision1 v] dari [Klasifikasi AI 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.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke tagID.#
(objek [AIVision1 v] [tagID v])

Contoh

saat dimulai
[Drive forward when AprilTag ID 0 is detected.]
selamanya
ambil snapshot [AIVision1 v] dari [AprilTag IDs 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

skor#

Properti skor melaporkan seberapa yakin model tersebut terhadap Klasifikasi AI yang terdeteksi sebagai persentase dari 70% hingga 100%.

Skor yang lebih rendah berarti sensor kurang yakin terhadap objek yang terdeteksi, sedangkan skor yang lebih tinggi berarti sensor lebih yakin.

Blok tumpukan properti objek AI Vision dengan parameter yang diatur ke tagID.#
(objek [AIVision1 v] [skor v])