Pasirinktinis valdiklio kodas VEXcode V5

Naudodami valdiklį, galite lengviau vairuoti ir perkelti robotą, kad jis atliktų užduotį. Tačiau yra Drive programos naudojimo apribojimų ir, atsižvelgiant į jūsų roboto konstrukciją arba atliekamą užduotį, jums gali prireikti skirtingų valdiklių. Valdiklio kodavimas leidžia optimizuoti valdiklį, kad jis geriau atitiktų jūsų robotą ir atliekamą užduotį. Yra keli būdai koduoti valdiklį VEXcode V5. Kiekvienas iš jų turi savo privalumų ir apribojimų, o kai kurie metodai labiau tinka tam tikroms situacijoms, atsižvelgiant į norimą rezultatą.

Šiame straipsnyje bus pateiktos trys skirtingos pasirinktinio valdiklio kodavimo VEXcode V5 parinktys. Kiekvienas metodas bus aprašytas su jo pranašumais, apribojimais ir naudojimo atvejo pavyzdžiu, kuris padės jums pasirinkti metodą. Šiame straipsnyje visi rodomi kodo pavyzdžiai buvo sukurti „Clawbot“. Tačiau tos pačios sąvokos gali būti taikomos daugeliui kitų versijų, esančių builds.vex.com, ir pasirinktinėms versijoms.

1 parinktis: mygtukų priskyrimas įrenginio konfigūracijoje

Ši parinktis puikiai tinka, kai naudojate standartinę versiją, pvz., „Speedbot“ arba „Clawbot“, ir norite greitai pradėti veikti.

Ši parinktis leidžia priskirti variklius, pavarą arba variklių grupes valdiklio mygtukams įrenginio konfigūracijos dalyje. Norėdami gauti daugiau informacijos apie tai, kaip įrenginio konfigūracijos valdikliui priskirti mygtukus, peržiūrėkite šį straipsnį.

Diagrama, iliustruojanti V5 blokus programavimui, vaizduojanti įvairius blokų tipus ir jų jungtis vaizdiniu formatu, kad būtų lengviau suprasti blokų kodavimo pamokas.

1 parinkties santrauka: mygtukų priskyrimas įrenginio konfigūracijoje

Privalumai

Apribojimai

Situacijos pavyzdys

  • Greitas nustatymas be kodavimo
  • Paprasčiausias būdas
  • Lengvai reguliuojamas
  • Gali mygtukams priskirti atskirus variklius, standartinę pavarą ir variklių grupes
  • Mygtukų priskyrimas ribojamas valdiklio mygtukų skaičiumi
  • Pavaros mechanizmas negali būti didesnis nei 4 varikliai arba gali būti pritaikytas (palaikoma tik standartinė pavara, ne H pavara, holonominė ar kita pasirinktinė pavara)
  • Manipuliavimas standartine versija, pvz., „Speedbot“, „Clawbot“, arba paprastas šių standartinių versijų modifikavimas. Pavyzdžiui, „Speedbot“ su įsiurbimo anga, pritvirtinta priekyje, valdoma variklio grupės.
  • Greitas manipuliavimas, kurie mygtukai atitinka skirtingą roboto elgesį, be daug kodavimo

2 variantas: „Forever Loop“ naudojimas

Jei naudojate tinkintą, o ne standartinę kūrimo versiją arba norite turėti daugiau tinkinimo valdiklio, ši parinktis yra gera. „Forever“ ciklo naudojimas yra puiki įžanga kuriant pasirinktinį valdiklio kodą.

Ši parinktis įtraukia visas Valdiklio ir su juo susijusių mygtukų sąlygas į amžiną kilpą. Tai suteikia daugiau lankstumo, ypač naudojant pasirinktinius modelius, tačiau taip pat reikia tam tikros kodavimo patirties. Tačiau naudojant šią parinktį reikia atsižvelgti į projekto trukmę ir sudėtingumą. Kuo daugiau sąlygų bus pridėta, tuo ilgesnė kodo krūva gali tapti. Tai reiškia, kad keli blokai turi būti vykdomi eilės tvarka, o kai blokų yra daug, tai gali sulėtinti projekto vykdymą. Lėtesnis projekto vykdymas gali sukelti delsą tarp Valdiklio mygtukų paspaudimo ir roboto elgesio matymo.

Toliau pateiktas konkretus pavyzdys yra vienas iš būdų, kaip naudoti Forever kilpą su pasirinktinio dizaino robotu (pvz., robotu su pasirinktine pavara), kad vairuotumėte robotą ir manipuliuotumėte nagais bei ranka, kad galėtumėte sąveikauti su objektais.

Diagrama, iliustruojanti V5 blokų mokymo programas, demonstruojanti įvairius blokų tipus ir jų jungtis aiškiu ir organizuotu išdėstymu, kad būtų galima geriau suprasti VEX robotikos programavimą.

Atsisiųskite „2 parinktis“ VEXcode V5 projekto failą >

2 varianto kodo paaiškinimas.

Kodo gabalas

Paaiškinimas

Diagrama, iliustruojanti V5 blokų komponentus ir jų funkcijas mokymo formatu, demonstruojanti įvairius blokų tipus ir jungtis edukaciniais tikslais.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

Diagrama, iliustruojanti V5 blokų komponentus ir jų funkcijas, naudojama VEX žinių bazės skyriuje „Blocks Tutorials“, demonstruojanti įvairius blokų tipus ir jų jungtis edukaciniais tikslais. Diagrama, iliustruojanti V5 blokus su pažymėtais komponentais ir jungtimis, naudojama vadovėliuose, siekiant suprasti blokų programavimą VEX robotikoje.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

Forever kilpa naudojama norint nuolat tikrinti, kurie valdiklio mygtukai paspaudžiami.

Blokai [Nustatyti variklio greitį] naudojami variklio greičiui nustatyti į esamą valdiklio padėtį išilgai 2 ir 3 ašių. Tai prilygsta automobilio paleidimui. Tai nebūtinai priverčia automobilį pajudėti, jis tiesiog jį nustato.

Kiekviena vairasvirtės ašis grąžina reikšmę nuo -100 iki +100, o kai yra centre, grąžina vertę nuliui. Tai reiškia, kad vairasvirtės ašys, stumiamos, prilygsta nuo -100% iki 100%. Kuo toliau link 100 ar -100 ašys stumiamos, tuo greičiau variklis suksis.

Tada [Spin] blokas naudojamas varikliui iš tikrųjų perkelti. Tai prilygsta dujų spaudimui ant automobilio, kai tik nustatyta kryptis. Tai leidžia kiekvieną variklį valdyti viena iš keturių valdiklio ašių.

Diagrama, iliustruojanti V5 blokus, skirtus programavimo pamokoms, demonstruojanti įvairius blokų tipus ir jų jungtis, skirta geriau suprasti kodavimo sąvokas švietimo kontekste.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

Blokas [If then else if then else] naudojamas tam tikroms elgsenoms susieti su valdiklio paspaudžiamais arba atleidžiamais mygtukais. Šioje kodo dalyje nustatytos sąlygos, jei paspaudžiami mygtukai Aukštyn arba Žemyn. Jei taip, atsitiks tam tikras elgesys, pavyzdžiui, rankos pakėlimas ir nuleidimas. Taip pat yra kita sąlygos dalis, jei nepaspaudžiamas nė vienas mygtukas, ranka nustoja judėti.

Atkreipkite dėmesį, kad kita projekto „Claw“ kodo dalis atitinka tą patį paaiškinimą.

2 varianto santrauka: Forever Loop naudojimas

Privalumai

Apribojimai

Situacijos pavyzdys

  • Galima pritaikyti pagal užsakymą pagamintas konstrukcijas, ypač pavarų dėžes su daugiau nei 4 varikliais
  • Vienam mygtukui galima priskirti kelis veiksmus
  • Gali priskirti elgseną skirtingoms valdiklio ašims (priešingai nei vienintelės įrenginio konfigūracijos kairiosios arkados, dešiniosios arkados, padalintos arkados ir talpyklos diskų parinktys)
  • Reikia tam tikrų kodavimo žinių (sąlygų, kilpų ir valdiklio mygtukų / kreiptukų išmanymo)
  • Galimas lėtesnis projekto vykdymas arba mygtuko reakcijos laikas. Kadangi visos komandos yra vienoje Forever kilpoje, kodo vykdymas gali vykti lėtai, atsižvelgiant į nustatytas sąlygas ir kodo ilgį.
  • Valdiklio naudojimas su pagal užsakymą pagamintu robotu, ypač su nestandartine pavara
  • Kai vienam mygtukui norite priskirti kelis veiksmus. Pavyzdžiui, paspaudus mygtuką Aukštyn, letena gali atsidaryti, pavažiuoti į priekį ir užsidaryti aplink objektą.

3 parinktis: įvykių naudojimas

Jei norite daug tinkinti savo valdiklį, įvykių naudojimas yra geriausias pasirinkimas. Vienas mygtuko paspaudimas gali suaktyvinti kelis roboto veiksmus, pvz., paspaudus mygtuką, kad atidarytumėte nagą, pakeltumėte ranką ir nuvažiuotumėte į priekį tam tikrą atstumą. Bandant užkoduoti kelis vieno mygtuko veiksmus per Forever kilpą, projekto vykdymas smarkiai sulėtėtų – naudodami Events tai galite padaryti efektyviau.

Ši parinktis naudoja įvykius projekto srautui išskaidyti. Tai panašu į „Forever“ ciklo naudojimą, bet leidžia labiau organizuoti kodą, kad mygtuko vykdymo atsako laikas būtų greitesnis. Greitesnis atsako laikas reiškia, kad nematysite laiko tarpo tarp valdiklio mygtukų paspaudimo ir roboto elgesio matymo. Šiame pavyzdyje parodyta tokia pati elgsena, kaip ir ankstesniame projekte, bet atlikta naudojant įvykius, o ne amžiną kilpą.

Pamokose naudojamų V5 blokų iliustracija, demonstruojanti įvairius blokų tipus ir jų jungtis, demonstruojant, kaip kurti ir programuoti su VEX V5 robotika.

Atsisiųskite „3 variantas“ VEXcode V5 projekto failą >

3 varianto kodo paaiškinimas.

Kodo gabalas

Paaiškinimas

Diagrama, iliustruojanti įvairius robotikos pamokose naudojamus V5 blokus, demonstruojanti jų funkcijas ir ryšius edukaciniais tikslais.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

V5 blokus iliustruojanti schema robotikos pamokoje, demonstruojanti įvairius blokų tipus ir jų jungtis programavimo užduotims atlikti. Diagrama, iliustruojanti V5 blokus su pažymėtais komponentais ir jungtimis, naudojama vadovėliuose, siekiant suprasti blokų programavimą VEX robotikoje.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

{When controller axis} Įvykių blokai naudojami tam tikram elgesiui suaktyvinti, kai viena iš keturių valdiklio ašių pakeičiama naudojant vairasvirtes.

Blokai [Nustatyti variklio greitį] naudojami variklio greičiui nustatyti į esamą valdiklio padėtį išilgai A ir D ašių. Tai prilygsta automobilio paleidimui. Tai nebūtinai priverčia automobilį pajudėti, jis tiesiog jį nustato.

Kiekviena vairasvirtės ašis grąžina reikšmę nuo -100 iki +100, o kai yra centre, grąžina vertę nuliui. Tai reiškia, kad vairasvirtės ašys, stumiamos, prilygsta nuo -100% iki 100%. Kuo toliau link 100 ar -100 ašys stumiamos, tuo greičiau variklis suksis.

Tada [Spin] blokas naudojamas varikliui iš tikrųjų perkelti. Tai prilygsta dujų spaudimui ant automobilio, kai tik nustatyta kryptis. Tai leidžia kiekvieną variklį valdyti viena iš keturių valdiklio ašių.

Diagrama, iliustruojanti V5 blokus, naudojamus programavimo pamokose, demonstruojanti įvairius blokų tipus ir jų funkcijas VEX Robotics sistemoje.

Šiam kodo pavyzdžiui buvo naudojamas „Clawbot“. Kai valdiklio mygtukai naudojami pakelti ir nuleisti ranką, kai tik mygtukas atleidžiamas, dėl gravitacijos ranka nukris atgal. Nustačius ir ranką, ir žnyplę į „laikymą“, tiek ranka, tiek žnyplė išliks savo vietose net ir atleidus valdiklio mygtukus.

{When controller axis} Įvykių blokai naudojami tam tikroms elgsenoms susieti su valdiklio paspaudžiamais arba atleidžiamais mygtukais. Šioje kodo dalyje nustatytos sąlygos, jei paspaudžiami mygtukai Aukštyn arba Žemyn. Jei taip, atsitiks tam tikras elgesys, pvz., rankos pakėlimas, nuleidimas ar sustojimas.

Atkreipkite dėmesį, kad paskutinė projekto „Claw“ kodo dalis atitinka tą patį paaiškinimą.

3 parinkties santrauka: įvykių naudojimas

Privalumai

Apribojimai

Situacijos pavyzdys

  • Galima pritaikyti pagal užsakymą pagamintas konstrukcijas, ypač pavarų dėžes su daugiau nei 4 varikliais
  • Vienam mygtukui galima priskirti kelis veiksmus
  • Gali priskirti elgseną skirtingoms valdiklio ašims (priešingai nei vienintelės įrenginio konfigūracijos kairiosios arkados, dešiniosios arkados, padalintos arkados ir talpyklos diskų parinktys)
  • Greitesnis kodo vykdymas, taigi ir mygtukų reagavimas (kadangi kiekviena sąlyga iškviečiama atskirai, o ne įterpta į vieną kodo krūvą)
  • Reikia daugiausiai žinių apie parinktis (sąlygas, kilpas, įvykius ir valdiklio mygtukus / kreiptukus)
  • Valdiklio naudojimas su pagal užsakymą pagamintu robotu, ypač su nestandartine pavara
  • Kai norima priskirti kelis veiksmus vienam mygtukui be vėlavimo. Pavyzdžiui, paspaudus mygtuką Aukštyn, letena gali atsidaryti, pavažiuoti į priekį ir užsidaryti aplink objektą.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: