Pengkodean dengan Sensor Penglihatan AI di Blok VEXcode V5

Pastikan Anda memiliki Tanda Tangan Warna dan Kode Warna yang dikonfigurasi dengan Sensor Penglihatan AI Anda sehingga dapat digunakan dengan blok Anda. Untuk mempelajari lebih lanjut tentang cara mengonfigurasinya, Anda dapat membaca artikel di bawah ini:

Sensor Penglihatan AI juga dapat mendeteksi Klasifikasi AI dan AprilTags. Untuk mempelajari cara mengaktifkan mode deteksi ini, kunjungi di sini:

Untuk mempelajari lebih detail tentang Blok individual ini dan cara menggunakannya di VEXcode, kunjungi situs API.


Ambil Snapshot

Blok yang berisi perintah mengambil snapshot dengan dua pilihan dropdown: satu berlabel AIVision1 dan lainnya berlabel COL1. Blok ini dirancang untuk mengambil snapshot dari sensor AI Vision dan merujuk objek atau warna tertentu dari variabel yang ditunjuk dalam lingkungan pengkodean visual. Bentuk blok memiliki sedikit lengkungan pada ujungnya, khas antarmuka pengkodean berbasis blok.

BlokTake Snapshot mengambil gambar apa yang sedang dilihat oleh AI Vision Sensor dan menarik data dari snapshot tersebut yang kemudian dapat digunakan dalam suatu proyek. Saat snapshot diambil, Anda perlu menentukan jenis objek apa yang harus dikumpulkan datanya oleh AI Vision Sensor:

  • Tanda Tangan Warna
  • Kode Warna
  • Klasifikasi AI
  • Tag April

Mengambil snapshot akan membuat array dari semua objek terdeteksi yang Anda tentukan. Misalnya, jika Anda ingin mendeteksi Tanda Warna "Merah", dan Sensor Penglihatan AI mendeteksi 3 objek merah yang berbeda, data dari ketiganya akan dimasukkan ke dalam array.

Untuk informasi lebih lanjut tentang cara menentukan antar objek yang berbeda, buka bagian "Tetapkan Item Objek" di artikel ini.

Blok kode biru muda dengan perintah untuk mengambil gambar suatu objek atau warna. Ada dua pilihan dropdown: satu berlabel AIVision2 dan lainnya berlabel Biru. Blok ini dirancang untuk digunakan dalam lingkungan pengkodean berbasis blok, di mana ia menangkap gambar dari sensor AI Vision dan melacak objek atau warna yang ditetapkan sebagai Biru. Blok tersebut memiliki sedikit lengkungan, khas antarmuka pengkodean yang menggunakan blok modular.

Dalam contoh ini, ia hanya akan mendeteksi objek yang sesuai dengan Tanda Warna “Biru” yang dikonfigurasinya dan tidak ada yang lain.

Data Diambil Dari Snapshot

Perlu diingat bahwa AI Vision Sensor akan menggunakan snapshot terakhir yang diambil untuk Blok apa pun setelahnya. Untuk memastikan Anda selalu memperoleh informasi terkini dari AI Vision Sensor, ambil ulang gambar Anda setiap kali ingin mengambil data darinya. 

Resolusi

Memahami resolusi Sensor Penglihatan AI sangat penting untuk interpretasi data yang akurat. Sensor memiliki resolusi 320x240 piksel, dengan pusat tepat pada koordinat (160, 120).

Koordinat X kurang dari 160 berhubungan dengan bagian kiri bidang pandang sensor, sedangkan yang lebih besar dari 160 menunjukkan bagian kanan. Demikian pula, koordinat Y kurang dari 120 menunjukkan bagian atas tampilan, dan yang lebih besar dari 120 menunjukkan bagian bawah.

Buka Memahami Data dalam AI Vision Utility di VEXcode V5 untuk informasi lebih lanjut tentang cara objek diukur dengan AI Vision Sensor.

Lebar dan Tinggi

Ini adalah lebar atau tinggi objek yang terdeteksi dalam piksel.

Gambar tersebut menunjukkan Buckyball biru dengan garis persegi putih yang mengikutinya. Sudut kiri atas memiliki label yang menunjukkan bahwa itu adalah objek biru, dengan koordinat X:176, Y:117, dan dimensi L:80, T:78. Panah merah menyorot lebar dan tinggi objek.

