Мазмұны:
- 1-қадам: Оқиғаларға негізделген бағдарламалау дегеніміз не?
- 2-қадам: Оқиғаға негізделген бағдарламалаудың логикалық ағыны
- 3 -қадам: Оқиға жасаушы
- 4 -қадам: Оқиға процессоры
Бейне: FTC-де оқиғаға негізделген бағдарламалау: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Биыл біздің команда роботқа арналған оқиғаларға негізделген бағдарламалық қамтамасыз етуді әзірлеу бойынша үлкен жұмыс жасады. Бұл бағдарламалар командаға автономды бағдарламаларды, тіпті қайталанатын телепо-оқиғаларды дәл әзірлеуге мүмкіндік берді. Бағдарламалық қамтамасыз ету жұмысы күрделі болғандықтан, біз FTC роботтары үшін оқиғаға негізделген кодты әзірлеу бойынша алған білімдерімізбен бөлісуді шештік.
1-қадам: Оқиғаларға негізделген бағдарламалау дегеніміз не?
Жалпы айтқанда, оқиғаға негізделген бағдарламалау, Techopedia мәліметтері бойынша, қолданушылардың енгізулеріне жауап беретін бағдарламаларды әзірлеу болып табылады. Бұл мағынада көптеген бағдарламалар оқиғаға негізделген деп есептеледі, оның ішінде кез келген әрекетті орындау үшін адам басқаратын контроллердің кірісіне сүйенетін команданың телепортациялық бағдарламасы. Алайда, біздің команда жасаған жұмыс тұрғысынан, оқиғаларға негізделген бағдарламалау-бұл әр түрлі кірістерден бағдарламалық қамтамасыз етуді құру; басқаша айтқанда, біз оқиғаларды контроллерлер мен сенсорлардың деректері негізінде құжаттаймыз, содан кейін біз бұл оқиғаларды кезекке қойып, файлды жазылған оқиғаны қайта іске қосу үшін пайдалана аламыз.
Біздің роботқа арналған бағдарламаларды әзірлеудің бұл әдісі бірнеше артықшылықтарға ие:
- Бұл дәл автономды бағдарламаларды құруға мүмкіндік береді. Біз бағдарламалық қамтамасыз етуді оқиғаны өткізу кезінде нақты уақытта жасап жатқандықтан, жиналған және қолданылатын сенсордың мәндері өте дәл болады, өйткені олар бастапқы оқиғадан тікелей келеді.
- Бұл бізге дербес бағдарламаларды тез құруға мүмкіндік береді. Автономды бағдарламалар жасау - оқиғалар сериясын жазу және оқиғаны қажет болған жағдайда реттеу сияқты қарапайым.
- Бұл бізге телеоперацияның автоматты процестерін құруға мүмкіндік береді. Теледидардағы қайталанатын әрекеттер үшін оқиғаға негізделген бағдарламалау бізге бұл әрекеттерді жазып алуға және оқиғаны жүргізуші басқаратын сәйкестік кезеңінде түймені тағайындауға мүмкіндік береді. Бұл автоматтандырылған оқиғаларға сенсорлар әсер етіп, олардың дәл орындалуына мүмкіндік береді.
2-қадам: Оқиғаға негізделген бағдарламалаудың логикалық ағыны
Келесі оқиғаға негізделген бағдарламаның логикалық ағынын бейнелейді: қызыл оқиға оқиғаны, ал көк оқиға шақыруды бейнелейді. Оқиғаны құру үшін робот әрекеті арқылы кірулер тізбегі қабылданады және оқиға ретінде жазылады; бұл оқиғалар файлға жазылады. Оқиғаны шақыру үшін бұл файл оқылады және файл кодын робот әрекетіне айналдыру үшін оқиғалар процессорына жіберіледі.
3 -қадам: Оқиға жасаушы
Оқиға жасаушылар әр түрлі сенсорлар мен түймелерге негізделген әрекеттерді немесе «оқиғаларды» құжаттау үшін қолданылады. Робот далада әрекет ететіндіктен, оқиға құрушылар класы оқиғалар сыныбында жіктелген оқиғаға сілтеме жасай отырып, сол әрекеттердің әрқайсысы үшін оқиғалар жасайды. Жасалғаннан кейін оқиға оқиғалар сыныбындағы оқиғалар кезегіне қойылады: бірінші оқиға бірінші орынды алады, содан кейін екінші оқиға жоғарғы орынды алады және оның астындағы кез келген оқиғаларды ығыстырады және бұл бағдарлама тоқтағанға дейін жалғасады. Бағдарлама тоқтатылған кезде оқиғалар JSON файлы сияқты адам оқитын форматты файлға өтеді. Бұл файл автономды тәртіптерді жақсарту үшін пайдаланылуы мүмкін.
Жоғарыда келтірілген мысал коды оқиға параметрлерін орнатады, бұл жағдайда IMU сенсорының көмегімен бұрылыс болады. Содан кейін біз оқиғаны оқиға кезегіне қоямыз. Ақырында, біз оқиғаны қысқартамыз, ол оқиғаны қалпына келтіреді, осылайша біз оны болашақ оқиғаларға кезекке қою үшін қолдана аламыз.
4 -қадам: Оқиға процессоры
Оқиғалар сыныптары оқиғалар жасаушылар сыныбында шығарылатын адам оқитын файлды қабылдайды және кез келген оқиға оқиғалар процессоры класында көрсетілген әдістерді шақыру арқылы не айтса, солай жасайды. Оқиға процессоры класы роботқа қандай оқиғаны қайталау керектігін айтады. Қарапайым «алға қарай жету» оқиғасы болсын немесе қашықтықтарға, бұрылыстарға және жолақтарға толы күрделі оқиға болсын, процессор оған берілген кез келген оқиғаны қайталайды. Бұл процесс автономия кезінде өте пайдалы, өйткені команда матчқа дейін сенсорлар мен Tele-Op әрекеттерін жаза алады, содан кейін оқиғаларды автономды түрде қайталайды. Бұл процесс жадты қайта ойнату деп аталады. Бұл автономды бағдарламаны бір файл арқылы 100% конфигурациялауға мүмкіндік береді. Оқиға құрушы мен процессор орнатылғаннан кейін, топ адам оқитын файл арқылы автономды тәртіптерді өзгерте алады.
Жоғарыда келтірілген мысал алдымен оқиға үшін JSON файлын тексеруден басталады, содан кейін бұл оқиғаның қандай екенін білу үшін оқиға мәлімдемесін қолдана отырып тексереді, бұл жағдайда IMU сенсоры арқылы бұрылыс. IMU оқиғасын қолдану кезегі екенін айта алғаннан кейін, ол оқиғаны өңдеумен айналысады, әдетте бұл оқиға бұрын болған оқиғаны қайталау үшін берілген оқиғаның айнымалыларын қолдану арқылы алынған кодты іске қосуды қамтиды.
Ұсынылған:
D класының дыбыс күшейткіштері үшін ағымдағы режимге негізделген осциллятордың дизайны: 6 қадам
D класының дыбыс күшейткіштеріне арналған ағымдағы режимге негізделген осциллятордың дизайны: Соңғы жылдары D класының дыбыс күшейткіштері жоғары тиімділікке және аз қуатты тұтынуға байланысты MP3 және ұялы телефондар сияқты портативті аудио жүйелер үшін қолайлы шешім болды. Осциллятор D класының маңызды бөлігі болып табылады
Рождестволық ағашқа негізделген электронды компоненттер: 8 қадам
Рождестволық ағашқа негізделген электронды компоненттер: Сәлеметсіз бе және қош келдіңіз !!! Электронды энтузиаст ретінде. Мен әрқашан заттарды немесе мерекелерді /оқиғаларды электроникадан жаңашылдық жасауға мүмкіндік ретінде көремін, сондықтан Рождество жақындаған сайын. Мен шырша жасауды ойладым
Оңай еңкейтуге негізделген түс сымсыз кубикті кубик шамының өзгеруі: 10 қадам (суреттермен)
Оңай көлбеу түсі бар кубикті сымсыз кубик шамы: Бүгін біз тек кубик тәрізді Рубик шамын жасаймыз, ол түсі қай жағына қарай өзгереді. Текше шағын LiPo батареясымен жұмыс істейді, ол стандартты микро-USB кабелімен зарядталған, мен тексерген кезде батареяның қызмет ету мерзімі бірнеше күнге жетеді. Бұл
Arduino шолғышқа негізделген қашықтан басқару құралы (linux): 9 қадам (суреттермен)
Arduino шолғышқа негізделген қашықтан басқару құралы (Linux): Бізде балалар бар. Мен оларды жақсы көремін, бірақ олар балалар арналарын қосқан кезде спутник пен теледидардың қашықтан басқару пультін жасырады. Бұл бірнеше жыл бойы күнделікті түрде болғаннан кейін және менің сүйікті әйелім маған рұқсат берді
NodeMCU ESP8266 қолданатын IoT негізделген ақылды тұрақ жүйесі: 5 қадам
NodeMCU ESP8266 қолданатын IoT негізіндегі ақылды тұрақ жүйесі: Қазіргі уақытта адамдар көп жүретін жерлерде автотұрақ табу өте қиын, ал желіде автотұрақтардың бар -жоғын білетін жүйе жоқ. Телефоныңызда автотұрақ бар екендігі туралы ақпаратты ала алатындығыңызды елестетіп көріңіз, ал сізде роуминг жоқ па?