Judesys#

Įvadas#

VEX AIM kodavimo robotas naudoja holonominę pavaros sistemą, kad galėtų judėti pirmyn, atgal, į kairę, į dešinę arba kampu, taip pat gali savarankiškai pasisukti. Judesio blokai kontroliuoja, kaip robotas juda ir sukasi, kaip greitai jis juda ir kaip sekama jo x ir y padėtis.

Apskritas kompaso ciferblatas nuo 0 iki 315 laipsnių, supantis tamsiai pilką ekraną su tamsiai mėlynu ekranu. Roboto priekis yra nukreiptas 0 laipsnių kampu į kompaso ciferblatą.

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

Veiksmai — Judinti ir pasukti robotą.

  • judinti — Robotas juda pirmyn, atgal, į kairę arba į dešinę amžinai.

  • judėti kampu — Robotas judina tam tikru kampu amžinai.

  • judėti — Robotas juda tam tikra kryptimi nustatytą atstumą.

  • judėti kampu — Robotas juda tam tikru kampu tam tikru atstumu.

  • turn — Robotas pasukamas į kairę arba į dešinę visam laikui.

  • pasukti — Robotas pasukamas į kairę arba į dešinę tam tikru laipsnių skaičiumi.

  • sukti į galvą — Robotas pasukamas tam tikra kryptimi.

  • judėti valdikliu — Leidžia robotą valdyti naudojant valdiklį.

  • sustabdyti visus judesius — Sustabdo visus roboto judesius.

Nustatymai – koreguokite judėjimo ir posūkio greitį.

Padėtis – Stebėkite ir keiskite roboto padėtį.

Vertės – patikrinkite judėjimo būseną.

Veiksmai#

judėti#

Judėjimo bloko funkcija judina robotą pirmyn, atgal, į kairę arba į dešinę amžinai, naudodama dabartinį judėjimo greitį. Robotas judės tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, judėjimas kita kryptimi, pasisukimas arba sustojimas.

judėti į priekį krūvos blokas#
judėti [pirmyn v]

Parametrai

Aprašymas

kryptis

Roboto judėjimo kryptis:

  • pirmyn
  • atgal
  • kairėn
  • dešinėn

Pavyzdys

Kai pradedate, judėkite į priekį#
kai pradėta
[Move forward]
judėti [pirmyn v]

judėti kampu#

Judėjimo kampu blokas robotą judina amžinai tam tikru kampu, naudodamas dabartinį judėjimo greitį. Kampas yra santykinis pagal dabartinę roboto padėtį. Robotas judės tol, kol jam bus duotas kitas veiksmas, pvz., judėti kita kryptimi, pasisukti arba sustoti.

judinkite 90 laipsnių kampu bloko bloką#
judėti (90) laipsnių kampu

Parametrai

Aprašymas

kampas

Roboto judėjimo kampas laipsniais. Tai gali būti sveikasis arba dešimtainis skaičius nuo -360 iki 360.

Pavyzdžiai

Paleidus, juda į dešinę 90 laipsnių kampu, palaukia 1 sekundę, tada juda į priekį 0 laipsnių kampu, palaukia 1 sekundę ir sustabdo visą judėjimą.#
kai pradėta
[Move right, then move forward and stop.]
judėti (90) laipsnių kampu
laukti (1) sekundžių
judėti (0) laipsnių kampu
laukti (1) sekundžių
sustabdyti visus judesius

Paleidus, juda įstrižai į dešinę 45,33 laipsnio kampu, palaukia 1 sekundę ir tada sustabdo visą judėjimą.#
kai pradėta
[Move diagonally to the right and stop.]
judėti (45.33) laipsnių kampu
laukti (1) sekundžių
sustabdyti visus judesius

judėti dėl#

Blokas „judėjimas“ robotą tam tikru atstumu perkelia į priekį, atgal, į kairę arba į dešinę, naudodamas dabartinį judėjimo greitį. Kryptis yra santykinė su dabartine roboto padėtimi. Projektas lauks, kol robotas baigs judėti, prieš paleidžiant kitą bloką bloke.

judėkite į priekį ties 200 mm bloko kaminu#
judėti [pirmyn v] per (200) [mm v] ▶

Parametrai

Aprašymas

kryptis

Roboto judėjimo kryptis:

  • pirmyn
  • atgal
  • kairėn
  • dešinėn

atstumas

Atstumas, kurį nueina robotas. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

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

Pradėjus, judėkite į priekį 200 mm bloko ilgio bloku#
kai pradėta
[Move forward for 200 mm]
judėti [pirmyn v] per (200) [mm v] ▶

judėti kampu#

Blokas „judinti kampu“ robotą judina tam tikru kampu tam tikru atstumu, naudodamas dabartinį judėjimo greitį. Kampas yra santykinis su dabartine roboto padėtimi. Projektas lauks, kol robotas baigs judėti, prieš paleidžiant kitą bloką steke.

judinti kampu, kad būtų galima blokuoti bloką#
judėti (45) laipsnių kampu per (200) [mm v] ▶

Parametrai

Aprašymas

kampas

Roboto judėjimo kampas laipsniais. Tai gali būti sveikasis arba dešimtainis skaičius nuo -360 iki 360.

atstumas

Atstumas, kurį nueina robotas. Tai gali būti sveikasis skaičius arba dešimtainė trupmena.

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.

Pavyzdžiai

Paleidus, 50 mm juda į dešinę 90 laipsnių kampu, tada 100 mm juda į priekį 0 laipsnių kampu.#
kai pradėta
[Move right, then move forward.]
judėti (90) laipsnių kampu per (50) [mm v] ▶
judėti (0) laipsnių kampu per (100) [mm v] ▶