Pengukuran lebar dan tinggi membantu mengidentifikasi objek yang berbeda. Misalnya, Buckyball akan memiliki tinggi lebih besar daripada Ring.

Dua objek kubik biru dilacak oleh sistem pengenalan visual. Kubus atas memiliki garis luar putih dengan label yang menunjukkan posisinya sebagai X:215, Y:70 dan dimensi L:73, T:84. Kubus bagian bawah memiliki garis luar putih serupa dengan label yang menampilkan X:188, Y:184, dan dimensi L:144, T:113. Setiap kubus memiliki tanda silang putih di tengahnya, kemungkinan menunjukkan titik fokus pelacakan. Label menyoroti pengukuran dan data pelacakan untuk setiap objek.

Lebar dan tinggi juga menunjukkan jarak objek dari AI Vision Sensor. Pengukuran yang lebih kecil biasanya berarti objek tersebut lebih jauh, sedangkan pengukuran yang lebih besar menunjukkan objek tersebut lebih dekat.

Program diawali dengan blok saat dimulai, diikuti oleh perulangan selamanya. Di dalam loop, program mengambil snapshot menggunakan sensor AI Vision (AIVision1) untuk mendeteksi objek biru. Jika objek tersebut ada, program akan memeriksa apakah lebar objek kurang dari 250 piksel. Jika benar, robot akan melaju ke depan; jika tidak, robot akan berhenti melaju. Blok-blok ditumpuk bersama-sama, menunjukkan aliran program dalam lingkungan pengkodean modular.

Dalam contoh ini, lebar objek digunakan untuk navigasi. Robot akan mendekati objek hingga lebarnya mencapai ukuran tertentu sebelum berhenti.

CenterX dan Center Y

Ini adalah koordinat pusat objek yang terdeteksi dalam piksel.

Buckyball biru dilacak oleh sistem penglihatan komputer. Objek tersebut diberi garis luar berupa persegi putih, dan di dalam garis luar tersebut terdapat persegi merah yang lebih kecil yang mengelilingi tanda silang putih di tengahnya. Di sudut kiri atas gambar, label menunjukkan objek tersebut berwarna biru, dengan koordinat X:176, Y:117, dan dimensi L:80, T:78.

Koordinat CenterX dan CenterY membantu navigasi dan penentuan posisi. Sensor Penglihatan AI memiliki resolusi 320 x 240 piksel.

Dua objek kubik biru dilacak oleh sistem penglihatan. Objek atas diberi label koordinat X:215, Y:70, dan dimensi L:73, T:84, dengan garis luar putih dan tanda silang putih di tengah. Objek di bagian bawah diberi label koordinat X:188, Y:184, dan dimensi L:144, T:113, juga diberi garis tepi putih dengan tanda silang putih di tengah.

Anda dapat melihat bahwa objek yang lebih dekat ke AI Vision Sensor akan memiliki koordinat CenterY yang lebih rendah daripada objek yang lebih jauh.

Urutan pengkodean berbasis blok yang dimulai dengan saat dimulai diikuti oleh perulangan selamanya. Di dalam loop, program mengambil snapshot menggunakan AIVision1 untuk mendeteksi objek biru. Jika suatu objek ada, program akan berputar hingga objek tersebut terpusat dalam pandangan sensor AI Vision. Objek dianggap terpusat jika nilai centerX-nya antara 150 dan 170. Jika objek tidak terpusat, robot akan berbelok ke kanan; jika tidak, robot akan berhenti melaju. Blok menunjukkan alur dan logika program visual.

Dalam contoh ini, karena pusat pandangan AI Vision Sensor adalah (160, 120), robot akan berbelok ke kanan hingga koordinat centerX objek yang terdeteksi lebih besar dari 150 piksel, tetapi kurang dari 170 piksel.

Sudut

Sudut adalah properti yang hanya tersedia untukKode Warna danAprilTags. Ini menunjukkan jika Kode Warnaatau AprilTag yang terdeteksi berorientasi berbeda.

Tumpukan dua kubus, satu hijau di atas dan satu biru di bawah, dilacak oleh sistem penglihatan. Garis putih mengelilingi kedua kubus, dengan tanda silang putih di tengah kubus hijau. Label di bagian bawah gambar menampilkan Hijau_Biru A:87°, yang menunjukkan warna yang terdeteksi dan pengukuran sudut. Di bawahnya, koordinat tercantum sebagai X:117, Y:186, dengan dimensi W:137, H:172, yang mewakili posisi dan ukuran kubus yang ditumpuk dalam bingkai.

Anda dapat melihat apakah robot berorientasi berbeda dalam kaitannya dengan Kode Warna atauAprilTag dan membuat keputusan navigasi berdasarkan itu.

Dua kubus, satu hijau dan satu biru, ditempatkan berdampingan dan dilacak oleh sistem penglihatan. Garis putih mengelilingi kedua kubus dengan tanda silang putih di tengahnya. Label kiri atas menunjukkan Hijau_Biru A:0°, merujuk pada warna yang terdeteksi dan pengukuran sudut. Di bawahnya, koordinat ditunjukkan sebagai X:150, Y:102, dengan dimensi W:179, H:109, yang mewakili posisi dan ukuran kubus di dalam bingkai.

Misalnya, jika Kode Warna tidak terdeteksi pada sudut yang tepat, maka objek yang diwakilinya mungkin tidak dapat ditangkap dengan baik oleh robot.

OriginX dan OriginY

OriginX dan OriginY adalah koordinat di sudut kiri atas objek yang terdeteksi dalam piksel.

Buckyball biru dilacak oleh sistem penglihatan. Garis luar berwarna putih mengelilingi objek, dengan tanda silang putih di bagian tengah dalam garis luar tersebut. Label kiri atas menunjukkan warna objek sebagai biru, bersama dengan koordinat X:176, Y:117, dan dimensi L:80, T:78. Kotak merah kecil menyorot sudut kiri atas objek.

Koordinat OriginX dan OriginY membantu navigasi dan penentuan posisi. Dengan menggabungkan koordinat ini dengan Lebar dan Tinggi objek, Anda dapat menentukan ukuran kotak pembatas objek. Ini dapat membantu melacak objek yang bergerak atau menavigasi antar objek.

Urutan pengkodean berbasis blok yang dimulai dengan saat dimulai diikuti oleh perulangan selamanya. Di dalam loop, program mengambil snapshot menggunakan AIVision1 untuk mendeteksi objek biru. Jika objek tersebut ada, program akan menggambar persegi panjang pada layar Brain berdasarkan posisi dan ukuran objek. Persegi panjang digambar menggunakan nilai originX, originY, lebar, dan tinggi objek, yang disediakan oleh sensor AIVision1. Program ini secara visual melacak dan menyorot objek yang terdeteksi pada layar Brain.

Dalam contoh ini, sebuah persegi panjang akan digambar di Brain menggunakan koordinat titik asal, lebar, dan tinggi yang tepat.

ID tag

TagID hanya tersedia untukAprilTags. Ini adalah nomor ID untukAprilTagyang ditentukan.

Tiga kartu persegi dengan AprilTags dilacak oleh sistem penglihatan. Setiap kartu diberi label nomor ID dan data pelacakan terkait. Kartu di sebelah kiri diberi label ID:0, menunjukkan koordinat A:350°, X:110, Y:96, W:41, H:41. Kartu tengah, berlabel ID:3, memiliki koordinat A:1°, X:187, Y:180, W:57, H:57. Kartu di sebelah kanan diberi label ID:9, dengan koordinat A:3°, X:237, Y:89, W:38, H:38. Setiap kartu memiliki garis putih, dan sistem melacak posisi dan orientasinya.

Mengidentifikasi AprilTags yang spesifik memungkinkan navigasi selektif. Anda dapat memprogram robot Anda untuk bergerak menuju tag tertentu dan mengabaikan tag lain, secara efektif menggunakannya sebagai penunjuk arah untuk navigasi otomatis.

Skor

Properti skor digunakan saat mendeteksiKlasifikasi AI dengan Sensor Penglihatan AI.

Gambar menunjukkan empat objek yang dilacak oleh sistem penglihatan: dua bola dan dua cincin. Bola merah diberi label koordinat X:122, Y:84, W:67, H:66, dan skor 99%. Bola biru memiliki X:228, Y:86, W:70, H:68, dengan skor 99%. Cincin hijau memiliki koordinat X:109, Y:186, W:98, H:92, dan skor 99%. Cincin merah diberi label X:259, Y:187, W:89, H:91, dengan skor 99%. Setiap objek diberi garis warna putih, yang menunjukkan keakuratan pelacakan.

Skor keyakinan menunjukkan seberapa yakin AI Vision Sensor dalam mendeteksinya. Pada gambar ini, 99% keyakinan dalam mengidentifikasi Klasifikasi AI keempat objek ini. Anda dapat menggunakan skor ini untuk memastikan robot Anda hanya berfokus pada deteksi yang sangat meyakinkan.


Tetapkan Objek Item

Saat suatu objek dideteksi oleh AI Vision Sensor, objek tersebut dimasukkan ke dalam array. Secara default, AI Vision Sensor akan menarik data dari objek pertama dalam array, atau objek dengan indeks 1. Jika Sensor Penglihatan AI Anda hanya mendeteksi satu objek, maka objek tersebut akan dipilih secara default.

Namun, bila Sensor Penglihatan AI Anda mendeteksi beberapa objek sekaligus, Anda harus menggunakan blokAtur Item Objek untuk menentukan objek mana yang ingin Anda tarik datanya.

Blok kode berwarna biru muda. Berisi perintah untuk menyetel item objek untuk AIVision1 ke 1. Blok ini adalah bagian dari lingkungan pengkodean berbasis blok, biasanya digunakan untuk menentukan objek atau item mana yang harus difokuskan atau dilacak oleh sensor AI Vision. Bentuk blok memiliki sedikit lengkungan, sesuai dengan sifat modular platform pengkodean visual.

Bila beberapa objek terdeteksi oleh AI Vision Sensor, objek-objek tersebut akan disusun dalam susunan dari yang terbesar hingga terkecil. Artinya, objek terdeteksi terbesar akan selalu ditetapkan pada indeks objek 1, dan objek terkecil akan selalu ditetapkan pada angka tertinggi.

Antarmuka AI Vision Utility dengan dua kubus biru terdeteksi di sisi kiri, masing-masing ditandai dengan koordinat dan dimensi X dan Y. Sistem terhubung, dan AprilTags diaktifkan, sementara Klasifikasi AI dinonaktifkan. Di sebelah kanan, pengaturan warna Biru ditampilkan dengan rentang rona dan saturasi yang dapat disesuaikan, masing-masing ditetapkan pada 22 dan 0,34. Ada opsi untuk menambahkan atau mengatur warna dan membekukan video. Firmwarenya sudah yang terbaru, menjalankan versi 1.0.0.b16, dan tombol tutup tersedia di bagian bawah.

Dalam contoh ini, dua objek telah dideteksi dengan Tanda Tangan Warna "Biru". Keduanya akan dimasukkan ke dalam array saat blokTake Snapshot digunakan.

Antarmuka AI Vision Utility, melacak dua kubus biru yang diberi label dengan data X, Y, dan dimensinya. Kubus kiri memiliki koordinat X:127, Y:179, dan dimensi L:136, T:123, sedangkan kubus kanan memiliki koordinat X:233, Y:74, dan dimensi L:78, T:87. Sistem terhubung, AprilTags dihidupkan, dan Klasifikasi AI dimatikan. Pengaturan warna biru memiliki rentang rona 22 dan saturasi 0,34. Tombol Bekukan Video dan informasi firmware (versi 1.0.0.b16) ditampilkan di bagian bawah.

Di sini, objek di depan akan menjadi indeks objek 1, karena itu adalah objek terbesar, dan objek terkecil akan menjadi indeks objek 2.


Objek Ada

Sebelum menarik data apa pun dari snapshot, penting untuk guna memastikan bahwa AI Vision Sensor telah mendeteksi objek apa pun dari snapshot tersebut terlebih dahulu. Di sinilah blokObjek Ada berperan.

Blok kode heksagonal biru muda dengan teks objek AIVision1 ada? Blok ini merupakan bagian dari lingkungan pengkodean berbasis blok, biasanya digunakan untuk memeriksa apakah suatu objek terdeteksi oleh sensor AI Vision yang diberi label AIVision1. Blok ini dirancang agar sesuai dengan struktur pengkodean modular, dengan sedikit lengkungan dan bentuk yang menjadi ciri khas lingkungan tersebut.

Blok ini akan mengembalikan nilaiBenar atauSalah pada apakah snapshot terakhir yang diambil memiliki objek yang terdeteksi di dalamnya atau tidak.

Blok ini harus untuk memastikan Anda tidak mencoba menarik data apa pun dari snapshot yang berpotensi kosong.

Urutan pengkodean berbasis blok yang dimulai dengan saat dimulai diikuti oleh perulangan selamanya. Di dalam loop, sensor AI Vision (AIVision2) mengambil gambar untuk mendeteksi warna Biru. Jika suatu objek dengan tanda visual Biru terdeteksi, robot akan melaju maju. Jika tidak ada objek yang terdeteksi, robot akan berhenti melaju. Blok-blok ditumpuk untuk mewakili logika kondisional program, di mana keberadaan objek yang terdeteksi mengendalikan pergerakan robot.

Misalnya, di sini robot akan terus-menerus mengambil gambar dengan AI Vision Sensor. Jika mengidentifikasi objek pun dengan Tanda Warna “Biru” , maka ia akan melaju ke depan.


Jika ada snapshot yang tidak memiliki Tanda Warna “Biru” , robot akan berhenti bergerak.


Jumlah Objek

Blok kode berwarna biru muda dan bulat, berlabel jumlah objek AIVision1. Blok ini digunakan dalam lingkungan pengkodean berbasis blok untuk mengambil jumlah objek yang terdeteksi oleh sensor AI Vision yang diberi label AIVision1. Blok tersebut berada dalam struktur modular, yang umum digunakan dalam antarmuka pemrograman visual untuk robotika atau sistem penglihatan.

Menggunakan blok Jumlah Objek akan memungkinkan Anda melihat berapa banyak objek dari Tanda Tangan Warna tertentu yang dapat dilihat oleh Sensor Penglihatan AI dalam gambar terakhirnya. 

Antarmuka AI Vision Utility dengan dua kubus biru terdeteksi di sebelah kiri. Sistem terhubung, dengan AprilTags diaktifkan dan Klasifikasi AI dimatikan. Antarmuka menampilkan pengaturan untuk mendeteksi warna biru, dengan rona diatur ke 22 dan saturasi ke 0,34. Tombol untuk membekukan video dan menambahkan atau mengatur warna tersedia. Firmware ditunjukkan sebagai terkini, menjalankan versi 1.0.0.b16. Ada juga tombol untuk memutuskan koneksi atau menutup utilitas.

Di sini, kita melihat AI Vision Sensor memiliki konfigurasi Color Signature “Biru”, dan mendeteksi dua objek.

Urutan pengkodean berbasis blok yang dimulai saat dimulai, diikuti oleh perulangan selamanya. Di dalam loop, program mengambil snapshot menggunakan AIVision2 untuk mendeteksi tanda visual biru. Ia membersihkan dan menyetel ulang konsol sebelum memeriksa apakah ada objek biru yang terdeteksi. Jika objek biru ada, jumlah objek dicetak ke konsol. Program kemudian menunggu selama dua detik sebelum mengulangi proses tersebut. Blok tersebut secara visual menggambarkan pemeriksaan berkelanjutan terhadap objek biru, dan menampilkan hasilnya di konsol.Keluaran konsol dengan angka 2 tercetak. Konsol adalah bagian dari antarmuka yang lebih besar yang kemungkinan menampilkan hasil dari program yang berjalan dalam lingkungan pengkodean berbasis blok. Bagian atas konsol memiliki tombol untuk tindakan atau kontrol tambahan, dan program yang berjalan di sini mengeluarkan data ke Konsol Cetak, yang menampilkan hasil 2 di layar.

Dalam kode ini, AI Vision Sensor akan mengambil snapshot dan mencetak “2” pada konsol VEXcode, karena hanya mendeteksi dua “Biru” Tanda Warna.


Obyek

Menu tarik-turun untuk memilih properti objek yang terkait dengan AIVision1. Opsi yang dipilih adalah lebar, dan menu mencantumkan opsi lain termasuk tinggi, centerX, centerY, sudut, originX, originY, tagID, dan skor. Opsi ini memungkinkan pengguna untuk mengambil titik data tertentu dari objek yang dideteksi oleh sensor AI Vision, memberikan fleksibilitas untuk melacak atau mengukur berbagai atribut objek.

BlokObjek memungkinkan Anda melaporkan properti objek yang Anda tentukan. Ini memungkinkan Anda menggunakan data apa pun yang tersedia yang diambil dari snapshot terakhir yang diambil.

Properti objek yang dapat ditarik dari snapshot yang diambil adalah:

  • lebar
  • tinggi
  • pusatX
  • tengahY
  • sudut
  • asalX
  • asal usulY
  • ID tag
  • skor

Baca bagian "Data yang Diambil dari Snapshot" di artikel ini untuk informasi lebih lanjut tentang properti ini.


Terdeteksi AprilTag adalah

Blok heksagonal biru muda dari antarmuka pengkodean. Berisi perintah untuk memeriksa apakah AprilTag yang terdeteksi oleh AIVision1 cocok dengan nilai 1. Blok ini digunakan dalam lingkungan pengkodean berbasis blok dan dirancang untuk mengevaluasi apakah AprilTag tertentu ada. Bentuk dan strukturnya memungkinkannya untuk disesuaikan dengan blok logika lain, yang biasanya digunakan dalam pemrograman visual untuk tugas-tugas penglihatan robotika atau AI.

AprilTag Terdeteksiadalah blok hanya tersedia saat Mode Deteksi AprilTag diaktifkan.

Blok ini akan melaporkan Benar atau Salah tergantung pada apakah objek yang ditentukan adalah AprilTag tertentu.

Tiga AprilTag dilacak oleh sistem penglihatan. Setiap tag memiliki ID dan koordinat terkait. Tag kiri diberi label ID:0, dengan koordinat X:110, Y:96, W:41, H:41. Tag tengah diberi label ID:3, dengan koordinat X:187, Y:180, W:57, H:57. Tag sebelah kanan diberi label ID:9, dengan koordinat X:237, Y:89, W:38, H:38.

Bila beberapa AprilTag terdeteksi dalam satu snapshot, mereka akan disusun dalam array berdasarkan ID yang teridentifikasi, bukan berdasarkan ukuran.

Pada gambar ini, tiga AprilTag terdeteksi dengan ID 0, 3, dan 9. Mereka akan disusun berdasarkan urutan menaik berdasarkan ID-nya dalam array. Objek pada indeks 1 akan bersesuaian dengan AprilTag dengan ID 0, pada indeks 2 dengan AprilTag dengan ID 3, dan pada indeks 3 dengan AprilTag dengan ID 9.

Untuk informasi lebih lanjut tentang apa itu AprilTags dan cara mengaktifkan pendeteksiannya dengan AI Vision Sensor, baca artikel ini.


Klasifikasi AI adalah

Blok heksagonal biru muda dari lingkungan pengkodean berbasis blok. Blok berisi perintah AIVision1 Klasifikasi AI adalah BlueBall? Blok ini memeriksa apakah sensor AI Vision (AIVision1) telah mengklasifikasikan objek yang terdeteksi sebagai BlueBall. Blok ini menampilkan opsi tarik-turun, yang memungkinkan pengguna memilih objek berbeda atau klasifikasi AI untuk tujuan pelacakan dan pengambilan keputusan dalam antarmuka pemrograman visual.

Klasifikasi AIadalah blok hanya tersedia saat Mode Deteksi Klasifikasi AI diaktifkan.

 

Blok ini akan melaporkan Benar atau Salah tergantung pada apakah objek yang ditentukan merupakan Klasifikasi AI tertentu.

Klasifikasi AI yang dapat dideteksi oleh Sensor Penglihatan AI bervariasi bergantung pada model yang Anda gunakan. Untuk informasi lebih lanjut tentang Klasifikasi AI apa yang tersedia dan cara mengaktifkan deteksinya dengan Sensor Penglihatan AI, baca artikel ini.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: