Բովանդակություն:
- Քայլ 1. Ի՞նչ է իրադարձությունների վրա հիմնված ծրագրավորումը:
- Քայլ 2. Իրադարձությունների վրա հիմնված ծրագրավորման տրամաբանական հոսք
- Քայլ 3: Իրադարձությունների ստեղծող
- Քայլ 4: Իրադարձությունների մշակող
Video: FTC- ում իրադարձությունների վրա հիմնված ծրագրավորում. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս տարի մեր թիմը մեծ աշխատանք է կատարել իրադարձությունների վրա հիմնված մեր ռոբոտի ծրագրային ապահովման մշակման ուղղությամբ: Այս ծրագրերը թույլ են տվել թիմին ճշգրիտ մշակել ինքնավար ծրագրեր և նույնիսկ կրկնվող հեռուստատեսային իրադարձություններ: Քանի որ ծրագրային ապահովումը, որի համար անհրաժեշտ է, բարդ է, մենք որոշեցինք կիսել մեր ձեռք բերած գիտելիքները FTC ռոբոտների համար իրադարձությունների վրա հիմնված ծածկագրի մշակման վերաբերյալ:
Քայլ 1. Ի՞նչ է իրադարձությունների վրա հիմնված ծրագրավորումը:
Ընդհանուր առմամբ, իրադարձությունների վրա հիմնված ծրագրավորումը, ըստ Techopedia- ի, այն ծրագրերի մշակումն է, որոնք արձագանքում են օգտվողի մուտքին: Այս իմաստով, շատ ծրագրեր համարվում են իրադարձությունների վրա հիմնված, այդ թվում `թիմի հեռահաղորդակցման ծրագիրը, որը ցանկացած գործողություն իրականացնելու համար ապավինում է մարդու կողմից ղեկավարվող սարքի մուտքերին: Այնուամենայնիվ, մեր թիմի կատարած աշխատանքի առումով իրադարձությունների վրա հիմնված ծրագրավորումը տարբեր միջոցներից ծրագրային ապահովման ստեղծման մասին է. Այլ կերպ ասած, մենք փաստաթղթավորում ենք իրադարձությունները ՝ հիմնվելով վերահսկիչների և տվիչների մուտքերի վրա, այնուհետև կարող ենք հերթագրել այս իրադարձությունները և օգտագործել ֆայլը ՝ գրանցված իրադարձությունը կրկնելու համար:
Մեր ռոբոտի համար ծրագրերի մշակման այս մեթոդը մի քանի առավելություն ունի.
- Այն թույլ է տալիս ստեղծել ճշգրիտ ինքնավար ծրագրեր: Քանի որ մենք ստեղծում ենք ծրագրակազմ իրական ժամանակում ՝ միջոցառման ընթացքում, հավաքագրված և օգտագործված սենսորային արժեքները շատ ճշգրիտ կլինեն, քանի որ դրանք ուղղակիորեն բխում են սկզբնական իրադարձությունից:
- Այն թույլ է տալիս արագ ինքնավար ծրագրեր ստեղծել: Ինքնավար ծրագրեր պատրաստելը նույնքան պարզ է, որքան մի շարք իրադարձությունների գրանցումը և անհրաժեշտության դեպքում իրադարձության ճշգրտումը:
- Այն թույլ է տալիս մեզ ստեղծել ավտոմատ գործընթացներ tele-op- ի համար: Հեռահաղորդակցության մեջ կրկնվող գործողությունների դեպքում իրադարձությունների վրա հիմնված ծրագրավորումը թույլ է տալիս մեզ գրանցել այդ գործողությունները և իրադարձությունը նշանակել կոճակի վրա `խաղերի վարորդի կողմից վերահսկվող ժամանակահատվածներում: Այս ավտոմատացված իրադարձությունների վրա կարող են ազդել սենսորները `թույլ տալով դրանց ճշգրիտ կատարումը:
Քայլ 2. Իրադարձությունների վրա հիմնված ծրագրավորման տրամաբանական հոսք
Հետևյալը պատկերում է իրադարձությունների վրա հիմնված ծրագրի տրամաբանական հոսքը. Կարմիրը պատկերում է իրադարձության ստեղծումը, իսկ կապույտը `իրադարձության կանչը: Իրադարձություն ստեղծելու համար մուտքերի հաջորդականությունը վերցվում է ռոբոտի գործողությունների միջոցով և գրանցվում որպես իրադարձություններ. այս իրադարձությունները գրված են ֆայլում: Իրադարձություն կանչելու համար այդ ֆայլը կարդացվում է, և մուտքերը ուղարկվում են իրադարձության պրոցեսոր ՝ ֆայլի կոդը ռոբոտի գործողության վերածելու համար:
Քայլ 3: Իրադարձությունների ստեղծող
Միջոցառումների հեղինակները օգտագործվում են գործողություններ կամ «իրադարձություններ» փաստաթղթավորելու համար ՝ հիմնված տարբեր սենսորների և կոճակների վրա: Երբ ռոբոտը գործողություններ է կատարում դաշտում, իրադարձությունների ստեղծող դասը զուգահեռաբար իրադարձություններ է ստեղծում այդ գործողություններից յուրաքանչյուրի համար ՝ հղում կատարելով իրադարձության դասում դասակարգված իրադարձությանը: Ստեղծվելուց հետո իրադարձությունը դասվում է իրադարձությունների դասի իրադարձությունների հերթում. Առաջին իրադարձությունը գրավում է առաջին տեղը, այնուհետև երկրորդ իրադարձությունը գրավում է առաջին տեղը և ներքևում ներքև գտնվող ցանկացած իրադարձություն, և դա շարունակվում է մինչև ծրագրի դադարեցումը: Երբ ծրագիրը դադարեցվում է, իրադարձությունները անցնում են մարդու համար ընթեռնելի ձևաչափի ֆայլին, ինչպիսին է JSON ֆայլը: Այս ֆայլը կարող է օգտագործվել ինքնավար ռեժիմն ավելի լավ բարելավելու համար:
Վերոնշյալ ծածկագրի օրինակը սահմանում է իրադարձության պարամետրերը, որն այս դեպքում շրջադարձ է `օգտագործելով IMU սենսոր: Այնուհետև մենք իրադարձությունը հերթագրում ենք իրադարձության հերթում: Ի վերջո, մենք կրճատում ենք իրադարձությունը, որն էապես վերակայում է իրադարձությունը, որպեսզի կարողանանք այն օգտագործել հաջորդ իրադարձությունների հերթագրման համար:
Քայլ 4: Իրադարձությունների մշակող
Միջոցառումների դասերը վերցնում են իրադարձությունների ստեղծողի դասում ստեղծված մարդու համար ընթեռնելի ֆայլը և անում են այն, ինչ յուրաքանչյուր իրադարձություն հերթում ասում է նրան ՝ զանգահարելով միջոցառման մշակողի դասում նշված մեթոդներին: Միջոցառումների պրոցեսորների դասը այնուհետև պատմում է ռոբոտին, թե ինչ իրադարձություն պետք է կրկնել: Անկախ նրանից, թե դա պարզ «քշել առաջ» միջոցառում է, թե բարդ իրադարձություն ՝ լի հեռավորություններով, շրջադարձերով և շեղումներով, պրոցեսորը կվերախաղարկի իրեն տրված ցանկացած իրադարձություն: Այս գործընթացը շատ օգտակար է ինքնավար ժամանակաշրջանում, քանի որ թիմը կարող է գրանցել սենսորներ և Tele-Op գործողություններ նախքան համընկնելը, այնուհետև պարզապես կրկնել իրադարձությունները ինքնավար ռեժիմում: Այս գործընթացը կոչվում է Memory Replay: Սա թույլ է տալիս ինքնավար ծրագրին 100% կազմաձևել մեկ ֆայլի միջոցով: Միջոցառումների ստեղծողն ու մշակողը հաստատվելուց հետո թիմը կարող է պարզապես փոխել ինքնավար ռեժիմը ՝ մարդուն համար ընթերցվող ֆայլի միջոցով:
Վերոնշյալ օրինակը սկզբում սկսվում է JSON ֆայլը իրադարձության համար ստուգելու համար, այնուհետև այդ իրադարձությունը ստուգելով գործի հայտարարությամբ ՝ տեսնելու, թե դա ինչ իրադարձություն է, այս դեպքում ՝ IMU սենսոր օգտագործող շրջադարձ: Երբ այն կարող է ասել, որ հերթը IMU միջոցառումն է, այն զբաղվում է իրադարձության մշակմամբ, որը սովորաբար ներառում է իրադարձության փոփոխականների օգտագործումից ստացված ծածկագրի գործարկումը, որը փոխանցվել է նախկինում կատարված իրադարձությունը կրկնօրինակելու համար:
Խորհուրդ ենք տալիս:
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/դասավանդման մեթոդ/տեխնիկա ՝ օգտագործելով ձևի բռունցք. 5 քայլ
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/դասավանդման մեթոդ/տեխնիկա Shape Puncher- ի օգտագործմամբ. Սա միջոց է, որը թույլ է տալիս նրանց պատկերացնել և տեսնել դասերից օբյեկտների ստեղծման գործընթացը: Մասեր .1. EkTools 2 դյույմ մեծ դակիչ; ամուր ձևերն ամենալավն են: 2. Թղթի կտոր կամ գ
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի վրա հիմնված այլ համակարգիչների վրա `6 քայլ
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի / unix- ի վրա հիմնված այլ համակարգիչների վրա. Երբ մարդկանց մեծ մասը գնում է Raspberry PI, նրանք կարծում են, որ իրենց անհրաժեշտ է համակարգչի էկրան: Մի վատնեք ձեր գումարը համակարգչի անհարկի մոնիտորների և ստեղնաշարերի վրա: Մի վատնեք ձեր ժամանակը համակարգիչների միջև ստեղնաշարեր և մոնիտորներ տեղափոխելով: Մի կապեք հեռուստացույց, երբ այն չկա
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ | IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. Բարև ձեզ, այս հրահանգների մեջ մենք կդարձնենք ոչ կոնտակտային ջերմաչափ arduino- ով: Քանի որ երբեմն հեղուկի/պինդի ջերմաստիճանը չափազանց բարձր է կամ ցածր, ապա դժվար է դրա հետ կապ հաստատել և կարդալ այդ դեպքում ջերմաստիճանը
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/ուսուցման մեթոդ/տեխնիկա Մկրատների միջոցով. 5 քայլ
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/ուսուցման մեթոդ/տեխնիկա Մկրատների օգտագործմամբ. Սա միջոց է, որը թույլ է տալիս նրանց պատկերացնել և տեսնել դասերից օբյեկտների ստեղծման գործընթացը: Մասեր. 1. Մկրատ (ցանկացած տեսակի կանի): 2. Թուղթ կամ թղթի կտոր: 3. Մարկեր
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի