Robota Özgü Bloklar#

giriiş#

Kahraman robot Flex, bir pençe motoru, bir kol motoru, bir yapay zeka görüş sensörü, bir mesafe sensörü ve bir oyun konumlandırma sistemi (GPS) sensörü içerir.

Tüm standart VEXcode VR Blokları, V5 26-27 Override Oyun Alanında kullanılabilir.

Aşağıda, robotlara özel tüm blokların listesi bulunmaktadır:

Tahrik Sistemi – Robotu hareket ettirin ve döndürün.

Hareket – Robotun motorlarını hareket ettirin ve takip edin.

Yapay Zeka Görüntüleme – Yapay Zeka Görüntüleme Sensörünü kullanarak nesneleri yakalayın ve analiz edin.

  • İşlemler

    • nesne verilerini al – Algılanan bir Yapay Zeka Sınıflandırması gibi belirli bir imza için verileri yakalar.

  • Ayarlar

  • Değerler

    • nesne mevcut – Herhangi bir sınıflandırmanın tespit edilip edilmediğini döndürür.

    • nesne şudur – Bir sınıflandırmanın tespit edilip edilmediğini döndürür.

    • nesne AprilTag’dir – Tespit edilen nesnenin belirli bir kimlikle eşleşen bir AprilTag olup olmadığını döndürür.

    • nesne sayısı – Kaç nesnenin tespit edildiğini döndürür.

    • nesne özelliği – Şunlar gibi ayrıntıları döndürür:

Algılama – Robotun çeşitli sensörlerini kullanın.

  • Mesafe

    • Mesafe bir nesne algıladı – Mesafe Sensörünün menzil içinde bir nesne algılayıp algılamadığını bildirir.

    • nesne mesafesi – Mesafe Sensörü ile en yakın algılanan nesne arasındaki mesafeyi bildirir.

  • KÜRESEL KONUMLAMA SİSTEMİ

    • GPS konumu – GPS Sensöründen X veya Y konumunu döndürür.

    • GPS yönü – Robotun şu anda baktığı yönü döndürür.

Bu sayfadaki örnekler, Oyun Alanı Maç Öncesi Kontrol Listesi’ndeki Başlangıç ​​Konumu C’yi kullanmaktadır.

Aktarma organları#

Tahrik sistemi, VR Robotunun nasıl hareket edeceğini ve döneceğini kontrol eder. Tahrik sistemi ileri veya geri hareket edebilir, sola veya sağa dönebilir, belirli bir yöne dönebilir ve kendi dönüşünü takip edebilir.

Eylemler#

sürmek#

Sürüş bloğu, robotu sonsuza dek ileri veya geri hareket ettirir. Robot, dönme veya durma gibi başka bir işlem verilene kadar hareket etmeye devam edecektir.

[ileri v] yönünde sürdür

Parametreler

Tanım

yön

Robotun hareket yönü: ileri veya geri.

Örnek

başladığında :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde sürdür
(0.5) saniye bekle
sürüşü durdur
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

sürüş için#

Sürüş bloğu, robotu belirli bir mesafe boyunca ileri veya geri hareket ettirir. Proje, robot hareketini tamamlayana kadar bir sonraki bloğun çalışmasını bekleyecektir.

[ileri v] yönünde (200) [mm v] sürdür ▶

Parametreler

Tanım

yön

Robotun hareket yönü: ileri veya geri.

mesafe

Robotun kat ettiği mesafe. Bu bir tam sayı veya ondalık sayı olabilir.

birim

Mesafe birimi: mm (milimetre) veya inç

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

dönüş#

Döndürme bloğu, robotu sonsuza dek sola veya sağa döndürür. Robot, sürüş veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.

[sağ v] yönüne dön

Parametreler

Tanım

yön

Robotun dönüş yönü: sola veya sağa.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
[sol v] yönüne dön
(0.78) saniye bekle
sürüşü durdur
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

dönüş için#

Dönme bloğu, robotu belirli bir derece kadar sola veya sağa döndürür. Dönme, robotun mevcut konumuna göre belirlenir. Proje, robotun dönmesi tamamlanana kadar bir sonraki bloğun çalışmasını bekleyecektir.

[sağ v] yönüne (90) derece dön ▶

Parametreler

Tanım

yön

Robotun dönüş yönü: sola veya sağa.

açı

