Robotspecifikus blokkok#

Bevezetés#

A Flex nevű hősbot tartalmaz egy karommotort, egy karmotort, egy mesterséges intelligenciával működő látószenzort, egy távolságérzékelőt és egy játékbeli helymeghatározó rendszer (GPS) érzékelőt.

Minden szabványos VEXcode VR blokk használható a V5 26-27 Felülírás Játszótéren.

Az alábbiakban felsoroljuk az összes elérhető robotspecifikus blokkot:

Hajtáslánc – Mozgasd és forgatd a robotot.

Mozgás – Mozgasd és kövesd a robot motorjait.

AI Vision – Rögzítsen és elemezzen tárgyakat az AI látásérzékelővel.

Érzékelés – Használja a robot különféle érzékelőit.

  • Távolság

  • GPS

    • GPS pozíció – Visszaadja a GPS-érzékelő által mért X vagy Y pozíciót.

    • GPS irány – Visszaadja a robot aktuális irányát.

Az ezen az oldalon található példák a Játszótér mérkőzés előtti ellenőrzőlistájának C kezdőhelyszínét használják.

Hajtáslánc#

A hajtáslánc vezérli a VR Robot vezetését és fordulását. A hajtáslánc előre vagy hátra mozoghat, balra vagy jobbra fordulhat, irányt vehet, és nyomon követheti a forgását.

Műveletek#

hajtás#

A meghajtó veremblokk a robotot a végtelenségig előre vagy hátra mozgatja. A robot addig fog mozogni, amíg egy másik műveletet nem kap, például fordulást vagy megállást.

hajtás [előre v]

Paraméterek

Leírás

irány

A robot mozgásiránya: előre vagy hátra.

Példa

amikor elindul :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v]
várakozás (0.5) másodpercig
hajtás leállítása
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

hajtani#

A meghajtás veremblokk a robotot egy adott távolságra előre vagy hátra mozgatja. A projekt megvárja, amíg a robot befejezi a mozgást, mielőtt a verem következő blokkja futna.

hajtás [előre v] irányba (200) [mm v] értékkel ▶

Paraméterek

Leírás

irány

A robot mozgásiránya: előre vagy hátra.

távolság

A robot által megtett távolság. Ez lehet egész vagy tizedes tört.

egység

A távolság mértékegysége: mm (milliméter) vagy hüvelyk

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

fordulat#

A fordulás veremblokk a robotot örökre balra vagy jobbra forgatja. A robot addig fog forogni, amíg egy másik műveletet nem kap, például vezetést vagy megállást.

fordulás [jobbra v]

Paraméterek

Leírás

irány

A robot fordulási iránya: balra vagy jobbra.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás [balra v]
várakozás (0.78) másodpercig
hajtás leállítása
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

fordulj#

A fordulatszám veremblokk a robotot egy adott fokszámmal balra vagy jobbra forgatja. A fordulat a robot aktuális pozíciójához viszonyítva történik. A projekt megvárja, amíg a robot befejezi a fordulást, mielőtt a veremben lévő következő blokk futtatásra kerülne.

fordulás [jobbra v] irányba (90) fokkal ▶

Paraméterek

Leírás

irány

A robot fordulási iránya: balra vagy jobbra.

szög

A robot által elfordult fokok száma. Ez lehet egész vagy tizedes tört.

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás [balra v] irányba (110) fokkal ▶
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

forduljon a címsorhoz#

Az irány a robot által mutatott irány, fokban mérve. A fordulj irányba veremblokk a robotot egy adott irányba fordítja -359 és 359 fok között. A robot a legrövidebb irányba fordul, hogy elérje a célirányt.

A kezdő irány 0 fok.

A projekt megvárja, amíg a robot befejezi a forgást, mielőtt a veremben lévő következő blokk futna.

fordulás (90) fokos irányba ▶

Paraméterek

Leírás

cím

A robot iránya, amellyel szembe kell néznie, -359 és 359 fok között.

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás (-110) fokos irányba ▶
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

forgásba lendül#

A forgásba váltás veremblokk a robotot egy adott forgásba fordítja.

A forgás a robot fordulatát adja meg fokban mérve. A projekt elején a forgási érték 0 fokra van állítva. A forgás a set drive rotation blokkal is beállítható.

A forgási értékek abszolútak. Ez azt jelenti, hogy a fordulat iránya a robot aktuális forgásától függ. Jobbra forgatás növeli, balra forgatás csökkenti a forgást.

Például, ha a robot 0 fokról indul, és 720 fokos elfordulást érünk el, akkor kétszer fordul jobbra. Ha ezután 360 fokos elfordulást végzünk, akkor egyszer fordul balra, mert a 360 fok kisebb, mint a 720 fok.

A projekt megvárja, amíg a robot befejezi a forgást, mielőtt a veremben lévő következő blokk futna.

fordulás (90) fokos forgásba ▶

Paraméterek

Leírás

forgás

A robot elfordulási értéke fokban megadva. Ez lehet egész vagy tizedes szám.

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás (-110) fokos forgásba ▶
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

ne vezess#

A vezetés leállítása veremblokk leállítja a robot mozgását.

hajtás leállítása

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v]
várakozás (0.5) másodpercig
hajtás leállítása
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

Beállítások#

beállított hajtási sebesség#

A beállított hajtási sebesség blokk megmondja a robotnak, hogy milyen gyorsan haladjon. Magasabb százalékos érték esetén a robot gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban halad.

Minden projekt azzal kezdődik, hogy a robot alapértelmezés szerint 50%-os sebességgel halad.

Megjegyzés: A nagyobb sebesség gyorsabbá teszi a robotot, de kevésbé pontos lehet. Az alacsonyabb sebesség lassabbá teszi a robotot, de pontosabb lehet.

hajtási sebesség beállítása (50) [% v]

Paraméterek

Leírás

sebesség

A haladási sebesség 0%-tól 100%-ig.

egység

A sebesség mértékegysége: %

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás [balra v] irányba (110) fokkal ▶
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtási sebesség beállítása (100) [% v]
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

beállított fordulási sebesség#

A fordulási sebesség beállítása blokk megmondja a robotnak, hogy milyen gyorsan forduljon. Magasabb százalékos érték esetén a robot gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban fordul.

Minden projekt azzal kezdődik, hogy a robot alapértelmezés szerint 50%-os sebességgel forog.

Megjegyzés: A nagyobb sebesség gyorsabbá teszi a robot fordulását, de kevésbé pontos lehet. Az alacsonyabb sebesség lassabbá teszi a robot fordulását, de pontosabb lehet.

fordulási sebesség beállítása (50) [% v]

Paraméterek

Leírás

sebesség

A fordulási sebesség 0%-tól 100%-ig terjedhet.

egység

A sebesség mértékegysége: %

Példa

amikor elindul :: hat events
[Turn to face the Neutral Goal faster.]
fordulási sebesség beállítása (100) [% v]
fordulás [balra v] irányba (110) fokkal ▶

vezetési irány beállítása#

A haladási irány a robot fordulási iránya, fokban mérve. A meghajtási irány beállítása veremblokk a robot aktuális haladási irányát egy új haladási értékre módosítja.

Például, ha a robot jobbra fordult, és a haladási irány 0 fokra állítása a jobbra néző pozíciót teszi az új 0 fokossá. Ezután a robot az új irány alapján más pozíciókba fordulhat.

hajtás irányának beállítása (0) fokra

Paraméterek

Leírás

cím

A robot számára beállítandó irányérték fokban.

Példa

amikor elindul :: hat events
[Make facing the Neutral Goal the new heading.]
hajtás irányának beállítása (110) fokra
fordulás (0) fokos irányba ▶

beállított hajtásforgás#

A forgás a robot elfordulásának mértékét mutatja fokban mérve. A projekt elején a forgási érték 0 fokra van állítva. A meghajtás forgásának beállítása veremblokk a robot aktuális forgását egy új értékre módosítja.

Például, ha a robot két teljes fordulatot tett jobbra, akkor a forgási értéke 720 fok lesz. Ha a forgást 0 fokra állítja, akkor a forgás 720-ról 0 fokra áll vissza. Ezután a robot az új érték alapján foroghat.

hajtás forgásának beállítása (0) fokra

Paraméterek

Leírás

forgás

A robothoz beállítandó forgatási érték fokban. Ez lehet egész vagy tizedes tört.

Példa

amikor elindul :: hat events
[Make facing the Neutral Goal the new rotation.]
hajtás forgásának beállítása (110) fokra
fordulás (0) fokos forgásba ▶

meghajtó időtúllépésének beállítása#

A meghajtási időtúllépés beállítása blokk azt állítja be, hogy a robot hány másodpercig próbáljon meg befejezni egy mozgást. Ha a robot nem tudja befejezni ennyi idő alatt, akkor leállítja a próbálkozást, és továbblép a következő blokkra a veremben. Ez megakadályozza, hogy a robot elakadjon egy mozgásnál.

hajtási időkorlát beállítása (1) másodpercre

Paraméterek

Leírás

idő

Az az időtartam másodpercben, amíg a robot megpróbálhat befejezni egy mozgást. Ez lehet egész szám vagy tizedes tört.

Példa

amikor elindul :: hat events
[Turn to face the Neutral Goal.]
hajtási időkorlát beállítása (0.8) másodpercre
fordulás [balra v] irányba (180) fokkal ▶

Értékek#

a vezetés véget ért#

A meghajtás befejeződött logikai blokk jelzi, hogy a robot befejezte-e a mozgást. Ez felhasználható más viselkedések időzítésének vezérlésére a robot mozgása alapján.

  • Igaz — A robot befejezte a mozgást.

  • Hamis — A robot még mindig mozog.

Ez a blokk együtt működik azokkal a hajtáslánc-blokkokkal, amelyek rendelkeznek a és a ne várj paraméterrel.

<hajtás kész?>

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Score a Pin in a Neutral Goal.]
fordulás [balra v] irányba (110) fokkal ▶
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ◀ és ne várjon
várakozás amíg <hajtás kész?>
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

a meghajtó mozog#

A meghajtó mozog logikai blokk jelzi, hogy a robot mozog-e. Ez felhasználható más viselkedések időzítésének vezérlésére a robot mozgása alapján.

  • Igaz — A robot mozog.

  • Hamis — A robot nem mozog.

Ez a blokk együtt működik azokkal a hajtáslánc-blokkokkal, amelyek rendelkeznek a és a ne várj paraméterrel.

<hajtás mozog?>

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Raise the Arm once stopped near the Goal.]
fordulás [balra v] irányba (110) fokkal ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ◀ és ne várjon
amíg <hajtás mozog?>
várakozás (0.005) másodpercig
vége
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶

vezetési irány#

A haladási irány a robot fordulási iránya, fokban mérve. A hajtás iránya jelentési blokkja 0 és 359,99 fok közötti szöget jelez.

A robot kezdő iránya 0 fok.

(hajtás iránya fokban)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Turn to the Goal, then show heading.]
fordulás [jobbra v] irányba (450) fokkal ▶
(hajtás iránya fokban) nyomtatása a képernyőn ◀ és kurzor a következő sorra

hajtás forgása#

A forgás a robot elfordulásának mértékét mutatja fokban mérve. A projekt elején a forgási érték 0 fokra van állítva. A hajtás forgása riporterblokk a robot aktuális forgásáról számol be.

Jobbra fordulás növeli, balra fordulás pedig csökkenti a forgást. Például két teljes jobbra fordulás 720 fokos elfordulást eredményez.

(hajtás forgása fokban)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Spin to find a Pin, then show rotation.]
fordulás [jobbra v] irányba (450) fokkal ▶
(hajtás forgása fokban) nyomtatása a képernyőn ◀ és kurzor a következő sorra

hajtási sebesség#

A hajtási sebesség riporterblokk a robot haladási sebességét jelzi.

(hajtás sebessége [% v] egységben)

Paraméterek

Leírás

egység

A sebesség mértékegysége: %

Példa

amikor elindul :: hat events
[Show speed while driving to the Goal.]
hajtás [előre v] irányba (150) [mm v] értékkel ▶
(hajtás sebessége [% v] egységben) nyomtatása a képernyőn ◀ és kurzor a következő sorra

Mozgás#

A Flex az ArmMotor segítségével emeli és süllyeszti a kart, a ClawMotorral pedig nyitja és zárja a karomot.

Minden motornak megvannak a saját iránybeállításai. Az iránynevek leírják, hogyan mozog a motor a Flexen.

Műveletek#

forgó motor#

