Blok Khusus Robot#
Perkenalan#
Robot Hero, Flop, mencakup IntakeMotor, ArmMotor, dan IQ AI Vision Sensor.
Semua Blok VR VEXcode standar tersedia untuk digunakan di IQ 26-27 Level Up Playground.
Berikut adalah daftar semua Blok khusus Robot yang tersedia:
Gerakan – Gerakkan dan lacak motor robot.
Tindakan
putar motor – Memutar motor ke salah satu arahnya selamanya.
putar motor untuk – Memutar motor sejauh jarak tertentu dalam derajat atau putaran.
putar motor ke posisi – Memutar motor ke posisi tertentu.
hentikan motor – Menghentikan putaran motor.
Pengaturan
atur kecepatan motor – Memberi tahu motor seberapa cepat harus berputar.
atur waktu habis motor – Mengatur berapa lama motor akan mencoba menyelesaikan suatu gerakan.
Posisi
posisi motor – Melaporkan posisi motor saat ini.
atur posisi motor – Mengubah posisi motor saat ini ke nilai baru.
Nilai-nilai
motor sudah selesai – Melaporkan apakah motor sudah selesai bergerak.
motor sedang berputar – Melaporkan apakah motor sedang berputar.
kecepatan motor – Melaporkan seberapa cepat motor berputar, dalam persentase dari -100% hingga 100%.
AI Vision - Tangkap dan analisis objek menggunakan Sensor AI Vision IQ.
Tindakan
mendapatkan data objek - Mengambil data untuk tanda tangan tertentu, seperti Klasifikasi AI yang terdeteksi.
Pengaturan
set object item - Memilih objek tertentu dari daftar.
Nilai-nilai
objek ada - Mengembalikan apakah klasifikasi terdeteksi.
objek adalah - Mengembalikan apakah klasifikasi tertentu terdeteksi.
objek adalah AprilTag - Mengembalikan apakah objek yang terdeteksi adalah AprilTag yang cocok dengan ID tertentu.
jumlah objek - Mengembalikan jumlah objek yang terdeteksi.
properti objek - Mengembalikan lebar, tinggi, centerX, centerY, originX, atau originY.
Contoh-contoh pada halaman ini menggunakan posisi awal Playground default.
Gerakan#
Flop menggunakan motor pemasukan untuk mengumpulkan dan mengeluarkan elemen permainan. Motor lengan menaikkan dan menurunkan lengan.
Setiap motor memiliki opsi arahnya sendiri. Nama-nama arah tersebut menjelaskan bagaimana motor itu bergerak di Flop.
Tindakan#
motor putar#
Blok tumpukan spin motor memutar motor ke salah satu dari dua arah selamanya. Motor akan terus berputar sampai diberi tindakan lain, seperti berputar ke arah yang berbeda atau berhenti.
putar [IntakeMotor v] [asupan v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diputar: IntakeMotor atau ArmMotor. |
arah |
Arah putaran motor:
|
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
putar motor untuk#
Blok spin motor for stack memutar motor sejauh jarak tertentu. Putaran tersebut relatif terhadap posisi motor saat ini. Proyek akan menunggu hingga motor selesai berputar sebelum blok berikutnya dalam stack dijalankan.
putar [ArmMotor v] [naik v] sejauh (500) [derajat v] ▶
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diputar: IntakeMotor atau ArmMotor. |
arah |
Arah putaran motor:
|
jarak |
Jarak putaran motor. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan jarak: derajat atau putaran. |
dan jangan menunggu |
Pilih tanda panah ( ▶ ) untuk memperluas blok menjadi dan jangan menunggu, sehingga blok berikutnya dalam tumpukan akan segera dijalankan. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
Putar motor ke posisi yang diinginkan.#
Blok tumpukan putar motor ke posisi memutar motor ke posisi tertentu.
Posisi motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam derajat atau putaran. Satu putaran sama dengan 360 derajat. Pada awal proyek, posisi motor diatur ke 0 derajat. Posisi motor juga dapat diatur menggunakan blok atur posisi motor.
Nilai posisi bersifat absolut. Ini berarti arah putaran bergantung pada posisi motor saat ini.
Sebagai contoh, jika motor mulai berputar pada sudut 0 derajat dan berputar hingga posisi 720 derajat, maka motor akan berputar maju dua putaran. Jika kemudian berputar hingga posisi 360 derajat, maka motor akan berputar mundur satu putaran, karena 360 kurang dari 720.
putar [ArmMotor v] ke posisi (500) [derajat v] ▶
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diputar: IntakeMotor atau ArmMotor. |
posisi |
Nilai posisi putaran motor. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan posisi: derajat atau putaran. |
dan jangan menunggu |
Pilih tanda panah ( ▶ ) untuk memperluas blok menjadi dan jangan menunggu, sehingga blok berikutnya dalam tumpukan akan segera dijalankan. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] ke posisi (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
motor berhenti#
Blok tumpukan stop motor menghentikan motor yang dipilih.
hentikan [IntakeMotor v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan dihentikan: IntakeMotor atau ArmMotor. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
tunggu (1) detik
hentikan [IntakeMotor v]
Pengaturan#
mengatur kecepatan motorik#
Blok tumpukan set motor velocity memberi tahu motor seberapa cepat harus berputar. Persentase yang lebih tinggi membuat motor berputar lebih cepat dan persentase yang lebih rendah membuat motor berputar lebih lambat.
Setiap proyek dimulai dengan setiap motor berputar pada kecepatan 50% secara default.
Catatan: Kecepatan yang lebih tinggi membuat motor berputar lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat motor berputar lebih lambat, tetapi bisa lebih presisi.
atur kecepatan [IntakeMotor v] ke [50] [% v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan mengatur kecepatan: IntakeMotor atau ArmMotor. |
kecepatan |
Kecepatan putaran motor. Persen menggunakan bilangan bulat dari 0% hingga 100%. |
satuan |
Satuan kecepatan: *%. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
atur kecepatan [IntakeMotor v] ke [100] [% v]
putar [IntakeMotor v] [pengambilan v]
atur waktu habis motor#
Blok tumpukan set motor timeout mengatur berapa lama motor akan mencoba menyelesaikan suatu gerakan. Jika motor tidak dapat menyelesaikannya dalam waktu tersebut, motor akan berhenti mencoba dan beralih ke blok berikutnya dalam tumpukan. Ini mencegah motor macet pada suatu gerakan.
atur batas waktu [ArmMotor v] ke [1] detik
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diatur waktu habisnya: IntakeMotor atau ArmMotor. |
waktu |
Jumlah detik yang dapat dicoba oleh motor untuk menyelesaikan suatu gerakan. Ini bisa berupa bilangan bulat atau desimal. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
atur batas waktu [ArmMotor v] ke [2] detik
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
Posisi#
posisi motor#
Posisi motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam derajat atau putaran. Satu putaran sama dengan 360 derajat. Blok pelapor posisi motor melaporkan posisi motor saat ini.
Pada awal proyek, posisi motor diatur ke 0 derajat. Jika motor berputar satu putaran penuh ke depan, posisinya akan menjadi 360 derajat atau 1 putaran. Jika motor berputar ke arah lain, posisinya akan negatif.
(posisi [ArmMotor v] dalam [derajat v])
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan melaporkan posisi: IntakeMotor atau ArmMotor. |
satuan |
Satuan untuk melaporkan posisi motor adalah: derajat atau putaran. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
selagi <(posisi [ArmMotor v] dalam [derajat v]) [math_less_than v] [360]>
putar [ArmMotor v] [naik v]
tunggu (0.002) detik
selesai
hentikan [ArmMotor v]
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
atur posisi motor#
Posisi motor adalah seberapa jauh motor telah berputar, diukur dalam derajat atau putaran. Satu putaran sama dengan 360 derajat. Blok tumpukan atur posisi motor mengubah posisi motor saat ini ke nilai baru.
Sebagai contoh, jika sebuah motor telah berputar hingga 180 derajat, mengatur posisi ke 0 derajat akan mengatur ulang posisi tersebut dari 180 menjadi 0 derajat. Kemudian motor dapat berputar ke posisi berdasarkan nilai baru tersebut.
atur posisi [ArmMotor v] ke (0) [derajat v]
Parameter |
Keterangan |
|---|---|
motor |
Motor untuk mengatur posisi: IntakeMotor atau ArmMotor. |
posisi |
Nilai posisi yang akan diatur. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan posisi: derajat atau putaran. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
atur posisi [ArmMotor v] ke [0] [derajat v]
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
Nilai-nilai#
mesin sudah selesai#
Blok Boolean motor is done melaporkan apakah motor telah selesai bergerak. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor.
Benar — Motor sudah berhenti bergerak.
Salah — Motor masih berputar.
Blok ini bekerja bersama dengan blok Gerak berikut yang memiliki parameter dan jangan menunggu: putar motor selama dan putar motor ke posisi.
<[ArmMotor v] selesai?>
Parameter |
Keterangan |
|---|---|
motor |
Motor yang melaporkan apakah sudah selesai bergerak: IntakeMotor atau ArmMotor. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] ke posisi (1) [putaran v] ◀ dan jangan tunggu
tunggu sampai <[ArmMotor v] selesai?>
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
motor berputar#
Blok Boolean motor sedang berputar melaporkan apakah motor sedang berputar. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor.
Benar — Motornya berputar.
Salah — Motor tidak berputar.
Blok ini bekerja bersama dengan blok Gerak berikut yang memiliki parameter dan jangan menunggu: putar motor selama dan putar motor ke posisi.
<[IntakeMotor v] sedang berputar?>
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan melaporkan apakah sedang berputar: IntakeMotor atau ArmMotor. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
tunggu sampai <bukan <[IntakeMotor v] sedang berputar?>>
hentikan [IntakeMotor v]
kecepatan motorik#
Blok pelapor kecepatan motor melaporkan seberapa cepat motor berputar, sebagai persentase dari -100% hingga 100%.
(kecepatan [IntakeMotor v] dalam [% v] :: custom-motion)
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan dilaporkan kecepatannya adalah: IntakeMotor atau ArmMotor. |
satuan |
Satuan yang digunakan untuk melaporkan kecepatan motorik adalah: *%. |
Contoh
saat dimulai
[Score a Bean Bag in a Blue Goal.]
belok [kiri v] sejauh (90) derajat ▶
kendarai [maju v] sejauh (35) [inci v] ▶
belok [kanan v] sejauh (90) derajat ▶
putar [ArmMotor v] [naik v] sejauh (1) [putaran v] ▶
kendarai [maju v] sejauh (40) [inci v] ▶
putar [IntakeMotor v] [pengambilan v]
tunggu [0.2] detik
cetak (kecepatan [IntakeMotor v] dalam [% v] :: custom-motion) ▶
Visi AI#
Tindakan#
mendapatkan data objek#
Blok get object data menyaring data dari frame IQ AI Vision Sensor ke satu tanda tangan tunggal — deskripsi tersimpan dari sesuatu yang dapat dikenali oleh sensor, seperti elemen permainan di lapangan.
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. Dataset kosong akan dikembalikan jika tidak ada objek yang cocok yang terdeteksi.
dapatkan data [Klasifikasi AI v] dari [AIVision v]
Parameter |
Keterangan |
|---|---|
tanda tangan |
Memfilter dataset agar hanya menyertakan data dari tanda tangan yang diberikan. Tanda tangan yang tersedia adalah:
|
Contoh
saat dimulai :: hat events
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Find and face the nearest red Bean Bag.]
atur kecepatan belok ke (30) [% v]
atur [object_counter v] ke [1]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
ulangi (jumlah objek [AIVision v])
atur item objek [AIVision v] ke (object_counter)
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
if <(objek [AIVision v] [centerX v]) < (140)> then
belok [kiri v]
else if <([AIVision v] object [centerX v]) > (180)> then
belok [kanan v]
lainnya
hentikan mengemudi
selesai
hentikan
selesai
ubah [object_counter v] sebesar [1]
selesai
Pengaturan#
atur item objek#
Blok set object item menentukan item mana dalam dataset yang akan digunakan.
atur item objek [AIVision v] ke [1]
Parameter |
Keterangan |
|---|---|
barang |
Nomor item dalam dataset yang akan digunakan. |
Contoh
saat dimulai :: hat events
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Find the index of the nearest red Bean Bag.]
atur [object_counter v] ke [1]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
ulangi (jumlah objek [AIVision v])
atur item objek [AIVision v] ke (object_counter)
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
cetak (gabung [Nearest Red Bean Bag is ] (object_counter)) ▶
hentikan
lainnya
ubah [object_counter v] sebesar [1]
selesai
selesai
Nilai-nilai#
objek ada#
Blok objek ada mengembalikan nilai Boolean yang menunjukkan apakah ada objek yang terdeteksi dalam dataset.
Benar - Dataset tersebut mencakup objek yang terdeteksi.
Salah - Dataset ini tidak menyertakan objek yang terdeteksi.
<objek [AIVision v] ada?>
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai :: hat events
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Turn until a Bean Bag is detected.]
atur kecepatan belok ke (30) [% v]
belok [kanan v]
ulangi sampai <objek [AIVision v] ada?>
dapatkan data [Klasifikasi AI v] dari [AIVision v]
selesai
hentikan mengemudi
objek adalah#
Blok object is mengembalikan 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 [AIVision v] adalah [RedBeanBag v]?>
Parameter |
Keterangan |
|---|---|
obyek |
Objek mana yang akan dibandingkan dengan item ini: RedBeanBag, BlueBeanBag, atau YellowBeanBag. |
Contoh
saat dimulai :: hat events
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Find the index of the nearest red Bean Bag.]
atur [object_counter v] ke [1]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
ulangi (jumlah objek [AIVision v])
atur item objek [AIVision v] ke (object_counter)
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
cetak (gabung [Nearest Red Bean Bag is ] (object_counter)) ▶
hentikan
lainnya
ubah [object_counter v] sebesar [1]
selesai
selesai
Objeknya adalah AprilTag#
Blok object is AprilTag mengembalikan 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 [AIVision v] adalah AprilTag [0]?>
Parameter |
Keterangan |
|---|---|
AprilTag ID |
Nomor ID yang akan dibandingkan dengan AprilTag yang terdeteksi. |
Contoh
saat dimulai :: hat events
[Stop when you see the Red Goal!]
atur kecepatan belok ke (30) [% v]
belok [kanan v]
ulangi sampai <objek [AIVision v] adalah AprilTag [1]?>
dapatkan data [AprilTags v] dari [AIVision v]
selesai
hentikan mengemudi
cetak [Found the Red Goal!] ▶
jumlah objek#
Blok object count mengembalikan jumlah objek yang terdeteksi dalam dataset sebagai bilangan bulat.
(jumlah objek [AIVision v])
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai :: hat events
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Print how many Bean Bags are detected.]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
cetak (jumlah objek [AIVision v]) ▶
properti objek#
Terdapat enam properti yang disertakan dengan setiap objek yang disimpan setelah blok get object data digunakan.
(objek [AIVision v] [lebar v])
Semua nilai properti menjelaskan posisi dan ukuran objek yang terdeteksi dalam tampilan IQ AI Vision Sensor pada saat blok get object data digunakan. Nilai-nilai ini diukur dalam piksel, berdasarkan resolusi sensor 320 x 240 piksel.
Parameter |
Keterangan |
|---|---|
milik |
Properti mana dari objek yang terdeteksi yang akan digunakan: width, height, centerX, centerY, originX, atau originY. |
lebar#
Properti width melaporkan lebar objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 320.
(objek [AIVision v] [lebar v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Approach the Bean Bag, then pick it up.]
atur kecepatan kendarai ke (30) [% v]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
if <([AIVision v] object [width v]) > (180)> then
kendarai [maju v] sejauh [50] [mm v] ▶
putar [IntakeMotor v] [asupan v] sejauh [90] [derajat v] ▶
hentikan
lainnya
kendarai [maju v]
selesai
selesai
selesai
selesai
tinggi#
Properti height melaporkan tinggi objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 1 hingga 240.
(objek [AIVision v] [tinggi v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Approach the Bean Bag, then pick it up.]
atur kecepatan kendarai ke (30) [% v]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
if <([AIVision v] object [height v]) > (100)> then
kendarai [maju v] sejauh [50] [mm v] ▶
putar [IntakeMotor v] [asupan v] sejauh [90] [derajat v] ▶
hentikan
lainnya
kendarai [maju v]
selesai
selesai
selesai
selesai
pusatX#
Properti centerX melaporkan koordinat x dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 320.
(objek [AIVision v] [centerX v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Steer to keep the Bean Bag centered while approaching.]
atur kecepatan belok ke (30) [% v]
atur kecepatan kendarai ke (30) [% v]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
if <(objek [AIVision v] [centerX v]) < (140)> then
belok [kiri v] sejauh (5) derajat ▶
lainnya
kendarai [maju v] sejauh (150) [mm v] ▶
putar [IntakeMotor v] [asupan v]
hentikan
selesai
selesai
selesai
selesai
pusatY#
Properti centerY melaporkan koordinat y dari pusat objek yang terdeteksi dalam piksel sebagai bilangan bulat dari 0 hingga 240.
(objek [AIVision v] [centerY v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Print the y-position of the Bean Bag.]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
cetak (objek [AIVision v] [centerY v]) ▶
selesai
selesai
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 [AIVision v] [originX v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Steer to keep the left edge centered.]
atur kecepatan belok ke (30) [% v]
atur kecepatan kendarai ke (30) [% v]
selamanya
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
if <(objek [AIVision v] [originX v]) < (100)> then
belok [kiri v] sejauh (5) derajat ▶
lainnya
kendarai [maju v] sejauh (150) [mm v] ▶
putar [IntakeMotor v] [asupan v]
hentikan
selesai
selesai
selesai
selesai
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 [AIVision v] [originY v])
Contoh
saat dimulai
[Drop the preloaded Bean Bag.]
putar [IntakeMotor v] [pengambilan v] sejauh (180) [derajat v] ▶
belok [kiri v] sejauh (90) derajat ▶
[Print the y-position of the Bean Bag's top edge.]
dapatkan data [Klasifikasi AI v] dari [AIVision v]
jika <objek [AIVision v] ada?> maka
atur item objek [AIVision v] ke [1]
jika <objek [AIVision v] adalah [RedBeanBag v]?> maka
cetak (objek [AIVision v] [originY v]) ▶
selesai
selesai