Chapter 4: Preparing to Compete
الدرس 2: استخدام قالب مسابقة الكتل
Сәлеметсіз бе және VEX сыныбына қош келдіңіз. Менің атым Лорен, және бұл сабақта біз Blocks байқауының үлгісін қолданып қарастырамыз. Алдыңғы сабақта біз жарыс үлгісі туралы жалпы және оны VEX Robotics жарысы кезінде неліктен пайдалану керектігі туралы әңгімелестік. Сіз қолданатын бағдарламалау тіліне байланысты, блоктар немесе мәтіндік болсын, байқау үлгісінің әртүрлі нұсқалары бар. Бұл нақты бейнеде, осы курста біз блоктарға назар аударатындықтан, мен VEXcode V5 бағдарламасындағы блоктар жарысының үлгісін қарастырамын.
Енді, бәрін егжей-тегжейлі қарастырмас бұрын, алдымен материалдар туралы сөйлесейік. Мен мұнда Advanced TrainingBot-ты тек қол мен тырнақтың кейбір функцияларын көрсету үшін пайдаланамын. Мен сізге осы жарыс үлгісін көрсету үшін контроллерді, ойын нысанын және VEXcode V5 пайдаланамын. Бұл бейне үшін сізге ешқандай материал қажет емес. Мен сендерге тек демонстрациялар жасаймын. Сонымен, тағы да, бұл сабақ үшін сізге ештеңе қажет емес.
Осы сабақтың мақсаты туралы әңгімелесейік. Біз Blocks жарыс үлгісінің әртүрлі бөліктерін, нақтырақ айтқанда, үш бөлігін қарастырамыз: Автономды бөлімге дейінгі Басталған кезде, Автономды бөлім және Драйверді басқару бөлімі. Мен осы жердегі мысал кодтар туралы айтатын боламын, содан кейін біз оны шынымен сынап көреміз және бәсекелестік үлгісінің іс жүзінде қалай көрінетінін көру үшін контроллерімізді пайдаланып роботымыздың функционалдығын көреміз.
Осыны айта отырып, жобамыздың мысалына тоқталайық.
[Музыкалық белгі]
Жарайды, байқау үлгісін көру үшін мен Файл, Ашық мысалдар, Үлгілер, содан кейін байқау үлгісі бөліміне өтемін. Мұнда бірнеше нәрсе бар. Біріншіден, тағы да осы үш бөлім. Осы мысалды келтіре отырып, осыларды қарастырмас бұрын, ең алдымен құрылғы конфигурациясын қосуымыз керек екенін атап өткім келеді. Сонымен, егер сіз 2 қозғалтқышты қозғалтқышты пайдалансаңыз немесе қол немесе тырнақ қозғалтқыштары немесе осыған ұқсас қозғалтқыштар болса, алдымен блоктар сол жақта толтырылуы үшін оларды қосуыңыз керек. Бұл сізге осы бөлімдерді қайтадан толтыруға мүмкіндік береді.
Байқау үлгісін ашқаннан кейін, құрылғы конфигурациясын қосқаныма көз жеткізуім керек. Келесіде, мен айтқым келетін бір нәрсе, осы Драйверді басқару бөлімінде мәңгілік блоктың сол жерде екенін көруге болады. Оның ішінде болуының себебі, Драйверді басқару бөлігі үшін контроллерді пайдаланған кезде, түймелердің басылғанын немесе джойстиктердің қозғалғанын үздіксіз тексеріп отыруымыз керек. Сондықтан мәңгілік блок әдепкі бойынша сол жерде болады. Егер сіз оны қандай да бір себеппен жойғыңыз келсе, жойғыңыз келуі мүмкін немесе егер сіз сол буманы пайдаланбасаңыз және тек құрылғы конфигурациясын пайдалансаңыз, оны сол қалпында қалдыра аласыз.
Жарайды. Осы үш бөлімнің әрқайсысын және олардың шын мәнінде нені білдіретінін мен келтірген мысалмен қарастырайық.
[Музыкалық белгі]
Бастапқыда, біздің байқау үлгісінің үш негізгі бөлігі бар екенін атап өткім келеді. Біріншісі - басталған кезде немесе автономдыға дейінгі кезең. Екіншісі - автономды болған кезде немесе автономды бөлік, ал үшіншісі - Драйверді басқару кезінде немесе Драйверді басқару бөлігі. Осы үш жарыс немесе бас киім блоктары да осы жарыс үлгісінің әртүрлі бөліктерін орындайды.
Әр бөлім туралы әңгімелесейік. Автономды емес бөлік немесе басталған кезде, бәсекелестік үлгісі жобасы іске қосылғаннан кейін бірден орындалады. Бұл кез келген инициализацияны орнату үшін ең жақсы пайдаланылады.
Осы сабаққа менімен бірге қатысқаныңыз үшін рақмет. Сізге пайдалы және ақпараттық болды деп үміттенемін. Егер сізде қандай да бір сұрақтар туындаса, бізге хабарласудан тартынбаңыз. VEX Robotics жобаларыңызда сәттілік тілеймін және бағдарламалауда сәттілік тілеймін!
Сондықтан, егер автономды бөлігім басталмас бұрын ми экранында бірдеңе басып шығаруым керек болса, гироскопты калибрлеуім керек болса, егер осы нақты мысалдағы деректерді басып шығарғым келсе, өйткені мен тұтқа мен тырнақты пайдаланып жатқандықтан, олардың қозғалтқыштарын ұстап тұруға орнатамын. Бұл дегеніміз, егер мен қолымды көтерсем немесе тырнақты ашсам, қозғалтқыштар сол нақты қалыпта қалады және ауырлық күшінің әсерінен төмендемейді. Сондықтан мен қозғалтқыштарыма осы автономды емес ұғымдарды орнатып жатырмын. Бұл нақты мысалда біз демонстрацияны көргенде оның қалай көрінетінін қарастырамыз.
Музыкалық белгі
Енді менде сол бар, бұл біздің Автономды кезеңге дейінгі "Қашан басталды" бөлімі. Келесі - біздің автономды бөлігіміз. Сәйкестіктің автономды бөлігі 15 секундқа созылады және кодтың осы нақты бөлімі сәйкестіктің автономды бөлігі үшін орындалады. Байқау үлгісі іске қосылғаннан кейін, алдын ала автономды "Басталуы" бөлімі кез келген жағдайда басталады. Содан кейін 15 секундтық автономды қозғалтқыш іске қосылады. Біз өрісті басқару жүйесі және барлық роботтар ойынды бастағанда және аяқтағанда, осы нақты бөлік, кодтың осы жолы іске қосылғанда, оның қалай реттелетіні туралы әңгімелестік.
Енді, менің нақты мысалым үшін, біздің робот тырнақтағы ойын нысанымен бастайды. Содан кейін ол нысанды айналып, ауаға көтеріліп, 200 миллиметр алға жылжиды, қолды төмен түсіріп, ойын нысанын төмен түсіреді. Мысалы, бұл матчтың басында фигураны соғуды модельдеуі мүмкін. Сонымен, менің автономды бөлігімде осылай болады. Тағы да, автономды бөлік менің роботыма контроллер әсерімен драйверді басқара алмайтынымды білдіреді. Бұл кезеңде бәрі автономды. Барлығы код арқылы жасалады.
Осы үшінші бөлікке қарап, менде драйверді басқару элементі бар. Енді мен атап өткім келетін бір нәрсе, біздің құрылғы конфигурациясында менің жетек блогым мен контроллер конфигурациялана алатыны анық, бұл менің джойстиктеріме әртүрлі жетек блогының конфигурацияларын тағайындай алатынымды және әртүрлі қозғалтқыштарды басқару үшін әртүрлі түймелерді тағайындай алатынымды білдіреді. Дегенмен, контроллердегі түймелер таусылды немесе мен басқарғым келетін басқа нәрселер бар делік. Мен осы «Драйверді басқару кезінде» оқиғасына құрылғы конфигурациясында қол жеткізе алмайтын немесе трансмиссия жылдамдығын орнатқым келетін немесе осыған ұқсас әрекеттерді орындағым келетін белгілі бір әрекеттерді бұғаттауды қоса аламын.
Сонымен, менің нақты код үлгісім, Драйверді басқару бөлімі үшін, бұл маған Claw-ты контроллердегі бір түймемен басқаруға мүмкіндік береді. Оның қалай көрінетінін көреміз. Сонымен, мен Драйверді басқару бөлігін пайдаланған кезде, құрылғы конфигурациясын контроллермен және драйверді басқару бөлігімен бір уақытта пайдалана аламын. Немесе мен біреуін немесе екіншісін пайдалана аламын. Егер сіз осы үш стектің ешқайсысын, «басталған кезде» автономдыға дейінгі, автономды немесе драйверді басқаруды пайдаланбасаңыз, оларды бос қалдыра аласыз.
Музыкалық белгі
Жарайды. Енді осының бәрін айтқаннан кейін, мен оны роботымда іске қосқан кезде мұның қалай көрінетінін қарастырайық. Жарайды. Шын мәнінде, мұны менің контроллерімде қарастырайық. Мен бағдарламаларға өтіп, миыма жүктеп алған Конкурстық үлгі жобамды сол жерден көре аламын. Егер мен біреуін айналдырсам, уақыт бойынша іске қосу үшін опция бар. Бұл мен бұрын айтқан далалық басқару жүйесін, яғни сол далалық басқару жүйесі арқылы бәрі қалай басқарылатынын модельдеуге арналған. Сонымен, жарыс жобасы басталған кезде, матчтың автономды бөлігі басқарылған кезде және драйверді басқару бөлігі басқарылған кезде, мен контроллердегі уақыт бойынша іске қосуды пайдаланып, мұны модельдей аламын.
Алғыс хаты
Бұл процесті менімен бірге зерттеуге уақыт бөлгеніңіз үшін рақмет. Бұл демонстрация пайдалы болды деп үміттенемін.
Қорытынды хабарлама
Егер сізде сұрақтар туындаса немесе қосымша түсініктеме қажет болса, бізге хабарласудан тартынбаңыз. Бақытты бағдарламалау және робототехника жобаларыңызға сәттілік тілеймін!
Егер мен мұны таңдасам, ол маған автономды бөлік үшін 15 секунд, драйверді басқару үшін бір минут 45 секунд екенін айтады. Ал мен осы түймені қайта басқан кезде, ол шынымен басталады. Мен оны бастаған кезде, ол матчтағыдай 3-2-1 есебін кері санайды. Ал содан кейін біз іске кірісеміз.
Сондықтан, «бастау» түймесін басқаннан кейін, автономды бөлік іске қосылады немесе автономды емес бөлік алдымен іске қосылады, қандай жағдай болмасын. Содан кейін ол дереу автономды бөлікті бастайды. Сондықтан мен сізге автономды бөлімді жасай бастағанда көрсетемін. Робот қозғалуы үшін контроллерімді жылжытсам да, ол қозғалмайды, себебі автономды режим кезінде контроллер арқылы роботымды басқара алмаймын.
[Музыкалық белгі]
Ендеше, сол нақты бөліктің қалай болатынын көрейік. Жарайды, міне, басталды. Жарайды. Енді автономды бөлімде әлі бірнеше секунд қалды. Мен контроллерімді жылжытқан кезде де ештеңе болмайтынын көруге болады, себебі автономды режим кезінде контроллерді пайдаланып роботымды басқара алмаймын. Бірақ ол драйверді басқаруға ауысқаннан кейін, енді мен роботымды басқара аламын.
Сондықтан мен әрі қарай жалғастырамын, себебі біздің Драйверді басқару бөліміне арналған жобаға келгеніңізді ұмытпаңыз, мен осы әртүрлі бөліктерді басқара аламын. Сонымен, менің бір минут 25 секундым қалды. Мен қазір драйвер конфигурациясына сүйене отырып, көлікпен барамын, ол трансмиссияны, тұтқаны, тырнақты басқарады. Бір батырманы басу маған заттарды алуға мүмкіндік береді. Қолды көтеру және түсіру үшін екі түймені көтере аламын. Тырнақты басқаруға арналған бір батырма. Жабық, Ашық.
Енді, бұл құрылғы конфигурациясында опция емес, сондықтан мен сол кодты арнайы жасауым керек болды, сондықтан мен сол жерде сол стектен көрінетін Driver Control оқиға блогын қолдандым. Драйверді басқару бөлігінің қалған бөлігі үшін кері санақ жалғасады. Бірақ көріп отырғаныңыздай, мен мұны тоқтатамын. Драйверді басқару бөлімі аяқталғаннан кейін, бәрі өшеді және ойын аяқталды.
Сіз шаблонның үш түрлі бөлігін көре аласыз. Тағы да, біз автономдыға дейінгі бөлімнің қашан басталғанын қарастырамыз, ол қай бөлімде болмасын жұмыс істейді. Егер біз автономды немесе драйверді басқаруды қолдансақ, онда автономды бөлімге өтеміз. Мұндай жағдай орын алғанда, мен контроллерімді пайдалана алмаймын. Ол аяқталғаннан кейін, ол Драйверді басқару бөліміне ауысады, онда мен роботымды контроллер арқылы басқара аламын және ол аяқталғанша бір минут 45 секунд жұмыс істейді. Содан кейін, бұрын айтқанымдай, далалық басқару жүйесін пайдалану арқылы барлық роботтар бір уақытта іске қосылады және тоқтайды.
[Музыкалық белгі]
Жарайды. Осы бейнежазбада не қарастырғанымызды қысқаша қорытындылайық. Біз Blocks байқауының үлгісін қарастырдық. Үш түрлі порция бар. Басталған кезде, автономды емес, ол кез келген жағдайда жұмыс істейді. Бұл айнымалыларды инициализациялау, гироскопты орнату және калибрлеу, ми экранының көмегімен басып шығару, ұстап тұру сияқты қозғалтқыш позицияларын орнату немесе тіпті қолды белгілі бір позицияға көтеру үшін қолданылады. Мұның бәрі матчтың автономды бөлігінің алдында жасалады.
Содан кейін біз автономды бөлікке, сол жерде көрген автономды стекке кіреміз, онда робот 15 секунд бойы контроллермен немесе драйвермен ешқандай әрекеттесусіз толығымен код бойынша қозғалады. Бұл бөлім аяқталғаннан кейін, біз Драйверді басқару бөліміне өтеміз, оны белгілі бір қозғалтқыштар мен заттарды контроллердегі джойстик түймелеріне және сол сияқтыларға тағайындамас бұрын көрген құрылғы конфигурациясы арқылы, сондай-ақ роботым үшін аздап көбірек арнайы код жасай алатын арнайы стек арқылы басқаруға болады. Сіз біреуін немесе екіншісін немесе екеуін де пайдалана аласыз.
Бұрын айтқанымдай, егер сіз бағдарламаңызда осы үш бөлімнің ешқайсысын пайдаланбасаңыз, оқиға блоктарындағы стектерді де бос қалдыра аласыз.
Көргеніңіз үшін рақмет және бұл сізге байқау үлгісін жақсырақ түсінуге көмектеседі деп үміттенемін.
Тағы да, бұл үлгіні пайдаланудың себебі - матч кезінде барлық роботтардың бір уақытта басталып, тоқтауын қамтамасыз ету. Себебі алаңда төрт робот болады, және біз барлық роботтардың бір уақытта іске қосылып, тоқтайтынына көз жеткізгіміз келеді.
Бұл ақпараттың барлығы сізге жарыс үлгісі туралы біліп, VEX Robotics жарысына қатысуға дайындалу кезінде пайдалы болды деп үміттенемін. Мен қатты қуаныштымын.
Құттықтаймыз, төртінші тарауды аяқтадыңыз, келесі бейнеде көріскенше.
Енді, бәрін егжей-тегжейлі қарастырмас бұрын, алдымен материалдар туралы сөйлесейік. Мен мұнда Advanced TrainingBot-ты тек қол мен тырнақтың кейбір функцияларын көрсету үшін пайдаланамын. Мен сізге осы жарыс үлгісін көрсету үшін контроллерді, ойын нысанын және VEXcode V5 пайдаланамын. Бұл бейне үшін сізге ешқандай материал қажет емес. Мен сендерге тек демонстрациялар жасаймын. Сонымен, тағы да, бұл сабақ үшін сізге ештеңе қажет емес.
Осы сабақтың мақсаты туралы әңгімелесейік. Біз Blocks жарыс үлгісінің әртүрлі бөліктерін, нақтырақ айтқанда, үш бөлігін қарастырамыз: Автономды бөлімге дейінгі Басталған кезде, Автономды бөлім және Драйверді басқару бөлімі. Мен осы жердегі мысал кодтар туралы айтатын боламын, содан кейін біз оны шынымен сынап көреміз және бәсекелестік үлгісінің іс жүзінде қалай көрінетінін көру үшін контроллерімізді пайдаланып роботымыздың функционалдығын көреміз.
Осыны айта отырып, жобамыздың мысалына тоқталайық.
[Музыкалық белгі]
Жарайды, байқау үлгісін көру үшін мен Файл, Ашық мысалдар, Үлгілер, содан кейін байқау үлгісі бөліміне өтемін. Мұнда бірнеше нәрсе бар. Біріншіден, тағы да осы үш бөлім. Осы мысалды келтіре отырып, осыларды қарастырмас бұрын, ең алдымен құрылғы конфигурациясын қосуымыз керек екенін атап өткім келеді. Сонымен, егер сіз 2 қозғалтқышты қозғалтқышты пайдалансаңыз немесе қол немесе тырнақ қозғалтқыштары немесе осыған ұқсас қозғалтқыштар болса, алдымен блоктар сол жақта толтырылуы үшін оларды қосуыңыз керек. Бұл сізге осы бөлімдерді қайтадан толтыруға мүмкіндік береді.
Байқау үлгісін ашқаннан кейін, құрылғы конфигурациясын қосқаныма көз жеткізуім керек. Келесіде, мен айтқым келетін бір нәрсе, осы Драйверді басқару бөлімінде мәңгілік блоктың сол жерде екенін көруге болады. Оның ішінде болуының себебі, Драйверді басқару бөлігі үшін контроллерді пайдаланған кезде, түймелердің басылғанын немесе джойстиктердің қозғалғанын үздіксіз тексеріп отыруымыз керек. Сондықтан мәңгілік блок әдепкі бойынша сол жерде болады. Егер сіз оны қандай да бір себеппен жойғыңыз келсе, жойғыңыз келуі мүмкін немесе егер сіз сол буманы пайдаланбасаңыз және тек құрылғы конфигурациясын пайдалансаңыз, оны сол қалпында қалдыра аласыз.
Жарайды. Осы үш бөлімнің әрқайсысын және олардың шын мәнінде нені білдіретінін мен келтірген мысалмен қарастырайық.
[Музыкалық белгі]
Бастапқыда, біздің байқау үлгісінің үш негізгі бөлігі бар екенін атап өткім келеді. Біріншісі - басталған кезде немесе автономдыға дейінгі кезең. Екіншісі - автономды болған кезде немесе автономды бөлік, ал үшіншісі - Драйверді басқару кезінде немесе Драйверді басқару бөлігі. Осы үш жарыс немесе бас киім блоктары да осы жарыс үлгісінің әртүрлі бөліктерін орындайды.
Әр бөлім туралы әңгімелесейік. Автономды емес бөлік немесе басталған кезде, бәсекелестік үлгісі жобасы іске қосылғаннан кейін бірден орындалады. Бұл кез келген инициализацияны орнату үшін ең жақсы пайдаланылады.
Осы сабаққа менімен бірге қатысқаныңыз үшін рақмет. Сізге пайдалы және ақпараттық болды деп үміттенемін. Егер сізде қандай да бір сұрақтар туындаса, бізге хабарласудан тартынбаңыз. VEX Robotics жобаларыңызда сәттілік тілеймін және бағдарламалауда сәттілік тілеймін!
Сондықтан, егер автономды бөлігім басталмас бұрын ми экранында бірдеңе басып шығаруым керек болса, гироскопты калибрлеуім керек болса, егер осы нақты мысалдағы деректерді басып шығарғым келсе, өйткені мен тұтқа мен тырнақты пайдаланып жатқандықтан, олардың қозғалтқыштарын ұстап тұруға орнатамын. Бұл дегеніміз, егер мен қолымды көтерсем немесе тырнақты ашсам, қозғалтқыштар сол нақты қалыпта қалады және ауырлық күшінің әсерінен төмендемейді. Сондықтан мен қозғалтқыштарыма осы автономды емес ұғымдарды орнатып жатырмын. Бұл нақты мысалда біз демонстрацияны көргенде оның қалай көрінетінін қарастырамыз.
Музыкалық белгі
Енді менде сол бар, бұл біздің Автономды кезеңге дейінгі "Қашан басталды" бөлімі. Келесі - біздің автономды бөлігіміз. Сәйкестіктің автономды бөлігі 15 секундқа созылады және кодтың осы нақты бөлімі сәйкестіктің автономды бөлігі үшін орындалады. Байқау үлгісі іске қосылғаннан кейін, алдын ала автономды "Басталуы" бөлімі кез келген жағдайда басталады. Содан кейін 15 секундтық автономды қозғалтқыш іске қосылады. Біз өрісті басқару жүйесі және барлық роботтар ойынды бастағанда және аяқтағанда, осы нақты бөлік, кодтың осы жолы іске қосылғанда, оның қалай реттелетіні туралы әңгімелестік.
Енді, менің нақты мысалым үшін, біздің робот тырнақтағы ойын нысанымен бастайды. Содан кейін ол нысанды айналып, ауаға көтеріліп, 200 миллиметр алға жылжиды, қолды төмен түсіріп, ойын нысанын төмен түсіреді. Мысалы, бұл матчтың басында фигураны соғуды модельдеуі мүмкін. Сонымен, менің автономды бөлігімде осылай болады. Тағы да, автономды бөлік менің роботыма контроллер әсерімен драйверді басқара алмайтынымды білдіреді. Бұл кезеңде бәрі автономды. Барлығы код арқылы жасалады.
Осы үшінші бөлікке қарап, менде драйверді басқару элементі бар. Енді мен атап өткім келетін бір нәрсе, біздің құрылғы конфигурациясында менің жетек блогым мен контроллер конфигурациялана алатыны анық, бұл менің джойстиктеріме әртүрлі жетек блогының конфигурацияларын тағайындай алатынымды және әртүрлі қозғалтқыштарды басқару үшін әртүрлі түймелерді тағайындай алатынымды білдіреді. Дегенмен, контроллердегі түймелер таусылды немесе мен басқарғым келетін басқа нәрселер бар делік. Мен осы «Драйверді басқару кезінде» оқиғасына құрылғы конфигурациясында қол жеткізе алмайтын немесе трансмиссия жылдамдығын орнатқым келетін немесе осыған ұқсас әрекеттерді орындағым келетін белгілі бір әрекеттерді бұғаттауды қоса аламын.
Сонымен, менің нақты код үлгісім, Драйверді басқару бөлімі үшін, бұл маған Claw-ты контроллердегі бір түймемен басқаруға мүмкіндік береді. Оның қалай көрінетінін көреміз. Сонымен, мен Драйверді басқару бөлігін пайдаланған кезде, құрылғы конфигурациясын контроллермен және драйверді басқару бөлігімен бір уақытта пайдалана аламын. Немесе мен біреуін немесе екіншісін пайдалана аламын. Егер сіз осы үш стектің ешқайсысын, «басталған кезде» автономдыға дейінгі, автономды немесе драйверді басқаруды пайдаланбасаңыз, оларды бос қалдыра аласыз.
Музыкалық белгі
Жарайды. Енді осының бәрін айтқаннан кейін, мен оны роботымда іске қосқан кезде мұның қалай көрінетінін қарастырайық. Жарайды. Шын мәнінде, мұны менің контроллерімде қарастырайық. Мен бағдарламаларға өтіп, миыма жүктеп алған Конкурстық үлгі жобамды сол жерден көре аламын. Егер мен біреуін айналдырсам, уақыт бойынша іске қосу үшін опция бар. Бұл мен бұрын айтқан далалық басқару жүйесін, яғни сол далалық басқару жүйесі арқылы бәрі қалай басқарылатынын модельдеуге арналған. Сонымен, жарыс жобасы басталған кезде, матчтың автономды бөлігі басқарылған кезде және драйверді басқару бөлігі басқарылған кезде, мен контроллердегі уақыт бойынша іске қосуды пайдаланып, мұны модельдей аламын.
Алғыс хаты
Бұл процесті менімен бірге зерттеуге уақыт бөлгеніңіз үшін рақмет. Бұл демонстрация пайдалы болды деп үміттенемін.
Қорытынды хабарлама
Егер сізде сұрақтар туындаса немесе қосымша түсініктеме қажет болса, бізге хабарласудан тартынбаңыз. Бақытты бағдарламалау және робототехника жобаларыңызға сәттілік тілеймін!
Егер мен мұны таңдасам, ол маған автономды бөлік үшін 15 секунд, драйверді басқару үшін бір минут 45 секунд екенін айтады. Ал мен осы түймені қайта басқан кезде, ол шынымен басталады. Мен оны бастаған кезде, ол матчтағыдай 3-2-1 есебін кері санайды. Ал содан кейін біз іске кірісеміз.
Сондықтан, «бастау» түймесін басқаннан кейін, автономды бөлік іске қосылады немесе автономды емес бөлік алдымен іске қосылады, қандай жағдай болмасын. Содан кейін ол дереу автономды бөлікті бастайды. Сондықтан мен сізге автономды бөлімді жасай бастағанда көрсетемін. Робот қозғалуы үшін контроллерімді жылжытсам да, ол қозғалмайды, себебі автономды режим кезінде контроллер арқылы роботымды басқара алмаймын.
[Музыкалық белгі]
Ендеше, сол нақты бөліктің қалай болатынын көрейік. Жарайды, міне, басталды. Жарайды. Енді автономды бөлімде әлі бірнеше секунд қалды. Мен контроллерімді жылжытқан кезде де ештеңе болмайтынын көруге болады, себебі автономды режим кезінде контроллерді пайдаланып роботымды басқара алмаймын. Бірақ ол драйверді басқаруға ауысқаннан кейін, енді мен роботымды басқара аламын.
Сондықтан мен әрі қарай жалғастырамын, себебі біздің Драйверді басқару бөліміне арналған жобаға келгеніңізді ұмытпаңыз, мен осы әртүрлі бөліктерді басқара аламын. Сонымен, менің бір минут 25 секундым қалды. Мен қазір драйвер конфигурациясына сүйене отырып, көлікпен барамын, ол трансмиссияны, тұтқаны, тырнақты басқарады. Бір батырманы басу маған заттарды алуға мүмкіндік береді. Қолды көтеру және түсіру үшін екі түймені көтере аламын. Тырнақты басқаруға арналған бір батырма. Жабық, Ашық.
Енді, бұл құрылғы конфигурациясында опция емес, сондықтан мен сол кодты арнайы жасауым керек болды, сондықтан мен сол жерде сол стектен көрінетін Driver Control оқиға блогын қолдандым. Драйверді басқару бөлігінің қалған бөлігі үшін кері санақ жалғасады. Бірақ көріп отырғаныңыздай, мен мұны тоқтатамын. Драйверді басқару бөлімі аяқталғаннан кейін, бәрі өшеді және ойын аяқталды.
Сіз шаблонның үш түрлі бөлігін көре аласыз. Тағы да, біз автономдыға дейінгі бөлімнің қашан басталғанын қарастырамыз, ол қай бөлімде болмасын жұмыс істейді. Егер біз автономды немесе драйверді басқаруды қолдансақ, онда автономды бөлімге өтеміз. Мұндай жағдай орын алғанда, мен контроллерімді пайдалана алмаймын. Ол аяқталғаннан кейін, ол Драйверді басқару бөліміне ауысады, онда мен роботымды контроллер арқылы басқара аламын және ол аяқталғанша бір минут 45 секунд жұмыс істейді. Содан кейін, бұрын айтқанымдай, далалық басқару жүйесін пайдалану арқылы барлық роботтар бір уақытта іске қосылады және тоқтайды.
[Музыкалық белгі]
Жарайды. Осы бейнежазбада не қарастырғанымызды қысқаша қорытындылайық. Біз Blocks байқауының үлгісін қарастырдық. Үш түрлі порция бар. Басталған кезде, автономды емес, ол кез келген жағдайда жұмыс істейді. Бұл айнымалыларды инициализациялау, гироскопты орнату және калибрлеу, ми экранының көмегімен басып шығару, ұстап тұру сияқты қозғалтқыш позицияларын орнату немесе тіпті қолды белгілі бір позицияға көтеру үшін қолданылады. Мұның бәрі матчтың автономды бөлігінің алдында жасалады.
Содан кейін біз автономды бөлікке, сол жерде көрген автономды стекке кіреміз, онда робот 15 секунд бойы контроллермен немесе драйвермен ешқандай әрекеттесусіз толығымен код бойынша қозғалады. Бұл бөлім аяқталғаннан кейін, біз Драйверді басқару бөліміне өтеміз, оны белгілі бір қозғалтқыштар мен заттарды контроллердегі джойстик түймелеріне және сол сияқтыларға тағайындамас бұрын көрген құрылғы конфигурациясы арқылы, сондай-ақ роботым үшін аздап көбірек арнайы код жасай алатын арнайы стек арқылы басқаруға болады. Сіз біреуін немесе екіншісін немесе екеуін де пайдалана аласыз.
Бұрын айтқанымдай, егер сіз бағдарламаңызда осы үш бөлімнің ешқайсысын пайдаланбасаңыз, оқиға блоктарындағы стектерді де бос қалдыра аласыз.
Көргеніңіз үшін рақмет және бұл сізге байқау үлгісін жақсырақ түсінуге көмектеседі деп үміттенемін.
Тағы да, бұл үлгіні пайдаланудың себебі - матч кезінде барлық роботтардың бір уақытта басталып, тоқтауын қамтамасыз ету. Себебі алаңда төрт робот болады, және біз барлық роботтардың бір уақытта іске қосылып, тоқтайтынына көз жеткізгіміз келеді.
Бұл ақпараттың барлығы сізге жарыс үлгісі туралы біліп, VEX Robotics жарысына қатысуға дайындалу кезінде пайдалы болды деп үміттенемін. Мен қатты қуаныштымын.
Құттықтаймыз, төртінші тарауды аяқтадыңыз, келесі бейнеде көріскенше.
Learning Objectives
Learning Objectives Section
- حدد العناصر الرئيسية لقالب مسابقة الكتل في VEXcode V5، بما في ذلك أقسام متى بدأت والقيادة الذاتية والتحكم في السائق.
Summary
Summary Section
هذا هو الفيديو الثاني لمقدمة الدورة التدريبية VEX V5 الفصل 4. إذا لم تكن قد شاهدت الفيديو الأول بعد، فارجع وشاهد الدرس 1: ميكانيكا مباراة مسابقة الروبوتات VEX.
في الدرس 2، ستتعرف على كل عنصر من العناصر الرئيسية الثلاثة لقالب مسابقة الكتل في VEXcode V5 من خلال عرض مثال عملي.
للمناقشات والأسئلة، انضم إلى موضوع PD+ Community المخصص للتعلم والاستكشاف الجماعي.
تهانينا، لقد أكملت دورة مقدمة إلى VEX V5 التدريبية!