A forgó motor veremblokk örökre két irány egyikébe forgatja a motort. A motor addig forog, amíg egy másik műveletet nem kap, például egy másik irányba forgatja vagy leállítja.

[ArmMotor v] pörgetése [fel v]

Paraméterek

Leírás

motor

A forgatandó motor: KarMotor vagy KaromMotor.

irány

A motor forgásiránya:

  • KarMotor — fel vagy le
  • KaromMotor — nyit vagy zár

Példa

amikor elindul
[Raise the Arm before driving toward a Pin.]
[ArmMotor v] pörgetése [fel v]
várakozás (1) másodpercig
[ArmMotor v] leállítása

forgó motor#

A motor forgása veremblokk egy adott távolságig megforgatja a motort. A forgás a motor aktuális pozíciójához viszonyított. A projekt megvárja, amíg a motor forgása befejeződik, mielőtt a verem következő blokkja futna.

[ArmMotor v] pörgetése [fel v] irányba (90) [fok v] értékkel ▶

Paraméterek

Leírás

motor

A forgatandó motor: KarMotor vagy KaromMotor.

irány

A motor forgásiránya:

  • KarMotor — fel vagy le
  • KaromMotor — nyit vagy zár

távolság

A motor megpördülési távolsága. A fokok egész számokat használjunk. A fordulatok egész vagy tizedes törteket használhatunk.

egység

A távolság mértékegysége: fok vagy fordulat.

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul
[Raise the Arm to carry the Pin to the Goal.]
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶

forgassa a motort a pozícióba#

A motor forgatása pozícióba veremblokk egy motort forgat egy adott pozícióba.

Egy motor pozíciója azt mutatja meg, hogy mennyit forgott, fokban vagy fordulatokban mérve. Egy fordulat 360 foknak felel meg. Egy projekt elején az ArmMotor pozíciója 0 fokra van állítva. A ClawMotor kivétel – 467 foknál indul (teljesen zárva). A motor pozíciója a set motor position blokkal is beállítható.

A pozícióértékek abszolútak. Ez azt jelenti, hogy a forgás iránya a motor aktuális pozíciójától függ.

Például, ha a motor 0 foknál indul és 720 fokos pozícióig forog, akkor két fordulatot előre forog. Ha ezután 360 fokos pozícióig forog, akkor egy fordulatot hátra forog, mert a 360 fok kisebb, mint 720.

[ArmMotor v] pörgetése (90) [fok v] pozícióba ▶

Paraméterek

Leírás

motor

A forgatandó motor: KarMotor vagy KaromMotor.

pozíció

A motor forgási pozícióértéke. A fokok egész számokat használjunk. A fordulatok egész vagy tizedes törteket használhatunk.

egység

A pozíció mértékegysége: fok vagy fordulat.

és ne várj

Válassza a nyilat (▶) a blokk kibontásához, azaz a „és ne várj” felirat használatához, így a verem következő blokkja azonnal lefut.

Példa

amikor elindul
[Raise the Arm, then release the Pin.]
[ArmMotor v] pörgetése (800) [fok v] pozícióba ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

motor leállítása#

A motor leállítása veremblokk leállítja a kiválasztott motort.

[ArmMotor v] leállítása

Paraméterek

Leírás

motor

A leállítandó motor: KarMotor vagy KaromMotor.

Példa

amikor elindul
[Raise the Arm partway to hold the Pin.]
[ArmMotor v] pörgetése [fel v]
várakozás (1) másodpercig
[ArmMotor v] leállítása

Beállítások#

beállított motorsebesség#

A motorsebesség beállítása blokk megmondja a motornak, hogy milyen gyorsan forogjon. Magasabb százalékos érték esetén a motor gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban forog.

Minden projekt úgy kezdődik, hogy minden motor alapértelmezés szerint 50%-os sebességgel forog.

Megjegyzés: A nagyobb sebesség gyorsabban forog a motorban, de kevésbé pontos lehet. Az alacsonyabb sebesség lassítja a motor forgását, de pontosabb lehet.

[ArmMotor v] sebességének beállítása [50] [% v]

Paraméterek

Leírás

motor

A motor, amelyiknek a sebességét be kell állítani: KarMotor vagy KaromMotor.

sebesség

A motor forgási sebessége. A százalék 0%-tól 100%-ig terjedő egész számokat használ.

egység

A sebesség mértékegysége: %.

Példa

amikor elindul
[Raise the Arm fast to release the Pin.]
[ArmMotor v] sebességének beállítása [100] [% v]
[ArmMotor v] pörgetése [fel v] irányba (800) [fok v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

motor időtúllépésének beállítása#

A motor időtúllépésének beállítása veremblokk beállítja, hogy mennyi idő alatt próbáljon meg egy motor befejezni egy mozgást. Ha a motor nem tud befejezni ennyi idő alatt, akkor leállítja a próbálkozást, és továbblép a verem következő blokkjára. Ez megakadályozza, hogy a motor elakadjon egy mozgásnál.

[ArmMotor v] időkorlátjának beállítása [1] másodpercre

Paraméterek

Leírás

motor

A motor, amelynek időtúllépését be kell állítani: KarMotor vagy KaromMotor.

idő

Az az időtartam másodpercben, amíg a motor megpróbálhat befejezni egy mozgást. Ez lehet egész szám vagy tizedes tört.

Példa

amikor elindul
[Score a Pin in a Neutral Goal.]
fordulás [balra v] irányba (110) fokkal ▶
[ArmMotor v] időkorlátjának beállítása [1] másodpercre
[ArmMotor v] pörgetése [fel v] irányba (1800) [fok v] értékkel ▶
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

Pozíció#

motor pozíciója#

Egy motor helyzete azt mutatja meg, hogy mennyit forgott, fokban vagy fordulatokban mérve. Egy fordulat 360 foknak felel meg. A motorpozíció riporterblokkja jelenti a motor aktuális helyzetét.

Egy projekt elején az ArmMotor pozíciója 0 fokra van állítva. A ClawMotor kivétel – 467 foknál indul (teljesen zárva). Ha a motor egy teljes fordulatot előre forog, a pozíció növekszik. Ha a motor az ellenkező irányba forog, a pozíció csökken.

([ArmMotor v] pozíciója [fok v] egységben)

Paraméterek

Leírás

motor

A motor, amely a következő pozíciót jelenti: KarMotor vagy KaromMotor.

egység

A motor helyzetének jelzésére szolgáló mértékegység: fok vagy fordulat.

Példa

amikor elindul
[Raise the Arm, then release the Pin.]
amíg <([ArmMotor v] pozíciója [fok v] egységben) < (800)>
[ArmMotor v] pörgetése [fel v]
várakozás (0.002) másodpercig
vége
[ArmMotor v] leállítása
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

beállított motor pozíció#

Egy motor helyzete azt mutatja meg, hogy mennyit forgott, fokban vagy fordulatokban mérve. Egy fordulat 360 foknak felel meg. A motor pozíciójának beállítása veremblokk a motor aktuális helyzetét egy új értékre módosítja.

Például, ha egy motor 180 fokra forgott, a pozíció 0 fokra állítása visszaállítja ezt a pozíciót 180-ról 0 fokra. Ezután a motor az új érték alapján foroghat a pozíciókba.

[ArmMotor v] pozíciójának beállítása (0) [fok v] értékre

Paraméterek

Leírás

motor

A motor, amely a következő pozíciót állítja be: KarMotor vagy KaromMotor.

pozíció

A motorhoz beállítandó pozícióérték. A Fokok egész számokat használhatnak. A Fordulatok egész vagy tizedes törteket használhatnak.

egység

A pozíció mértékegysége: fok vagy fordulat.

Példa

amikor elindul
[Reset encoder, raise Arm, place Pin.]
[ArmMotor v] pozíciójának beállítása (0) [fok v] értékre
[ArmMotor v] pörgetése (800) [fok v] pozícióba ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

Értékek#

elkészült a motor#

A motor kész logikai blokk jelzi, hogy a motor mozgása befejeződött-e. Ez felhasználható más viselkedések időzítésének vezérlésére a motor mozgása alapján.

  • Igaz — A motor mozgása befejeződött.

  • Hamis — A motor még mindig mozog.

Ez a blokk a következő, és ne várjon paraméterrel rendelkező mozgásblokkokkal működik együtt: forgatja a motort erre a pozícióra és forgatja a motort a kívánt pozícióba.

<[ArmMotor v] kész?>

Paraméterek

Leírás

motor

A motor, amely jelzi, hogy befejezte-e a mozgást: KarMotor vagy KaromMotor.

Példa

amikor elindul
[Raise the Arm while driving to the Goal.]
[ArmMotor v] pörgetése (800) [fok v] pozícióba ◀ és ne várjon
várakozás (0.1) másodpercig
amíg <nem <[ArmMotor v] kész?>>
hajtás [előre v]
várakozás (0.005) másodpercig
vége
hajtás leállítása

a motor forog#

A motor forog logikai blokk jelzi, hogy a motor forog-e. Ez felhasználható más viselkedések időzítésének vezérlésére a motor mozgása alapján.

  • Igaz — A motor forog.

  • Hamis — A motor nem forog.

Ez a blokk a következő, és ne várjon paraméterrel rendelkező mozgásblokkokkal működik együtt: forgatja a motort erre a pozícióra és forgatja a motort a kívánt pozícióba.

<[ArmMotor v] forog?>

Paraméterek

Leírás

motor

A motor, amely jelzi, hogy forog-e: KarMotor vagy KaromMotor.

Példa

amikor elindul
[Raise the Arm while driving to the Goal, then release the Pin.]
[ArmMotor v] pörgetése (800) [fok v] pozícióba ◀ és ne várjon
várakozás (0.1) másodpercig
amíg <[ArmMotor v] forog?>
hajtás [előre v] irányba (20) [mm v] értékkel ▶
vége
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

motorsebesség#

A motorsebesség riporterblokk a motor forgási sebességét adja meg százalékos formában, -100%-tól 100%-ig.

([ArmMotor v] sebessége [% v] egységben :: custom-motion)

Paraméterek

Leírás

motor

A motor, amely a következő sebességet jelenti: KarMotor vagy KaromMotor.

egység

A motorsebesség kijelzéséhez használt mértékegység: %.

Példa

amikor elindul
[Show Arm Motor velocity while raising.]
[ArmMotor v] sebességének beállítása [100] [% v]
[ArmMotor v] pörgetése (800) [fok v] pozícióba ◀ és ne várjon
várakozás (0.2) másodpercig
([ArmMotor v] sebessége [% v] egységben :: custom-motion) nyomtatása a képernyőn ◀ és kurzor a következő sorra

AI látás#

Műveletek#

objektumadatok lekérése#

Az objektumadatok lekérése blokk egyetlen aláírásra szűri az AI Vision Sensor keretrendszeréből származó adatokat – egy mentett leírást valamiről, amit az érzékelő felismer, például egy játékelemet a pályán.

Az adathalmaz a 0 indexszel kezdődően, szélesség szerint a legnagyobbtól a legkisebbig rendezett objektumokat tárolja. Minden objektum tulajdonságai az AI Vision object property blokk használatával érhetők el. Ha nem található egyező objektum, akkor üres adathalmazt ad vissza.

A Get objektum adatverem blokkja.#
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból

Paraméter

Leírás

aláírás

Úgy szűri az adathalmazt, hogy csak az adott aláírás adatait tartalmazza. Az elérhető aláírások:

  • AI Classifications - RedBluePin, BlueYellowPin, RedYellowPin, YellowPin és Cup játékelemeket észlel.
  • AprilTags - A pályán található AprilTag azonosítókat észleli.

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Turn to face the Pin.]
fordulási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] objektum [középX v]) < (140)> then
fordulás [balra v]
else if <([AIVision v] object [centerX v]) > (180)> then
fordulás [jobbra v]
különben
hajtás leállítása
megszakítás
vége
vége
vége

Beállítások#

objektumelem beállítása#

Az objektumelem beállítása blokk beállítja, hogy az adathalmaz melyik elemét kell használni.

A Set AI Vision objektum elemverem blokkja.#
[AIVision v] objektum elemének beállítása [1] értékre

Paraméterek

Leírás

tétel

Az adathalmazban használandó elem száma.

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
[Check if any AI Classifications were detected in the last snapshot.]
ha <[AIVision v] objektum létezik?> akkor
[If any AI Classification is detected, check if any of them are a specific game element.]
ha <[AIVision v] objektum [RedBluePin v]?> akkor
[RedBluePin detected.] nyomtatása ▶
különben
[No RedBluePin detected.] nyomtatása ▶
vége
vége

Értékek#

objektum létezik#

Az objektum létezik blokk egy logikai értéket ad vissza, amely jelzi, hogy észlelhető-e objektum az adathalmazban.

  • Igaz – Az adathalmaz tartalmaz egy észlelt objektumot.

  • Hamis – Az adathalmaz nem tartalmaz észlelt objektumokat.

Az AI Vision objektum létezik Boole-blokkban.#
<[AIVision v] objektum létezik?>

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
[Check if any AI Classifications were detected in the last snapshot.]
ha <[AIVision v] objektum létezik?> akkor
([AIVision v] objektumok száma) nyomtatása ◀ és kurzor a következő sorra
vége

tárgy#

Az objektum blokk egy logikai értéket ad vissza, amely azt jelzi, hogy egy észlelt objektum megfelel-e egy adott osztályozásnak.

  • Igaz – Az adathalmazban található elem a konkrét objektum.

  • Hamis – Az adathalmazban található elem nem a konkrét objektum.

Az AI Vision objektum egy Boole-blokk.#
<[AIVision v] objektum [RedBluePin v]?>

Paraméter

Leírás

objektum

Melyik tárggyal hasonlítsuk össze a tárgyat:

  • PirosKékTű
  • KékSárgaTű
  • PirosSárgaTű
  • SárgaTű
  • Csésze

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
ha <[AIVision v] objektum [RedBluePin v]?> akkor
[RedBluePin detected.] nyomtatása ▶
különben
[No RedBluePin detected.] nyomtatása ▶
vége
vége

objektum az AprilTag#

Az objektum egy AprilTag blokk egy logikai értéket ad vissza, amely jelzi, hogy a detektált objektum egy adott azonosítóhoz illeszkedő AprilTag-e.

  • Igaz – Az észlelt objektum egy AprilTag a megadott azonosítójú.

  • Hamis – Az észlelt objektum nem egy AprilTag a megadott azonosítójú.

Az objektum egy AprilTag logikai blokk.#
<[AIVision v] objektum AprilTag [0]?>

Paraméter

Leírás

Áprilisi címke azonosítója

Az észlelt AprilTag-gel összehasonlítandó azonosítószám.

Példa

amikor elindul
[Report if AprilTag 3 is detected.]
[AprilTags v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
ha <[AIVision v] objektum AprilTag [3]?> akkor
[That is 3!] nyomtatása ▶
különben
[That isn't 3!] nyomtatása ▶
vége
vége

objektumok száma#

Az objektumok száma blokk egész számként adja vissza az adathalmazban észlelt objektumok számát.

A Set AI Vision objektum elemverem blokkja.#
([AIVision] objektumok száma)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
([AIVision v] objektumok száma) nyomtatása ◀ és kurzor a következő sorra
vége

objektum tulajdonság#

Minden objektumhoz hat tulajdonság tartozik (lásd alább), melyek a get object data blokk használata után tárolódnak.

Az AI Vision objektumtulajdonság-jelentési blokkja.#
([AIVision v] objektum [szélesség v])

Minden tulajdonságérték leírja az érzékelt objektum pozícióját és méretét az AI Vision Sensor nézetében abban a pillanatban, amikor az objektumadatok lekérése blokkot használták. Ezeket az értékeket pixelben mérik, az érzékelő 320 x 240 pixeles felbontása alapján.

Paraméter

Leírás

ingatlan

A detektált objektum melyik tulajdonságát használjuk:

szélesség#

A width tulajdonság a detektált objektum szélességét adja meg pixelben, 1 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere szélesség.#
([AIVision v] objektum [szélesség v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Approach the next Cup and Pin.]
hajtási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] object [width v]) > (140)> then
hajtás leállítása
megszakítás
különben
hajtás [előre v]
vége
vége
vége
magasság#

A height tulajdonság a detektált objektum magasságát adja meg pixelben, 1 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere magasság.#
([AIVision v] objektum [magasság v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Approach the next Cup and Pin.]
hajtási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] object [height v]) > (200)> then
hajtás leállítása
megszakítás
különben
hajtás [előre v]
vége
vége
vége
középX#

A centerX tulajdonság a detektált objektum középpontjának x koordinátáját adja meg pixelben, 0 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerX.#
([AIVision v] objektum [középX v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Turn and approach the next Cup and Pin.]
fordulási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] objektum [középX v]) < (140)> then
fordulás [balra v] irányba (5) fokkal ▶
különben
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
megszakítás
vége
vége
vége
közép Y#

A centerY tulajdonság a detektált objektum középpontjának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerY.#
([AIVision v] objektum [középY v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Approach the next Cup and Pin.]
hajtási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] object [centerY v]) > (230)> then
hajtás leállítása
megszakítás
különben
hajtás [előre v]
vége
vége
vége
eredetX#

Az originX tulajdonság a detektált objektum határolókeretének bal felső sarkának x koordinátáját adja meg pixelekben, 0 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originX.#
([AIVision v] objektum [kezdőX v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Turn and approach the next Cup and Pin.]
fordulási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] objektum [kezdőX v]) < (100)> then
fordulás [balra v] irányba (5) fokkal ▶
különben
hajtás [előre v] irányba (25) [hüvelyk v] értékkel ▶
megszakítás
vége
vége
vége
származásY#

Az originY tulajdonság a detektált objektum határolókeretének bal felső sarkának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originY.#
([AIVision v] objektum [kezdőY v])

Példa

amikor elindul
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
fordulás [balra v] irányba (70) fokkal ▶
[Approach the next Cup and Pin.]
hajtási sebesség beállítása (30) [% v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision v] szenzorból
ha <[AIVision v] objektum létezik?> akkor
if <([AIVision v] object [originY v]) > (140)> then
hajtás leállítása
megszakítás
különben
hajtás [előre v]
vége
vége
vége

Érzékelés#

Távolság#

Távolság talált egy tárgyat#

A Talált tárgy távolsága logikai blokk jelzi, hogy a távolságérzékelő jelenleg érzékel-e tárgyat 2000 mm-en belül.

  • Igaz — A távolságérzékelő tárgyat érzékel.

  • Hamis — A távolságérzékelő nem érzékel tárgyat.

<[FrontDistance v] talált objektumot?>

Paraméterek

Leírás

távolságérzékelő

A használandó távolságérzékelő. Válasszon a Flexhez elérhető távolságérzékelők közül.

Példa

amikor elindul :: hat events
[Turn until something is detected, then release the Pin.]
fordulás [jobbra v]
várakozás amíg <[FrontDistance v] talált objektumot?>
hajtás leállítása
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

tárgy távolsága#

A tárgytávolság riporterblokk a távolságérzékelő és a legközelebbi érzékelt tárgy közötti távolságot jelenti.

([FrontDistance v] távolsága [mm v] egységben)

Paraméterek

Leírás

távolságérzékelő

A használandó távolságérzékelő. Válasszon a Flexhez elérhető távolságérzékelők közül.

egység

A távolság mértékegysége: mm vagy hüvelyk.

Példa

amikor elindul :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
hajtás [előre v]
várakozás amíg <([FrontDistance v] távolsága [mm v] egységben) < (200)>
hajtás leállítása
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

GPS#

GPS-pozíció#

A GPS pozíció blokk a robot fordulási referenciapontjának a GPS (Game Positioning System™) érzékelővel mért mezőközépponttól való eltolását adja vissza.

([GPS v] pozíciója [X v] [mm v] egységben)

Paraméterek

Leírás

tengely

Melyik tengelyt kell jelenteni:

  • X
  • Y

egységek

A pozíciót ábrázoló mértékegység: mm vagy hüvelyk

Példa

amikor elindul :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
hajtás leállítása
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶

GPS-irány#

A GPS irány blokk visszaadja a robot aktuális irányát a GPS (Game Positioning System™) érzékelő VEX GPS mezőkódból származó, 0,00 és 359,99 fok közötti értékei alapján.

([GPS v] iránya fokban)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
[ArmMotor v] pörgetése [fel v] irányba (300) [fok v] értékkel ▶
hajtás [előre v] irányba (10) [hüvelyk v] értékkel ▶
[ClawMotor v] pörgetése [nyitott v] irányba (180) [fok v] értékkel ▶
[Turn left to face the Neutral Goal.]
fordulási sebesség beállítása (30) [% v]
fordulás [balra v]
várakozás amíg <([GPS v] iránya fokban) < (18)>
hajtás leállítása