Robotun döndüğü derece sayısı. Bu bir tam sayı veya ondalık sayı olabilir.

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
[sol v] yönüne (110) derece dön ▶
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

başlığa dön#

Yön, robotun baktığı yönü derece cinsinden ifade eder. Yöne dön bloğu, robotu -359 ile 359 derece arasında belirli bir yöne döndürür. Robot, hedef yöne ulaşmak için en kısa yöne dönecektir.

Başlangıç ​​yönü 0 derecedir.

Proje, robotun dönüşü tamamlanana kadar bir sonraki bloğun çalışmasını bekleyecektir.

(90) derece yönüne dön ▶

Parametreler

Tanım

başlık

Robotun bakması gereken yön, -359 ile 359 derece arasındadır.

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
(-110) derece yönüne dön ▶
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

döndürmeye dön#

Döndürme bloğu, robotu belirli bir dönüşe döndürür.

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. Dönme ayrıca sürüş dönüşünü ayarla bloğu kullanılarak da ayarlanabilir.

Dönme değerleri mutlaktır. Bu, dönüş yönünün robotun mevcut dönüşüne bağlı olduğu anlamına gelir. Sağa dönmek dönmeyi artırır, sola dönmek ise dönmeyi azaltır.

Örneğin, robot 0 dereceden başlarsa ve 720 derece döndürürseniz, iki kez sağa dönecektir. Ardından 360 derece döndürürseniz, 360, 720’den küçük olduğu için bir kez sola dönecektir.

Proje, robotun dönüşü tamamlanana kadar bir sonraki bloğun çalışmasını bekleyecektir.

(90) derece dönüşüne dön ▶

Parametreler

Tanım

rotasyon

Robotun döneceği dönüş açısı (derece cinsinden). Bu bir tam sayı veya ondalık sayı olabilir.

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
(-110) derece dönüşüne dön ▶
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

sürüşü bırakın#

Sürüşü durdur blok, robotun hareketini durdurur.

sürüşü durdur

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde sürdür
(0.5) saniye bekle
sürüşü durdur
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

Ayarlar#

sürüş hızını ayarla#

Sürüş hızını ayarla bloğu, robota ne kadar hızlı hareket etmesi gerektiğini söyler. Daha yüksek bir yüzde, robotun daha hızlı hareket etmesini, daha düşük bir yüzde ise daha yavaş hareket etmesini sağlar.

Her proje, robotun varsayılan olarak %50 hızda hareket etmesiyle başlar.

Not: Daha yüksek hız, robotun daha hızlı hareket etmesini sağlar, ancak hassasiyeti azalabilir. Daha düşük hız ise robotun daha yavaş hareket etmesini sağlar, ancak hassasiyeti artabilir.

sürüş hızını (50) [% v] olarak ayarla

Parametreler

Tanım

hız

Sürüş hızı %0 ile %100 arasında değişir.

birim

Hız birimi: %

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
[sol v] yönüne (110) derece dön ▶
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
sürüş hızını (100) [% v] olarak ayarla
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

dönüş hızını ayarla#

Dönüş hızını ayarla bloğu, robota ne kadar hızlı döneceğini söyler. Daha yüksek bir yüzde robotun daha hızlı dönmesini, daha düşük bir yüzde ise robotun daha yavaş dönmesini sağlar.

Her proje, robotun varsayılan olarak %50 hızda dönmesiyle başlar.

Not: Daha yüksek hız, robotun daha hızlı dönmesini sağlar, ancak hassasiyeti azalabilir. Daha düşük hız ise robotun daha yavaş dönmesini sağlar, ancak hassasiyeti artabilir.

dönüş hızını (50) [% v] olarak ayarla

Parametreler

Tanım

hız

Dönüş hızı %0 ile %100 arasında değişir.

birim

Hız birimi: %

Örnek

başladığında :: hat events
[Turn to face the Neutral Goal faster.]
dönüş hızını (100) [% v] olarak ayarla
[sol v] yönüne (110) derece dön ▶

sürüş yönünü ayarla#

Yön, robotun baktığı yönü derece cinsinden ifade eder. Sürüş yönünü ayarla yığın bloğu, robotun mevcut yönünü yeni bir yön değerine değiştirir.

Örneğin, robot sağa doğru dönmüşse, yönü 0 dereceye ayarlamak, sağa dönük bu pozisyonu yeni 0 derece yapar. Ardından robot, bu yeni yöne göre diğer pozisyonlara dönebilir.

sürüş yönünü (0) derece olarak ayarla

Parametreler

Tanım

başlık

Robot için ayarlanacak yön değeri (derece cinsinden).

Örnek

başladığında :: hat events
[Make facing the Neutral Goal the new heading.]
sürüş yönünü (110) derece olarak ayarla
(0) derece yönüne dön ▶

tahrik dönüşünü ayarlayın#

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. Sürüş dönüşünü ayarla yığın bloğu, robotun mevcut dönüşünü yeni bir değere değiştirir.

Örneğin, robot sağa doğru iki tam tur atmışsa, dönüş değeri 720 derece olacaktır. Dönüşü 0 dereceye ayarlamak, bu dönüş değerini 720’den 0 dereceye sıfırlayacaktır. Ardından robot, bu yeni değere göre dönüş yapabilir.

sürüş dönüşünü (0) derece olarak ayarla

Parametreler

Tanım

rotasyon

Robot için ayarlanacak dönüş değeri (derece cinsinden). Bu bir tamsayı veya ondalık sayı olabilir.

Örnek

başladığında :: hat events
[Make facing the Neutral Goal the new rotation.]
sürüş dönüşünü (110) derece olarak ayarla
(0) derece dönüşüne dön ▶

sürüş zaman aşımını ayarla#

Sürüş zaman aşımını ayarla blok seti, robotun bir hareketi tamamlamak için kaç saniye deneyeceğini belirler. Robot bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve yığındaki bir sonraki bloğa geçer. Bu, robotun bir harekette takılıp kalmasını önler.

sürüş zaman aşımını (1) saniye olarak ayarla

Parametreler

Tanım

zaman

Robotun bir hareketi tamamlamak için deneyebileceği saniye sayısı. Bu, tam sayı veya ondalık sayı olabilir.

Örnek

başladığında :: hat events
[Turn to face the Neutral Goal.]
sürüş zaman aşımını (0.8) saniye olarak ayarla
[sol v] yönüne (180) derece dön ▶

Değerler#

Sürüş tamamlandı.#

Sürüş tamamlandı Boolean bloğu, robotun hareketinin bitip bitmediğini bildirir. Bu, robotun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • Doğru — Robot hareket etmeyi bitirdi.

  • Yanlış — Robot hala hareket halinde.

Bu blok, ve bekleme parametresine sahip aktarma organı bloklarıyla birlikte çalışır.

<sürüş tamamlandı mı?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Score a Pin in a Neutral Goal.]
[sol v] yönüne (110) derece dön ▶
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ◀ ve bekleme
<sürüş tamamlandı mı?> olana kadar bekle
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

Sürücü hareket ediyor.#

Robot hareket ediyor Boolean bloğu, robotun hareket edip etmediğini bildirir. Bu, robotun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • Doğru — Robot hareket ediyor.

  • Yanlış — Robot hareket etmiyor.

Bu blok, ve bekleme parametresine sahip aktarma organı bloklarıyla birlikte çalışır.

<sürüş devam ediyor mu?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Raise the Arm once stopped near the Goal.]
[sol v] yönüne (110) derece dön ▶
[ileri v] yönünde (25) [inç v] sürdür ◀ ve bekleme
<sürüş devam ediyor mu?> iken
(0.005) saniye bekle
son
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶

sürüş yönü#

Yön, robotun baktığı yönü derece cinsinden ifade eder. Sürüş yönü raporlama bloğu, bu yönü 0 ile 359,99 derece arasında rapor eder.

Robotun başlangıç ​​yönü 0 derecedir.

(sürüş yönü derece cinsinden)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Turn to the Goal, then show heading.]
[sağ v] yönüne (450) derece dön ▶
ekranda (sürüş yönü derece cinsinden) yazdır ◀ ve imleci sonraki satıra taşı

tahrik dönüşü#

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. Sürüş dönüşü raporlayıcı bloğu, robotun mevcut dönüşünü rapor eder.

Sağa dönmek dönüş açısını artırırken, sola dönmek dönüş açısını azaltır. Örneğin, sağa iki tam dönüş yapmak 720 derecelik bir dönüş olarak rapor edilecektir.

(sürüş dönüşü derece cinsinden)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Spin to find a Pin, then show rotation.]
[sağ v] yönüne (450) derece dön ▶
ekranda (sürüş dönüşü derece cinsinden) yazdır ◀ ve imleci sonraki satıra taşı

sürüş hızı#

Sürüş hızı raporlama bloğu, robotun ne kadar hızlı sürdüğünü bildirir.

([% v] cinsinden sürüş hızı)

Parametreler

Tanım

birim

Hız birimi: %

Örnek

başladığında :: hat events
[Show speed while driving to the Goal.]
[ileri v] yönünde (150) [mm v] sürdür ▶
ekranda ([% v] cinsinden sürüş hızı) yazdır ◀ ve imleci sonraki satıra taşı

Hareket#

Flex, kolu kaldırmak ve indirmek için ArmMotor’u, pençeyi açmak ve kapatmak için ise ClawMotor’u kullanır.

Her motorun kendine özgü yön seçenekleri vardır. Yön adları, o motorun Flex üzerinde nasıl hareket ettiğini açıklar.

Eylemler#

dönme motoru#

Dönen motor bloğu, bir motoru iki yönden birinde sonsuza kadar döndürür. Motor, farklı bir yöne dönme veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.

[ArmMotor v] motorunu [yukarı v] yönünde döndür

Parametreler

Tanım

motor

Döndürülecek motor: Kol Motoru veya Pençe Motoru.

yön

Motorun dönüş yönü:

  • Kol Motoru — yukarı veya aşağı
  • Pençe Motoru — açma veya kapatma

Örnek

