Bloky specifické pro robota#
Zavedení#
Hrdinský robot Flop obsahuje sací motor, ramenní motor a kamerový senzor IQ AI.
Všechny standardní bloky VR kódu VEX jsou k dispozici pro použití na hřišti IQ 26-27 Level Up.
Níže je uveden seznam všech dostupných bloků specifických pro roboty:
Pohyb – Pohybujte a sledujte motory robota.
Akce
spin motor – Roztočí motor v jednom ze směrů navždy.
spin motor for – Roztočí motor o určitou vzdálenost ve stupních nebo otáčkách.
roztočit motor do požadované polohy – Roztočí motor do určité polohy.
zastavit motor – Zastaví otáčení motoru.
Nastavení
nastavit rychlost motoru – Říká motoru, jak rychle se má otáčet.
nastavit časový limit motoru – Nastavuje, jak dlouho se bude motor pokoušet dokončit pohyb.
Pozice
poloha motoru – Hlásí aktuální polohu motoru.
nastavit polohu motoru – Změní aktuální polohu motoru na novou hodnotu.
Hodnoty
motor je hotový – Hlásí, zda se motor rozhýbal.
motor se točí – Hlásí, zda se motor točí.
rychlost motoru – Udává rychlost otáčení motoru v procentech od -100 % do 100 %.
AI Vision – Zachycujte a analyzujte objekty pomocí senzoru IQ AI Vision.
Akce
get object data – Zachytí data pro konkrétní podpis, například detekovanou klasifikaci umělé inteligence.
Nastavení
set object item - Vybere konkrétní objekt ze seznamu.
Hodnoty
objekt existuje - Vrací, zda byla detekována nějaká klasifikace.
objekt je – Vrací, zda byla detekována specifická klasifikace.
objekt je AprilTag – Vrátí, zda detekovaný objekt je AprilTag odpovídající specifickému ID.
počet_objektů – Vrátí, kolik objektů bylo detekováno.
vlastnost objektu - Vrací šířku, výšku, střed X, střed Y, původ X nebo původ Y.
Příklady na této stránce používají výchozí počáteční pozici hřiště.
Pohyb#
Flop používá sací motor k sběru a vyhazování herních prvků. Motor ramene rameno zvedá a spouští.
Každý motor má své vlastní možnosti směru. Názvy směrů popisují, jak se motor pohybuje při Flopu.
Akce#
rotační motor#
Blok spin motor roztáčí motor donekonečna v jednom ze dvou směrů. Motor se bude otáčet, dokud nedostane další akci, například se roztočí jiným směrem nebo se zastaví.
otáčet [IntakeMotor v] [přívod v]
Parametry |
Popis |
|---|---|
motor |
Motor, který se má otáčet: IntakeMotor nebo ArmMotor. |
směr |
Směr otáčení motoru:
|
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
rotační motor pro#
Blok spin motor for roztočí motor o určitou vzdálenost. Otáčení je relativní vzhledem k aktuální poloze motoru. Projekt počká, dokud se motor nedotočí, než se spustí další blok v zásobníku.
otáčet [ArmMotor v] [nahoru v] na (500) [stupně v] ▶
Parametry |
Popis |
|---|---|
motor |
Motor, který se má otáčet: IntakeMotor nebo ArmMotor. |
směr |
Směr otáčení motoru:
|
vzdálenost |
Vzdálenost, o kterou se motor otočí. Stupně používají celá čísla. Otáčky mohou používat celá nebo desetinná čísla. |
jednotka |
Jednotka vzdálenosti: stupně nebo otáčky. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
otočte motor do požadované polohy#
Blok zásobníku spin motor to position roztočí motor do určité polohy.
Poloha motoru udává, o kolik se otočil, měřeno ve stupních nebo otáčkách. Jedna otáčka se rovná 360 stupňům. Na začátku projektu je poloha motoru nastavena na 0 stupňů. Polohu motoru lze také nastavit pomocí bloku set motor position.
Hodnoty polohy jsou absolutní. To znamená, že směr otáčení závisí na aktuální poloze motoru.
Například pokud se motor spustí při 0 stupních a otočí se do polohy 720 stupňů, otočí se o dvě otáčky dopředu. Pokud se poté otočí do polohy 360 stupňů, otočí se o jednu otáčku dozadu, protože 360 je menší než 720.
otáčet [ArmMotor v] na polohu (500) [stupně v] ▶
Parametry |
Popis |
|---|---|
motor |
Motor, který se má otáčet: IntakeMotor nebo ArmMotor. |
pozice |
Hodnota polohy, do které se motor otočí. Stupně používají celá čísla. Otáčky mohou používat celá nebo desetinná čísla. |
jednotka |
Jednotka polohy: stupně nebo otáčky. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] na polohu (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
zastavit motor#
Zásobníkový blok zastavit motor zastaví vybraný motor.
zastavit [IntakeMotor v]
Parametry |
Popis |
|---|---|
motor |
Motor, který se má zastavit: IntakeMotor nebo ArmMotor. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
čekat (1) sekund
zastavit [IntakeMotor v]
Nastavení#
nastavená rychlost motoru#
Zásobníkový blok set motor velocity říká motoru, jak rychle se má otáčet. Vyšší procento způsobí, že se motor otáčí rychleji, a nižší procento způsobí, že se motor otáčí pomaleji.
Každý projekt začíná s tím, že se každý motor standardně otáčí rychlostí 50 %.
Poznámka: Vyšší rychlost způsobí, že se motor otáčí rychleji, ale může to být méně přesné. Nižší rychlost způsobí, že se motor otáčí pomaleji, ale může to být přesnější.
nastavit rychlost [IntakeMotor v] na [50] [% v]
Parametry |
Popis |
|---|---|
motor |
Motor pro nastavení rychlosti: IntakeMotor nebo ArmMotor. |
rychlost |
Rychlost, s jakou se bude motor otáčet. Procenta používají celá čísla od 0 % do 100 %. |
jednotka |
Jednotka rychlosti: %. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
nastavit rychlost [IntakeMotor v] na [100] [% v]
otáčet [IntakeMotor v] [odběr v]
nastavení časového limitu motoru#
Blok zásobníku set motor timeout nastavuje, jak dlouho se bude motor pokoušet dokončit pohyb. Pokud motor nedokončí pohyb v tomto čase, přestane se snažit a přesune se k dalšímu bloku v zásobníku. Tím se zabrání tomu, aby se motor zasekl na určitém pohybu.
nastavit časový limit [ArmMotor v] na [1] sekund
Parametry |
Popis |
|---|---|
motor |
Motor pro nastavení časového limitu: IntakeMotor nebo ArmMotor. |
čas |
Počet sekund, po které se motor může pokusit dokončit pohyb. Může se jednat o celé nebo desetinné číslo. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
nastavit časový limit [ArmMotor v] na [2] sekund
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
Pozice#
poloha motoru#
Poloha motoru udává, o kolik se otočil, měřeno ve stupních nebo otáčkách. Jedna otáčka se rovná 360 stupňům. Blok hlášení polohy motoru hlásí aktuální polohu motoru.
Na začátku projektu je poloha motoru nastavena na 0 stupňů. Pokud se motor otočí o jednu celou otáčku dopředu, poloha bude 360 stupňů neboli 1 otáčka. Pokud se motor otáčí opačným směrem, poloha bude záporná.
(poloha [ArmMotor v] v [stupně v])
Parametry |
Popis |
|---|---|
motor |
Motor, který má hlásit polohu: IntakeMotor nebo ArmMotor. |
jednotka |
Jednotka pro hlášení polohy motoru ve stupních nebo otáčkách. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
dokud <(poloha [ArmMotor v] v [stupně v]) [math_less_than v] [360]>
otáčet [ArmMotor v] [nahoru v]
čekat (0.002) sekund
konec
zastavit [ArmMotor v]
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
nastavení polohy motoru#
Poloha motoru udává, o kolik se otočil, měřeno ve stupních nebo otáčkách. Jedna otáčka se rovná 360 stupňům. Blok zásobníku set motor position změní aktuální polohu motoru na novou hodnotu.
Například pokud se motor otočil o 180 stupňů, nastavení polohy na 0 stupňů resetuje tuto polohu ze 180 na 0 stupňů. Motor se pak může otáčet do pozic na základě této nové hodnoty.
nastavit polohu [ArmMotor v] na (0) [stupně v]
Parametry |
Popis |
|---|---|
motor |
Motor pro nastavení polohy: IntakeMotor nebo ArmMotor. |
pozice |
Hodnota pozice, která se má nastavit. Stupně používají celá čísla. Otáčky mohou používat celá nebo desetinná čísla. |
jednotka |
Jednotka polohy: stupně nebo otáčky. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
nastavit polohu [ArmMotor v] na [0] [stupně v]
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
Hodnoty#
motor je hotový#
Logický blok motor je hotový hlásí, zda se motor dokončil. To lze použít k řízení načasování dalších funkcí na základě pohybu motoru.
True – Motor se roztočil.
Nepravda — Motor se stále točí.
Tento blok spolupracuje s následujícími bloky Motion, které mají parametr a nečekat: spin motor for a spin motor to position.
<[ArmMotor v] dokončen?>
Parametry |
Popis |
|---|---|
motor |
Motor, který má hlásit, zda je dokončen jeho pohyb: IntakeMotor nebo ArmMotor. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] na polohu (1) [otáčky v] ◀ a nečekat
čekat dokud <[ArmMotor v] dokončen?>
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
motor se točí#
Logický blok motor se točí hlásí, zda se motor točí. To lze použít k řízení načasování dalších chování na základě pohybu motoru.
Pravda – Motor se točí.
Nepravda – Motor se netočí.
Tento blok spolupracuje s následujícími bloky Motion, které mají parametr a nečekat: spin motor for a spin motor to position.
<[IntakeMotor v] se otáčí?>
Parametry |
Popis |
|---|---|
motor |
Motor, u kterého se má hlásit, zda se otáčí: IntakeMotor nebo ArmMotor. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
čekat dokud <ne <[IntakeMotor v] se otáčí?>>
zastavit [IntakeMotor v]
rychlost motoru#
Blok hlášení motor rate hlásí, jak rychle se motor otáčí, v procentech od -100 % do 100 %.
(rychlost [IntakeMotor v] v [% v] :: custom-motion)
Parametry |
Popis |
|---|---|
motor |
Motor, který má hlásit rychlost: IntakeMotor nebo ArmMotor. |
jednotka |
Jednotka pro hlášení rychlosti motoru v: %. |
Příklad
při spuštění
[Score a Bean Bag in a Blue Goal.]
otočit [vlevo v] o (90) stupňů ▶
jet [dopředu v] na (35) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶
otáčet [ArmMotor v] [nahoru v] na (1) [otáčky v] ▶
jet [dopředu v] na (40) [palce v] ▶
otáčet [IntakeMotor v] [odběr v]
čekat [0.2] sekund
tisk (rychlost [IntakeMotor v] v [% v] :: custom-motion) ▶
Vize umělé inteligence#
Akce#
získat data objektu#
Blok get object data filtruje data z rámce IQ AI Vision Sensor do jediného podpisu – uloženého popisu něčeho, co senzor dokáže rozpoznat, například herního prvku na hřišti.
Datová sada ukládá objekty seřazené od největší po nejmenší podle šířky, počínaje indexem 0. Vlastnosti každého objektu lze zobrazit pomocí bloku object property. Pokud nejsou detekovány žádné odpovídající objekty, vrátí se prázdná datová sada.
získat data [AI klasifikace v] z [AIVision v]
Parametr |
Popis |
|---|---|
podpis |
Filtruje datovou sadu tak, aby zahrnovala pouze data daného podpisu. Dostupné podpisy jsou:
|
Příklad
při spuštění :: hat events
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Find and face the nearest red Bean Bag.]
nastavit rychlost otáčení na (30) [% v]
nastavit [object_counter v] na [1]
získat data [AI klasifikace v] z [AIVision v]
opakovat (počet objektů [AIVision v])
nastavit položku objektu [AIVision v] na (object_counter)
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
if <(objekt [AIVision v] [středX v]) < (140)> then
otočit [vlevo v]
else if <([AIVision v] object [centerX v]) > (180)> then
otočit [vpravo v]
jinak
zastavit jízdu
konec
přerušit
konec
změnit [object_counter v] o [1]
konec
Nastavení#
položka nastaveného objektu#
Blok set object item nastavuje, která položka v datové sadě se má použít.
nastavit položku objektu [AIVision v] na [1]
Parametry |
Popis |
|---|---|
položka |
Číslo položky v datové sadě, která se má použít. |
Příklad
při spuštění :: hat events
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Find the index of the nearest red Bean Bag.]
nastavit [object_counter v] na [1]
získat data [AI klasifikace v] z [AIVision v]
opakovat (počet objektů [AIVision v])
nastavit položku objektu [AIVision v] na (object_counter)
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
tisk (spojit [Nearest Red Bean Bag is ] (object_counter)) ▶
přerušit
jinak
změnit [object_counter v] o [1]
konec
konec
Hodnoty#
objekt existuje#
Blok object exists vrací booleovskou hodnotu, která indikuje, zda je v datové sadě detekován nějaký objekt.
True – Datová sada obsahuje detekovaný objekt.
False – Datová sada neobsahuje žádné detekované objekty.
<objekt [AIVision v] existuje?>
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Turn until a Bean Bag is detected.]
nastavit rychlost otáčení na (30) [% v]
otočit [vpravo v]
opakovat dokud <objekt [AIVision v] existuje?>
získat data [AI klasifikace v] z [AIVision v]
konec
zastavit jízdu
objekt je#
Blok object is vrací booleovskou hodnotu, která označuje, zda detekovaný objekt odpovídá specifické klasifikaci.
True – Položka v datové sadě je daný objekt.
False – Položka v datové sadě není daný objekt.
<objekt [AIVision v] je [RedBeanBag v]?>
Parametr |
Popis |
|---|---|
objekt |
S jakým objektem porovnat položku: RedBeanBag, BlueBeanBag nebo YellowBeanBag. |
Příklad
při spuštění :: hat events
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Find the index of the nearest red Bean Bag.]
nastavit [object_counter v] na [1]
získat data [AI klasifikace v] z [AIVision v]
opakovat (počet objektů [AIVision v])
nastavit položku objektu [AIVision v] na (object_counter)
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
tisk (spojit [Nearest Red Bean Bag is ] (object_counter)) ▶
přerušit
jinak
změnit [object_counter v] o [1]
konec
konec
objekt je AprilTag#
Blok object is AprilTag vrací booleovskou hodnotu, která označuje, zda detekovaný objekt je AprilTag, který odpovídá specifickému ID.
True – Detekovaný objekt je AprilTag s daným ID.
False – Detekovaný objekt není AprilTag s daným ID.
<objekt [AIVision v] je AprilTag [0]?>
Parametr |
Popis |
|---|---|
ID značky AprilTag |
Číslo ID, které se má porovnat s detekovanou hodnotou AprilTag. |
Příklad
při spuštění :: hat events
[Stop when you see the Red Goal!]
nastavit rychlost otáčení na (30) [% v]
otočit [vpravo v]
opakovat dokud <objekt [AIVision v] je AprilTag [1]?>
získat data [AprilTags v] z [AIVision v]
konec
zastavit jízdu
tisk [Found the Red Goal!] ▶
počet objektů#
Blok object count vrací počet detekovaných objektů v datové sadě jako celé číslo.
(počet objektů [AIVision v])
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Print how many Bean Bags are detected.]
získat data [AI klasifikace v] z [AIVision v]
tisk (počet objektů [AIVision v]) ▶
vlastnost objektu#
Po použití bloku get object data je ke každému objektu uloženému šest vlastností.
(objekt [AIVision v] [šířka v])
Všechny hodnoty vlastností popisují polohu a velikost detekovaného objektu v zobrazení senzoru IQ AI Vision v okamžiku použití bloku get object data. Tyto hodnoty se měří v pixelech na základě rozlišení senzoru 320 x 240 pixelů.
Parametr |
Popis |
|---|---|
vlastnictví |
Kterou vlastnost detekovaného objektu použít: šířka, výška, středX, středY, počátekX nebo počátekY. |
šířka#
Vlastnost width udává šířku detekovaného objektu v pixelech jako celé číslo od 1 do 320.
(objekt [AIVision v] [šířka v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Approach the Bean Bag, then pick it up.]
nastavit rychlost jízdy na (30) [% v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
if <([AIVision v] object [width v]) > (180)> then
jet [dopředu v] na [50] [mm v] ▶
otáčet [IntakeMotor v] [přívod v] na [90] [stupně v] ▶
přerušit
jinak
jet [dopředu v]
konec
konec
konec
konec
výška#
Vlastnost height udává výšku detekovaného objektu v pixelech jako celé číslo od 1 do 240.
(objekt [AIVision v] [výška v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Approach the Bean Bag, then pick it up.]
nastavit rychlost jízdy na (30) [% v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
if <([AIVision v] object [height v]) > (100)> then
jet [dopředu v] na [50] [mm v] ▶
otáčet [IntakeMotor v] [přívod v] na [90] [stupně v] ▶
přerušit
jinak
jet [dopředu v]
konec
konec
konec
konec
centrumX#
Vlastnost centerX udává souřadnici x středu detekovaného objektu v pixelech jako celé číslo od 0 do 320.
(objekt [AIVision v] [středX v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Steer to keep the Bean Bag centered while approaching.]
nastavit rychlost otáčení na (30) [% v]
nastavit rychlost jízdy na (30) [% v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
if <(objekt [AIVision v] [středX v]) < (140)> then
otočit [vlevo v] o (5) stupňů ▶
jinak
jet [dopředu v] na (150) [mm v] ▶
otáčet [IntakeMotor v] [přívod v]
přerušit
konec
konec
konec
konec
centrumY#
Vlastnost centerY udává souřadnici y středu detekovaného objektu v pixelech jako celé číslo od 0 do 240.
(objekt [AIVision v] [středY v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Print the y-position of the Bean Bag.]
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
tisk (objekt [AIVision v] [středY v]) ▶
konec
konec
původX#
Vlastnost originX udává souřadnici x levého horního rohu ohraničovacího rámečku detekovaného objektu v pixelech jako celé číslo od 0 do 320.
(objekt [AIVision v] [počátekX v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Steer to keep the left edge centered.]
nastavit rychlost otáčení na (30) [% v]
nastavit rychlost jízdy na (30) [% v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
if <(objekt [AIVision v] [počátekX v]) < (100)> then
otočit [vlevo v] o (5) stupňů ▶
jinak
jet [dopředu v] na (150) [mm v] ▶
otáčet [IntakeMotor v] [přívod v]
přerušit
konec
konec
konec
konec
původY#
Vlastnost originY udává souřadnici y levého horního rohu ohraničovacího rámečku detekovaného objektu v pixelech jako celé číslo od 0 do 240.
(objekt [AIVision v] [počátekY v])
Příklad
při spuštění
[Drop the preloaded Bean Bag.]
otáčet [IntakeMotor v] [odběr v] na (180) [stupně v] ▶
otočit [vlevo v] o (90) stupňů ▶
[Print the y-position of the Bean Bag's top edge.]
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na [1]
pokud <objekt [AIVision v] je [RedBeanBag v]?> pak
tisk (objekt [AIVision v] [počátekY v]) ▶
konec
konec