11 дәріс Тақырыбы: Моторлар. Әртүрлі жолдар бойынша қозғалыстарды бағдарламалау



бет2/2
Дата21.12.2022
өлшемі235,06 Kb.
#163831
1   2
Байланысты:
11.12.15 лекция
Dojo, есебі
Тәжірибелік жұмыс No11
Мақсаты: EV3 Brick құрылғысындағы жарықтандырылған түймелермен жұмыс істеу
1-тапсырма: EV3 Brick құрылғысының артқы жарығын әр 3 секунд сайын кезекпен қосыңыз: жасыл, қызыл жыпылықтау, қызғылт сары; артқы жарықты өшіріңіз.
Шешімі:

11.1-сурет – Дыбыспен жұмыс
2-тапсырма: бағдарлама құру, оған сәйкес робот:
а) «Bravo EV3» ойнайды, содан кейін бір айналым алға қарай жүреді;
б) қозғала бастаған кезде «Bravo EV3» ойнайды, содан кейін бір айналым алға қарай қозғалады).
Шешуі: а)




б)

12 дәріс


Тақырыбы: Артқы жарықпен, экранмен және дыбыспен жұмыс.
Мақсаты: Артқы жарықпен, экранмен және дыбыспен жұмыс істеуді үйрету.
EV3 Brick құрылғысындағы экран графика мен мәтінді көрсетуге мүмкіндік береді. Экранның ажыратымдылығы көлденеңінен 177 пиксель және тігінен 127 пиксель. Координаталар (0;0) экранның жоғарғы сол жақ бұрышында орналасқан.
Экран блогы жасыл Action палитрасында (12.1).