başladığında
[Raise the Arm before driving toward a Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde döndür
(1) saniye bekle
[ArmMotor v] motorunu durdur

döndürme motoru için#

Yığın bloğu için döndürme motoru, belirli bir mesafe boyunca bir motoru döndürür. Dönme, motorun mevcut konumuna göre belirlenir. Proje, yığındaki bir sonraki bloğu çalıştırmadan önce motorun dönmesini bekleyecektir.

[ArmMotor v] motorunu [yukarı v] yönünde (90) [derece v] döndür ▶

Parametreler

Tanım

motor

Döndürülecek motor: Kol Motoru veya Pençe Motoru.

yön

Motorun dönüş yönü:

  • Kol Motoru — yukarı veya aşağı
  • Pençe Motoru — açma veya kapatma

mesafe

Motorun dönüş mesafesi. Derece tam sayılarla ifade edilir. Dönüş tam sayılar veya ondalık sayılarla ifade edilebilir.

birim

Mesafe birimi: derece veya tur.

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında
[Raise the Arm to carry the Pin to the Goal.]
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶

motoru pozisyona döndür#

Motoru belirli bir konuma döndürme bloğu, bir motoru belirli bir konuma döndürür.

Bir motorun konumu, derece veya tur cinsinden ölçülen, ne kadar döndüğünü gösterir. Bir tur, 360 dereceye eşittir. Bir projenin başlangıcında, ArmMotor’un konumu 0 dereceye ayarlanır. ClawMotor istisnadır; 467 derecede (tamamen kapalı) başlar. Motor konumu ayrıca motor konumunu ayarla bloğu kullanılarak da ayarlanabilir.

Pozisyon değerleri mutlaktır. Bu, dönüş yönünün motorun mevcut konumuna bağlı olduğu anlamına gelir.

Örneğin, motor 0 dereceden başlayıp 720 dereceye kadar dönerse, iki tur ileri dönecektir. Daha sonra 360 dereceye kadar dönerse, 360, 720’den küçük olduğu için bir tur geri dönecektir.

[ArmMotor v] motorunu (90) [derece v] konumuna döndür ▶

Parametreler

Tanım

motor

Döndürülecek motor: Kol Motoru veya Pençe Motoru.

konum

Motorun döneceği pozisyon değeri. Derece tam sayı, Dönüş ise tam sayı veya ondalık sayı olabilir.

birim

Konum birimi: derece veya tur.

ve beklemeyin

Oku ( ▶ ) seçerek bloğu genişletin ve beklemeyin deyin; böylece yığındaki bir sonraki blok hemen çalıştırılacaktır.

Örnek

başladığında
[Raise the Arm, then release the Pin.]
[ArmMotor v] motorunu (800) [derece v] konumuna döndür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

motoru durdur#

Motoru durdur bloğu, seçilen motoru durdurur.

[ArmMotor v] motorunu durdur

Parametreler

Tanım

motor

Durdurulacak motor: Kol Motoru veya Pençe Motoru.

Örnek

başladığında
[Raise the Arm partway to hold the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde döndür
(1) saniye bekle
[ArmMotor v] motorunu durdur

Ayarlar#

motor hızını ayarla#

Motor hızını ayarla bloğu, bir motora ne kadar hızlı döneceğini söyler. Daha yüksek bir yüzde, motorun daha hızlı dönmesini, daha düşük bir yüzde ise daha yavaş dönmesini sağlar.

Her proje, varsayılan olarak her motorun %50 hızda dönmesiyle başlar.

Not: Daha yüksek hız, motorun daha hızlı dönmesini sağlar ancak hassasiyeti azaltabilir. Daha düşük hız ise motorun daha yavaş dönmesini sağlar ancak hassasiyeti artırabilir.

[ArmMotor v] hızını [50] [% v] olarak ayarla

Parametreler

Tanım

motor

Hız ayarı yapılacak motor: Kol Motoru veya Pençe Motoru.

hız

Motorun dönme hızı. Yüzde, %0 ile %100 arasında tam sayılar kullanır.

birim

Hız birimi: %.

Örnek

başladığında
[Raise the Arm fast to release the Pin.]
[ArmMotor v] hızını [100] [% v] olarak ayarla
[ArmMotor v] motorunu [yukarı v] yönünde (800) [derece v] döndür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

motor zaman aşımını ayarla#

Motor zaman aşımını ayarla blok seti, bir motorun bir hareketi tamamlamak için ne kadar süre deneyeceğini belirler. Motor bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve yığındaki bir sonraki bloğa geçer. Bu, motorun bir harekette takılıp kalmasını önler.

[ArmMotor v] zaman aşımını [1] saniye olarak ayarla

Parametreler

Tanım

motor

Zaman aşımını ayarlamak için kullanılacak motor: ArmMotor veya ClawMotor.

zaman

Motorun bir hareketi tamamlamak için deneyebileceği saniye sayısı. Bu, tam sayı veya ondalık sayı olabilir.

Örnek

başladığında
[Score a Pin in a Neutral Goal.]
[sol v] yönüne (110) derece dön ▶
[ArmMotor v] zaman aşımını [1] saniye olarak ayarla
[ArmMotor v] motorunu [yukarı v] yönünde (1800) [derece v] döndür ▶
[ileri v] yönünde (25) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

Konum#

motor konumu#

Bir motorun konumu, kaç tur döndüğünü gösterir ve bu, derece veya tur cinsinden ölçülür. Bir tur, 360 dereceye eşittir. Motor konumu raporlayıcı bloğu, motorun mevcut konumunu bildirir.

Projenin başlangıcında, ArmMotor’un konumu 0 dereceye ayarlanır. ClawMotor ise istisnadır; 467 derecede (tamamen kapalı) başlar. Motor bir tam tur ileri dönerse, konum artar. Motor ters yöne dönerse, konum azalır.

([ArmMotor v] konumu [derece v] cinsinden)

Parametreler

Tanım

motor

Pozisyonu bildirecek motor: ArmMotor veya ClawMotor.

birim

Motor pozisyonunu derece veya tur cinsinden bildirecek birim.

Örnek

başladığında
[Raise the Arm, then release the Pin.]
<([ArmMotor v] konumu [derece v] cinsinden) < (800)> iken
[ArmMotor v] motorunu [yukarı v] yönünde döndür
(0.002) saniye bekle
son
[ArmMotor v] motorunu durdur
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

motor konumunu ayarla#

Bir motorun konumu, ne kadar döndüğünü gösterir ve derece veya tur cinsinden ölçülür. Bir tur, 360 dereceye eşittir. Motor konumunu ayarla blok bloğu, motorun mevcut konumunu yeni bir değere değiştirir.

Örneğin, bir motor 180 derece döndüyse, pozisyonu 0 dereceye ayarlamak, bu pozisyonu 180 dereceden 0 dereceye sıfırlar. Ardından motor, bu yeni değere göre pozisyonlara dönebilir.

[ArmMotor v] konumunu (0) [derece v] olarak ayarla

Parametreler

Tanım

motor

Pozisyonu ayarlamak için kullanılan motor: Kol Motoru veya Pençe Motoru.

konum

Motor için ayarlanacak konum değeri. Derece tam sayı, Dönüş ise tam sayı veya ondalık sayı olabilir.

birim

Konum birimi: derece veya tur.

Örnek

başladığında
[Reset encoder, raise Arm, place Pin.]
[ArmMotor v] konumunu (0) [derece v] olarak ayarla
[ArmMotor v] motorunu (800) [derece v] konumuna döndür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

Değerler#

Motor tamamlandı.#

Motor çalışmayı bitirdi Boolean bloğu, motorun hareketinin tamamlanıp tamamlanmadığını bildirir. Bu, motorun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • Doğru — Motor hareket etmeyi bitirdi.

  • Yanlış — Motor hala hareket halinde.

Bu blok, ve bekleme parametresine sahip aşağıdaki Hareket bloklarıyla birlikte çalışır: motoru belirli bir süre döndür ve motoru konuma döndür.

<[ArmMotor v] tamamlandı mı?>

Parametreler

Tanım

motor

Hareketin tamamlanıp tamamlanmadığını bildiren motor: ArmMotor veya ClawMotor.

Örnek

başladığında
[Raise the Arm while driving to the Goal.]
[ArmMotor v] motorunu (800) [derece v] konumuna döndür ◀ ve bekleme
(0.1) saniye bekle
<<[ArmMotor v] tamamlandı mı?> değil> iken
[ileri v] yönünde sürdür
(0.005) saniye bekle
son
sürüşü durdur

motor dönüyor#

Motor dönüyor Boolean bloğu, motorun dönüp dönmediğini bildirir. Bu, motorun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • Doğru — Motor dönüyor.

  • Yanlış — Motor dönmüyor.

Bu blok, ve bekleme parametresine sahip aşağıdaki Hareket bloklarıyla birlikte çalışır: motoru belirli bir süre döndür ve motoru konuma döndür.

<[ArmMotor v] dönüyor mu?>

Parametreler

Tanım

motor

Dönme hareketini bildiren motor: ArmMotor veya ClawMotor.

Örnek

başladığında
[Raise the Arm while driving to the Goal, then release the Pin.]
[ArmMotor v] motorunu (800) [derece v] konumuna döndür ◀ ve bekleme
(0.1) saniye bekle
<[ArmMotor v] dönüyor mu?> iken
[ileri v] yönünde (20) [mm v] sürdür ▶
son
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

motor hızı#

Motor hızı raporlama bloğu, motorun dönüş hızını -100% ile 100% arasında bir yüzde olarak bildirir.

([ArmMotor v] hızı [% v] cinsinden :: custom-motion)

Parametreler

Tanım

motor

Hızı bildirecek motor: ArmMotor veya ClawMotor.

birim

Motor hızının bildirileceği birim: %.

Örnek

başladığında
[Show Arm Motor velocity while raising.]
[ArmMotor v] hızını [100] [% v] olarak ayarla
[ArmMotor v] motorunu (800) [derece v] konumuna döndür ◀ ve bekleme
(0.2) saniye bekle
ekranda ([ArmMotor v] hızı [% v] cinsinden :: custom-motion) yazdır ◀ ve imleci sonraki satıra taşı

Yapay Zeka Vizyonu#

Eylemler#

nesne verilerini al#

Nesne verilerini al bloğu, yapay zeka görme sensörü çerçevesindeki verileri tek bir imzaya filtreler; bu imza, sensörün tanıyabileceği bir şeyin (örneğin sahadaki bir oyun öğesi) kaydedilmiş bir açıklamasıdır.

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 AI Vision nesne özelliği bloğu kullanılarak erişilebilir. Eşleşen nesne bulunmazsa boş bir veri seti döndürülür.

Nesne verilerini alma yığın bloğu.#
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al

Parametre

Tanım

imza

Veri setini yalnızca belirtilen imzaya ait verileri içerecek şekilde filtreler. Mevcut imzalar şunlardır:

  • Yapay Zeka Sınıflandırmaları - KırmızıMaviPin, MaviSarıPin, KırmızıSarıPin, SarıPin ve Kupa oyunu öğelerini algılar.
  • Nisan Etiketleri - Sahada bulunan Nisan Etiketi kimliklerini algılar.

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Turn to face the Pin.]
dönüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] nesnesi [merkezX v]) < (140)> then
[sol v] yönüne dön
else if <([AIVision v] object [centerX v]) > (180)> then
[sağ v] yönüne dön
değilse
sürüşü durdur
dur
son
son
son

Ayarlar#

nesne öğesini ayarla#

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

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

Parametreler

Tanım

öğe

Veri setinde kullanılacak öğenin numarası.

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
[Check if any AI Classifications were detected in the last snapshot.]
eğer <[AIVision v] nesnesi var mı?> ise
[If any AI Classification is detected, check if any of them are a specific game element.]
eğer <[AIVision v] nesnesi [RedBluePin v] mi?> ise
[RedBluePin detected.] yazdır ▶
değilse
[No RedBluePin detected.] yazdır ▶
son
son

Değerler#

nesne mevcut#

Nesne mevcut bloğu, veri kümesinde herhangi bir nesnenin tespit edilip edilmediğini gösteren bir Boolean değer döndürür.

  • Doğru – Veri kümesi tespit edilmiş bir nesne içeriyor.

  • Yanlış – Veri kümesinde tespit edilen hiçbir nesne bulunmamaktadır.

AI Vision nesnesi Boolean bloğundan oluşmaktadır.#
<[AIVision v] nesnesi var mı?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
[Check if any AI Classifications were detected in the last snapshot.]
eğer <[AIVision v] nesnesi var mı?> ise
([AIVision v] nesne sayısı) yazdır ◀ ve imleci sonraki satıra taşı
son

nesne#

Object is bloğu, tespit edilen nesnenin belirli bir sınıflandırmaya uyup uymadığını gösteren bir Boolean değer döndürür.

  • Doğru – Veri kümesindeki öğe, belirli bir nesnedir.

  • Yanlış – Veri kümesindeki öğe, belirtilen nesne değildir.

AI Vision nesnesi bir Boolean bloğudur.#
<[AIVision v] nesnesi [RedBluePin v] mi?>

Parametre

Tanım

nesne

Öğeyi hangi nesneyle karşılaştıracağız:

  • KırmızıMaviİğne
  • MaviSarıİğne
  • KırmızıSarıİğne
  • Sarıİğne
  • Bardak

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
eğer <[AIVision v] nesnesi [RedBluePin v] mi?> ise
[RedBluePin detected.] yazdır ▶
değilse
[No RedBluePin detected.] yazdır ▶
son
son

Nesne AprilTag’dir.#

object is AprilTag bloğu, algılanan nesnenin belirli bir kimlikle eşleşen bir AprilTag olup olmadığını gösteren bir Boolean değer döndürür.

  • Doğru – Tespit edilen nesne, verilen kimliğe sahip bir AprilTag’dir.

  • Yanlış – Tespit edilen nesne, verilen kimlik numarasına sahip bir AprilTag değil.

Nesne AprilTag Boolean bloğudur.#
<[AIVision v] nesnesi AprilTag [0] mi?>

Parametre

Tanım

Nisan Etiket Kimliği

Tespit edilen AprilTag ile karşılaştırılacak kimlik numarası.

Örnek

başladığında
[Report if AprilTag 3 is detected.]
[AIVision v] sensöründen [AprilTags v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
eğer <[AIVision v] nesnesi AprilTag [3] mi?> ise
[That is 3!] yazdır ▶
değilse
[That isn't 3!] yazdır ▶
son
son

nesne sayısı#

Nesne sayısı bloğu, veri kümesinde tespit edilen nesne sayısını tam sayı olarak döndürür.

Yapay Zeka Görüşü nesne öğesi yığın bloğunu ayarla.#
([AIVision] nesne sayısı)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
([AIVision v] nesne sayısı) yazdır ◀ ve imleci sonraki satıra taşı
son

nesne özelliği#

Nesne verilerini al bloğu kullanıldıktan sonra saklanan her nesneyle birlikte altı özellik de dahil edilir (aşağıda gösterilmiştir).

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

Tüm özellik değerleri, nesne verilerini al bloğu kullanıldığı anda yapay zeka görüş sensörünün görüş alanındaki algılanan nesnenin konumunu ve boyutunu tanımlar. Bu değerler, sensörün 320 x 240 piksel çözünürlüğüne bağlı olarak piksel cinsinden ölçülür.

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 320 arasında tam sayı olarak bildirir.

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Approach the next Cup and Pin.]
sürüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] object [width v]) > (140)> then
sürüşü durdur
dur
değilse
[ileri v] yönünde sürdür
son
son
son
yükseklik#

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

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Approach the next Cup and Pin.]
sürüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] object [height v]) > (200)> then
sürüşü durdur
dur
değilse
[ileri v] yönünde sürdür
son
son
son
merkezX#

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

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Turn and approach the next Cup and Pin.]
dönüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] nesnesi [merkezX v]) < (140)> then
[sol v] yönüne (5) derece dön ▶
değilse
[ileri v] yönünde (25) [inç v] sürdür ▶
dur
son
son
son
merkezY#

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

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Approach the next Cup and Pin.]
sürüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] object [centerY v]) > (230)> then
sürüşü durdur
dur
değilse
[ileri v] yönünde sürdür
son
son
son
originX#

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

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Turn and approach the next Cup and Pin.]
dönüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] nesnesi [başlangıçX v]) < (100)> then
[sol v] yönüne (5) derece dön ▶
değilse
[ileri v] yönünde (25) [inç v] sürdür ▶
dur
son
son
son
originY#

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

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

Örnek

başladığında
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[sol v] yönüne (70) derece dön ▶
[Approach the next Cup and Pin.]
sürüş hızını (30) [% v] olarak ayarla
sonsuza kadar
[AIVision v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision v] nesnesi var mı?> ise
if <([AIVision v] object [originY v]) > (140)> then
sürüşü durdur
dur
değilse
[ileri v] yönünde sürdür
son
son
son

Algılama#

Mesafe#

Mesafe bir nesneyi buldu#

Mesafe bir nesne algıladı Boolean bloğu, Mesafe Sensörünün şu anda 2000 mm içinde bir nesne algılayıp algılamadığını bildirir.

  • Doğru — Mesafe Sensörü bir nesneyi algılıyor.

  • Yanlış — Mesafe Sensörü herhangi bir nesne algılamadı.

<[FrontDistance v] bir nesne buldu mu?>

Parametreler

Tanım

mesafe sensörü

Kullanılacak Mesafe Sensörü. Flex için mevcut Mesafe Sensörleri arasından seçim yapın.

Örnek

başladığında :: hat events
[Turn until something is detected, then release the Pin.]
[sağ v] yönüne dön
<[FrontDistance v] bir nesne buldu mu?> olana kadar bekle
sürüşü durdur
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

nesne mesafesi#

Nesne mesafesi raporlama bloğu, Mesafe Sensörü ile en yakın tespit edilen nesne arasındaki mesafeyi rapor eder.

([FrontDistance v] mesafesi [mm v] cinsinden)

Parametreler

Tanım

mesafe sensörü

Kullanılacak Mesafe Sensörü. Flex için mevcut Mesafe Sensörleri arasından seçim yapın.

birim

Mesafe birimi: mm veya inç.

Örnek

başladığında :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
[ileri v] yönünde sürdür
<([FrontDistance v] mesafesi [mm v] cinsinden) < (200)> olana kadar bekle
sürüşü durdur
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

Küresel Konumlama Sistemi#

GPS konumu#

GPS konumu bloğu, GPS (Oyun Konumlandırma Sistemi™) Sensörü ile bir alanın merkezinden robotun dönüş referans noktasının konum sapmasını döndürür.

([GPS v] konumu [X v] [mm v] cinsinden)

Parametreler

Tanım

eksen

Hangi eksen raporlanacak:

  • X
  • Y

birimler

Konumu temsil eden birim: mm veya inç

Örnek

başladığında :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde sürdür
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
sürüşü durdur
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶

GPS yönü#

GPS yönü bloğu, GPS (Oyun Konumlandırma Sistemi™) Sensörünün VEX GPS Alan Kodundan aldığı okumalara dayanarak robotun şu anda baktığı yönü 0,00 ile 359,99 derece arasında döndürür.

([GPS v] yönü derece cinsinden)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] motorunu [yukarı v] yönünde (300) [derece v] döndür ▶
[ileri v] yönünde (10) [inç v] sürdür ▶
[ClawMotor v] motorunu [açık v] yönünde (180) [derece v] döndür ▶
[Turn left to face the Neutral Goal.]
dönüş hızını (30) [% v] olarak ayarla
[sol v] yönüne dön
<([GPS v] yönü derece cinsinden) < (18)> olana kadar bekle
sürüşü durdur