Skip to main content
Skip to Main Content
Skip to main content
Navigacija

Chapter 4: Preparing to Compete


الدرس 2: استخدام قالب مسابقة الكتل

Sveiki atvykę į VEX klasę. Mano vardas Lauren ir šioje pamokoje mes apžvelgsime „Blocks“ konkurso šabloną. Ankstesnėje pamokoje šiek tiek plačiau kalbėjome apie varžybų šabloną ir kodėl jį reikia naudoti VEX robotikos varžybų rungtynėse. Yra skirtingos konkurso šablono versijos, priklausomai nuo naudojamos programavimo kalbos – blokų ar teksto. Šiame konkrečiame vaizdo įraše, kadangi šiame kurse daugiausia dėmesio skiriame blokams, aptarsiu blokų konkurso šabloną „VEXcode V5“.

Dabar, prieš pradedant viską aptarti, pirmiausia pakalbėkime apie medžiagas. Čia naudosiu „Advanced TrainingBot“, kad galėčiau pademonstruoti kai kurias „Arm and Claw“ funkcijas. Taip pat naudosiu valdiklį, žaidimo objektą ir „VEXcode V5“, kad parodyčiau jums šį konkurso šabloną. Šiam vaizdo įrašui jums nereikia jokių medžiagų. Aš jums tiesiog surengsiu keletą demonstracijų. Taigi, vėlgi, šiai konkrečiai pamokai jums nieko nereikia.

Pakalbėkime apie šios pamokos tikslą. Aptarsime skirtingas „Blocks Competition“ šablono dalis, tiksliau, tris dalis: „Kada pradėta“, kuri yra mūsų priešautonominė dalis, autonominė dalis ir vairuotojo valdymo dalis. Apie tai papasakosiu pateiktame pavyzdiniame kode, o tada jį išbandysime ir, naudodami valdiklį, pamatysime, kaip veikia mūsų robotas, kad pamatytume, kaip varžybų šablonas atrodo praktiškai.

Taigi, pradėkime nuo mūsų projekto pavyzdžio.

[Muzikos užuomina]

Gerai, norėdamas peržiūrėti konkurso šabloną, eisiu į „Failas“, „Atidaryti pavyzdžius“, „Šablonai“ ir tada „Konkurso šablonas“. Štai keletas dalykų. Pirma, vėlgi, šie trys skyriai. Prieš pradedant nagrinėti mano konkretų pavyzdį, noriu atkreipti dėmesį į tai, kad pirmiausia turime pridėti savo įrenginio konfigūraciją. Taigi, dar kartą, jei naudojate dviejų variklių pavaros sistemą arba turite svirtinius, žnyplių variklius ar panašiai, pirmiausia turite juos pridėti, kad blokai būtų užpildyti kairėje pusėje. Tai leis jums vėl užpildyti šiuos skyrius.

Kai tik atidarau konkurso šabloną, turiu įsitikinti, kad pridėjau savo įrenginio konfigūraciją. Toliau, vienas dalykas, kurį noriu paminėti, yra šioje „Vairuotojo valdymo“ dalyje, kurioje galite matyti amžinąjį bloką. Taip yra todėl, kad dažniausiai, kai naudojame valdiklį, vairuotojo valdymo dalyje norime nuolat tikrinti, ar paspaudžiami mygtukai, ar judinami valdymo svirtys. Štai kodėl pagal numatytuosius nustatymus yra amžinas blokas. Jei dėl kokios nors konkrečios priežasties norėtumėte jį pašalinti, galite tai padaryti, arba jei nenaudojate šio rinkinio ir naudojate tik įrenginio konfigūraciją, galite tiesiog palikti viską taip, kaip yra.

Gerai. Pažvelkime į kiekvieną iš šių trijų skyrių ir jų reikšmę, pateikdami mano pateiktą pavyzdį.

[Muzikos užuomina]

Pirmiausia noriu atkreipti dėmesį, kad mūsų konkurso šabloną sudaro trys pagrindinės dalys. Pirmasis yra „Kai prasidėjo“ arba „prieš autonominį“. Antroji yra „Kai automobilis važiuoja autonomiškai“ arba autonominė dalis, o trečioji – „Kai automobilis važiuoja vairuotojo kontroliuojamai“ arba vairuotojo kontroliuojama dalis. Visi šie trys įvykių arba skrybėlių blokai vykdo skirtingas šio varžybų šablono dalis.

Pakalbėkime apie kiekvieną skyrių. Priešautonominė dalis arba „Kai pradėta“ bus vykdoma, kai tik bus paleistas „Konkurencijos šablono“ projektas. Tai geriausia naudoti bet kokiai inicializacijai nustatyti.

Ačiū, kad prisijungėte prie manęs šioje pamokoje. Tikiuosi, kad tai buvo naudinga ir informatyvu. Jei turite klausimų, nedvejodami kreipkitės. Sėkmingo programavimo ir sėkmės su „VEX Robotics“ projektais!

Taigi, jei man reikės ką nors atspausdinti smegenų ekrane prieš prasidedant autonominei daliai, jei man reikės sukalibruoti giroskopą, jei noriu atspausdinti duomenis šiame konkrečiame pavyzdyje, kadangi naudoju ranką ir žnyples, nustatysiu jų variklius į laikymo režimą. Tai reiškia, kad jei pakeliu ranką arba išskleidžiu nagus, varikliai liks toje konkrečioje padėtyje ir, pavyzdžiui, nenusileis žemyn dėl gravitacijos. Taigi, aš tiesiog nustatau šias ikiautonomines nuostatas savo varikliams. Šiame konkrečiame pavyzdyje pažiūrėsime, kaip tai atrodo peržiūrint demonstraciją.

Muzikos užuomina

Taigi, dabar, kai tai žinau, tai yra mūsų ikiautonominė dalis „Kada prasidėjo“. Toliau – mūsų autonominė dalis. Autonominė rungtynių dalis truks 15 sekundžių, ir ši konkreti kodo dalis bus vykdoma autonominės rungtynių dalies metu. Kai tik bus paleistas varžybų šablonas, bet kokiu atveju prasidės ta priešautonominė „Kada pradėta“ dalis. Tada veiks 15 sekundžių autonominis automobilis. Kalbėjome apie lauko valdymo sistemą ir kaip ji reguliuos visų robotų paleidimą ir sustojimą, kai rungtynėse bus vykdoma ši konkreti kodo eilutė.

Dabar, mano konkrečiame pavyzdyje, kurį čia turiu, mūsų robotas pradės nuo žaidimo objekto letenoje. Tada jis apsuks objektą, pakils į orą, pasisuks 200 milimetrų į priekį, nuleis ranką ir nuleis mūsų žaidimo objektą. Pavyzdžiui, tai galėtų imituoti figūros taškų skaičiavimą rungtynių pradžioje. Taigi, štai kas nutiks mano autonominės fazės metu. Vėlgi, autonominė dalis reiškia, kad vairuotojas negali valdyti roboto taip, kaip valdiklis jį veikia. Šios dalies metu viskas vyksta autonomiškai. Viskas daroma per kodą.

Žvelgdamas į šią trečiąją dalį, turiu savo vairuotojo valdymo skydelį. Norėčiau atkreipti dėmesį į tai, kad mūsų įrenginio konfigūracijoje, žinoma, galiu sukonfigūruoti savo pavaros mechanizmą ir valdiklį, o tai reiškia, kad galiu priskirti skirtingas pavaros mechanizmo konfigūracijas savo valdymo svirtims ir skirtingus mygtukus skirtingiems varikliams valdyti. Tačiau tarkime, kad mano valdiklyje baigėsi mygtukai arba noriu valdyti įvairius dalykus. Prie šio „Kai vairuotojo valdymas“ įvykio bloko galiu pridėti tam tikrus dalykus, kuriuos noriu daryti, prie kurių galbūt neturiu prieigos įrenginio konfigūracijoje, arba galbūt noriu nustatyti savo pavaros greitį ar panašius dalykus.

Taigi, vėl pateikiu konkretų kodo pavyzdį, skirtą vairuotojo valdymo daliai. Tai leis man valdyti „Claw“ vienu valdiklio mygtuku. Pažiūrėsime, kaip tai atrodo. Taigi, vėlgi, kai naudoju tvarkyklės valdymo dalį, galiu vienu metu naudoti ir įrenginio konfigūraciją su valdikliu, ir tvarkyklės valdymo dalį. Arba galiu naudoti vieną arba kitą. Jei nenaudojate nė vieno iš šių trijų stekų – išankstinio autonominio „paleidus“, autonominio ar vairuotojo valdymo – galite juos palikti tuščius.

Muzikos užuomina

Gerai. Dabar, kai visa tai pasakyta, pažiūrėkime, kaip tai atrodys, kai iš tikrųjų paleisiu tai savo robote. Gerai. Pažvelkime į tai mano valdiklyje. Galiu pereiti prie programų ir ten matyti savo konkurso šablono projektą, kurį jau atsisiunčiau į savo galvą. O jei slenku virš vieno, randu parinktį bėgimui su nustatytu laiku. Tai imituos lauko valdymo sistemą, apie kurią kalbėjau anksčiau, kaip viską valdo ta lauko valdymo sistema. Taigi, kai varžybų projektas iš tikrųjų prasideda, kai autonominė rungtynių dalis yra kontroliuojama tuo pačiu, ir kai vairuotojo valdymo dalis yra kontroliuojama tuo pačiu, galiu tai imituoti naudodamas šį laikmatį valdiklyje.

Padėkos raštelis

Ačiū, kad skyrėte laiko kartu su manimi aptarti šį procesą. Tikiuosi, kad ši demonstracija buvo naudinga.

Galutinis pranešimas

Jei turite klausimų arba reikia papildomų paaiškinimų, nedvejodami kreipkitės. Sėkmingo programavimo ir sėkmės jūsų robotikos projektuose!

Taigi, jei pasirinksiu tai, ir man bus nurodyta 15 sekundžių autonominei daliai, viena minutė, 45 sekundės vairuotojo kontrolei. Ir kai vėl paspausiu šį mygtuką, jis iš tikrųjų prasidės. Kai jį paleisiu, jis pradės skaičiuoti atgal 3-2-1, kaip ir rungtynių metu. Ir tada mes pradėsime.

Taigi, kai tik spustelėsiu „Pradėti“, pradės veikti autonominė dalis arba, kad ir kas nutiktų, pirmiausia bus paleista ikiautonominė dalis. Tada jis iš karto pradės autonominę dalį. Taigi, parodysiu jums, kai tik pradės veikti autonominė dalis. Net jei pajudinsiu valdiklį, kad robotas pajudėtų, jis nepajudės, nes autonominės fazės metu negaliu valdyti savo roboto naudodamas valdiklį.

[Muzikos užuomina]

Taigi, pažiūrėkime, kaip iš tikrųjų vyksta ta konkreti dalis. Gerai, pradedam. Gerai. Dabar man dar liko pora sekundžių autonominėje dalyje. Matote, net kai judinu valdiklį, nieko nevyksta, nes autonominio veikimo metu negaliu valdyti roboto valdikliu. Bet kai tik perjungiama į vairuotojo valdymą, dabar aš iš tikrųjų galiu valdyti savo robotą.

Taigi, eisiu toliau, nes prisimenu, kaip, kalbėdamas apie projektą, kuriame aptarėme vairuotojo valdymo dalį, galiu valdyti šias skirtingas dalis. Taigi, man liko viena minutė ir 25 sekundės. Dabar važiuosiu pagal vairuotojo konfigūraciją: šis mygtukas valdo pavarą, šis – svirtį, šis mygtukas – leteną. Vieno mygtuko paspaudimu galėsiu paimti objektus. Čia galiu pakelti du mygtukus, kad pakelčiau ir nuleisčiau ranką. Vienas mygtukas valdyti leteną. Uždaryta, Atidaryta.

Dabar tai nėra įrenginio konfigūracijos parinktis, todėl turėjau sukurti šį kodą pagal užsakymą, todėl būtent todėl panaudojau „Driver Control“ įvykių bloką, kurį galite matyti tame konkrečiame steke. Likusią „Driver Control“ dalies dalį jis toliau skaičiuos laiką atgal. Bet, kaip matote, aš tuoj nustosiu. Kai vairuotojo valdymo dalis baigiasi, viskas išsijungia ir rungtynės baigiasi.

Galite pamatyti tris skirtingas šablono dalis. Dar kartą peržiūrime pradinę autonominio važiavimo dalį, kuri veiks nepriklausomai nuo atkarpos. Jei važiuojame autonominiu arba vairuotojo kontroliuojamu režimu, pereiname prie autonominio važiavimo dalies. Kai tai vyksta, negaliu naudoti valdiklio. Kai tai bus atlikta, pereisime prie vairuotojo valdymo dalies, kurioje galėsiu valdyti savo robotą naudodamas valdiklį, ir tai veiks vieną minutę ir 45 sekundes, kol baigsis. Tada, kaip jau minėjau anksčiau, naudojant lauko valdymo sistemą, visi robotai pradės ir sustos vienu metu.

[Muzikos užuomina]

Gerai. Trumpai apibendrinkime, ką aptarėme šiame vaizdo įraše. Peržiūrėjome „Blocks“ konkurso šabloną. Yra trys skirtingos porcijos. Kai buvo paleistas, priešautonominis, kuris veiks nepriklausomai. Tai skirta kintamųjų inicijavimui, galbūt giroskopo nustatymui ir kalibravimui, spausdinimui smegenų ekrano dėka, variklio pozicijų, tokių kaip laikymas, nustatymui ar net rankos pakėlimui į tam tikrą padėtį. Visa tai daroma prieš autonominę rungtynių dalį.

Tada pereiname prie autonominės dalies, autonominio valdymo bloko, kurį ten matėme, kur 15 sekundžių robotas juda visiškai pagal kodą, be jokios sąveikos su valdikliu ar vairuotoju. Kai ši dalis baigta, pereiname prie vairuotojo valdymo dalies, kurią galima valdyti naudojant įrenginio konfigūraciją, kurią matėme prieš priskirdami tam tikrus variklius ir kitus dalykus valdymo svirties mygtukams ir panašiems dalykams valdiklyje, taip pat per tą konkretų steko, kuriame galiu atlikti šiek tiek daugiau pasirinktinio kodo savo robotui. Galite naudoti vieną arba kitą, arba abu.

Ir kaip jau minėjau anksčiau, jei nenaudojate nė vienos iš šių trijų skyrių visoje programoje, įvykių blokų krūvas taip pat galite palikti tuščias.

Ačiū, kad žiūrėjote, ir tikiuosi, kad tai padės jums geriau suprasti konkurso šabloną.

Vėlgi, šis šablonas naudojamas siekiant užtikrinti, kad rungtynių metu visi robotai pradėtų ir sustotų tuo pačiu metu. Taip yra todėl, kad lauke bus keturi robotai, ir mes norime užtikrinti, kad visi robotai pradėtų ir sustotų tuo pačiu metu.

Tikiuosi, kad visa ši informacija buvo naudinga jums mokantis apie varžybų šabloną ir ruošiantis varžytis VEX robotikos varžybose. Aš taip susijaudinęs.

Sveikinu, baigėte ketvirtą skyrių ir pasimatysime kitame vaizdo įraše.

Learning Objectives

Learning Objectives Section
  • حدد العناصر الرئيسية لقالب مسابقة الكتل في VEXcode V5، بما في ذلك أقسام متى بدأت والقيادة الذاتية والتحكم في السائق.

Summary

Summary Section

هذا هو الفيديو الثاني لمقدمة الدورة التدريبية VEX V5 الفصل 4. إذا لم تكن قد شاهدت الفيديو الأول بعد، فارجع وشاهد الدرس 1: ميكانيكا مباراة مسابقة الروبوتات VEX.

في الدرس 2، ستتعرف على كل عنصر من العناصر الرئيسية الثلاثة لقالب مسابقة الكتل في VEXcode V5 من خلال عرض مثال عملي.

للمناقشات والأسئلة، انضم إلى موضوع PD+ Community المخصص للتعلم والاستكشاف الجماعي.

تهانينا، لقد أكملت دورة مقدمة إلى VEX V5 التدريبية!