Užvedus, važiuoja į priekį 0 laipsnių kampu 100 mm, o visi šviesos diodai mirksi raudonai.#
kai pradėta
[Drive forward and blink all LEDs red.]
judėti (0) laipsnių kampu per (100) [mm v] ◀ ir nelaukti
nustatyti [lightall v] LED spalvą į [raudona v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [raudona v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių

posūkis#

Pasuko bloko funkcija suka robotą į kairę arba į dešinę amžinai, naudodama dabartinį posūkio greitį. Robotas suksis tol, kol jam bus duotas kitas veiksmas, pvz., pajudėti arba sustoti.

pasukite į dešinę kamino bloką#
sukti [dešinėn v]

Parametrai

Aprašymas

kryptis

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

Pavyzdys

Pajudėjus, pasisuka į kairę, palaukia 1 sekundę ir tada sustabdo visą judėjimą.#
kai pradėta
[Turn left, then stop.]
sukti [kairėn v]
laukti (1) sekundžių
sustabdyti visus judesius

pasukti#

Blokas „posūkis“ pasuka robotą į kairę arba į dešinę tam tikru laipsnių skaičiumi, naudodamas dabartinį posūkio greitį. Posūkis yra santykinis su dabartine roboto judėjimo kryptimi. Projektas lauks, kol robotas baigs pasisukti, prieš paleidžiant kitą bloką bloke.

pasukite į dešinę 90 laipsnių kampu blokiniam blokui#
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.

Pavyzdžiai

Pajudinus, pasukite į kairę 90 laipsnių kampu, tada į dešinę 180 laipsnių kampu.#
kai pradėta
[Turn left, then turn around to the right.]
sukti [kairėn v] per (90) laipsnių ▶
sukti [dešinėn v] per (180) laipsnių ▶

Užvedus, pasisuka į dešinę 180 laipsnių kampu, o visi šviesos diodai mirksi mėlynai.#
kai pradėta
[Turn right and blink all LEDs blue.]
sukti [dešinėn v] per (180) laipsnių ◀ ir nelaukti
nustatyti [lightall v] LED spalvą į [mėlyna v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [mėlyna v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių

pasukite į antraštę#

Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. Pasukite į kryptį bloko funkcija pasuka robotą tam tikra kryptimi, naudodama dabartinį posūkio greitį. Robotas pasuks trumpiausia kryptimi, kad pasiektų tikslinę kryptį.

Roboto pradinė kryptis yra 0 laipsnių.

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

pasukite į 90 laipsnių kampo bloką#
sukti į (270) laipsnių kryptį ▶

Parametrai

Aprašymas

antraštė

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

ir nelauk

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

Pavyzdžiai

kai pradėta
[Turn to face each cardinal direction.]
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ų

Įjungus, greitai pasisuka 180 laipsnių kampu, o visi šviesos diodai mirksi žaliai.#
kai pradėta
[Turn around quickly and blink all LEDs green.]
sukti į (180) laipsnių kryptį ◀ ir nelaukti
nustatyti [lightall v] LED spalvą į [žalia v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [žalia v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių

judėkite su valdikliu#

Blokas „judėti valdikliu“ leidžia valdyti robotą naudojant valdiklį „One Stick“. Šis blokas nuskaito valdiklio įvestį tik vieną kartą, nebent jis būtų įtrauktas į ciklą, pvz., „amžiną“ ciklą. Jei ciklas sustoja ir nėra kitų blokų, nurodančių robotui judėti, robotas toliau judės ta kryptimi, kuria paskutinę kartą paspaudėte vairasvirtę.

judėti su valdikliu

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Drive with the controller for five seconds.]
atstatyti laikmatį
kol <(laikmatis sekundėmis) [math_less_than v] [5]>
judėti su valdikliu
pabaiga
sustabdyti visus judesius

sustabdyti visus judesius#

Bloko sustabdyti visus judesius blokas sustabdo visus roboto judesius.

sustabdyti visus judėjimo kamino blokus#
sustabdyti visus judesius

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Užvedus, pasisuka į dešinę, palaukia 1 sekundę ir tada sustabdo visą judėjimą.#
kai pradėta
[Turn right, then stop.]
sukti [dešinėn v]
laukti (1) sekundžių
sustabdyti visus judesius

Nustatymai#

nustatyti judėjimo greitį#

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

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

100 % judėjimo greitis atitinka 200 milimetrų per sekundę (mmps).

Nustatykite judėjimo greitį iki 50 % bloko kamino#
nustatyti judėjimo greitį į (50)%

Parametrai

Aprašymas

greitis

Judėjimo greitis nuo 0% iki 100%.

Pavyzdys

kai pradėta
[Move forward at the default velocity.]
nustatyti judėjimo greitį į (50)%
judėti (0) laipsnių kampu per (100) [mm v] ▶
laukti (1) sekundžių
[Move slower.]
nustatyti judėjimo greitį į (20)%
judėti (0) laipsnių kampu per (100) [mm v] ▶
laukti (1) sekundžių
[Move faster.]
nustatyti judėjimo greitį į (100)%
judėti (0) laipsnių kampu 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.

100 % posūkio greitis atitinka 150 laipsnių per sekundę \(dps\).

Nustatykite posūkio greitį iki 50 % bloko sudėjimo#
nustatyti sukimosi greitį į (50)%

Parametrai

Aprašymas

greitis

Sukimosi greitis nuo 0% iki 100%.

Pavyzdys

kai pradėta
[Turn around at default velocity.]
nustatyti sukimosi greitį į (50)%
sukti [dešinėn v] per (180) laipsnių ▶
laukti (1) sekundžių
[Turn around slower.]
nustatyti sukimosi greitį į (20)%
sukti [dešinėn v] per (180) laipsnių ▶
laukti (1) sekundžių
[Turn around faster.]
nustatyti sukimosi greitį į (100)%
sukti [dešinėn v] per (180) laipsnių ▶
laukti (1) sekundžių

Pozicija#

pozicija#

Padėties pranešimo blokas praneša apie dabartinę roboto x arba y koordinatę.

Projekto pradžioje roboto x ir y padėtys nustatomos į 0. Padėties reikšmės keičiasi robotui judant ir gali būti nustatytos naudojant bloką set robot position.

x padėtis mm reporterio bloke#
[x v] padėtis [mm v]

Parametrai

Aprašymas

koordinuoti

Koordinačių ašis, kurią reikia pateikti: x arba y.

vienetas

Padėties vienetas: mm (milimetrai) arba coliai.

Pavyzdys

Paleidus, juda 200 mm į priekį, atstato padėtį, juda įstrižai 45 laipsnių kampu 200 mm ir ekrane atspausdina atnaujintas X ir Y koordinates.#
kai pradėta
judėti (0) laipsnių kampu per (200) [mm v] ▶
[Move forward and print the new coordinate and heading.]
nustatyti roboto padėtį x: [0] y: [0]
judėti (45) laipsnių kampu per (200) [mm v] ▶
spausdinti ([x v] padėtis [mm v]) ekrane ▶
perkelti žymeklį į kitą eilutę ekrane
spausdinti ([y v] padėtis [mm v]) ekrane ▶

nustatyti roboto padėtį#

Nustatyti roboto padėtį bloko funkcija pakeičia dabartinę roboto x ir y padėtį į naujas reikšmes.

Pavyzdžiui, jei robotas pajudėjo iš pradinio taško, nustačius x į 0, o y į 0, roboto dabartinė vieta tampa nauja 0, 0 pozicija. Tada robotas gali sekti būsimas pozicijas pagal tą naują reikšmę.

nustatyti pozicijos kamino bloką#
nustatyti roboto padėtį x: [0] y: [0]

Parametrai

Aprašymas

x

Roboto x padėties vertė, kurią reikia nustatyti, mm.

y

Roboto y padėties vertė, kurią reikia nustatyti, mm.

Pavyzdys

kai pradėta
[Reset the robot's position after moving.]
judėti [pirmyn v] per [60] [mm v] ▶
nustatyti roboto padėtį x: [0] y: [0]
spausdinti ([y v] padėtis [mm v]) ekrane ▶

Vertybės#

judėti aktyviai#

Loginis blokas juda aktyvus 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 judesio blokais, turinčiais parametrą ir nelaukti.

yra judesio aktyvus reporterio blokas#
<judėjimas aktyvus?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus, juda 200 mm į priekį, o visi šviesos diodai mirksi raudonai. Robotui judant šviesos diodai įsijungia ir išsijungia kas 0,5 sekundės, o judėjimui sustojus, lieka išjungti.#
kai pradėta
[Blink all of the LEDs when the robot is moving.]
judėti (0) laipsnių kampu per (200) [mm v] ◀ ir nelaukti
kol <judėjimas aktyvus?>
nustatyti [lightall v] LED spalvą į [raudona v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių
pabaiga
nustatyti [lightall v] LED spalvą į [išjungta v]

įjungti aktyvų#

Loginis blokas „posūkis aktyvus“ praneša, ar robotas sukasi. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų roboto judėjimu, laiką.

  • Tiesa — Robotas sukasi.

  • Netiesa — Robotas nesisuka.

Šis blokas veikia kartu su judesio blokais, turinčiais parametrą ir nelaukti.

įjunkite aktyvų reporterio bloką#
<sukimasis aktyvus?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Užvedus, pasisuka į dešinę 180 laipsnių kampu, o visi šviesos diodai mirksi raudonai. Sukant šviesos diodai mirksi kas 0,5 sekundės ir užgęsta, kai posūkis baigtas.#
kai pradėta
[Blink all of the LEDs while the robot is turning.]
sukti [dešinėn v] per (180) laipsnių ◀ ir nelaukti
kol <sukimasis aktyvus?>
nustatyti [lightall v] LED spalvą į [raudona v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [išjungta v]
laukti (0.5) sekundžių
pabaiga
nustatyti [lightall v] LED spalvą į [išjungta v]

sustojo#

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

  • Tiesa – robotas nejuda ir nesisuka.

  • Netiesa — Robotas juda arba sukasi.

sustabdytas reporterio blokas#
<sustojęs?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus robotą, jis juda 200 mm į priekį, atlikdamas šviesų šou, tada pasisuka 180 laipsnių į dešinę, tęsdamas šviesų šou. Robotui judant arba sukant, šviesos diodai kas 0,5 sekundės kaitalioja žalią ir violetinę spalvas. Kai robotas sustoja, šviesų šou baigiasi ir šviesos diodai užgęsta.#
apibrėžti light show
[Flash LEDs while the robot is moving or turning.]
kartoti kol <sustojęs?>
nustatyti [lightall v] LED spalvą į [žalia v]
laukti (0.5) sekundžių
nustatyti [lightall v] LED spalvą į [violetinė v]
laukti (0.5) sekundžių
pabaiga


kai pradėta
[Blink all the LEDs while the robot is moving or turning.]
judėti (0) laipsnių kampu per (200) [mm v] ◀ ir nelaukti
light show
sukti [dešinėn v] per (180) laipsnių ◀ ir nelaukti
light show