Görüş#

giriiş#

VEX AIR Drone, AprilTag kimliklerini algılayan ve izleyen iki adet Görsel Sensöre sahiptir. Bu sensörler, dronun çevresini analiz etmesine, nesneleri takip etmesine ve algılanan görsel verilere göre tepki vermesine olanak tanır.

Aşağıda mevcut tüm blokların listesi bulunmaktadır:

İşlemler — Görüntü akışını kontrol edin ve nesne verilerini yakalayın.

Ayarlar — Algılanan hangi nesnelere erişileceğini ayarlayın.

Değerler — Nesnenin varlığını, sınıflandırmasını ve özelliklerini alın.

Eylemler#

nesne verilerini al#

Nesne verilerini al yığın bloğu, Görsel Sensörün çerçevesindeki verileri filtreler. Görsel Sensörler AprilTag Kimliklerini algılayabilir.

Veri seti, 0 indeksinden başlayarak genişliğe göre en büyükten en küçüğe doğru sıralanmış nesneleri depolar. Her nesnenin özelliklerine Vision object property bloğu kullanılarak erişilebilir. Eşleşen nesne bulunmazsa boş bir veri seti raporlanır.

Nesne verilerini alma yığın bloğu.#
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al

Parametre

Tanım

imza

Veri kümesini yalnızca belirtilen imzaya ait verileri içerecek şekilde filtreler. Mevcut imzalar tüm AprilTags’tir.

kamera

Verileri almak için kullanılan Görüntü Sensörü, ileri veya aşağı yönden veri toplar.

Örnek

başladığında
[Climb upward when an AprilTag ID is detected.]
[300] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
eğer <Vision nesnesi var mı?> ise
[yukarı v] yönünde [200] [mm v] tırman ▶

Ayarlar#

Vision nesne öğesini ayarla#

Set Vision object item yığın bloğu, veri kümesindeki hangi öğenin kullanılacağını belirler.

Yapay Zeka Görüşü nesne öğesi yığın bloğunu ayarlayın.#
Vision nesne öğesini [1] olarak ayarla

Parametreler

Tanım

öğe

Veri setinde kullanılacak öğenin numarası.

Örnek

başladığında
[Display the smallest-appearing AprilTag ID.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
Vision nesne öğesini (Vision nesne sayısı) olarak ayarla
konsolda (Vision nesnesi [id v]) yazdır ▶

Değerler#

Görsel nesne mevcuttur.#

Görüş nesnesi mevcut Boolean bloğu, belirtilen Görüş Sensörünün şu anda herhangi bir nesne algılayıp algılamadığını bildirir.

  • Doğru — Belirtilen Görüntü Sensörü bir nesne algılıyor.

  • Yanlış — Belirtilen Görüntü Sensörü herhangi bir nesne algılamadı.

Yapay Zeka Görseli kontrol paneli yığın bloğunu göster veya gizle.#
<Vision nesnesi var mı?>

Parametre

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Climb upward when an AprilTag ID is detected.]
[300] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
eğer <Vision nesnesi var mı?> ise
[yukarı v] yönünde [200] [mm v] tırman ▶

Görsel nesne AprilTag ID’dir.#

Vision nesnesi AprilTag ID Boolean bloğu, AprilTag ID’nin belirli bir kimlik numarası olup olmadığını bildirir.

  • Doğru — AprilTag ID’si numaradır.

  • Yanlış — AprilTag ID’si numara değildir.

AI Vision, AprilTag ID’sinin Boolean blok olduğunu tespit etti.#
<Vision object is AprilTag ID [1]>

Parametreler

Tanım

Nisan Etiketi kimlik numarası

Tespit edilen AprilTag kimlik numarasıyla karşılaştırılacak sayı (0 ile 37 arası).

Örnek

başladığında
[Display when the target AprilTag ID is detected.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
eğer <Vision object is AprilTag ID [21]> ise
konsolda [Target found!] yazdır ▶
son

Görsel nesne sayısı#

Görsel nesne sayısı raporlama bloğu, veri kümesindeki tespit edilen nesnelerin sayısını tam sayı olarak rapor eder.

Yapay Zeka Görüşü nesne öğesi yığın bloğunu ayarlayın.#
(Vision nesne sayısı)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Display how many AprilTag IDs are detected.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
konsolda (Vision nesne sayısı) yazdır ▶
[0.2] saniye bekle

Görsel nesne özelliği#

Nesne verilerini al bloğu kullanıldıktan sonra depolanan her nesneyle birlikte birden fazla özellik bulunur (aşağıda gösterilmiştir).

AI Vision nesne özelliği raporlayıcı bloğu.#
(Vision nesnesi [genişlik v])

id dışındaki tüm özellik değerleri, nesne verilerini al bloğunun kullanıldığı anda algılanan nesnenin konumunu, boyutunu, yönünü veya açısını tanımlar. Bu değerler piksel veya derece cinsinden ölçülür. Her Görüş Sensörünün farklı bir çözünürlüğü vardır:

  • Öne bakan: 640 x 480 piksel

  • Aşağıya bakan: 640 x 400 piksel

Parametre

Tanım

mülk

Algılanan nesnenin hangi özelliğini kullanacağız:

Genişlik#

Genişlik özelliği, algılanan nesnenin genişliğini piksel cinsinden, 1 ile 640 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi genişlik olarak ayarlanmış halde.#
(Vision nesnesi [genişlik v])

Örnek

başladığında
[Show if the AprilTag ID appears large or small.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
eğer <(Vision nesnesi [genişlik v]) [math_greater_than v] [100]> ise
konsolda [Large] yazdır ▶
değilse
konsolda [Small] yazdır ▶
son
son
[0.2] saniye bekle

yükseklik#

Height özelliği, algılanan nesnenin yüksekliğini piksel cinsinden, 1 ile 480 arasında tam sayı olarak bildirir.

Yükseklik parametresi ayarlanmış AI Vision nesnesi özellik yığını bloğu.#
(Vision nesnesi [yükseklik v])

Örnek

başladığında
[Show if the AprilTag ID appears large or small.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
eğer <(Vision nesnesi [yükseklik v]) [math_greater_than v] [100]> ise
konsolda [Large] yazdır ▶
değilse
konsolda [Small] yazdır ▶
son
son
[0.2] saniye bekle

merkezX#

centerX özelliği, algılanan nesnenin merkezinin x koordinatını piksel cinsinden, 1 ile 640 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi centerX olarak ayarlanmış halde.#
(Vision nesnesi [merkezX v])

Örnek

başladığında
[Show if an AprilTag ID is to the left or the right of the camera.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
eğer <(Vision nesnesi [merkezX v]) [math_less_than v] [320]> ise
konsolda [To the left] yazdır ▶
değilse
konsolda [To the right] yazdır ▶
son
son
[0.2] saniye bekle

merkezY#

centerY özelliği, tespit edilen nesnenin merkezinin y koordinatını piksel cinsinden, 1 ile 480 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi centerY olarak ayarlanmış halde.#
(Vision nesnesi [merkezY v])

Örnek

başladığında
[Take off and attempt to align the drone with an AprilTag ID on the wall.]
[Adjust the takeoff height to observe different results.]
[800] [mm v] yüksekliğe kalkış yap ▶
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
eğer <Vision nesnesi var mı?> ise
eğer <(Vision nesnesi [merkezY v]) [math_less_than v] [240]> ise
konsolda [Below the target!] yazdır ▶
değilse
konsolda [Above the target!] yazdır ▶
son
değilse
konsolda [No target found!] yazdır ▶

yatak#

Yön özelliği, bir nesnenin drone’a göre konumunu gösteren bir açıyı bildirir. Davranış, kullanılan Görüş Sensörüne bağlıdır.

0° değeri, nesnenin ve sensörün merkezlerinin hizalandığını gösterir. Pozitif değerler nesnenin sağda, negatif değerler ise solda olduğunu ifade eder.

Sensör

İadeler

Aşağı doğru

İnsansız hava aracının ön kısmının, cismin merkeziyle hizalanması için dönmesi gereken açı (derece cinsinden), -180º ile 180º arasındadır.

İleri

Nesnenin, görüş sensörünün merkezine göre sola veya sağa doğru -180º ile 180º arasında değişen açıdaki uzaklığını gösterir.

AI Vision nesnesinin özellik yığını bloğu, parametresi centerY olarak ayarlanmış halde.#
(Vision nesnesi [yön açısı v])

Örnekler

başladığında
[Align the front of the drone to an AprilTag ID.]
dönüş hızını (15)% olarak ayarla
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
Vision [aşağıya v] kamerasından [tüm AprilTag'ler v] verilerini al
eğer <Vision nesnesi var mı?> ise
eğer <[-20] [math_less_than v] (Vision nesnesi [yön açısı v]) [math_less_than v] [20]> ise
[Hover once sensor is centered on the AprilTag ID.]
askıda kal
[başarı v] sesini çal ▶
değilse eğer <(Vision nesnesi [yön açısı v]) [math_less_than v] [-21]> ise
[sol v] yönüne dön
değilse
[sağ v] yönüne dön

rotasyon#

Döndürme özelliği, algılanan AprilTag ID’sinin yönünü 1 ile 359 derece arasında tam sayı olarak bildirir.

Parametresi döndürme olarak ayarlanmış AI Vision nesne özellik yığını bloğu.#
(Vision nesnesi [döndürme v])

Örnek

başladığında
[Turn left or right based on the rotation of an AprilTag ID.]
[1000] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
eğer <Vision nesnesi var mı?> ise
eğer <[240] [math_less_than v] (Vision nesnesi [döndürme v]) [math_less_than v] [300]> ise
[sol v] yönüne [90] derece dön ▶
değilse eğer <[60] [math_less_than v] (Vision nesnesi [döndürme v]) [math_less_than v] [120]> ise
[sağ v] yönüne [90] derece dön ▶
değilse
askıda kal

originX#

originX özelliği, algılanan nesnenin sınırlayıcı kutusunun sol üst köşesinin x koordinatını piksel cinsinden, 1 ile 640 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi originX olarak ayarlanmış halde.#
(Vision nesnesi [başlangıçX v])

Örnek

başladığında
[Draw lines to the AprilTag ID origin from all corners.]
sonsuza kadar
ekranı temizle
get [all AprilTags v] data from vision [forward v] camera
eğer <Vision nesnesi var mı?> ise
ekranda [0] [0] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [0] [480] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [640] [0] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [640] [480] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
son
[0.2] saniye bekle

originY#

originY özelliği, tespit edilen nesnenin sınırlayıcı kutusunun sol üst köşesinin y koordinatını piksel cinsinden, 1 ile 480 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi originY olarak ayarlanmış halde.#
(Vision nesnesi [başlangıçY v])

Örnek

başladığında
[Draw lines to the AprilTag ID origin from all corners.]
sonsuza kadar
ekranı temizle
get [all AprilTags v] data from vision [forward v] camera
eğer <Vision nesnesi var mı?> ise
ekranda [0] [0] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [0] [480] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [640] [0] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
ekranda [640] [480] (Vision nesnesi [başlangıçX v]) (Vision nesnesi [başlangıçY v]) noktaları arasına çizgi çiz
son
[0.2] saniye bekle

İD#

id özelliği, tespit edilen AprilTag ID’sinin tanımlama numarasını tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi tagID olarak ayarlanmış halde.#
(Vision nesnesi [id v])

Örnek

başladığında
[Display the detected AprilTag ID.]
sonsuza kadar
Vision [ileri v] kamerasından [tüm AprilTag'ler v] verilerini al
konsolu temizle
eğer <Vision nesnesi var mı?> ise
konsolda (Vision nesnesi [id v]) yazdır ▶
son
[0.2] saniye bekle