12.1-сурет - Жасыл Actions палитрасындағы экран блогы және экран орналасуы
Экран блогын жұмыс өрісіне орналастырып, бірінші нұсқаны қарастырайық (сурет. EV3 блогының экранында мәтінді көрсету.

12.2-сурет - Экранды көрсету режимдері және мәтіндік дисплейді таңдау
Блоктың жоғарғы оң жақ бұрышында экранда көргіміз келетін мәтінді енгізіңіз, мысалы, «Менің бағдарламам».Төменгі сол жақ белгішені басып, мәтінді көрсету режимін таңдаңыз
«Мәтін». Дисплейді пиксельдер түрінде таңдау ұсынылады.
Келесі программаны құрайық (12.3-сурет). Біз Операторларды басқарушы қызғылт сары палитрада күту блогын табамыз. X және Y - мәтінді басып шығаруды бастау координаттары; «АА» - шрифт өлшемі, максимум 2 таңдаңыз.
Өшіргіш кескінінің астындағы «Мәтін» белгішесінің оң жағында параметрді орнатыңыз
Экранды "True" күйіне дейін тазалау. Бұл мәтінді көрсетпес бұрын экранды тазартады.
Бағдарлама жұмыс істеп тұрған кезде дисплейде 5 секунд ішінде «Менің бағдарламам» мәтіні көрсетіледі.

12.3-сурет – Мәтінді дисплейде пиксель түрінде көрсетуге арналған бағдарлама
Экрандағы мәтінді торға сілтеме жасау арқылы да көрсетуге болады. Бұл режимде мәтін жолдар мен бағандарға тураланады.
Суретте. 12.4 торға сілтеме жасай отырып, мәтіннің 5 секундтық дисплей бағдарламасының фрагментін көрсетеді.

12.4-сурет – Торға сілтеме жасай отырып, мәтінді дисплейде көрсету бағдарламасы
X және Y жоғарғы сол жақтан бастап баған мен жол нөмірін көрсетеді. Экранда 21 баған бар, әрқайсысының ені 8 пиксель, бірінші бағанда нөмір бар 0. Жолдар саны – 10, жол биіктігі 10 пиксель. Жоғарғы жолда 0 саны бар. Дисплей экранында фигураларды салу.
EV3 блогы қарабайыр кескіндерді көрсетуге мүмкіндік береді (12.5-сурет): Сызық (сызық), Шеңбер (шеңбер), Тіктөртбұрыш (тіктөртбұрыш) және Нүкте (нүкте), оларды біріктіру арқылы қарапайым кескіндерді жасауға болады. Әрбір фигураның өз параметрлері болуы керек.

12.5-сурет - Пішінді көрсету режимі
12.6 фигуралардың параметрлерін орнату нұсқаларын көрсетеді.

12.6-сурет - Экранда қарапайым фигураларды көрсету Дисплей экранында суретті көрсету.
EV3 Brick-тің өте қызықты ерекшелігі - экранда кескінді жасау және көрсету. Кескінді жасау үшін Құралдар - Кескін редакторы түймешігін басыңыз (12.7-сурет).

12.7-сурет – Графикалық редактор
Сол жақтағы стандартты құралдар тақтасын пайдаланып суретті жасаңыз. Мәзір элементтері қарапайым графикалық редактордағы элементтерге ұқсас. Олар тіктөртбұрышты, сопақшаны, қалаған қалыңдықтағы сызықты салуға мүмкіндік береді; пішіндерді толтыру, суреттерді өшіру, мәтін жазу.
Оң жақта сызбаның EV3 блогының экранында қалай көрінетінін көруге болады.
Кескінді «Менің суретім» сияқты атаумен сақтаңыз. Редакторды жабыңыз. Әрі қарай, бағдарлама жазу керек (12.8-сурет) және экран блогының жоғарғы оң жақ терезесін басу арқылы тізімнен жасалған кескін файлының атын таңдаңыз. Орындау үшін бағдарламаны іске қосыңыз.

12.8-сурет - Экранда сурет салу EV3 Brick құрылғысындағы жарықтандырылған түймелермен жұмыс.
EV3 кірпішінде пайда болған жаңа және өте қызықты мүмкіндік - блоктың алдыңғы жағындағы жасыл, қызыл немесе қызғылт сары түймелердің жарықтандыруы.
Артқы жарықты қосуға немесе өшіруге, сондай-ақ артқы жарық режимін таңдауға болады: тұрақты немесе жыпылықтайды. «Пульс» параметрі қабылданса мәні True, егер мән False болса, орнатылған түсті бөлектеу жыпылықтайды.Үздіксіз жарқырайды.
Осылайша, сіз бағдарламаның әртүрлі бөліктері үшін өзіңіздің бөлектеуді орната аласыз (барлығы 7 опция бар) және әрқашан робот бағдарлама кодының қай бөлігін орындап жатқанын көре аласыз. Бұл ықтимал қатені іздеуді айтарлықтай жеңілдетеді және тездетеді.
Артқы жарықпен жұмыс істеу үшін жасыл бағдарламалау палитрасында орналасқан Әрекеттер модулі күйінің индикатор блогын пайдаланыңыз. (сурет. 12.9).
12.9-сурет – Модуль күйінің индикатор блогы
Жасыл Actions бағдарламалау жолағындағы EV3 Sound блогында кірістірілген динамик бар және симуляцияланған персоналдың көмегімен берілген жиіліктегі дыбыстарды, дыбыстық файлдарды және ноталарды ойнатуға мүмкіндік береді (12.10-сурет).


12.10-сурет - Модуль күйінің индикатор блогы Дыбыс файлын ойнату режимі.


Дыбыс файлын ойнатудың екі режимі бар: кірістірілген дыбыстарды ойнату және жазған файлды ойнату (Cурет 12.11).

12.11-сурет - Дыбыс файлдарын ойнату режимі
Бағдарламада көптеген кіріктірілген дыбыстар бар: жануарлардың дауыстары, түс атаулары, сәлемдесулер, эмоцияларды білдіру, көліктерге еліктеу, сандар және т.б.
Кірістірілген дыбыстарды пайдаланған кезде ойнату режимдерін анықтау қажет (12.12-сурет).

12.12-сурет - Енгізілген дыбысты ойнату режимдері

«Орындалуды күту (аяқталу)» режимі - көрсетілген дыбысты ойнатады, содан кейін бағдарламаның орындалуын жалғастырады.


«Бір рет ойнату» режимі – бағдарламаның келесі блоктарының орындалуымен бір уақытта дыбысты ойнатады. «Үздіксіз қайталау» режимі әрекетті сырттан үзгенше дыбысты қайталайды.
Өзіміздің дыбыстық файлымызды жасау үшін біз дыбыстық редакторды қолданамыз (12.13-сурет).

12.13-сурет – Дыбыстық редактор
«Құралдар» - «Дыбыс редакторы» түймесін басып, қажетті дыбыстарды немесе сөйлеуді жазу үшін стандартты редакторды пайдаланыңыз. сияқты атпен жазбаны сақтаңыз
Менің дыбыстық файлым.Әрі қарай, Дыбыс блогының жоғарғы оң жақ бұрышын басу арқылы жасалған файлды таңдаңыз (Cурет 1).12.14).

12.14-сурет - Жазылған аудио файлды ойнату Бағдарлама құрылымдары. Постшартпен цикл.
EV3 Operators Orange бағдарламалау палитрасында жеткілікті күрделі бағдарламалау алгоритмдерін жүзеге асыруға мүмкіндік беретін төрт құрылым бар. Біз алдыңғы бөлімде бірінші күту блогымен кездестік. Басқа құрылымдарды қарастырайық.
Цикл – командалар жиынының қайталанатын орындалуын ұйымдастыруға арналған жоғары деңгейлі программалау тілдеріндегі басқару құрылымының бір түрі.
Бірнеше орындауға арналған нұсқаулар тізбегі цикл денесі деп аталады. Цикл денесінің бір рет орындалуы итерация деп аталады. Итерацияның қайта орындалатынын немесе цикл аяқталатынын анықтайтын өрнек шығу шарты немесе циклдің аяқталу шарты деп аталады.
Суретте. 12.15 оператордың басқару палитрасы мен Loop құрылымын көрсетеді, ол постшартпен цикл, яғни цикл денесінің орындалуынан кейін шарт тексерілетін цикл.

12.15-сурет – Операторды басқару палитрасы мен құрылымы Цикл
Бұл құрылым цикл соңында көрсетілген шарт ақиқат болғанша блоктың ішінде (цикл денесінде) көрсетілген әрекеттердің орындалуын тудырады. Осылайша, Loop құрылымының ішіне орналастырылатын блоктар кемінде бір рет орындалады.
Суретте. 12.16 Циклдің орындалуын аяқтаудың мүмкін шарттарының мысалдары келтірілген. Сенсор көрсеткіштері көрсетілген шекке жеткенше әрекеттерді қайталау үшін циклды үздіксіз, белгілі бір рет немесе белгілі бір уақытқа орнатуға болады.

12.16-сурет - Циклдан шығу опциялары
EV3 ортасының жаңа мүмкіндігі бар – Interrupt Loop блогы арқылы бағдарламаның кез келген бөлігінен циклды үзу және тоқтату (12.17-сурет). Ерте шығу пәрмені шығу шартына әлі қол жеткізілмеген циклдің орындалуын үзу қажет болған жағдайда қолданылады. Мысалы, цикл денесін орындау кезінде шарт анықталғанда, одан кейін циклдің одан әрі жұмысы мағынасы жоқ немесе оны аяқтау қажет.
Басқа бағдарламалау тілдеріндегі ерте шығу нұсқауы әдетте EXIT немесе BREAK деп аталады және оның әсері циклден кейінгі нұсқаудағы шартсыз тармақ (GOTO) нұсқауына ұқсас.

12.17-сурет – Параллель программа тармағынан циклдің орындалуын үзу
Бірінші тармақ қозғалтқыштардың айналуының үздіксіз циклін көрсетеді. Дегенмен, ол екінші тармақта орналастырылған үзу блогына байланысты бес секундта аяқталады. Үзу блогында үзілетін циклдің нөмірі немесе аты жоғарғы жағында көрсетілгенін ескеріңіз.
Бұл құрал бағдарлама ағынына әсер етудің қуатты және икемді құралы болып табылады және күрделі сызықты емес алгоритмдерді жүзеге асыруға мүмкіндік береді.
Кірістірілген циклдар
Басқа циклдің денесінің ішінде циклды ұйымдастыруға болады. Мұндай цикл кірістірілген цикл деп аталады. Денесінде кірістірілген циклге қатысты кірістірілген цикл ішкі цикл деп аталады, ал, керісінше, денесінде кірістірілген цикл бар цикл позицияға қатысты сыртқы деп аталады. Кірістірілген цикл ішінде басқа циклдар өз кезегінде кірістірілуі мүмкін. Interupt блогы арқылы циклдер ертерек аяқталады.
Суретте. 12.18 кірістірілген циклды қамтитын бағдарламаның мысалын көрсетеді. EV3 кірпішіндегі жасыл шам жанып, кірпіштегі екінші түймені басқанша жанып тұрады. Содан кейін қызыл шам жанып, құрылғыдағы үшінші түймені басқанша жанып тұрады.

12.18-сурет - Кірістірілген циклдің мысалы.
Блоктағы түймелердің нөмірленуі «Ауыстыру» құрылымы
Тармақ операторы (шартты оператор, нұсқалық құрылым) белгілі бір логикалық өрнек ақиқат болғанда немесе белгілі бір өрнектің мәніне байланысты болған жағдайда ғана белгілі бір команданың (командалар жиынының) орындалуын қамтамасыз ететін оператор.
Суретте. 12.19 қызғылт сары бағдарламалау палитрасында және жұмыс терезесінде Switch блогының суретін көрсетеді. Бұл блок шартты тексеру және оның ақиқаттығына байланысты көрсетілген нұсқауларды орындау қажет болғанда қолданылады.
Қажетті тармақ бойынша бағдарламаның орындалу курсын жалғастыру шарттары датчиктің көрсеткіштері, уақыт және Цикл құрылымына ұқсас басқалар болуы мүмкін. Мұндай құрылымды көбінесе «Егер-онда» (егер-онда) деп атайды. Шынында да, егер белгілі бір шарт орындалса, онда бағдарлама бір тармақта көрсетілген әрекеттерді орындайды, әйтпесе - басқа.
Құрылым Дисплей режимінің қосқышы арқылы қосқышты ұзын және қысқа түрде көрсетуге болады (ол «Көруге ауысу» деп аталады)қойындылар» - сур. 12.19).
Толық пішінде көрсетілгенде біз жұмыс терезесінде барлық шарттарды толық көреміз; қысқаша түрде көрсетілгенде шарт ақиқат немесе жалған болған кезде программаның әрекеттерін бейнелейтін коммутатордың бір ғана тармағын көреміз. Бұл жағдайда бағдарлама өте жинақы түрде көрсетіледі.

12.19-сурет - Блокты ауыстырып қосқыш
Бұл дисплей режимі өте ыңғайлы, өйткені тіпті бірнеше шарттарды толық көрсету режимінде блок жұмыс терезесінде көп орын алады.
Бағдарламаны бірнеше мәндерді қабылдай алатын шартқа сәйкес жалғастыру қажет болған жағдайда (мысалы, санның мәніне байланысты маршрутты таңдаңыз), опцияларды немесе қосымша бағдарлама тармақтарын қосу керек. Осыған:
- шарт ретінде Сандық мәнді таңдап, қосу белгісін басыңыз
-нұсқаны қосу (12.20-сурет);
- құрылымда қосымша тармақ пайда болады, оған біз осы опцияға сәйкес бағдарлама блоктарын енгіземіз. Бағдарламаның осы тармағының орындалуын қалайтын мәндерді қолмен енгізіңіз (12.20-сурет);
- блоктарды әрбір тармаққа ендіру (12.20-сурет).
Белгілі бір жағдайда робот ештеңе істемеуі қажет болған жағдайда, бұл тармақты бос қалдыруға рұқсат етіледі.

12.20-сурет – Құрылымға қосымша шарт қосу технологиясы
Ауыстыру
Switch құрылымында опциялардың бірі әрқашан «әдепкі бойынша» жұмыс істеуге орнатылады. Бұл опция қара нүктемен көрсетілген.
Әдепкі шарттың принципі келесідей: егер шарттардың ешқайсысы көрсетілген опциялардың біріне сәйкес келмесе, онда «әдепкі» белгісі бар опция орындалады.
Мысалы, шартта (12.20-сурет) 5 саны көрсетілсе (және біз 1,2 және 3 сандарына сәйкес келетін тек үш нұсқаны сипаттадық), онда бағдарлама 1-тармақ бойынша жалғасады.
Деректермен жұмыс
Робот - сыртқы әлем туралы ақпаратқа сәйкес алдын ала белгіленген бағдарлама бойынша жұмыс істейтін автоматты құрылғы. Бұл ақпарат роботтың әрекеттерін түзететін, бағыттайтын немесе инициализациялайтын кері байланысты ұйымдастыру үшін пайдаланылады. Осылайша, роботты басқару әртүрлі көздерден алынған мәліметтерді тасымалдауға негізделген: сенсорлар, EV3 Brick-тегі түймелер немесе сымды немесе сымсыз қосылымдар арқылы сырттан алынған.
Мәліметтер – өлшеу, бақылау, логикалық немесе арифметикалық амалдар арқылы алынған және тұрақты сақтауға, жіберуге және автоматтандырылған өңдеуге жарамды пішінде ұсынылған ақпарат.
Деректер түрлері. өткізгіштер
Сіз роботтың EV3 блогындағы басылған түйменің нөмірін «сөйлегенін» қалайсыз делік. Осыған:
- программа құру (12.21-сурет). Бағдарламаның екінші блогы блок болып табылады
Сары «Сенсор» бағдарламалау палитрасында орналасқан «Батырма идентификаторы».
- басылған түйменің нөмірін қайтаратын түйме идентификатор блогының шығыс бөлігін тінтуірдің сол жақ түймешігімен шертіп, тінтуірдің батырмасын жібермей (12.21-сурет) қосқышты шартты орнататын Switch құрылымының кірісіне апарыңыз. бағдарламаны орындау опциясын таңдау (12.21-сурет);
- программаның үздіксіз орындалуы үшін модульді басқару түймелерінің блогын және Switch құрылымын үздіксіз циклге орналастырайық.

12.21-сурет – Мәліметтерді тасымалдауға арналған блоктардың кірісі мен шығысын қосу технологиясы
Айнымалылар және тұрақтылар.
Тұрақтылар мен айнымалыларды қолданбай кәсіби бағдарламаларды құру мүмкін емес. Бағдарламалау тілдеріндегі айнымалы және тұрақты жадтың әртүрлі мәндер орналастырылған атаулы бөлігі деп аталады. Оның үстіне, егер тұрақты шама программаның басында бір рет қойылса және оның соңына дейін өзгеріссіз қалса, онда программаның орындалу барысында айнымалының мәні өзгеруі мүмкін.
Тұрақтылар немесе айнымалылар түрі олар көрсететін деректер түрімен анықталады: мәтіндік айнымалылар кейбір мәндерді сақтай алады, мысалы, «Hello, EV3» мәтіндік жолы; сандық айнымалылар, мысалы, 1 санын сақтайды; Логикалық айнымалы екі мәнді сақтауға арналған: «True» немесе «False». Біз айнымалыны немесе тұрақтыны инициализациялаудан (анықтаудан) және оларға мәндерді тағайындағаннан кейін, оларды нақты мәндерді үнемі терудің орнына бағдарламаның кез келген жерінде қайта пайдалануға болады.
Айнымалы мәндер бағдарламаның бірнеше жерінде мәндерді өзгерту қажет болғанда да көмектеседі. Бұл жағдайда айнымалының мәнін ғана өзгертуге болады және ол пайдаланылған жерде мәндер автоматты түрде ауыстырылады.
Тұрақтылармен жұмыс
Жұмыс тұрақтыны инициализациялаудан басталады. Жұмыс терезесіне Data Operations бағдарламасының қызыл палитрасында орналасқан Constant программа блогын көшірейік (12.22-сурет).

12.22-сурет – Тұрақтыны инициализациялау
Содан кейін тұрақтының түрін, бұл жағдайда Мәтінді және тұрақты мәнін орнатыңыз
Экран блогын бағдарламаға тасымалдаңыз, көрсетілетін кескіннің түрін көрсетіңіз (мәтін) және мәтін көзі (сымды) (12.23а-сурет).

12.23-сурет – Тұрақтыны қолданатын программа фрагменті
Тұрақтының шығыс өрісін Screen блогының кіріс өрісімен қосамыз (12.236-сурет). Өткізгіш қызғылт сары, ал блоктардың енгізу-шығару пішіндері ұқсас (төртбұрышты «мұрынмен») екенін ескеріңіз - бұл мәтіндік деректер өңделіп жатқанының көрсеткіші. Суретте көрсетілгендей блоктарды қосыңыз. 12,23в.
Бағдарлама келесідей жұмыс істейді. Тұрақты инициализациядан кейін оның мәні тасымалданады және экранда 3 секунд бойы көрсетіледі. Содан кейін робот бір айналым жүреді, тоқтайды, экрандағы «Сәлеметсіз бе» мәтіні өшіріліп, қайтадан жазылады, бірақ басқа күйде (X=50, Y=50). Мәтін 3 секунд сақталады.
Айнымалылармен жұмыс
Айнымалылардың тұрақтыдан айырмашылығы екі күйі бар: жазу және оқу. Айнымалыға бірінші қатынас әрқашан оған мән (мәтіндік, сандық немесе логикалық) тағайындау болып табылады. Болашақта біз айнымалыда сақталған мәндерді оқи аламыз және оған жаңа мәндер жаза аламыз.
Біз айнымалылармен жұмыс істеу алгоритмін бағдарлама мысалында қарастырамыз, оған сәйкес робот алға жылжиды, кезекпен бір айналым жасайды. Төртінші айналымнан кейін «Төрт» (төрт) «деп» әрі қарай жүре береді.
Мәліметтермен математикалық амалдар
Деректермен математикалық операциялар жиі қолданылады - EV3 блок түймелерінің немесе сенсорлық сенсордың басу санын есептеу кезінде, сызық бойымен және қабырға бойымен қозғалыстарды бағдарламалау кезінде. Математика фортепианосындағы EV3 ортасының мүмкіндіктері алдыңғы нұсқамен салыстырғанда айтарлықтай кеңейді.
Математикамен жұмыс істеуге арналған программалық блок қызыл бағдарлама палитрасында орналасқан (12.24-сурет).

Математика блогының құрылымын толығырақ қарастырайық (12.25-сурет).
Төменгі сол жақ белгіні басу арқылы арифметикалық амалды таңдаймыз. «a» және «b» кірістері сандық мәнді тікелей енгізу үшін де, әрі қарай математикалық өңдеу үшін сандық мәнді беретін EV3 блогының сенсорларының немесе түймелерінің шығыстарымен қосылуға арналған.

12.25-сурет – Математика блогының құрылымы

№12 практикалық жұмыс
Мақсаты: Пост шарты бар циклмен жұмыс. Коммутаторлар.
1-тапсырма: блоктың екінші түймесі басылса, роботты бір айналым алға жылжытатын, әйтпесе бір айналым артқа айналдыратын программа жазыңыз.
Шешімі:


  1. Робот үздіксіз қозғалыстар жасап, блоктағы түймелерді басу күйін тексеруі керек болғандықтан, біз Цикл құрылымын жұмыс терезесіне ауыстырамыз және циклден шығу шартын белгілейміз - шексіз.


2. Switch құрылымын цикл ішіне орналастырып, шарт ретінде Модулды басқару түймелері - Салыстыру - Модульді басқару түймелері таңдаңыз. Біз сондай-ақ түйменің нөмірін (2) және күйін (1 - басылған) көрсетеміз.
3. Әрі қарай, шарт дұрыс болса, бағдарламаның жұмысына жауап беретін жоғарғы тармаққа алға жылжытыңыз (EV3 блогындағы 2 түйме басылған) және екінші тармаққа артқа жылжыңыз.
4. Контурды қысқаша түрде көрсету үшін дисплей режимінің қосқышын басыңыз. Біз тек бір тармақтыкөреміз, екінші тармақты көру үшін біз «Иә» немесе «Жоқ» белгішесін басамыз.

12.2-сурет – Циклмен жұмыс істеу

Тапсырма 2. Кірістірілген шарттармен жұмыс.


Блоктың екінші түймесі басылып, босатылса, роботты бір айналым алға жылжытатын, блоктағы үшінші түйме басылып босатылса, бір кері бұрылатын, әйтпесе орнында айналатын бағдарлама құрастырыңыз.
Шешімі:
12.3-сурет – Циклмен жұмыс істеу
№15 дәріс
Тақырыбы: Жарыстың негізгі түрлері және тапсырмалар элементтері
Мақсаты: Жарыстың негізгі түрлерімен және тапсырма элементтерімен таныстыру
Робототехника және техникалық шығармашылық сабақтары дамиды, жаңа білім береді және оқуға көмектеседі. Балаларды роботтардан ажыратуға болмайтын тағы бір себеп бәсекеге түсу мүмкіндігі. Балаларға арналған ең үлкен халықаралық робот жарыстарының мысалы:
1. WRO – World Robot Olympiad (ағыл.) – робототехника және STEM әлеміндегі ең маңызды жарыстардың бірі. Ұйымдастырушылар байқаудың миссиясын келесідей анықтайды: «Шығармашылық пен мәселелерді шешу дағдыларын дамыту үшін бүкіл әлемдегі жастарды біріктіру». Бірінші олимпиада 2004 жылы Сингапурде өтіп, оған Азия елдерінен бар болғаны 12 команда қатысты.
2. FIRST® (For Inspiration and Recognition in Science and Technology) 1989 жылы кәсіпкер және өнертапқыш Дин Камен жастардың ғылым мен технологияға деген қызығушылығын ояту мақсатында құрылған. Манчестерде, Нью-Гэмпширде, АҚШ-та орналасқан. FIRST 6 мен 18 жас аралығындағы балалар қатыса алатын төрт бағытта жарыстар ұйымдастырады: FIRST Robotics Competition (FRC), FIRST Tech Challenge (FTC), FIRST LEGO® лигасы және Junior FIRST LEGO League (Jr. FLL®). Ресейде жарыстарды «Робототехника» бағдарламасы аясында «Еркін бизнес» қоры қолдап, дамытады. БІРІНШІ байқаудың маңызды бөлігі - өз жобаңызды таныстыру. Жоба техникалық шығармашылықты да, іс-әрекетті жобалау қабілетін де дамытуға бағытталған. Байқаудың әлеуметтік маңызды тақырыптары бала кезінен балалардың назарын қазіргі әлемнің гуманитарлық мәселелеріне оятады.
3. IYRC жарыстары (International Youth Robotic Competition, анг.) – Оңтүстік Кореядан келген 6 жастан 17 жасқа дейінгі балаларға арналған халықаралық жасөспірімдер робототехника жарыстары. IYRC жыл сайын тамыз айында өтеді. Қатысушылар классикалық категориялар бойынша жарысады: сумо, роботты футбол және роботтық волейбол, белгілі бір ережелер бойынша көпбұрыштарды өту және т.б. Қатысушылар номинация бойынша жүлдеге таласуы мүмкін
«Шығармашылық жоба» және қазылар алқасына роботты ғана емес, оның жұмысының бағдарламасын да ұсынады.
4. RoboCup – робот-футбол. Жыл сайынғы халықаралық турнир алғаш рет 1997 жылы өтті, бірақ идея 1993 жылы робот-футбол тұжырымдамасын жасаған канадалық ғалым, профессор Алан Маквортқа тиесілі. Жарыстың негізгі идеясы утопиялық - ұйымдастырушылар жақын арада жасанды интеллекті бар үздік футболшылар нағыз адам футболшыларымен ойнай алады деп үміттенеді. RoboCup роботтардың өлшемі мен пішініне байланысты бірнеше санаттағы жарыстарды қамтиды: шағын роботтар (18 см-ден аспайтын), орташа роботтар, стандартты платформалар (барлық командалар роботтарды бір платформада жасайды, мысалы, NAO), адам тәрізді роботтар (еркін платформалар және дизайн).
Байқаудың негізгі міндеттері:
1. Сумо;
2. Кегельринг;
3. Слалом (кедергілерден аулақ болу).
Сумо жарыстары робот жарысының ең әсерлі және қызықты түрлерінің бірі болып табылады. Мақсат - робот қарсылас роботты алаңнан итеру.
Сумо жарыстары барлық деңгейде (аудандық, қалалық, облыстық, халықаралық) өткізіледі. Ережелер өрістің түсін (қара жиегі бар ақ өріс немесе ақ жиегі бар қара өріс), өріс диаметрін, өлшемдерін және роботтардың рұқсат етілген салмағын реттейді.
Жарыс ережелері төмендегідей (15.1-сурет):

  1. Роботтар бір-бірінен «айналып» тұрып (15.1-сурет).


15.1-сурет – Роботтардың жарыстары
2. Судьяның бұйрығынан кейін операторлар роботтарды іске қосады, роботтар үш секунд күтеді және алаңның шетіне қарай қозғалуды бастаңыз, содан кейін кем дегенде 120 градус бұрышпен бұрылып, қарсыласқа шабуыл жасаңыз.
3. Қарсылас роботты алаңнан итеріп жіберген робот жеңімпаз атанады.
Жарыс алаңы - диаметрі 122 см ақ шеңбер, жиегі 4 см қара жолақ.
Роботтың максималды ені мен ұзындығы 30,48 сантиметрмен (1 фут) шектелген. Роботтың салмағы 0,907 кг (2 фунт) аспайды. Алаңның биіктігі шамамен 5 см.Робот даладан кетсе, жеңілген болып саналады. Жекпе-жек үш раундтан тұрады. Әр раундтың ұзақтығы бір-екі минут.
Бәсекелестер әртүрлі тактиканы таңдайды: біреу үлкен және баяу, бірақ күшті (беріліспен ауыстыруға байланысты) роботтарды жасауды қалайды, ал басқалары, керісінше, маневр жасай алатын шағын, бірақ жылдам роботтарды жасайды және осының арқасында жау роботын ығыстырып шығарады. өрісі, оның жағында болуы мүмкін.
Ұрыс үш раундтан тұратындықтан, қарсыластың роботына байланысты алдын ала бағдарламалардың бірнеше нұсқасын жасап, жекпе-жек тактикасын таңдауға болады. Мысалы, алдымызда қуатты, бірақ баяу робот болса, біз робот қарсыласқа жылдам және бүйірден шабуыл жасайтын бағдарламаны орындай аламыз; егер қарсыластың роботы біздің роботты іздей отырып, әрқашан оңға бұрылса, сол жақтан айналып өтіп, оған шабуыл жасайтын бағдарламаны орындау керек. Күштері мен жылдамдығы бойынша шамамен бірдей роботтар бәсекелесетін раундтар әсіресе қызықты, бұл жағдайда нәтиже миллиметрлер мен секундтармен анықталады!
Мықты және сенімді құрылымды жинай алған, сауатты бағдарлама (немесе бағдарламалар) жазған және дұрыс стратегияны таңдаған қатысушы жеңімпаз атанады. Дәл осы факторлардың үйлесімі жарыстарға дайындық процесін қызықты етеді, ал жарыстардың өзі өте әсерлі және қызықты!
Кегельринг
Жарыс басталмас бұрын алаңға 8 түйреуіш қойылады (15.2-сурет).
15.2-сурет – Кегельринг
Робот алаңның ортасына орналастырылған. Тапсырма - түйреуіштерді өрістен қысқа мерзімде итеру. Әдетте, әрекет уақыты екі минутпен шектеледі.
Алаңның диаметрі көбінесе 1м, шекара сызығының ені 50мм. Кегльдерді сусындар үшін пайдаланылатын бос стандартты банкалардан жасауға болады.
Роботтың ені мен ұзындығының шектеулері – 25 см.Робот манипуляторларды қолданбай, түйреуіштерді тек денесімен итеріп шығаруы керек екенін ескеру қажет.
Робот түйреуішті өрістен толығымен итеріп тастағаннан кейін, қатысушыға оны алып тастауға рұқсат етіледі, өйткені ультрадыбыстық сенсор итеріп қойған түйреуіштерге әрекет ете алады.
Нәтиже уақыт бойынша анықталады, егер барлық түйреуіштер сыртқа шығарылса немесе итерілген түйреуіштер саны, егер тапсырма ішінара орындалса.
Кегельринг-макро жарыстарының нұсқасы бар. Бұл жағдайда түйреуіштердің жартысы қара, жартысы ақ болады. Тапсырма - барлық ақ түйреуіштерді итеріп, қара түйреуіштерді далада қалдыру. Сыртқа шығарылған қара түйреуіштерге айыппұл ұпайлары тағайындалады.
Слалом (кедергілерді болдырмау)
Түрлі кедергілерден аулақ болу – түрлі жарыстарда жиі кездесетін міндет. Мәселені қарастырыңыз: желіде (консерві, әйнек және т.б.) кедергі бар, оны айналып өту керек. Кедергі роботтың алдында орналасқан ультрадыбыстық немесе инфрақызыл сенсор арқылы анықталуы мүмкін. 15.3-суретте робот анықталғаннан кейін кедергіні айналып өтетін траектория көрсетілген.

15.3-сурет – Слалом – кедергілерді айналып өту

№15 практикалық жұмыс


Мақсаты: Жарыс талаптарына сай роботты бағдарламалау
Сумо жарысы - робот жарыстарының ең әсерлі және қызықты түрлерінің бірі. Тапсырма роботты - жауды даладан итеру.

15.1-сурет – Роботтар жарыстары Жарыстың ережелері келесідей:


1. Роботтар бір-бірінен «айналып» тұрады.
2. Төрешінің пәрменінен кейін операторлар роботтарды іске қосады, роботтар үш секунд күтіп, алаңның шетіне қарай жылжи бастайды, содан кейін 120 градустан кем емес бұрышпен айналып, қарсыласқа шабуыл жасайды.
3. Қарсылас роботты алаңнан итеріп жіберген робот жеңімпаз атанады.
Ережелер өрістің түсін (қара жиегі бар ақ өріс немесе ақ жиегі бар қара өріс), өріс диаметрін, өлшемдерін және роботтардың рұқсат етілген салмағын реттейді.
Сумо жарыстарында алаң қара жолақпен жиектелген диаметрі 122 см ақ шеңбер болып табылады. Роботтың максималды ені мен ұзындығы 30,48 см (1 фут) шектелген. Роботтың массасы 0,907 кг (2 фут) аспауы керек. Алаңның биіктігі шамамен 5 см.
Мини-сумо жарыстарында алаң ақ жолақпен жиектелген диаметрі 90 см болатын қара шеңбер болып табылады. Роботтың максималды ені мен ұзындығы 15 см-ге дейін шектелген.Роботтың массасы 1 кг-нан аспауы керек.
Робот алаңнан құлаған жағдайда жеңілген болып саналады. Жекпе-жек үш раундтан тұрады.
Әр раундтың ұзақтығы бір-екі минут.
Мықты және сенімді құрылымды жинап, сауатты бағдарлама жазып, дұрыс стратегияны таңдай алған қатысушы жеңімпаз атанады.
Сумо роботына арналған бағдарлама алгоритміне мысал келтірейік.

  1. Робот үш секунд күтеді, содан кейін түс сенсоры қара сызықты көргенше 75 бірлік жылдамдықпен қозғалады. Робот аялдамасы.

  2. Робот 120-180 градус айналу бұрышына сәйкес келетін ультрадыбыстық сенсоры бар роботты қарсыласы көргенше (датчик мәні 100 см-ден аз болғанша) айналады. Робот аялдамасы.

  3. 01 циклін құру, тоқтату шарты - Шексіз.

  4. 01 циклде аяқтау шарты логикалық мән болып табылатын 02 циклін енгізіңіз: Аяқтау шарты кірісі True мәніне орнатылғанша цикл орындалады.

  5. Робот келесі оқиғалардың бірі орын алғанша алға жылжиды: түс сенсоры қара түсті анықтайды (робот өрістің шетіне жеткенін білдіреді) НЕМЕСЕ көрінетін нысанға дейінгі қашықтық 100 см-ден асқан (робот дегенді білдіреді) қарсыласының роботын көрмей қалды).

  6. Жоғарыдағы оқиғалардың бірі орын алса, 02 цикл аяқталады. Робот тоқтайды.

  7. Цикл 03: Ультрадыбыстық сенсордың мәні 100 см-ден аз болғанша робот айналады (қарсыластың роботы оның алдында тұрғанша).

  8. Цикл аяқталады. Робот аялдамасы.

  9. 5-қадамға өтіңіз.


Кегельринг
Консервілерді шеңберден итеру траекториясының нұсқаларының бірін қарастырыңыз. Бұл опция банктер бір-біріне қатаң қарама-қарсы орнатылған кезде мүмкін болады. Дизайн роботтың алдындағы және артындағы қара сызықты анықтау үшін түсті сенсорларды орнатуды қамтиды.

15.2-сурет – Кегельринг
Бұл алгоритм бойынша робот орталықтан банкаға қарай қара сызыққа қарай жылжиды және оны итеріп шығарады, содан кейін қара сызыққа қарама-қарсы бағытта қозғалады және банканы оның артына итеріп, ортаға оралады, келесі банкаға қарай бұрылады. , т.б.
Проблемаларды шешу бағдарламасы


Достарыңызбен бөлісу:
1   2




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет