Robotams skirti blokai#

Įvadas#

„Hero Bot“ robotas „Flex“ turi „ClawMotor“, „ArmMotor“, dirbtinio intelekto regėjimo jutiklį, atstumo jutiklį ir žaidimo padėties nustatymo sistemos (GPS) jutiklį.

Visi standartiniai VEXcode VR blokai gali būti naudojami V5 26-27 Override žaidimų aikštelėje.

Žemiau pateikiamas visų galimų robotams skirtų blokų sąrašas:

Pavaros sistema – judinkite ir pasukite robotą.

Judėjimas – judinkite ir sekite roboto variklius.

DI regėjimas – fiksuokite ir analizuokite objektus naudodami DI regėjimo jutiklį.

Jutikliai – Išnaudokite įvairius roboto jutiklius.

Šiame puslapyje pateiktuose pavyzdžiuose naudojama pradinė vieta C iš žaidimų aikštelės prieš rungtynes ​​​​skirto kontrolinio sąrašo.

Pavarų dėžė#

Pavaros sistema kontroliuoja VR roboto judėjimą ir posūkius. Pavaros sistema gali judėti pirmyn arba atgal, pasukti į kairę arba į dešinę, pasukti norima kryptimi ir sekti savo sukimąsi.

Veiksmai#

vairuoti#

Pavaros blokas robotą judina pirmyn arba atgal be galo. Robotas judės tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, pasisukti arba sustoti.

važiuoti [pirmyn v]

Parametrai

Aprašymas

kryptis

Roboto judėjimo kryptis: pirmyn arba atgal.

Pavyzdys

kai pradėta :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v]
laukti (0.5) sekundžių
sustabdyti važiavimą
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

siekti#

Blokas „vairuoti“ krūvoje robotą judina pirmyn arba atgal tam tikrą atstumą. Projektas lauks, kol robotas baigs judėti, prieš paleidžiant kitą bloką krūvoje.

važiuoti [pirmyn v] per (200) [mm v] ▶

Parametrai

Aprašymas

kryptis

Roboto judėjimo kryptis: pirmyn arba atgal.

atstumas

Atstumas, kurį nuvažiuoja robotas. Tai gali būti sveikasis arba dešimtainis skaičius.

vienetas

Atstumo vienetas: mm (milimetrai) arba coliai

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

posūkis#

Posūkio blokelis suka robotą į kairę arba į dešinę amžinai. Robotas suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, važiuoti arba sustoti.

sukti [dešinėn v]

Parametrai

Aprašymas

kryptis

Roboto sukimosi kryptis: kairėn arba dešinėn.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti [kairėn v]
laukti (0.78) sekundžių
sustabdyti važiavimą
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

pasukti#

Blokas „posūkis“ pasuka robotą į kairę arba į dešinę tam tikru laipsnių skaičiumi. Posūkis yra santykinis su dabartine roboto padėtimi. Projektas lauks, kol robotas baigs pasisukti, prieš paleidžiant kitą bloką krūvoje.

sukti [dešinėn v] per (90) laipsnių ▶

Parametrai

Aprašymas

kryptis

Roboto sukimosi kryptis: kairėn arba dešinėn.

kampas

Roboto posūkio laipsnių skaičius. Tai gali būti sveikasis arba dešimtainis skaičius.

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti [kairėn v] per (110) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

pasukite į antraštę#

Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. Pasukite į kryptį blokų blokas pasuka robotą tam tikra kryptimi nuo -359 iki 359 laipsnių. Robotas pasisuks trumpiausia kryptimi, kad pasiektų tikslinę kryptį.

Pradinė kryptis yra 0 laipsnių.

Projektas lauks, kol robotas baigs suktis, prieš paleidžiant kitą bloką krūvoje.

sukti į (90) laipsnių kryptį ▶

Parametrai

Aprašymas

antraštė

Roboto kryptis, kuria jis turėtų būti pasuktas, nuo -359 iki 359 laipsnių.

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti į (-110) laipsnių kryptį ▶
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

pasukti į rotaciją#

Pasukite į rotaciją blokų blokas įjungia roboto rotaciją.

Sukimas rodo, kiek robotas pasisuko, matuojamas laipsniais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. Sukimą taip pat galima nustatyti naudojant bloką set drive rotation.

Sukimosi vertės yra absoliučios. Tai reiškia, kad posūkio kryptis priklauso nuo roboto dabartinio sukimosi. Sukant į dešinę, sukimasis padidėja, o sukant į kairę – sumažėja.

Pavyzdžiui, jei robotas pradeda judėti nuo 0 laipsnių ir jūs pasisukate 720 laipsnių kampu, jis du kartus pasisuks į dešinę. Jei tada pasisuksite 360 ​​laipsnių kampu, jis vieną kartą pasisuks į kairę, nes 360 laipsnių yra mažiau nei 720.

Projektas lauks, kol robotas baigs suktis, prieš paleidžiant kitą bloką krūvoje.

sukti į (90) laipsnių posūkį ▶

Parametrai

Aprašymas

rotacija

Roboto sukimosi vertė laipsniais. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti į (-110) laipsnių posūkį ▶
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

nustoti vairuoti#

Sustabdyti važiavimą bloko blokas sustabdo roboto judėjimą.

sustabdyti važiavimą

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v]
laukti (0.5) sekundžių
sustabdyti važiavimą
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

Nustatymai#

nustatytas pavaros greitis#

Nustatyto važiavimo greičio blokų rinkinys nurodo robotui, kokiu greičiu važiuoti. Didesnis procentas leidžia robotui važiuoti greičiau, o mažesnis – lėčiau.

Kiekvienas projektas prasideda nuo to, kad robotas pagal numatytuosius nustatymus važiuoja 50 % greičiu.

Pastaba: Didesnis greitis leidžia robotui važiuoti greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia robotui važiuoti lėčiau, bet gali būti tiksliau.

nustatyti važiavimo greitį į (50) [% v]

Parametrai

Aprašymas

greitis

Važiavimo greitis nuo 0% iki 100%.

vienetas

Greičio vienetas: %

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti [kairėn v] per (110) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
nustatyti važiavimo greitį į (100) [% v]
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

nustatytas posūkio greitis#

Nustatyto apsisukimo greičio blokų rinkinys nurodo robotui, kokiu greičiu jis turi suktis. Didesnis procentas leidžia robotui suktis greičiau, o mažesnis – lėčiau.

Kiekvienas projektas prasideda nuo to, kad robotas pagal numatytuosius nustatymus sukasi 50 % greičiu.

Pastaba: Didesnis greitis leidžia robotui sukasi greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia robotui sukasi lėčiau, bet gali būti tiksliau.

nustatyti sukimosi greitį į (50) [% v]

Parametrai

Aprašymas

greitis

Sukimosi greitis nuo 0% iki 100%.

vienetas

Greičio vienetas: %

Pavyzdys

kai pradėta :: hat events
[Turn to face the Neutral Goal faster.]
nustatyti sukimosi greitį į (100) [% v]
sukti [kairėn v] per (110) laipsnių ▶

nustatyti važiavimo kryptį#

Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. nustatyti pavaros kryptį bloko reikšmė pakeičia dabartinę roboto kryptį į naują.

Pavyzdžiui, jei robotas pasisuko veidu į dešinę, nustačius 0 laipsnių kryptį, ta nukreipta į dešinę pozicija tampa nauja 0 laipsnių. Tada robotas gali pasisukti į kitas pozicijas, remdamasis ta nauja kryptimi.

nustatyti važiavimo kryptį į (0) laipsnių

Parametrai

Aprašymas

antraštė

Roboto krypties vertė laipsniais, kurią reikia nustatyti.

Pavyzdys

kai pradėta :: hat events
[Make facing the Neutral Goal the new heading.]
nustatyti važiavimo kryptį į (110) laipsnių
sukti į (0) laipsnių kryptį ▶

nustatyti pavaros sukimąsi#

Sukimas – tai roboto pasisuko kampas, matuojamas laipsniais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. nustatyti pavaros sukimąsi blokų blokas pakeičia dabartinę roboto sukimosi vertę į naują.

Pavyzdžiui, jei robotas atliko du pilnus posūkius į dešinę, jo sukimosi vertė bus 720 laipsnių. Nustačius sukimąsi į 0 laipsnių, sukimasis bus atstatytas iš 720 į 0 laipsnių. Tada robotas galės atlikti sukimus pagal tą naują vertę.

nustatyti važiavimo posūkį į (0) laipsnių

Parametrai

Aprašymas

rotacija

Roboto sukimosi vertė laipsniais. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

Pavyzdys

kai pradėta :: hat events
[Make facing the Neutral Goal the new rotation.]
nustatyti važiavimo posūkį į (110) laipsnių
sukti į (0) laipsnių posūkį ▶

nustatyti važiavimo laikmatį#

Blokas „nustatyti pavaros laiką“ nustato, kiek sekundžių robotas bandys užbaigti judesį. Jei robotas negali užbaigti per tą laiką, jis nustos bandyti ir pereis prie kito bloko bloke. Tai neleidžia robotui užstrigti ties judesiu.

nustatyti važiavimo laiko limitą į (1) sekundžių

Parametrai

Aprašymas

laikas

Sekundžių skaičius, kurį robotas gali bandyti užbaigti judesį. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

Pavyzdys

kai pradėta :: hat events
[Turn to face the Neutral Goal.]
nustatyti važiavimo laiko limitą į (0.8) sekundžių
sukti [kairėn v] per (180) laipsnių ▶

Vertybės#

važiavimas baigtas#

Būlio blokas važiuoti baigta praneša, ar robotas baigė judėti. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų roboto judėjimu, laiką.

  • Tiesa — Robotas baigė judėti.

  • Netiesa — Robotas vis dar juda.

Šis blokas veikia kartu su pavaros blokais, turinčiais parametrą ir „don’t wait“.

<važiavimas baigtas?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Score a Pin in a Neutral Goal.]
sukti [kairėn v] per (110) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ◀ ir nelaukti
laukti kol <važiavimas baigtas?>
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

pavara juda#

Būlio blokas pavara juda praneša, ar robotas juda. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų roboto judėjimu, laiką.

  • Tiesa – Robotas juda.

  • Netiesa — Robotas nejuda.

Šis blokas veikia kartu su pavaros blokais, turinčiais parametrą ir „don’t wait“.

<važiuoja?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Raise the Arm once stopped near the Goal.]
sukti [kairėn v] per (110) laipsnių ▶
važiuoti [pirmyn v] per (25) [coliai v] ◀ ir nelaukti
kol <važiuoja?>
laukti (0.005) sekundžių
pabaiga
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶

važiavimo kryptis#

Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. Posūkio krypties reporterio blokas praneša apie kryptį nuo 0 iki 359,99 laipsnių.

Roboto pradinė kryptis yra 0 laipsnių.

(važiavimo kryptis laipsniais)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Turn to the Goal, then show heading.]
sukti [dešinėn v] per (450) laipsnių ▶
spausdinti (važiavimo kryptis laipsniais) ekrane ◀ ir perkelti žymeklį į kitą eilutę

pavaros sukimasis#

Sukimasis – tai roboto pasisuko kampas, matuojamas laipsniais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. pavaros sukimosi reporterio blokas praneša apie dabartinį roboto sukimąsi.

Sukant į dešinę, sukimasis padidėja, o sukant į kairę – sumažėja. Pavyzdžiui, padarius du pilnus posūkius į dešinę, bus pranešta apie 720 laipsnių sukimąsi.

(važiavimo posūkis laipsniais)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Spin to find a Pin, then show rotation.]
sukti [dešinėn v] per (450) laipsnių ▶
spausdinti (važiavimo posūkis laipsniais) ekrane ◀ ir perkelti žymeklį į kitą eilutę

pavaros greitis#

Važiavimo greičio reporterio blokas praneša apie roboto važiavimo greitį.

(važiavimo greitis [% v])

Parametrai

Aprašymas

vienetas

Greičio vienetas: %

Pavyzdys

kai pradėta :: hat events
[Show speed while driving to the Goal.]
važiuoti [pirmyn v] per (150) [mm v] ▶
spausdinti (važiavimo greitis [% v]) ekrane ◀ ir perkelti žymeklį į kitą eilutę

Judesys#

„Flex“ naudoja „ArmMotor“ rankai pakelti ir nuleisti, o „ClawMotor“ – nagams atidaryti ir uždaryti.

Kiekvienas variklis turi savo krypties parinktis. Krypties pavadinimai apibūdina, kaip variklis juda „Flex“ sistemoje.

Veiksmai#

sukimosi variklis#

Sukimosi variklio bloko funkcija suka variklį viena iš dviejų krypčių amžinai. Variklis suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, suktis kita kryptimi arba sustoti.

sukti [ArmMotor v] [aukštyn v]

Parametrai

Aprašymas

variklis

Sukamas variklis: ArmMotor arba ClawMotor.

kryptis

Variklio sukimosi kryptis:

  • SvirtisVariklis — aukštyn arba žemyn
  • NagasVariklis — atidaryti arba uždaryti

Pavyzdys

kai pradėta
[Raise the Arm before driving toward a Pin.]
sukti [ArmMotor v] [aukštyn v]
laukti (1) sekundžių
sustabdyti [ArmMotor v]

sukimosi variklis#

Blokas „sukti variklį suka variklį tam tikrą atstumą. Sukimasis yra santykinis pagal dabartinę variklio padėtį. Projektas lauks, kol variklis baigs suktis, prieš paleidžiant kitą bloką bloke.

sukti [ArmMotor v] [aukštyn v] per (90) [laipsniai v] ▶

Parametrai

Aprašymas

variklis

Sukamas variklis: ArmMotor arba ClawMotor.

kryptis

Variklio sukimosi kryptis:

  • SvirtisVariklis — aukštyn arba žemyn
  • NagasVariklis — atidaryti arba uždaryti

atstumas

Atstumas, kuriuo sukasi variklis. Laipsniai nurodomi sveikaisiais skaičiais. Posūkiai gali būti naudojami sveikaisiais arba dešimtainiais skaičiais.

vienetas

Atstumo vienetas: laipsniai arba posūkiai.

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta
[Raise the Arm to carry the Pin to the Goal.]
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶

pasukite variklį į padėtį#

Sukite variklį į padėtį blokų rinkinys suka variklį į konkrečią padėtį.

Variklio padėtis rodo, kiek jis apsisuko, matuojant laipsniais arba apsūkiais. Vienas apsūkis lygus 360 laipsnių. Projekto pradžioje „ArmMotor“ padėtis nustatyta į 0 laipsnių. „ClawMotor“ yra išimtis – jis pradeda veikti esant 467 laipsniams (visiškai uždarytas). Variklio padėtį taip pat galima nustatyti naudojant set motor position bloką.

Padėties vertės yra absoliučios. Tai reiškia, kad sukimosi kryptis priklauso nuo dabartinės variklio padėties.

Pavyzdžiui, jei variklis užsiveda esant 0 laipsnių kampui ir sukasi iki 720 laipsnių padėties, jis suksis du apsisukimus į priekį. Jei jis tada suksis iki 360 laipsnių padėties, jis suksis vieną apsisukimą atgal, nes 360 yra mažiau nei 720.

sukti [ArmMotor v] į padėtį (90) [laipsniai v] ▶

Parametrai

Aprašymas

variklis

Sukamas variklis: ArmMotor arba ClawMotor.

pozicija

Variklio sukimosi padėties vertė. Laipsniai naudojami sveikaisiais skaičiais. Apsūkiai gali būti naudojami sveikaisiais arba dešimtainiais skaičiais.

vienetas

Padėties vienetas: laipsniai arba posūkiai.

ir nelauk

Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto.

Pavyzdys

