Բովանդակություն:

FTC- ում իրադարձությունների վրա հիմնված ծրագրավորում. 4 քայլ
FTC- ում իրադարձությունների վրա հիմնված ծրագրավորում. 4 քայլ

Video: FTC- ում իրադարձությունների վրա հիմնված ծրագրավորում. 4 քայլ

Video: FTC- ում իրադարձությունների վրա հիմնված ծրագրավորում. 4 քայլ
Video: COT CFTC.Прогноз на неделю.Позиции ФОРТС ММВБ.НЕФТЬ.ЗОЛОТО. ЕВРО.ДОЛЛАР.SP500.NASDAQ.DXY.29.03-02.04 2024, Նոյեմբեր
Anonim
Միջոցառումների վրա հիմնված ծրագրավորում FTC- ում
Միջոցառումների վրա հիմնված ծրագրավորում FTC- ում

Այս տարի մեր թիմը մեծ աշխատանք է կատարել իրադարձությունների վրա հիմնված մեր ռոբոտի ծրագրային ապահովման մշակման ուղղությամբ: Այս ծրագրերը թույլ են տվել թիմին ճշգրիտ մշակել ինքնավար ծրագրեր և նույնիսկ կրկնվող հեռուստատեսային իրադարձություններ: Քանի որ ծրագրային ապահովումը, որի համար անհրաժեշտ է, բարդ է, մենք որոշեցինք կիսել մեր ձեռք բերած գիտելիքները FTC ռոբոտների համար իրադարձությունների վրա հիմնված ծածկագրի մշակման վերաբերյալ:

Քայլ 1. Ի՞նչ է իրադարձությունների վրա հիմնված ծրագրավորումը:

Ընդհանուր առմամբ, իրադարձությունների վրա հիմնված ծրագրավորումը, ըստ Techopedia- ի, այն ծրագրերի մշակումն է, որոնք արձագանքում են օգտվողի մուտքին: Այս իմաստով, շատ ծրագրեր համարվում են իրադարձությունների վրա հիմնված, այդ թվում `թիմի հեռահաղորդակցման ծրագիրը, որը ցանկացած գործողություն իրականացնելու համար ապավինում է մարդու կողմից ղեկավարվող սարքի մուտքերին: Այնուամենայնիվ, մեր թիմի կատարած աշխատանքի առումով իրադարձությունների վրա հիմնված ծրագրավորումը տարբեր միջոցներից ծրագրային ապահովման ստեղծման մասին է. Այլ կերպ ասած, մենք փաստաթղթավորում ենք իրադարձությունները ՝ հիմնվելով վերահսկիչների և տվիչների մուտքերի վրա, այնուհետև կարող ենք հերթագրել այս իրադարձությունները և օգտագործել ֆայլը ՝ գրանցված իրադարձությունը կրկնելու համար:

Մեր ռոբոտի համար ծրագրերի մշակման այս մեթոդը մի քանի առավելություն ունի.

  • Այն թույլ է տալիս ստեղծել ճշգրիտ ինքնավար ծրագրեր: Քանի որ մենք ստեղծում ենք ծրագրակազմ իրական ժամանակում ՝ միջոցառման ընթացքում, հավաքագրված և օգտագործված սենսորային արժեքները շատ ճշգրիտ կլինեն, քանի որ դրանք ուղղակիորեն բխում են սկզբնական իրադարձությունից:
  • Այն թույլ է տալիս արագ ինքնավար ծրագրեր ստեղծել: Ինքնավար ծրագրեր պատրաստելը նույնքան պարզ է, որքան մի շարք իրադարձությունների գրանցումը և անհրաժեշտության դեպքում իրադարձության ճշգրտումը:
  • Այն թույլ է տալիս մեզ ստեղծել ավտոմատ գործընթացներ tele-op- ի համար: Հեռահաղորդակցության մեջ կրկնվող գործողությունների դեպքում իրադարձությունների վրա հիմնված ծրագրավորումը թույլ է տալիս մեզ գրանցել այդ գործողությունները և իրադարձությունը նշանակել կոճակի վրա `խաղերի վարորդի կողմից վերահսկվող ժամանակահատվածներում: Այս ավտոմատացված իրադարձությունների վրա կարող են ազդել սենսորները `թույլ տալով դրանց ճշգրիտ կատարումը:

Քայլ 2. Իրադարձությունների վրա հիմնված ծրագրավորման տրամաբանական հոսք

Իրադարձությունների վրա հիմնված ծրագրավորման տրամաբանական հոսք
Իրադարձությունների վրա հիմնված ծրագրավորման տրամաբանական հոսք

Հետևյալը պատկերում է իրադարձությունների վրա հիմնված ծրագրի տրամաբանական հոսքը. Կարմիրը պատկերում է իրադարձության ստեղծումը, իսկ կապույտը `իրադարձության կանչը: Իրադարձություն ստեղծելու համար մուտքերի հաջորդականությունը վերցվում է ռոբոտի գործողությունների միջոցով և գրանցվում որպես իրադարձություններ. այս իրադարձությունները գրված են ֆայլում: Իրադարձություն կանչելու համար այդ ֆայլը կարդացվում է, և մուտքերը ուղարկվում են իրադարձության պրոցեսոր ՝ ֆայլի կոդը ռոբոտի գործողության վերածելու համար:

Քայլ 3: Իրադարձությունների ստեղծող

Միջոցառումների ստեղծող
Միջոցառումների ստեղծող
Միջոցառումների ստեղծող
Միջոցառումների ստեղծող

Միջոցառումների հեղինակները օգտագործվում են գործողություններ կամ «իրադարձություններ» փաստաթղթավորելու համար ՝ հիմնված տարբեր սենսորների և կոճակների վրա: Երբ ռոբոտը գործողություններ է կատարում դաշտում, իրադարձությունների ստեղծող դասը զուգահեռաբար իրադարձություններ է ստեղծում այդ գործողություններից յուրաքանչյուրի համար ՝ հղում կատարելով իրադարձության դասում դասակարգված իրադարձությանը: Ստեղծվելուց հետո իրադարձությունը դասվում է իրադարձությունների դասի իրադարձությունների հերթում. Առաջին իրադարձությունը գրավում է առաջին տեղը, այնուհետև երկրորդ իրադարձությունը գրավում է առաջին տեղը և ներքևում ներքև գտնվող ցանկացած իրադարձություն, և դա շարունակվում է մինչև ծրագրի դադարեցումը: Երբ ծրագիրը դադարեցվում է, իրադարձությունները անցնում են մարդու համար ընթեռնելի ձևաչափի ֆայլին, ինչպիսին է JSON ֆայլը: Այս ֆայլը կարող է օգտագործվել ինքնավար ռեժիմն ավելի լավ բարելավելու համար:

Վերոնշյալ ծածկագրի օրինակը սահմանում է իրադարձության պարամետրերը, որն այս դեպքում շրջադարձ է `օգտագործելով IMU սենսոր: Այնուհետև մենք իրադարձությունը հերթագրում ենք իրադարձության հերթում: Ի վերջո, մենք կրճատում ենք իրադարձությունը, որն էապես վերակայում է իրադարձությունը, որպեսզի կարողանանք այն օգտագործել հաջորդ իրադարձությունների հերթագրման համար:

Քայլ 4: Իրադարձությունների մշակող

Իրադարձությունների պրոցեսոր
Իրադարձությունների պրոցեսոր
Իրադարձությունների պրոցեսոր
Իրադարձությունների պրոցեսոր

Միջոցառումների դասերը վերցնում են իրադարձությունների ստեղծողի դասում ստեղծված մարդու համար ընթեռնելի ֆայլը և անում են այն, ինչ յուրաքանչյուր իրադարձություն հերթում ասում է նրան ՝ զանգահարելով միջոցառման մշակողի դասում նշված մեթոդներին: Միջոցառումների պրոցեսորների դասը այնուհետև պատմում է ռոբոտին, թե ինչ իրադարձություն պետք է կրկնել: Անկախ նրանից, թե դա պարզ «քշել առաջ» միջոցառում է, թե բարդ իրադարձություն ՝ լի հեռավորություններով, շրջադարձերով և շեղումներով, պրոցեսորը կվերախաղարկի իրեն տրված ցանկացած իրադարձություն: Այս գործընթացը շատ օգտակար է ինքնավար ժամանակաշրջանում, քանի որ թիմը կարող է գրանցել սենսորներ և Tele-Op գործողություններ նախքան համընկնելը, այնուհետև պարզապես կրկնել իրադարձությունները ինքնավար ռեժիմում: Այս գործընթացը կոչվում է Memory Replay: Սա թույլ է տալիս ինքնավար ծրագրին 100% կազմաձևել մեկ ֆայլի միջոցով: Միջոցառումների ստեղծողն ու մշակողը հաստատվելուց հետո թիմը կարող է պարզապես փոխել ինքնավար ռեժիմը ՝ մարդուն համար ընթերցվող ֆայլի միջոցով:

Վերոնշյալ օրինակը սկզբում սկսվում է JSON ֆայլը իրադարձության համար ստուգելու համար, այնուհետև այդ իրադարձությունը ստուգելով գործի հայտարարությամբ ՝ տեսնելու, թե դա ինչ իրադարձություն է, այս դեպքում ՝ IMU սենսոր օգտագործող շրջադարձ: Երբ այն կարող է ասել, որ հերթը IMU միջոցառումն է, այն զբաղվում է իրադարձության մշակմամբ, որը սովորաբար ներառում է իրադարձության փոփոխականների օգտագործումից ստացված ծածկագրի գործարկումը, որը փոխանցվել է նախկինում կատարված իրադարձությունը կրկնօրինակելու համար:

Խորհուրդ ենք տալիս: