Robotams skirti blokai#

Įvadas#

„Didvyriškasis robotas Dex“ turi dvi variklio parinktis, dirbtinio intelekto regos jutiklį, optinį jutiklį ir žaidimo padėties nustatymo sistemos (GPS) jutiklį.

Visi standartiniai VEXcode VR blokai yra prieinami V5 25-26 Push Back ž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 numatytoji „Playground“ pradžios pozicija.

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
[Drive forward, then stop.]
važiuoti [pirmyn v]
laukti (2) sekundžių
sustabdyti važiavimą

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
[Drive forward.]
važiuoti [pirmyn v] per (500) [mm 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
[Turn right, then stop.]
sukti [dešinėn v]
laukti (2) sekundžių
sustabdyti važiavimą

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
[Turn left, then turn around to the right.]
sukti [kairėn v] per (90) laipsnių ▶
sukti [dešinėn v] per (180) laipsnių ▶

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
[Turn to face the cardinal directions.]
sukti į (90) laipsnių kryptį ▶
laukti (2) sekundžių
sukti į (180) laipsnių kryptį ▶
laukti (2) sekundžių
sukti į (270) laipsnių kryptį ▶
laukti (2) sekundžių
sukti į (0) laipsnių kryptį ▶
laukti (2) sekundžių

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
[Turn left, then spin in a circle clockwise and face right.]
sukti į (-90) laipsnių posūkį ▶
laukti (2) sekundžių
sukti į (450) laipsnių posūkį ▶

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
[Drive forward, then stop.]
važiuoti [pirmyn v]
laukti [4] sekundžių
sustabdyti važiavimą

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
[Drive forward at the default velocity.]
važiuoti [pirmyn v] per (100) [mm v] ▶
laukti (1) sekundžių
[Move slower.]
nustatyti važiavimo greitį į (20) [% v]
važiuoti [pirmyn v] per (100) [mm v] ▶
laukti (1) sekundžių
[Move faster.]
nustatyti važiavimo greitį į (100) [% v]
važiuoti [pirmyn v] per (100) [mm v] ▶
laukti (1) sekundžių

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 at default velocity.]
sukti [dešinėn v] per (100) laipsnių ▶
laukti (1) sekundžių
[Turn slower.]
nustatyti sukimosi greitį į (20)%
sukti [dešinėn v] per (100) laipsnių ▶
laukti (1) sekundžių
[Turn faster.]
nustatyti sukimosi greitį į (100)%
sukti [dešinėn v] per (100) laipsnių ▶
laukti (1) sekundžių

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
[Turn to the left.]
nustatyti važiavimo kryptį į (90) 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
[Spin counterclockwise two times.]
nustatyti važiavimo posūkį į (720) 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

Užvedus, važiavimo laikas apribojamas iki 1 sekundės, o tada pasisuka 90 laipsnių kampu.#
kai pradėta :: hat events
[Drive forward for 1 second, then turn.]
nustatyti važiavimo laiko limitą į (1) sekundžių
važiuoti [pirmyn v] per (25) [coliai v] ▶
sukti [dešinėn v] per (90) 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
[Start spinning when the drive is complete.]
važiuoti [pirmyn v] per (200) [mm v] ◀ ir nelaukti
laukti kol <važiavimas baigtas?>
sukti [dešinėn v] per (360) laipsnių ▶

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
[Print that the robot is moving while it is still driving.]
važiuoti [pirmyn v] per (200) [mm v] ◀ ir nelaukti
kol <važiuoja?>
spausdinti [Still Moving...] ▶
laukti (0.1) sekundžių
išvalyti ekraną
pabaiga
spausdinti [Done!] ▶

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
[Display the heading after turning.]
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
[Display the rotation after turning.]
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
[Display the velocity after driving.]
važiuoti [pirmyn v] per (200) [mm v] ▶
spausdinti (važiavimo greitis [% v]) ekrane ◀ ir perkelti žymeklį į kitą eilutę

Judesys#

Deksas naudoja įsiurbimo variklį blokams įtraukti į robotą. Konvejerio variklis perkelia blokus iš įsiurbimo angos į roboto viršų, kad juos būtų galima įstumti į taikinį.

Kiekvienas variklis turi savo krypties parinktis. Krypties pavadinimai apibūdina, kaip tas variklis juda Dex 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 [ConveyorMotor v] [aukštyn v]

Parametrai

Aprašymas

variklis

Sukantis variklis: Konvejerio variklis arba Įsiurbimo variklis.

kryptis

