Bloky specifické pro robota#

Zavedení#

Hrdinský robot Dex má dva motory: senzor s umělou inteligencí, optický senzor a senzor GPS (Game Positioning System).

Všechny standardní bloky VEXcode VR jsou k dispozici pro použití na hřišti V5 25-26 Push Back.

Níže je uveden seznam všech dostupných bloků specifických pro roboty:

Pohon – Pohyb a otáčení robota.

Pohyb – Pohybujte a sledujte motory robota.

AI Vision – Zachycujte a analyzujte objekty pomocí senzoru AI Vision.

Snímání – Využijte různé senzory robota.

Příklady na této stránce používají výchozí počáteční pozici hřiště.

Hnací ústrojí#

Pohon řídí, jak se VR robot řídí a zatáčí. Pohon se může pohybovat vpřed nebo vzad, zatáčet doleva nebo doprava, otáčet se do směru a sledovat svou rotaci.

Akce#

řídit#

Blok drive pohybuje robotem vpřed nebo vzad donekonečna. Robot se bude pohybovat, dokud nedostane další akci, například otočení nebo zastavení.

jet [dopředu v]

Parametry

Popis

směr

Směr pohybu robota: vpřed nebo vzad.

Příklad

při spuštění :: hat events
[Drive forward, then stop.]
jet [dopředu v]
čekat (2) sekund
zastavit jízdu

jet pro#

Blok drive for pohybuje robotem vpřed nebo vzad o určitou vzdálenost. Projekt počká, dokud se robot nedokončí s pohybem, než se spustí další blok v zásobníku.

jet [dopředu v] na (200) [mm v] ▶

Parametry

Popis

směr

Směr pohybu robota: vpřed nebo vzad.

vzdálenost

Vzdálenost, kterou robot urazí. Může to být celé číslo nebo desetinné číslo.

jednotka

Jednotka vzdálenosti: mm (milimetry) nebo palce

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í :: hat events
[Drive forward.]
jet [dopředu v] na (500) [mm v] ▶

otočit#

Blok turn otáčí robota doleva nebo doprava navždy. Robot se bude otáčet, dokud nedostane další akci, například jízdu nebo zastavení.

otočit [vpravo v]

Parametry

Popis

směr

Směr otáčení robota: doleva nebo doprava.

Příklad

při spuštění :: hat events
[Turn right, then stop.]
otočit [vpravo v]
čekat (2) sekund
zastavit jízdu

otočit se pro#

Blok turn for otočí robota doleva nebo doprava o určitý počet stupňů. Otočení je relativní vzhledem k aktuální poloze robota. Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.

otočit [vpravo v] o (90) stupňů ▶

Parametry

Popis

směr

Směr otáčení robota: doleva nebo doprava.

úhel

Počet stupňů, o které se robot otočí. Může to být celé číslo nebo desetinné číslo.

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í :: hat events
[Turn left, then turn around to the right.]
otočit [vlevo v] o (90) stupňů ▶
otočit [vpravo v] o (180) stupňů ▶

otočit k nadpisu#

Směr je směr, kterým je robot otočen, měřený ve stupních. Blok zásobníku otoč se do směru otočí robota tak, aby směřoval v určitém směru, od -359 do 359 stupňů. Robot se otočí nejkratším směrem, aby dosáhl cílového směru.

Výchozí směr je 0 stupňů.

Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.

otočit na kurz (90) stupňů ▶

Parametry

Popis

záhlaví

Směr, kterým by se měl robot otočit, od -359 do 359 stupňů.

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í :: hat events
[Turn to face the cardinal directions.]
otočit na kurz (90) stupňů ▶
čekat (2) sekund
otočit na kurz (180) stupňů ▶
čekat (2) sekund
otočit na kurz (270) stupňů ▶
čekat (2) sekund
otočit na kurz (0) stupňů ▶
čekat (2) sekund

otočit se k rotaci#

Blok zásobníku otoč se na rotaci otočí robota do určité rotace.

Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Rotaci lze také nastavit pomocí bloku set drive rotation.

Hodnoty rotace jsou absolutní. To znamená, že směr otáčení závisí na aktuální rotaci robota. Otočení doprava rotaci zvyšuje a otáčení doleva snižuje.

Například pokud robot začne na 0 stupních a otočíte se o 720 stupňů, otočí se dvakrát doprava. Pokud se poté otočíte o 360 stupňů, otočí se jednou doleva, protože 360 ​​je menší než 720.

Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.

otočit na rotaci (90) stupňů ▶

Parametry

Popis

otáčení

Hodnota rotace ve stupních, na kterou se robot otočí. Může to být celé číslo nebo desetinné číslo.

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í :: hat events
[Turn left, then spin in a circle clockwise and face right.]
otočit na rotaci (-90) stupňů ▶
čekat (2) sekund
otočit na rotaci (450) stupňů ▶

přestaň řídit#

Blok stop driving zastaví pohyb robota.

zastavit jízdu

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění :: hat events
[Drive forward, then stop.]
jet [dopředu v]
čekat [4] sekund
zastavit jízdu

Nastavení#

nastavená rychlost pohonu#

Blok set drive velocity říká robotovi, jak rychle má jet. Vyšší procento způsobí, že robot jede rychleji, a nižší procento, že robot jede pomaleji.

Každý projekt začíná s robotem, který se standardně pohybuje rychlostí 50 %.

Poznámka: Vyšší rychlost zrychluje pohyb robota, ale může být méně přesný. Nižší rychlost zpomaluje pohyb robota, ale může být přesnější.

nastavit rychlost jízdy na (50) [% v]

Parametry

Popis

rychlost

Rychlost jízdy od 0 % do 100 %.

jednotka

Jednotka rychlosti: %

Příklad

při spuštění :: hat events
[Drive forward at the default velocity.]
jet [dopředu v] na (100) [mm v] ▶
čekat (1) sekund
[Move slower.]
nastavit rychlost jízdy na (20) [% v]
jet [dopředu v] na (100) [mm v] ▶
čekat (1) sekund
[Move faster.]
nastavit rychlost jízdy na (100) [% v]
jet [dopředu v] na (100) [mm v] ▶
čekat (1) sekund

nastavená rychlost otáčení#

Blok set turn velocity říká robotovi, jak rychle se má otáčet. Vyšší procento způsobí, že se robot bude otáčet rychleji, a nižší procento způsobí, že se robot bude otáčet pomaleji.

Každý projekt začíná s robotem, který se standardně otáčí rychlostí 50 %.

Poznámka: Vyšší rychlost způsobí, že se robot otáčí rychleji, ale může být méně přesný. Nižší rychlost způsobí, že se robot otáčí pomaleji, ale může být přesnější.

nastavit rychlost otáčení na (50) [% v]

Parametry

Popis

rychlost

Rychlost otáčení od 0 % do 100 %.

jednotka

Jednotka rychlosti: %

Příklad

při spuštění :: hat events
[Turn at default velocity.]
otočit [vpravo v] o (100) stupňů ▶
čekat (1) sekund
[Turn slower.]
nastavit rychlost otáčení na (20)%
otočit [vpravo v] o (100) stupňů ▶
čekat (1) sekund
[Turn faster.]
nastavit rychlost otáčení na (100)%
otočit [vpravo v] o (100) stupňů ▶
čekat (1) sekund

nastavit směr jízdy#

Směr je směr, kterým je robot otočen, měřený ve stupních. Blok zásobníku set drive heading změní aktuální směr robota na novou hodnotu směru.

Například pokud se robot otočil čelem doprava, nastavením směru na 0 stupňů se tato poloha směřující doprava stane novými 0 stupni. Robot se pak může na základě tohoto nového směru otáčet do jiných pozic.

nastavit kurz jízdy na (0) stupňů

Parametry

Popis

záhlaví

Hodnota směru ve stupních, která se má nastavit pro robota.

Příklad

při spuštění :: hat events
[Turn to the left.]
nastavit kurz jízdy na (90) stupňů
otočit na kurz (0) stupňů ▶

nastavení otáčení pohonu#

Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Blok zásobníku set drive rotation změní aktuální rotaci robota na novou hodnotu.

Například pokud robot provedl dvě plné otáčky doprava, jeho hodnota rotace bude 720 stupňů. Nastavením rotace na 0 stupňů se tato hodnota resetuje ze 720 na 0 stupňů. Robot se pak může otáčet na základě této nové hodnoty.

nastavit rotaci jízdy na (0) stupňů

Parametry

Popis

otáčení

Hodnota rotace ve stupních, která se má nastavit pro robota. Může to být celé číslo nebo desetinné číslo.

Příklad

při spuštění :: hat events
[Spin counterclockwise two times.]
nastavit rotaci jízdy na (720) stupňů
otočit na rotaci (0) stupňů ▶

nastavit časový limit disku#

Blok set drive timeout nastavuje, po kolik sekund se robot pokusí dokončit pohyb. Pokud robot 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 robot zasekl na pohybu.

nastavit časový limit jízdy na (1) sekund

Parametry

Popis

čas

Počet sekund, po které se robot může pokusit dokončit pohyb. Může se jednat o celé číslo nebo desetinné číslo.

Příklad

Po nastartování omezí dobu jízdy na 1 sekundu a poté se otočí o 90 stupňů.#
při spuštění :: hat events
[Drive forward for 1 second, then turn.]
nastavit časový limit jízdy na (1) sekund
jet [dopředu v] na (25) [palce v] ▶
otočit [vpravo v] o (90) stupňů ▶

Hodnoty#

jízda je hotová#

Logický blok drive is done hlásí, zda robot dokončil pohyb. To lze použít k řízení načasování dalších chování na základě pohybu robota.

  • Pravda – Robot dokončil pohyb.

  • Nepravda — Robot se stále pohybuje.

Tento blok spolupracuje s bloky hnacího ústrojí, které mají parametr a nečekat.

<jízda dokončena?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění :: hat events
[Start spinning when the drive is complete.]
jet [dopředu v] na (200) [mm v] ◀ a nečekat
čekat dokud <jízda dokončena?>
otočit [vpravo v] o (360) stupňů ▶

pohon se pohybuje#

Logický blok pohon se pohybuje hlásí, zda se robot pohybuje. To lze použít k řízení načasování dalších chování na základě pohybu robota.

  • Pravda – Robot se pohybuje.

  • Nepravda — Robot se nepohybuje.

Tento blok spolupracuje s bloky hnacího ústrojí, které mají parametr a nečekat.

<jede?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění :: hat events
[Print that the robot is moving while it is still driving.]
jet [dopředu v] na (200) [mm v] ◀ a nečekat
dokud <jede?>
tisk [Still Moving...] ▶
čekat (0.1) sekund
vymazat obrazovku
konec
tisk [Done!] ▶

směr jízdy#

Směr otáčení je směr, kterým je robot otočen, měřený ve stupních. Blok hlášení směrování otáčení hlásí tento směr od 0 do 359,99 stupňů.

Výchozí směr robota je 0 stupňů.

(kurz jízdy ve stupních)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění :: hat events
[Display the heading after turning.]
otočit [vpravo v] o (450) stupňů ▶
tisk (kurz jízdy ve stupních) na obrazovce ◀ a přesunout kurzor na další řádek

otáčení pohonu#

Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Blok hlášení rotace pohonu hlásí aktuální rotaci robota.

Otočení doprava zvětšuje rotaci a otočení doleva ji snižuje. Například provedení dvou celých otoček doprava bude znamenat rotaci o 720 stupňů.

(rotace jízdy ve stupních)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění :: hat events
[Display the rotation after turning.]
otočit [vpravo v] o (450) stupňů ▶
tisk (rotace jízdy ve stupních) na obrazovce ◀ a přesunout kurzor na další řádek

rychlost pohonu#

Blok drive velocity hlásí, jak rychle robot jede.

(rychlost jízdy v [% v])

Parametry

Popis

jednotka

Jednotka rychlosti: %

Příklad

při spuštění :: hat events
[Display the velocity after driving.]
jet [dopředu v] na (200) [mm v] ▶
tisk (rychlost jízdy v [% v]) na obrazovce ◀ a přesunout kurzor na další řádek

Pohyb#

Dex používá sací motor k vtahování bloků do robota. Motor dopravníku přesouvá bloky ze sání na horní část robota, aby je bylo možné zatlačit do branky.

Každý motor má své vlastní možnosti směru. Názvy směrů popisují, jak se daný motor pohybuje na Dexu.

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 [ConveyorMotor v] [nahoru v]

Parametry

Popis

motor

Motor, který se má otáčet: MotorDopravníku nebo MotorSání.

směr

Směr otáčení motoru:

  • MotorDopravníku — nahoru nebo dolů
  • MotorSání — sání nebo výdej

Příklad

při spuštění
[Pick up a second Block.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [350] [mm 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 [ConveyorMotor v] [nahoru v] na (90) [stupně v] ▶

Parametry

Popis

motor

Motor, který se má otáčet: MotorDopravníku nebo MotorSání.

směr

Směr otáčení motoru:

  • MotorDopravníku — nahoru nebo dolů
  • MotorSání — sání nebo výdej

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í
[Pick up a second Block.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [350] [mm 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 [ConveyorMotor v] na polohu (90) [stupně v] ▶

Parametry

Popis

motor

Motor, který se má otáčet: MotorDopravníku nebo MotorSání.

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í
[Pick up a second Block.]
otáčet [ConveyorMotor v] na polohu [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [350] [mm v] ▶

zastavit motor#

Zásobníkový blok zastavit motor zastaví vybraný motor.

zastavit [ConveyorMotor v]

Parametry

Popis

motor

Motor, který se má zastavit: MotorDopravníku nebo MotorSání.

Příklad

při spuštění
[Pick up a second Block.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [350] [mm v] ▶
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 [ConveyorMotor v] na [50] [% v]

Parametry

Popis

motor

Motor pro nastavení rychlosti: MotorDopravníku nebo MotorSání.

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í
[Pick up a second Block.]
nastavit rychlost [ConveyorMotor v] na [100] [% v]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [400] [mm 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 [ConveyorMotor v] na [1] sekund

Parametry

Popis

motor

Motor pro nastavení časového limitu: MotorDopravníku nebo MotorSání.

č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í
[Pick up a second Block.]
nastavit časový limit [ConveyorMotor v] na [0.5] sekund
otáčet [ConveyorMotor v] na polohu [1000] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [400] [mm 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 [ConveyorMotor v] v [stupně v])

Parametry

Popis

motor

Motor, který má hlásit polohu: MotorDopravníku nebo MotorSání.

jednotka

Jednotka pro hlášení polohy motoru ve stupních nebo otáčkách.

Příklad

při spuštění
[Pick up a second Block.]
dokud <(poloha [ConveyorMotor v] v [stupně v]) [math_less_than v] [200]>
otáčet [ConveyorMotor v] [nahoru v]
konec
zastavit [ConveyorMotor v]
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [400] [mm 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 [ConveyorMotor v] na (0) [stupně v]

Parametry

Popis

motor

Motor pro nastavení polohy: MotorDopravníku nebo MotorSání.

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.

Příklad

při spuštění
[Pick up a second Block.]
nastavit polohu [ConveyorMotor v] na [-200] [stupně v]
otáčet [ConveyorMotor v] na polohu [0] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [400] [mm 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.

<[ConveyorMotor v] dokončen?>

Parametry

Popis

motor

Motor, který má hlásit, zda je dokončen jeho pohyb: MotorDopravníku nebo MotorSání.

Příklad

při spuštění
[Pick up a second Block.]
otáčet [ConveyorMotor v] na polohu [300] [stupně v] ◀ a nečekat
jet [dopředu v]
otáčet [IntakeMotor v] [přívod v]
čekat dokud <[ConveyorMotor v] dokončen?>
zastavit jízdu
zastavit [IntakeMotor 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.

<[ConveyorMotor v] se otáčí?>

Parametry

Popis

motor

Motor, který má hlásit, zda se otáčí: MotorDopravníku nebo MotorSání.

Příklad

při spuštění
[Pick up a second Block.]
otáčet [ConveyorMotor v] na polohu [300] [stupně v] ◀ a nečekat
čekat [0.1] sekund
dokud <[ConveyorMotor v] se otáčí?>
jet [dopředu v] na [200] [mm v] ▶
otáčet [IntakeMotor v] [přívod v]

rychlost motoru#

Blok hlášení motor rate hlásí, jak rychle se motor otáčí, v procentech od -100 % do 100 %.

(rychlost [ConveyorMotor v] v [% v] :: custom-motion)

Parametry

Popis

motor

Motor, který má hlásit rychlost: MotorDopravníku nebo MotorSání.

jednotka

Jednotka pro hlášení rychlosti motoru v: %.

Příklad

při spuštění
[Pick up a second Block.]
nastavit rychlost [ConveyorMotor v] na [100] [% v]
otáčet [ConveyorMotor v] na polohu [300] [stupně v] ◀ a nečekat
čekat [0.2] sekund
tisk (rychlost [ConveyorMotor v] v [% v] :: custom-motion) ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [400] [mm v] ▶

Vize umělé inteligence#

Akce#

získat data objektu#

Blok get object data filtruje data z rámce 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 AI Vision object property. Pokud nejsou detekovány žádné odpovídající objekty, vrátí se prázdná datová sada.

Blok zásobníku dat objektu Get.#
získat data [AI klasifikace v] z AI Vision

Parametr

Popis

podpis

Filtruje datovou sadu tak, aby zahrnovala pouze data daného podpisu. Dostupné podpisy jsou:

  • Klasifikace AI - Detekuje červené a modré bloky.

Příklad

při spuštění
[If an object is detected, pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
čekat dokud <[Bumper v] stisknuto?>
zastavit jízdu
přerušit

Nastavení#

položka nastaveného objektu#

Blok set object item nastavuje, která položka v datové sadě se má použít.

Blok zásobníku položek objektu Set AI Vision.#
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í
[Display what object is farthest away.]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na (počet objektů [AIVision v])
vymazat všechny řádky
pokud <objekt [AIVision v] je [BlueBlock v]?> pak
tisk [Blue Block farthest away.] ▶
jinak
tisk [Red Block farthest away.] ▶

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 AI Vision existuje jako booleovský blok.#
<objekt [AIVision v] existuje?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[If an an object is detected, pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
čekat dokud <[Bumper v] stisknuto?>
zastavit jízdu
přerušit

objekt je#

Blok AI Vision object is vrací booleovskou hodnotu, která indikuje, zda detekovaný objekt odpovídá specifické klasifikaci.

  • True – Položka v datové sadě je daný objekt.

  • False – Položka v datové sadě není daným konkrétním objektem.

Objekt AI Vision je booleovský blok.#
<objekt [AIVision v] je [BlueBlock v]?>

Parametr

Popis

objekt

S jakým objektem porovnat položku:

  • BlueBlock
  • RedBlock

Příklad

při spuštění
[Display what object is farthest away.]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na (počet objektů [AIVision v])
vymazat všechny řádky
pokud <objekt [AIVision v] je [BlueBlock v]?> pak
tisk [Blue Block farthest away.] ▶
jinak
tisk [Red Block farthest away.] ▶

počet objektů#

Blok object count vrací počet detekovaných objektů v datové sadě jako celé číslo.

Blok zásobníku položek objektu Set AI Vision.#
(počet objektů [AIVision])

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[Display what object is farthest away.]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
nastavit položku objektu [AIVision v] na (počet objektů [AIVision v])
vymazat všechny řádky
pokud <objekt [AIVision v] je [BlueBlock v]?> pak
tisk [Blue Block farthest away.] ▶
jinak
tisk [Red Block farthest away.] ▶

vlastnost objektu#

Každý objekt (zobrazený níže) ukládá po použití bloku get object data šest vlastností, které jsou součástí každého objektu.

Blok reportéru vlastností objektu AI Vision.#
(objekt [AIVision v] [šířka v])

Všechny hodnoty vlastností popisují polohu a velikost detekovaného objektu v zobrazení senzoru 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í

Which property of the detected object to use:

šířka#

Vlastnost width udává šířku detekovaného objektu v pixelech jako celé číslo od 1 do 320.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na šířku.#
(objekt [AIVision v] [šířka v])

Příklad

při spuštění
[If an an object is detected, approach and pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <(objekt [AIVision v] [šířka v]) [math_greater_than v] [65]> pak
zastavit jízdu
přerušit
jinak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
výška#

Vlastnost height udává výšku detekovaného objektu v pixelech jako celé číslo od 1 do 240.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na výšku.#
(objekt [AIVision v] [výška v])

Příklad

při spuštění
[If an an object is detected, approach and pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <(objekt [AIVision v] [výška v]) [math_greater_than v] [55]> pak
zastavit jízdu
přerušit
jinak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
centrumX#

Vlastnost centerX udává souřadnici x středu detekovaného objektu v pixelech jako celé číslo od 0 do 320.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na centerX.#
(objekt [AIVision v] [středX v])

Příklad

při spuštění
[Pick up a Block from the top left group.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otočit [vlevo v] o [80] stupňů ▶
jet [dopředu v] na [100] [mm v] ▶
nastavit rychlost otáčení na [20] [% v]
otočit [vlevo v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <<[140] [math_less_than v] (objekt [AIVision v] [středX v])> a <(objekt [AIVision v] [středX v]) [math_less_than v] [180]>> pak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
čekat dokud <[Bumper v] stisknuto?>
zastavit jízdu
centrumY#

Vlastnost centerY udává souřadnici y středu detekovaného objektu v pixelech jako celé číslo od 0 do 240.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na centerY.#
(objekt [AIVision v] [středY v])

Příklad

při spuštění
[If an an object is detected, approach and pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <(objekt [AIVision v] [středY v]) [math_greater_than v] [140]> pak
zastavit jízdu
přerušit
jinak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
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.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na originX.#
(objekt [AIVision v] [počátekX v])

Příklad

při spuštění
[Pick up a Block from the top left group.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otočit [vlevo v] o [80] stupňů ▶
jet [dopředu v] na [100] [mm v] ▶
nastavit rychlost otáčení na [20] [% v]
otočit [vlevo v]
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <<[100] [math_less_than v] (objekt [AIVision v] [počátekX v])> a <(objekt [AIVision v] [počátekX v]) [math_less_than v] [140]>> pak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
čekat dokud <[Bumper v] stisknuto?>
zastavit jízdu
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.

Blok zásobníku vlastností objektu AI Vision s parametrem nastaveným na originY.#
(objekt [AIVision v] [počátekY v])

Příklad

při spuštění
[If an an object is detected, approach and pick it up.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
navždy
získat data [AI klasifikace v] z [AIVision v]
pokud <objekt [AIVision v] existuje?> pak
pokud <[120] [math_less_than v] (objekt [AIVision v] [počátekY v])> pak
zastavit jízdu
přerušit
jinak
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
konec
konec

Snímání#

Optický#

Optický nalezený objekt#

Logický blok Optický senzor detekoval objekt hlásí, zda optický senzor detekoval objekt v dosahu.

  • True – Optický senzor detekuje objekt.

  • Nepravda – Optický senzor nedetekuje objekt.

<[Optical v] našel objekt?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[Move the preloaded Block to the top of the Conveyor.]
otáčet [ConveyorMotor v] [nahoru v]
čekat dokud <[Optical v] našel objekt?>
zastavit [ConveyorMotor v]

Optická detekce barev#

Logický blok Optical detects color hlásí, zda optický senzor detekuje zadanou barvu na základě detekované hodnoty odstínu.

  • True – Senzor detekuje zadanou barvu.

  • Nepravda – Senzor nedetekuje zadanou barvu.

<[Optical v] detekuje [červená v]?>

Parametry

Popis

barva

Kterou barvu hledat:

  • červená – Detekovaná hodnota odstínu mezi 340° - 20°.
  • zelená – Detekovaná hodnota odstínu mezi 80° - 140°.
  • modrá – Detekovaná hodnota odstínu mezi 200° - 240°.
  • žlutá – Detekovaná hodnota odstínu mezi 40° - 60°.
  • oranžová – Detekovaná hodnota odstínu mezi 20° - 40°.
  • fialová – Detekovaná hodnota odstínu mezi 240° - 280°.
  • azurová – Detekovaná hodnota odstínu mezi 140° - 200°.

Příklad

při spuštění
[Pick up and move a Blue Block to the top of the Conveyor.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [360] [mm v] ▶
otáčet [ConveyorMotor v] [nahoru v]
čekat dokud <[Optical v] detekuje [modrá v]?>
zastavit [ConveyorMotor v]

Optický jas#

Blok hlášení Optický jas hlásí, kolik světla se odráží zpět k optickému senzoru, v procentech od 0 % do 100 %.

(jas [Optical v] v %)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[Move the preloaded Block to the top of the Conveyor.]
otáčet [ConveyorMotor v] [nahoru v]
čekat dokud <[0] [math_less_than v] (jas [Optical v] v %)>
zastavit [ConveyorMotor v]

Optický odstín#

Blok reportéru Optický odstín hlásí odstín detekovaný optickým senzorem jako číslo od 0 do 359 stupňů.

Odstín je způsob, jak popsat barvu pomocí čísel v barevném kruhu.

Kruhové barevné kolo zobrazující celé spektrum odstínů označených stupni po obvodu, které se zvyšují v krocích po 30 stupních od 0° nahoře do 360°.

(odstín [Optical v] ve stupních)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[Pick up and move a Blue Block to the top of the Conveyor.]
otáčet [ConveyorMotor v] [nahoru v] na [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v] na [360] [mm v] ▶
otáčet [ConveyorMotor v] [nahoru v]
čekat dokud <[240] [math_equal v] (odstín [Optical v] ve stupních)>
zastavit [ConveyorMotor v]

když optické#

Blok when Optical spustí připojený zásobník bloků vždy, když optický senzor detekuje nebo ztratí objekt.

když [Optical v] [detekuje v] objekt

Parametry

Popis

stát

Kdy se spustí připojený zásobník bloků: detects se spustí, když je detekován nedetekovaný objekt, zatímco loses se spustí, když detekovaný objekt již není detekován.

GPS#

GPS pozice#

Blok GPS position vrací polohový posun referenčního bodu otáčení robota od středu pole pomocí senzoru GPS (Game Positioning System™).

(poloha [GPS v] [X v] v [mm v])

Parametry

Popis

osa

Kterou osu hlásit:

  • X
  • Y

jednotky

Jednotka pro vyjádření polohy: mm nebo palce

Příklad

při spuštění
[Pick up a second Block.]
otáčet [ConveyorMotor v] na polohu [200] [stupně v] ▶
otáčet [IntakeMotor v] [přívod v]
jet [dopředu v]
čekat dokud <[-450] [math_greater_than v] (poloha [GPS v] [Y v] v [mm v])>
zastavit jízdu

GPS kurz#

Blok GPS heading vrací směr, kterým se robot aktuálně nachází, na základě údajů ze senzoru GPS (Game Positioning System™) z kódu pole VEX GPS od 0,00 do 359,99 stupňů.

(kurz [GPS v] ve stupních)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

při spuštění
[Score the preloaded Block into a Center Goal.]
otočit [vlevo v]
čekat dokud <[40] [math_greater_than v] (kurz [GPS v] ve stupních)>
jet [dopředu v] na [1000] [mm v] ▶
otočit [vpravo v]
čekat dokud <(kurz [GPS v] ve stupních) [math_greater_than v] [310]>
jet [zpět v] na [200] [mm v] ▶
otáčet [ConveyorMotor v] [nahoru v]