kai pradėta
[Raise the Arm, then release the Pin.]
sukti [ArmMotor v] į padėtį (800) [laipsniai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

sustabdyti variklį#

Variklio sustabdymo blokų rinkinys sustabdo pasirinktą variklį.

sustabdyti [ArmMotor v]

Parametrai

Aprašymas

variklis

Variklis, kurį reikia sustabdyti: ArmMotor arba ClawMotor.

Pavyzdys

kai pradėta
[Raise the Arm partway to hold the Pin.]
sukti [ArmMotor v] [aukštyn v]
laukti (1) sekundžių
sustabdyti [ArmMotor v]

Nustatymai#

nustatytas variklio greitis#

Nustatyto variklio greičio blokų rinkinys nurodo varikliui, kokiu greičiu jis turi suktis. Didesnis procentas leidžia varikliui suktis greičiau, o mažesnis – lėčiau.

Kiekvienas projektas pradedamas, kai kiekvienas variklis pagal numatytuosius nustatymus sukasi 50 % greičiu.

Pastaba: Didesnis greitis leidžia varikliui sukasi greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia varikliui sukasi lėčiau, bet gali būti tiksliau.

nustatyti [ArmMotor v] greitį į [50] [% v]

Parametrai

Aprašymas

variklis

Variklis, kurio greitis nustatomas: ArmMotor arba ClawMotor.

greitis

Variklio sukimosi greitis. Procentai nurodomi sveikaisiais skaičiais nuo 0 % iki 100 %.

vienetas

Greičio vienetas: %.

Pavyzdys

kai pradėta
[Raise the Arm fast to release the Pin.]
nustatyti [ArmMotor v] greitį į [100] [% v]
sukti [ArmMotor v] [aukštyn v] per (800) [laipsniai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

nustatyti variklio laikmatį#

Variklio skirtojo laiko nustatymo blokas nustato, kiek laiko variklis bandys užbaigti judesį. Jei variklis negali užbaigti per tą laiką, jis nustos bandyti ir pereis prie kito bloko bloke. Tai neleidžia varikliui užstrigti ties judesiu.

nustatyti [ArmMotor v] laiko limitą į [1] sekundžių

Parametrai

Aprašymas

variklis

Variklis, kurio skirtojo laiko nustatymas yra: ArmMotor arba ClawMotor.

laikas

Sekundžių skaičius, kurį variklis gali bandyti užbaigti judesį. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

Pavyzdys

kai pradėta
[Score a Pin in a Neutral Goal.]
sukti [kairėn v] per (110) laipsnių ▶
nustatyti [ArmMotor v] laiko limitą į [1] sekundžių
sukti [ArmMotor v] [aukštyn v] per (1800) [laipsniai v] ▶
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

Pozicija#

variklio padėtis#

Variklio padėtis rodo, kiek jis apsisuko, matuojant laipsniais arba apsukų. Vienas apsūkis lygus 360 laipsnių. Variklio padėties pranešimo blokas praneša apie dabartinę variklio padėtį.

Projekto pradžioje „ArmMotor“ padėtis nustatyta į 0 laipsnių. „ClawMotor“ yra išimtis – jis pradeda veikti esant 467 laipsniams (visiškai uždarytas). Jei variklis sukasi vieną pilną apsisukimą į priekį, padėtis padidėja. Jei variklis sukasi kita kryptimi, padėtis sumažėja.

([ArmMotor v] padėtis [laipsniai v])

Parametrai

Aprašymas

variklis

Variklis, kuris praneša apie ArmMotor arba ClawMotor padėtį.

vienetas

Variklio padėties matavimo vienetas: laipsniais arba apsukais.

Pavyzdys

kai pradėta
[Raise the Arm, then release the Pin.]
kol <([ArmMotor v] padėtis [laipsniai v]) < (800)>
sukti [ArmMotor v] [aukštyn v]
laukti (0.002) sekundžių
pabaiga
sustabdyti [ArmMotor v]
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

nustatyti variklio padėtį#

Variklio padėtis rodo, kiek jis apsisuko, matuojamas laipsniais arba apsukų. Vienas apsūkis lygus 360 laipsnių. Nustatyti variklio padėtį blokų rinkinys pakeičia dabartinę variklio padėtį į naują reikšmę.

Pavyzdžiui, jei variklis apsisuko iki 180 laipsnių, nustatant 0 laipsnių padėtį, ši padėtis bus atkurta iš 180 į 0 laipsnių. Tada variklis gali suktis į padėtis, pagrįstas ta nauja verte.

nustatyti [ArmMotor v] padėtį į (0) [laipsniai v]

Parametrai

Aprašymas

variklis

Variklis, kuriuo reikia nustatyti Svirties/rankos arba Nago padėtį.

pozicija

Variklio padėties vertė, kurią reikia nustatyti. Laipsniai gali būti naudojami sveikieji skaičiai. Posūkiai gali būti naudojami sveikieji arba dešimtainiai skaičiai.

vienetas

Padėties vienetas: laipsniai arba posūkiai.

Pavyzdys

kai pradėta
[Reset encoder, raise Arm, place Pin.]
nustatyti [ArmMotor v] padėtį į (0) [laipsniai v]
sukti [ArmMotor v] į padėtį (800) [laipsniai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

Vertybės#

variklis baigtas#

Loginis blokas variklis baigė judėti praneša, ar variklis baigė judėti. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų variklio judėjimu, laiką.

  • Teisinga — Variklis nustojo judėti.

  • Netiesa — Variklis vis dar juda.

Šis blokas veikia kartu su šiais judesio blokais, turinčiais parametrą ir nelaukti: sukimosi variklis už ir sukimosi variklis į poziciją.

<[ArmMotor v] baigė?>

Parametrai

Aprašymas

variklis

Variklis, kuris praneša, ar baigė judėti: ArmMotor arba ClawMotor.

Pavyzdys

kai pradėta
[Raise the Arm while driving to the Goal.]
sukti [ArmMotor v] į padėtį (800) [laipsniai v] ◀ ir nelaukti
laukti (0.1) sekundžių
kol <ne <[ArmMotor v] baigė?>>
važiuoti [pirmyn v]
laukti (0.005) sekundžių
pabaiga
sustabdyti važiavimą

variklis sukasi#

Būlio blokas variklis sukasi praneša, ar variklis sukasi. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų variklio judėjimu, laiką.

  • Tiesa – Variklis sukasi.

  • Netiesa — Variklis nesisuka.

Šis blokas veikia kartu su šiais judesio blokais, turinčiais parametrą ir nelaukti: sukimosi variklis už ir sukimosi variklis į poziciją.

<[ArmMotor v] sukasi?>

Parametrai

Aprašymas

variklis

Variklis, kuris praneša, ar jis sukasi: ArmMotor arba ClawMotor.

Pavyzdys

kai pradėta
[Raise the Arm while driving to the Goal, then release the Pin.]
sukti [ArmMotor v] į padėtį (800) [laipsniai v] ◀ ir nelaukti
laukti (0.1) sekundžių
kol <[ArmMotor v] sukasi?>
važiuoti [pirmyn v] per (20) [mm v] ▶
pabaiga
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

variklio greitis#

Variklio greičio reporterio blokas nurodo variklio sukimosi greitį procentais nuo -100 % iki 100 %.

([ArmMotor v] greitis [% v] :: custom-motion)

Parametrai

Aprašymas

variklis

Variklis, kuris praneša apie ArmMotor arba ClawMotor greitį.

vienetas

Variklio greičio pateikimo vienetas: %.

Pavyzdys

kai pradėta
[Show Arm Motor velocity while raising.]
nustatyti [ArmMotor v] greitį į [100] [% v]
sukti [ArmMotor v] į padėtį (800) [laipsniai v] ◀ ir nelaukti
laukti (0.2) sekundžių
spausdinti ([ArmMotor v] greitis [% v] :: custom-motion) ekrane ◀ ir perkelti žymeklį į kitą eilutę

Dirbtinio intelekto vizija#

Veiksmai#

gauti objekto duomenis#

Blokas gauti objekto duomenis filtruoja duomenis iš dirbtinio intelekto regos jutiklio kadro į vieną parašą – išsaugotą aprašymą to, ką jutiklis gali atpažinti, pvz., žaidimo elementą aikštėje.

Duomenų rinkinyje objektai saugomi surūšiuoti nuo didžiausio iki mažiausio pagal plotį, pradedant nuo indekso 0. Kiekvieno objekto savybes galima pasiekti naudojant bloką AI Vision object property. Jei nerandama atitinkamų objektų, grąžinamas tuščias duomenų rinkinys.

„Gauti objekto duomenų steką“ blokas.#
gauti [AI klasifikacijos v] duomenis iš [AIVision v]

Parametras

Aprašymas

parašas

Filtruoja duomenų rinkinį, kad būtų įtraukti tik nurodyto parašo duomenys. Galimi parašai:

  • AI klasifikacijos – aptinka „RedBluePin“, „BlueYellowPin“, „RedYellowPin“, „YellowPin“ ir „Cup“ žaidimo elementus.
  • AprilTags – aptinka lauke rastus „AprilTag“ ID.

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Turn to face the Pin.]
nustatyti sukimosi greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] objektas [centrasX v]) < (140)> then
sukti [kairėn v]
else if <([AIVision v] object [centerX v]) > (180)> then
sukti [dešinėn v]
kitu atveju
sustabdyti važiavimą
pertraukti
pabaiga
pabaiga
pabaiga

Nustatymai#

nustatyti objekto elementą#

Blokas nustatyti objekto elementą nustato, kurį duomenų rinkinio elementą naudoti.

Objekto „Set AI Vision“ elementų krūvos blokas.#
nustatyti [AIVision v] objekto elementą į [1]

Parametrai

Aprašymas

prekė

Duomenų rinkinyje esančio elemento numeris, kuris bus naudojamas.

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
jei <[AIVision v] objektas egzistuoja?> tada
[If any AI Classification is detected, check if any of them are a specific game element.]
jei <[AIVision v] objektas yra [RedBluePin v]?> tada
spausdinti [RedBluePin detected.] ▶
kitu atveju
spausdinti [No RedBluePin detected.] ▶
pabaiga
pabaiga

Vertybės#

objektas egzistuoja#

Blokas objektas egzistuoja grąžina loginę reikšmę, nurodančią, ar duomenų rinkinyje aptiktas koks nors objektas.

  • Tiesa – duomenų rinkinyje yra aptiktas objektas.

  • Netiesa – duomenų rinkinyje nėra jokių aptiktų objektų.

„AI Vision“ objektas egzistuoja loginiame bloke.#
<[AIVision v] objektas egzistuoja?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
jei <[AIVision v] objektas egzistuoja?> tada
spausdinti ([AIVision v] objektų skaičius) ◀ ir perkelti žymeklį į kitą eilutę
pabaiga