Variklio sukimosi kryptis:

  • Konvejerio variklis — aukštyn arba žemyn
  • Įsiurbimo variklis — įsiurbimas arba ištraukimas

Pavyzdys

kai pradėta
[Pick up a second Block.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [350] [mm 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 [ConveyorMotor v] [aukštyn v] per (90) [laipsniai v] ▶

Parametrai

Aprašymas

variklis

Sukantis variklis: Konvejerio variklis arba Įsiurbimo variklis.

kryptis

Variklio sukimosi kryptis:

  • Konvejerio variklis — aukštyn arba žemyn
  • Įsiurbimo variklis — įsiurbimas arba ištraukimas

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
[Pick up a second Block.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [350] [mm 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 variklio padėtis nustatoma į 0 laipsnių. Variklio padėtį taip pat galima nustatyti naudojant bloką nustatyti variklio padėtį.

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 [ConveyorMotor v] į padėtį (90) [laipsniai v] ▶

Parametrai

Aprašymas

variklis

Sukantis variklis: Konvejerio variklis arba Įsiurbimo variklis.

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
[Pick up a second Block.]
sukti [ConveyorMotor v] į padėtį [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [350] [mm v] ▶

sustabdyti variklį#

Variklio sustabdymo blokų rinkinys sustabdo pasirinktą variklį.

sustabdyti [ConveyorMotor v]

Parametrai

Aprašymas

variklis

Variklis, kurį reikia sustabdyti: Konvejerio variklis arba Įsiurbimo variklis.

Pavyzdys

kai pradėta
[Pick up a second Block.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [350] [mm v] ▶
sustabdyti [IntakeMotor 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 [ConveyorMotor v] greitį į [50] [% v]

Parametrai

Aprašymas

variklis

Variklis, kuriuo nustatomas greitis: Konvejerio variklio arba Įsiurbimo variklio.

greitis

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

vienetas

Greičio vienetas: %.

Pavyzdys

kai pradėta
[Pick up a second Block.]
nustatyti [ConveyorMotor v] greitį į [100] [% v]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [400] [mm 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 [ConveyorMotor v] laiko limitą į [1] sekundžių

Parametrai

Aprašymas

variklis

Variklis, kurio skirtojo laiko reikšmę reikia nustatyti: Konvejerio variklis arba Įsiurbimo variklis.

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
[Pick up a second Block.]
nustatyti [ConveyorMotor v] laiko limitą į [0.5] sekundžių
sukti [ConveyorMotor v] į padėtį [1000] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [400] [mm 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 variklio padėtis nustatyta į 0 laipsnių. Jei variklis sukasi vieną pilną apsisukimą į priekį, padėtis bus 360 laipsnių arba 1 apsisukimas. Jei variklis sukasi kita kryptimi, padėtis bus neigiama.

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

Parametrai

Aprašymas

variklis

Variklis, kuris praneša apie Konvejerio variklio arba Įsiurbimo variklio padėtį.

vienetas

Variklio padėties matavimo vienetas: laipsniais arba apsukais.

Pavyzdys

kai pradėta
[Pick up a second Block.]
kol <([ConveyorMotor v] padėtis [laipsniai v]) [math_less_than v] [200]>
sukti [ConveyorMotor v] [aukštyn v]
pabaiga
sustabdyti [ConveyorMotor v]
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [400] [mm 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 [ConveyorMotor v] padėtį į (0) [laipsniai v]

Parametrai

Aprašymas

variklis

Variklis, kuriuo nustatoma Konvejerio variklio arba Įsiurbimo variklio padėtis.

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.

Pavyzdys

kai pradėta
[Pick up a second Block.]
nustatyti [ConveyorMotor v] padėtį į [-200] [laipsniai v]
sukti [ConveyorMotor v] į padėtį [0] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [400] [mm 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ą.

<[ConveyorMotor v] baigė?>

Parametrai

Aprašymas

variklis

Variklis, kuris praneša, ar baigė judėti: KonvejerioVariklis arba ĮsiurbimoVariklis.

Pavyzdys

kai pradėta
[Pick up a second Block.]
sukti [ConveyorMotor v] į padėtį [300] [laipsniai v] ◀ ir nelaukti
važiuoti [pirmyn v]
sukti [IntakeMotor v] [įsiurbimo v]
laukti kol <[ConveyorMotor v] baigė?>
sustabdyti važiavimą
sustabdyti [IntakeMotor v]

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ą.

<[ConveyorMotor v] sukasi?>

Parametrai

Aprašymas

variklis

Variklis, kuris praneša, ar jis sukasi: Konvejerio variklis arba Įsiurbimo variklis.

Pavyzdys

kai pradėta
[Pick up a second Block.]
sukti [ConveyorMotor v] į padėtį [300] [laipsniai v] ◀ ir nelaukti
laukti [0.1] sekundžių
kol <[ConveyorMotor v] sukasi?>
važiuoti [pirmyn v] per [200] [mm v] ▶
sukti [IntakeMotor v] [įsiurbimo v]

variklio greitis#

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

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

Parametrai

Aprašymas

variklis

Variklis, kuris praneša apie Konvejerio variklio arba Įsiurbimo variklio greitį.

vienetas

Variklio greičio pateikimo vienetas: %.

Pavyzdys

kai pradėta
[Pick up a second Block.]
nustatyti [ConveyorMotor v] greitį į [100] [% v]
sukti [ConveyorMotor v] į padėtį [300] [laipsniai v] ◀ ir nelaukti
laukti [0.2] sekundžių
spausdinti ([ConveyorMotor v] greitis [% v] :: custom-motion) ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [400] [mm v] ▶

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š AI Vision

Parametras

Aprašymas

parašas

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

  • DI klasifikacijos – aptinka raudonus ir mėlynus blokus.

Pavyzdys

kai pradėta
[If an object is detected, pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
laukti kol <[Bumper v] paspaustas?>
sustabdyti važiavimą
pertraukti

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
[Display what object is farthest away.]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į ([AIVision v] objektų skaičius)
išvalyti visas eilutes
jei <[AIVision v] objektas yra [BlueBlock v]?> tada
spausdinti [Blue Block farthest away.] ▶
kitu atveju
spausdinti [Red Block farthest away.] ▶

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
[If an an object is detected, pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
laukti kol <[Bumper v] paspaustas?>
sustabdyti važiavimą
pertraukti

objektas yra#

Blokas AI vizijos objektas 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 [BlueBlock v]?>

Parametras

Aprašymas

objektas

Su kuriuo objektu palyginti elementą:

  • MėlynasBlokas
  • RaudonasBlokas

Pavyzdys

kai pradėta
[Display what object is farthest away.]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į ([AIVision v] objektų skaičius)
išvalyti visas eilutes
jei <[AIVision v] objektas yra [BlueBlock v]?> tada
spausdinti [Blue Block farthest away.] ▶
kitu atveju
spausdinti [Red Block farthest away.] ▶

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
[Display what object is farthest away.]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į ([AIVision v] objektų skaičius)
išvalyti visas eilutes
jei <[AIVision v] objektas yra [BlueBlock v]?> tada
spausdinti [Blue Block farthest away.] ▶
kitu atveju
spausdinti [Red Block farthest away.] ▶

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
[If an an object is detected, approach and pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <([AIVision v] objektas [plotis v]) [math_greater_than v] [65]> tada
sustabdyti važiavimą
pertraukti
kitu atveju
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
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
[If an an object is detected, approach and pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <([AIVision v] objektas [aukštis v]) [math_greater_than v] [55]> tada
sustabdyti važiavimą
pertraukti
kitu atveju
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
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
[Pick up a Block from the top left group.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [kairėn v] per [80] laipsnių ▶
važiuoti [pirmyn v] per [100] [mm v] ▶
nustatyti sukimosi greitį į [20] [% v]
sukti [kairėn v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <<[140] [math_less_than v] ([AIVision v] objektas [centrasX v])> ir <([AIVision v] objektas [centrasX v]) [math_less_than v] [180]>> tada
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
laukti kol <[Bumper v] paspaustas?>
sustabdyti važiavimą
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
[If an an object is detected, approach and pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <([AIVision v] objektas [centrasY v]) [math_greater_than v] [140]> tada
sustabdyti važiavimą
pertraukti
kitu atveju
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
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
[Pick up a Block from the top left group.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [kairėn v] per [80] laipsnių ▶
važiuoti [pirmyn v] per [100] [mm v] ▶
nustatyti sukimosi greitį į [20] [% v]
sukti [kairėn v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <<[100] [math_less_than v] ([AIVision v] objektas [pradžiaX v])> ir <([AIVision v] objektas [pradžiaX v]) [math_less_than v] [140]>> tada
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
laukti kol <[Bumper v] paspaustas?>
sustabdyti važiavimą
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
[If an an object is detected, approach and pick it up.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
jei <[120] [math_less_than v] ([AIVision v] objektas [pradžiaY v])> tada
sustabdyti važiavimą
pertraukti
kitu atveju
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
pabaiga
pabaiga

Jutimas#

Optinis#

Optinis rado objektą#

Loginis blokas Optinis jutiklis aptiko objektą praneša, ar optinis jutiklis aptinka objektą diapazone.

  • Teisinga – Optinis jutiklis aptinka objektą.

  • Klaidinga – Optinis jutiklis neaptinka objekto.

<[Optical v] aptiko objektą?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Move the preloaded Block to the top of the Conveyor.]
sukti [ConveyorMotor v] [aukštyn v]
laukti kol <[Optical v] aptiko objektą?>
sustabdyti [ConveyorMotor v]

Optinis aptinka spalvą#

Loginis blokas Optinis jutiklis aptinka spalvą praneša, ar optinis jutiklis aptinka nurodytą spalvą, remdamasis aptikta atspalvio reikšme.

  • Teisinga – jutiklis aptinka nurodytą spalvą.

  • Klaidinga – Jutiklis neaptinka nurodytos spalvos.

<[Optical v] aptinka [raudona v]?>

Parametrai

Aprašymas

spalva

Kurios spalvos ieškoti:

  • raudona – aptikta atspalvio vertė nuo 340° iki 20°.
  • žalia – aptikta atspalvio vertė nuo 80° iki 140°.
  • mėlyna – aptikta atspalvio vertė nuo 200° iki 240°.
  • geltona – aptikta atspalvio vertė nuo 40° iki 60°.
  • oranžinė – aptikta atspalvio vertė nuo 20° iki 40°.
  • violetinė – aptikta atspalvio vertė nuo 240° iki 280°.
  • žydra – aptikta atspalvio vertė nuo 140° iki 200°.

Pavyzdys

kai pradėta
[Pick up and move a Blue Block to the top of the Conveyor.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [360] [mm v] ▶
sukti [ConveyorMotor v] [aukštyn v]
laukti kol <[Optical v] aptinka [mėlyna v]?>
sustabdyti [ConveyorMotor v]

Optinis ryškumas#

Optinio ryškumo reporterio blokas praneša, kiek šviesos atsispindi atgal į optinį jutiklį, procentais nuo 0 % iki 100 %.

([Optical v] ryškumas %)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Move the preloaded Block to the top of the Conveyor.]
sukti [ConveyorMotor v] [aukštyn v]
laukti kol <[0] [math_less_than v] ([Optical v] ryškumas %)>
sustabdyti [ConveyorMotor v]

Optinis atspalvis#

Optinio atspalvio reporterio blokas praneša optinio jutiklio aptiktą atspalvį skaičiumi nuo 0 iki 359 laipsnių.

Atspalvis yra būdas apibūdinti spalvą skaičiais aplink spalvų ratą.

Apskritas spalvų ratas, rodantis visą atspalvių spektrą, pažymėtą laipsnių reikšmėmis aplink perimetrą, didėjant 30 laipsnių žingsniais nuo 0° viršuje iki 360°.

([Optical v] atspalvis laipsniais)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Pick up and move a Blue Block to the top of the Conveyor.]
sukti [ConveyorMotor v] [aukštyn v] per [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v] per [360] [mm v] ▶
sukti [ConveyorMotor v] [aukštyn v]
laukti kol <[240] [math_equal v] ([Optical v] atspalvis laipsniais)>
sustabdyti [ConveyorMotor v]

kai optinis#

Kai optinis skrybėlių blokas paleidžia prijungtą blokų krūvą, kai optinis jutiklis aptinka arba pameta objektą.

kai [Optical v] [aptinka v] objektą

Parametrai

Aprašymas

valstija

Kada bus paleistas prijungtas blokų krūvis: detects paleidžiamas, kai aptinkamas neaptiktas objektas, o loses paleidžiamas, kai aptiktas objektas nebeaptinkamas.

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
[Pick up a second Block.]
sukti [ConveyorMotor v] į padėtį [200] [laipsniai v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
važiuoti [pirmyn v]
laukti kol <[-450] [math_greater_than v] ([GPS v] padėtis [Y v] [mm v])>
sustabdyti važiavimą

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
[Score the preloaded Block into a Center Goal.]
sukti [kairėn v]
laukti kol <[40] [math_greater_than v] ([GPS v] kryptis laipsniais)>
važiuoti [pirmyn v] per [1000] [mm v] ▶
sukti [dešinėn v]
laukti kol <([GPS v] kryptis laipsniais) [math_greater_than v] [310]>
važiuoti [atgal v] per [200] [mm v] ▶
sukti [ConveyorMotor v] [aukštyn v]