objektas yra#

Blokas objektas yra grąžina loginę reikšmę, nurodančią, ar aptiktas objektas atitinka konkrečią klasifikaciją.

  • Tiesa – duomenų rinkinio elementas yra konkretus objektas.

  • Netiesa – duomenų rinkinio elementas nėra konkretus objektas.

„AI Vision“ objektas yra loginis blokas.#
<[AIVision v] objektas yra [RedBluePin v]?>

Parametras

Aprašymas

objektas

Su kuriuo objektu palyginti daiktą:

  • RaudonasMėlynasSmeigtukas
  • MėlynasGeltonasSmeigtukas
  • RaudonasGeltonasSmeigtukas
  • GeltonasSmeigtukas
  • Puodelis

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <[AIVision v] objektas yra [RedBluePin v]?> tada
spausdinti [RedBluePin detected.] ▶
kitu atveju
spausdinti [No RedBluePin detected.] ▶
pabaiga
pabaiga

objektas yra AprilTag#

Blokas objektas yra AprilTag grąžina loginę reikšmę, nurodančią, ar aptiktas objektas yra AprilTag, atitinkantis konkretų ID.

  • True – aptiktas objektas yra „AprilTag“ su nurodytu ID.

  • Netiesa – aptiktas objektas nėra „AprilTag“ su nurodytu ID.

Objektas yra „AprilTag“ loginis blokas.#
<[AIVision v] objektas yra AprilTag [0]?>

Parametras

Aprašymas

AprilTag ID

ID numeris, kurį reikia palyginti su aptiktu „AprilTag“.

Pavyzdys

kai pradėta
[Report if AprilTag 3 is detected.]
gauti [AprilTags v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <[AIVision v] objektas yra AprilTag [3]?> tada
spausdinti [That is 3!] ▶
kitu atveju
spausdinti [That isn't 3!] ▶
pabaiga
pabaiga

objektų skaičius#

Blokas „objektų skaičius“ grąžina duomenų rinkinyje aptiktų objektų skaičių kaip sveikąjį skaičių.

Objekto „Set AI Vision“ elementų krūvos blokas.#
([AIVision] objektų skaičius)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
spausdinti ([AIVision v] objektų skaičius) ◀ ir perkelti žymeklį į kitą eilutę
pabaiga

objekto savybė#

Kiekvienam objektui (parodyta žemiau) priskiriamos šešios savybės, kurios saugomos panaudojus bloką get object data.

„AI Vision“ objekto ypatybių reporterio blokas.#
([AIVision v] objektas [plotis v])

Visos ypatybių reikšmės apibūdina aptikto objekto padėtį ir dydį dirbtinio intelekto regos jutiklio rodinyje tuo metu, kai buvo naudojamas blokas gauti objekto duomenis. Šios reikšmės matuojamos pikseliais, remiantis jutiklio 320 x 240 pikselių skiriamąja geba.

Parametras

Aprašymas

nuosavybė

Kurią aptikto objekto savybę naudoti:

plotis#

Savybė width nurodo aptikto objekto plotį pikseliais kaip sveikąjį skaičių nuo 1 iki 320.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip plotis.#
([AIVision v] objektas [plotis v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Approach the next Cup and Pin.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] object [width v]) > (140)> then
sustabdyti važiavimą
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga
aukštis#

Savybė aukštis nurodo aptikto objekto aukštį pikseliais kaip sveikąjį skaičių nuo 1 iki 240.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip aukštis.#
([AIVision v] objektas [aukštis v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Approach the next Cup and Pin.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] object [height v]) > (200)> then
sustabdyti važiavimą
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga
centrasX#

Savybė centerX nurodo aptikto objekto centro x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip centerX.#
([AIVision v] objektas [centrasX v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Turn and approach the next Cup and Pin.]
nustatyti sukimosi greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] objektas [centrasX v]) < (140)> then
sukti [kairėn v] per (5) laipsnių ▶
kitu atveju
važiuoti [pirmyn v] per (25) [coliai v] ▶
pertraukti
pabaiga
pabaiga
pabaiga
centras Y#

Savybė centerY nurodo aptikto objekto centro y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip centerY.#
([AIVision v] objektas [centrasY v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Approach the next Cup and Pin.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] object [centerY v]) > (230)> then
sustabdyti važiavimą
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga
kilmėX#

Savybė originX nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip originX.#
([AIVision v] objektas [pradžiaX v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Turn and approach the next Cup and Pin.]
nustatyti sukimosi greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] objektas [pradžiaX v]) < (100)> then
sukti [kairėn v] per (5) laipsnių ▶
kitu atveju
važiuoti [pirmyn v] per (25) [coliai v] ▶
pertraukti
pabaiga
pabaiga
pabaiga
kilmėY#

Savybė originY nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip originY.#
([AIVision v] objektas [pradžiaY v])

Pavyzdys

kai pradėta
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (70) laipsnių ▶
[Approach the next Cup and Pin.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
if <([AIVision v] object [originY v]) > (140)> then
sustabdyti važiavimą
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga

Jutimas#

Atstumas#

Atstumas rado objektą#

Loginis blokas Atstumas iki objekto praneša, ar atstumo jutiklis šiuo metu aptinka objektą 2000 mm atstumu.

  • Teisinga – Atstumo jutiklis aptinka objektą.

  • Klaidinga – Atstumo jutiklis neaptinka objekto.

<[FrontDistance v] aptiko objektą?>

Parametrai

Aprašymas

atstumo jutiklis

Naudojamas atstumo jutiklis. Pasirinkite iš „Flex“ skirtų atstumo jutiklių.

Pavyzdys

kai pradėta :: hat events
[Turn until something is detected, then release the Pin.]
sukti [dešinėn v]
laukti kol <[FrontDistance v] aptiko objektą?>
sustabdyti važiavimą
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

objekto atstumas#

Objekto atstumo registravimo blokas praneša apie atstumą tarp atstumo jutiklio ir artimiausio aptikto objekto.

([FrontDistance v] atstumas [mm v])

Parametrai

Aprašymas

atstumo jutiklis

Naudojamas atstumo jutiklis. Pasirinkite iš „Flex“ skirtų atstumo jutiklių.

vienetas

Atstumo vienetas: mm arba coliai.

Pavyzdys

kai pradėta :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
važiuoti [pirmyn v]
laukti kol <([FrontDistance v] atstumas [mm v]) < (200)>
sustabdyti važiavimą
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

GPS#

GPS padėtis#

GPS padėties blokas grąžina roboto posūkio atskaitos taško padėties poslinkį nuo lauko centro naudojant GPS (žaidimo padėties nustatymo sistemos™) jutiklį.

([GPS v] padėtis [X v] [mm v])

Parametrai

Aprašymas

ašis

Kurią ašį pranešti:

  • X
  • Y

vienetai

Padėties matavimo vienetas: mm arba coliai

Pavyzdys

kai pradėta :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
sustabdyti važiavimą
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶

GPS kryptis#

Blokas GPS kryptis grąžina roboto kryptį, kuria jis šiuo metu juda, remiantis GPS (žaidimo padėties nustatymo sistemos™) jutiklio rodmenimis iš VEX GPS lauko kodo nuo 0,00 iki 359,99 laipsnių.

([GPS v] kryptis laipsniais)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
sukti [ArmMotor v] [aukštyn v] per (300) [laipsniai v] ▶
važiuoti [pirmyn v] per (10) [coliai v] ▶
sukti [ClawMotor v] [atviras v] per (180) [laipsniai v] ▶
[Turn left to face the Neutral Goal.]
nustatyti sukimosi greitį į (30) [% v]
sukti [kairėn v]
laukti kol <([GPS v] kryptis laipsniais) < (18)>
sustabdyti važiavimą