Գովազդ

տուն - Գիպսաստվարաթուղթ
Lego ev3-ը հետևում է սև գծին: Lego EV3. Շարժում սև գծի երկայնքով. Գույնի սենսոր - «Շրջակա լույսի պայծառություն» ռեժիմ


Որպեսզի ռոբոտը սահուն շարժվի սև գծի երկայնքով, դուք պետք է ստիպեք նրան հաշվարկել շարժման արագությունը:

Մարդը տեսնում է սև գիծ և դրա հստակ սահմանը: Լույսի սենսորը մի փոքր այլ կերպ է աշխատում:

Լույսի սենսորի այս հատկությունն է՝ սպիտակն ու սևը հստակ տարբերելու անկարողությունը, որը մենք կօգտագործենք շարժման արագությունը հաշվարկելու համար:

Նախ, եկեք ներկայացնենք «Իդեալական հետագծի կետ» հասկացությունը:

Լույսի սենսորների ընթերցումները տատանվում են 20-ից 80-ի սահմաններում, առավել հաճախ սպիտակի վրա ցուցումները մոտավորապես 65 են, սևի վրա՝ մոտ 40:

Իդեալական կետը պայմանական կետն է մոտավորապես սպիտակ և սև գույների մեջտեղում, որից հետո ռոբոտը կշարժվի սև գծի երկայնքով:

Այստեղ կետի գտնվելու վայրը հիմնարար է՝ սպիտակի և սևի միջև։ Մաթեմատիկական պատճառներով դա հնարավոր չի լինի դնել հենց սպիտակի կամ սևի վրա.

Էմպիրիկորեն մենք հաշվարկել ենք, որ իդեալական կետը կարող է հաշվարկվել հետևյալ բանաձևով.

Ռոբոտը պետք է խստորեն շարժվի իդեալական կետով: Եթե ​​որևէ ուղղությամբ շեղում կա, ապա ռոբոտը պետք է վերադառնա այդ կետը:

Եկեք կազմենք խնդրի մաթեմատիկական նկարագրությունը.

Նախնական տվյալներ.

Իդեալական կետ.

Լույսի ցուցիչի ընթացիկ ընթերցումները:

Արդյունք.

Շարժիչի պտտման հզորությունը Վ.

Շարժիչի պտտման հզորությունը C.

Լուծում.

Դիտարկենք երկու իրավիճակ. Նախ՝ ռոբոտը սև գծից շեղվեց դեպի սպիտակ գիծ:

Այս դեպքում ռոբոտը պետք է մեծացնի B շարժիչի պտտման հզորությունը և նվազեցնի C շարժիչի հզորությունը։

Այն իրավիճակում, երբ ռոբոտը մտնում է սև գիծ, ​​հակառակն է.

Որքան շատ է ռոբոտը շեղվում իդեալական կետից, այնքան ավելի արագ է պետք վերադառնալ դրան:

Բայց նման կարգավորիչի ստեղծումը բավականին բարդ խնդիր է, և դա միշտ չէ, որ պահանջվում է ամբողջությամբ։

Հետևաբար, մենք որոշեցինք սահմանափակվել միայն P-կարգավորիչով, որը համարժեքորեն արձագանքում է սև գծից շեղումներին:

Մաթեմատիկական լեզվով կգրվի այսպես.

որտեղ Hb և Hc համապատասխանաբար B և C շարժիչների վերջնական հզորություններն են,

Հիմք – շարժիչների որոշակի բազային հզորություն, որը որոշում է ռոբոտի արագությունը: Այն ընտրվում է փորձարարական եղանակով՝ կախված ռոբոտի դիզայնից և շրջադարձերի կտրուկությունից։

Itek - լույսի սենսորի ընթացիկ ընթերցումներ:

Iid - հաշվարկված իդեալական կետ:

k – փորձարարական ընտրված համաչափության գործակից:

Երրորդ մասում մենք կանդրադառնանք, թե ինչպես դա ծրագրավորել NXT-G միջավայրում:

Այս խնդիրը դասական է, գաղափարապես պարզ, այն կարելի է բազմիցս լուծել, ու ամեն անգամ նոր բան կբացահայտես։

Հետևյալ գծի խնդիրը լուծելու բազմաթիվ մոտեցումներ կան. Դրանցից մեկի ընտրությունը կախված է ռոբոտի կոնկրետ դիզայնից, սենսորների քանակից, անիվների և միմյանց նկատմամբ դրանց գտնվելու վայրից:

Մեր օրինակում ռոբոտի երեք օրինակ կվերլուծվեն՝ հիմնվելով Robot Educator-ի հիմնական կրթական մոդելի վրա:

Սկզբից մենք հավաքում ենք ուսումնական ռոբոտի Robot Educator-ի հիմնական մոդելը, դրա համար կարող եք օգտագործել հրահանգները. ծրագրային ապահովում MINDSTORMS EV3.

Նաև օրինակների համար մեզ անհրաժեշտ կլինեն EV3 բաց գույնի սենսորներ: Այս լուսային սենսորները, ինչպես ոչ մի այլ, լավագույնս համապատասխանում են մեր առաջադրանքին, երբ աշխատում ենք նրանց հետ, մենք չպետք է անհանգստանանք շրջակա լույսի ինտենսիվության համար: Այս սենսորի համար ծրագրերում մենք կօգտագործենք արտացոլված լույսի ռեժիմը, որում գնահատվում է սենսորի կարմիր հետևի լույսի արտացոլված լույսի քանակը։ Սենսորների ընթերցումների սահմանները 0-100 միավոր են՝ համապատասխանաբար «առանց արտացոլման» և «ընդհանուր արտացոլման» համար:

Որպես օրինակ՝ մենք կվերլուծենք հարթ, թեթև ֆոնի վրա պատկերված սև հետագծով շարժվելու ծրագրերի 3 օրինակ.

· Մեկ սենսոր, P կարգավորիչով:

· Մեկ սենսոր, համակարգչի կարգավորիչով:

· Երկու սենսոր:

Օրինակ 1. Մեկ սենսոր, P կարգավորիչով:

Դիզայն

Լույսի սենսորը տեղադրված է մոդելի վրա հարմար տեղակայված ճառագայթի վրա:


Ալգորիթմ

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


Քանի որ իրական հետագծի վրա սենսորը արժեքներ է ստեղծում իր ողջ աշխատանքային տիրույթում (0-100), 50-ն ընտրվում է որպես արժեք, որին ձգտում է ռոբոտը, այս դեպքում ստեղծվում են պտտման գործառույթներին փոխանցվող արժեքները միջակայքը -50-50, բայց այս արժեքները բավարար չեն հետագիծը կտրուկ շրջելու համար: Հետևաբար, միջակայքը պետք է ընդլայնվի մեկուկես անգամ մինչև -75 - 75:

Արդյունքում, ծրագրում հաշվիչի գործառույթը պարզ համամասնական վերահսկիչ է: որի գործառույթը ( (ա-50)*1.5 ) լույսի սենսորի գործառնական տիրույթում առաջացնում է ռոտացիայի արժեքներ՝ համաձայն գրաֆիկի.

Օրինակ, թե ինչպես է աշխատում ալգորիթմը

Օրինակ 2. Մեկ սենսոր, PK կարգավորիչով:

Այս օրինակը հիմնված է նույն կառուցվածքի վրա:

Հավանաբար նկատել եք, որ նախորդ օրինակում ռոբոտը չափից դուրս օրորվել է, ինչը թույլ չի տվել նրան բավականաչափ արագանալ։ Այժմ մենք կփորձենք մի փոքր բարելավել այս իրավիճակը։

Մեր համամասնական հսկիչՄենք նաև ավելացնում ենք պարզ խորանարդ կարգավորիչ, որը որոշակի ճկունություն կավելացնի կարգավորիչի գործառույթին: Դա կնվազեցնի ռոբոտի ճոճվելը հետագծի ցանկալի սահմանի մոտ, ինչպես նաև ավելի ուժեղ ցնցումներ կանի, երբ նրանից հեռու ես:

Ահա թե ինչպես է մարդը տեսնում գիծը.

Ռոբոտը դա տեսնում է այսպես.


Մենք կօգտագործենք այս հատկությունը «Trajectory» մրցույթի անվանակարգում ռոբոտի նախագծման և ծրագրավորման ժամանակ:

Կան բազմաթիվ եղանակներ՝ սովորեցնելու ռոբոտին տեսնել գիծ և շարժվել դրա երկայնքով: Կան բարդ ծրագրեր և շատ պարզ:

Ուզում եմ խոսել ծրագրավորման մեթոդի մասին, որին կարող են տիրապետել անգամ 2-3-րդ դասարանի երեխաները: Այս տարիքում նրանց համար շատ ավելի հեշտ է կառուցվածքներ հավաքել ըստ հրահանգների, իսկ ռոբոտի ծրագրավորումը նրանց համար է։ դժվար գործ. Բայց այս մեթոդը երեխային թույլ կտա 15-30 րոպեում ռոբոտին ծրագրավորել ուղու ցանկացած երթուղի (հաշվի առնելով քայլ առ քայլ փորձարկումը և հետագծի որոշ առանձնահատկությունների ճշգրտումը):

Այս մեթոդը փորձարկվել է Սուրգուտի մարզում և Խանտի-Մանսիի ինքնավար օկրուգ-Յուգրա քաղաքում ռոբոտաշինության մունիցիպալ և տարածաշրջանային մրցույթներում և մեր դպրոցին բերել առաջին տեղերը: Այնտեղ ես համոզվեցի, որ այս թեման շատ արդիական է շատ թիմերի համար։

Դե, եկեք սկսենք:

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

Դիտարկենք լույսի երկու սենսորով ռոբոտի տարբերակը, քանի որ այն ավելի հասկանալի է տարրական դասարանների աշակերտների համար։

Լույսի սենսորները միացված են 2-րդ և 3-րդ նավահանգիստներին: Շարժիչներ դեպի B և C նավահանգիստներ:
Սենսորները տեղադրված են գծի եզրերին (փորձեք փորձարկել սենսորները միմյանցից տարբեր հեռավորության վրա և տարբեր բարձրությունների վրա դնելով):
Կարևոր կետ. Համար ավելի լավ աշխատանքՆման սխեմայի համար ցանկալի է ընտրել զույգ սենսորներ ըստ պարամետրերի: Հակառակ դեպքում, անհրաժեշտ կլինի ներդնել սենսորների արժեքները կարգավորելու բլոկ:
Շասսիի վրա սենսորների տեղադրում ըստ դասական սխեման(եռանկյուն), մոտավորապես ինչպես նկարում։

Ծրագիրը բաղկացած կլինի փոքր թվով բլոկներից.


1. Երկու լույսի սենսորային միավոր;
2. «Մաթեմատիկա» չորս բլոկ;
3. Երկու շարժիչային բլոկ:

Ռոբոտը կառավարելու համար օգտագործվում է երկու շարժիչ: Յուրաքանչյուրի հզորությունը 100 միավոր է։ Մեր սխեմայի համար մենք կվերցնենք շարժիչի հզորության միջին արժեքը, որը հավասար է 50-ի: Այսինքն, ուղիղ գծով շարժվելիս միջին արագությունը հավասար կլինի 50 միավորի: Ուղիղ շարժումից շեղվելիս շարժիչների հզորությունը համամասնորեն կավելանա կամ կնվազի՝ կախված շեղման անկյունից։

Այժմ եկեք պարզենք, թե ինչպես կարելի է միացնել բոլոր բլոկները, կարգավորել ծրագիրը և ինչ տեղի կունենա դրանում:
Եկեք ստեղծենք լույսի երկու սենսոր և նրանց հատկացնենք 2 և 3 պորտերը:
Վերցրեք մաթեմատիկական բլոկը և ընտրեք «Հանացում»:
Եկեք միացնենք լույսի սենսորները «Ինտենսիվության» ելքերից ավտոբուսների միջոցով դեպի մաթեմատիկական բլոկը «A» և «B» մուտքերին:
Եթե ​​ռոբոտի սենսորները սիմետրիկ տեղադրվեն ուղու կենտրոնից, ապա երկու սենսորների արժեքները հավասար կլինեն: Հանելուց հետո մենք ստանում ենք 0 արժեքը:
Մաթեմատիկայի հաջորդ բլոկը կօգտագործվի որպես գործակից, և դրա մեջ պետք է սահմանել «Բազմապատկում»:
Գործակիցը հաշվարկելու համար անհրաժեշտ է չափել «սպիտակ» և «սև» մակարդակները NXT բլոկի միջոցով:
Ենթադրենք՝ սպիտակ -70, սև -50։
Հաջորդը, մենք հաշվարկում ենք. շարժումը կարգավորելիս պետք է հավասար լինի 100)
Փորձեք «A» մուտքագրում արժեքը դնել 2,5-ի, այնուհետև ընտրել այն ավելի ճշգրիտ:
«Բազմապատկում» մաթեմատիկական բլոկի «B» մուտքին միացրեք նախորդ մաթեմատիկական բլոկի «Արդյունք» ելքը՝ «Հանում»:
Հաջորդը գալիս է մի զույգ՝ մաթեմատիկական բլոկ (Ավելացում) և B շարժիչ:
Մաթեմատիկական բլոկի կարգավորում.
«A» մուտքը սահմանվում է 50 (շարժիչի հզորության կեսը):
«Արդյունք» բլոկի ելքը ավտոբուսով միացված է B շարժիչի «Power» մուտքին:
Հաջորդ զույգը մաթեմատիկական բլոկ է (հանում) և շարժիչ C:
Մաթեմատիկական բլոկի կարգավորում.
«A» մուտքագրումը սահմանվում է 50:
«B» մուտքը ավտոբուսով միացված է «Բազմապատկում» մաթեմատիկական բլոկի «Արդյունք» ելքին:
«Արդյունք» բլոկի ելքը ավտոբուսով միացված է C շարժիչի «Power» մուտքին:

Այս բոլոր գործողությունների արդյունքում դուք կստանաք հետևյալ ծրագիրը.

Քանի որ այս ամենը կաշխատի ցիկլով, մենք ավելացնում ենք «Cycle», ընտրում ենք այն և տեղափոխում այն ​​«Cycle»:

Հիմա եկեք փորձենք պարզել, թե ինչպես կաշխատի ծրագիրը և ինչպես կարգավորել այն:


Մինչ ռոբոտը շարժվում է ուղիղ գծով, սենսորների արժեքները համընկնում են, ինչը նշանակում է, որ «Հանում» բլոկի ելքը կլինի 0 արժեքը: «Բազմապատկման» բլոկի ելքը նաև տալիս է 0 արժեքը: Այս արժեքը մատակարարվում է շարժիչի կառավարման զույգին զուգահեռ: Քանի որ այս բլոկները դրված են 50-ի վրա, 0-ի ավելացումը կամ հանումը չի ազդում շարժիչների հզորության վրա: Երկու շարժիչներն էլ աշխատում են նույն հզորությամբ՝ 50, իսկ ռոբոտը գլորվում է ուղիղ գծով։

Ենթադրենք, որ ուղին շրջադարձ է կատարում կամ ռոբոտը շեղվում է ուղիղ գծից։ Ի՞նչ է լինելու։

Նկարը ցույց է տալիս, որ 2-րդ պորտին միացված սենսորի լուսավորությունը (այսուհետ՝ 2 և 3 սենսորներ) մեծանում է, քանի որ այն շարժվում է սպիտակ դաշտի վրա, և 3-րդ սենսորի լուսավորությունը նվազում է: Ենթադրենք, որ այս սենսորների արժեքները դառնում են՝ սենսոր 2 – 55 միավոր, իսկ սենսորը 3 – 45 միավոր:
«Հանում» բլոկը կորոշի երկու սենսորների արժեքների տարբերությունը (10) և այն կհաղորդի ուղղիչ բլոկին (բազմապատկելով գործակցով (10*2.5=25)), այնուհետև՝ հսկիչ բլոկներին։
շարժիչներ.
Շարժիչի կառավարման B մաթեմատիկական բլոկում (Ավելացում) միջին արագության արժեքին 50
25-ը կավելացվի և B շարժիչին կտրվի 75 հզորություն:
C շարժիչի կառավարման մաթեմատիկական բլոկում (հանում) 25-ը կհանվի միջին արագության արժեքից 50, իսկ 25-ի հզորությունը կտրամադրվի C շարժիչին:
Այս կերպ ուղիղ գծից շեղումը կուղղվի։

Եթե ​​ուղին կտրուկ շրջվում է դեպի կողմը, սենսոր 2-ը պարզվում է սպիտակ, իսկ սենսոր 3-ը սև է: Այս սենսորների լուսավորության արժեքները դառնում են՝ սենսոր 2 - 70 միավոր, իսկ սենսորը 3 - 50 միավոր:
«Հանում» բլոկը կորոշի երկու սենսորների արժեքների տարբերությունը (20) և այն կհաղորդի ուղղիչ բլոկին (20*2.5=50), այնուհետև շարժիչի կառավարման միավորներին:
Այժմ B շարժիչի կառավարման մաթեմատիկական (Ավելացում) բլոկում B շարժիչին կտրամադրվի 50 +50 =100 հզորության արժեք:
C շարժիչի կառավարման մաթեմատիկական բլոկում (հանում) C շարժիչին կտրամադրվի 50 – 50 = 0 հզորության արժեք:
Իսկ ռոբոտը կտրուկ շրջադարձ կանի։

Սպիտակ և սև դաշտերի վրա ռոբոտը պետք է վարի ուղիղ գծով: Եթե ​​դա տեղի չունենա, փորձեք ընտրել նույն արժեքներով սենսորներ:

Այժմ եկեք ստեղծենք նոր բլոկ և օգտագործենք այն ռոբոտը տեղափոխելու ցանկացած երթուղիով:
Ընտրեք ցիկլը, այնուհետև «Խմբագրել» ընտրացանկում ընտրեք «Ստեղծել իմ բլոկը» հրամանը:

«Block Designer» երկխոսության վանդակում անուն տվեք մեր բլոկին, օրինակ՝ «Գնացեք», ընտրեք բլոկի պատկերակը և սեղմեք «ԿԱՏԱՐՎԱԾ»:

Այժմ մենք ունենք բլոկ, որը կարող է օգտագործվել այն դեպքերում, երբ մենք պետք է շարժվենք գծի երկայնքով:

Աշխատանքի տեքստը տեղադրված է առանց պատկերների և բանաձևերի։
Ամբողջական տարբերակըաշխատանքը հասանելի է «Աշխատանքային ֆայլեր» ներդիրում՝ PDF ձևաչափով

Lego Mindstorms EV3

Նախապատրաստական ​​փուլ

Ծրագրի ստեղծում և չափաբերում

Եզրակացություն

գրականություն

1. Ներածություն։

Ռոբոտաշինությունը մեկն է ամենակարևոր ոլորտներըգիտական ​​և տեխնոլոգիական առաջընթաց, որում մեխանիկայի և նոր տեխնոլոգիաների խնդիրները շփվում են արհեստական ​​ինտելեկտի խնդիրների հետ։

Հետևում վերջին տարիներըառաջընթաց ռոբոտաշինության մեջ և ավտոմատացված համակարգերփոխեց մեր կյանքի անձնական և բիզնես ոլորտները. Ռոբոտները լայնորեն օգտագործվում են տրանսպորտի, երկրի և տիեզերքի հետախուզման, վիրաբուժության, ռազմական արդյունաբերության, լաբորատոր հետազոտությունների, անվտանգության և արդյունաբերական և սպառողական ապրանքների զանգվածային արտադրության մեջ: Շատ սարքեր, որոնք որոշումներ են կայացնում սենսորներից ստացված տվյալների հիման վրա, կարող են համարվել նաև ռոբոտներ, ինչպիսիք են, օրինակ, վերելակները, առանց որոնց մեր կյանքն արդեն անհնար է պատկերացնել:

Mindstorms EV3 դիզայները հրավիրում է մեզ մտնել ռոբոտների հետաքրքրաշարժ աշխարհ և ընկղմվել տեղեկատվական տեխնոլոգիաների բարդ միջավայրում:

Նպատակը. Սովորեք ծրագրավորել ռոբոտին ուղիղ գծով շարժվելու համար:

    Ծանոթացեք Mindstorms EV3 դիզայներին և նրա ծրագրավորման միջավայրին։

    Գրեք ծրագրեր, որպեսզի ռոբոտը շարժվի ուղիղ գծով 30 սմ, 1 մ 30 սմ և 2 մ 17 սմ:

    Mindstorms EV3 կոնստրուկտոր.

Շինարարական մասեր - 601 հատ, սերվո շարժիչ - 3 հատ, գունային սենսոր, սենսորային շարժման սենսոր, ինֆրակարմիր սենսոր և սենսոր: Միկրոպրոցեսորային միավոր EV3-ը ուղեղն է LEGO կոնստրուկտորՄտքի փոթորիկներ.

Ռոբոտի շարժման համար պատասխանատու է մեծ սերվոշարժիչը, որը միացված է EV3 միկրոհամակարգչին և ստիպում է ռոբոտին շարժվել՝ գնալ առաջ և հետ, շրջվել և վարել տվյալ ճանապարհով։ Այս սերվոմոտորն ունի ներկառուցված պտտման սենսոր, որը թույլ է տալիս շատ ճշգրիտ կառավարել ռոբոտի շարժումն ու արագությունը։

Դուք կարող եք ստիպել ռոբոտին կատարել գործողություն՝ օգտագործելով համակարգչային ծրագիր EV3. Ծրագիրը բաղկացած է տարբեր կառավարման բլոկներից: Մենք աշխատելու ենք շարժման բլոկի հետ:

Շարժման բլոկը կառավարում է ռոբոտի շարժիչները, միացնում, անջատում և ստիպում է նրան աշխատել հանձնարարված առաջադրանքներին համապատասխան։ Դուք կարող եք ծրագրավորել շարժումը որոշակի քանակությամբ հեղափոխությունների կամ աստիճանների:

    Նախապատրաստական ​​փուլ.

    Տեխնիկական դաշտի ստեղծում.

Եկեք ռոբոտի աշխատանքային դաշտում գծանշենք՝ օգտագործելով էլեկտրական ժապավեն և քանոն, 30 սմ երկարությամբ երեք գիծ ստեղծենք՝ կանաչ գիծ, ​​1 մ 15 սմ՝ կարմիր և 2 մ 17 սմ՝ սև գիծ։

    Անհրաժեշտ հաշվարկներ.

Ռոբոտի անիվի տրամագիծը 5 սմ 7 մմ = 5,7 սմ է:

Ռոբոտի անիվի մեկ պտույտ երկարությանը հավասար 5.7 սմ տրամագծով շրջան Շրջագիծը հայտնաբերվում է բանաձևով

Որտեղ r-ը անիվի շառավիղն է, d-ը տրամագիծն է, π = 3.14

լ = 5,7 * 3,14 = 17,898 = 17,9.

Նրանք. Անիվի մեկ պտույտի դեպքում ռոբոտը անցնում է 17,9 սմ:

Եկեք հաշվարկենք վարելու համար անհրաժեշտ պտույտների քանակը.

N = 30: 17,9 = 1,68:

    1 մ 30 սմ = 130 սմ

N = 130: 17.9 = 7.26:

    2 մ 17 սմ = 217 սմ:

N = 217: 17.9 = 12.12:

    Ծրագրի ստեղծում և չափաբերում:

Մենք կստեղծենք ծրագիրը՝ օգտագործելով հետևյալ ալգորիթմը.

Ալգորիթմ:

    Ընտրեք շարժման բլոկ Mindstorms EV3 ծրագրում:

    Միացրեք երկու շարժիչները նշված ուղղությամբ:

    Սպասեք, մինչև շարժիչներից մեկի պտտման սենսորի ընթերցումը փոխվի նշված արժեքին:

    Անջատեք շարժիչները:

Մենք բեռնում ենք պատրաստի ծրագիրը ռոբոտի կառավարման միավորում: Մենք ռոբոտին տեղավորում ենք խաղադաշտում և սեղմում ենք մեկնարկի կոճակը։ EV3-ը անցնում է դաշտով և կանգ է առնում տվյալ գծի վերջում: Բայց ճշգրիտ ավարտի հասնելու համար դուք պետք է կատարեք տրամաչափում, քանի որ շարժումը ազդում է արտաքին գործոնների ազդեցության տակ:

    Դաշտը տեղադրված է ուսանողական սեղանների վրա, ուստի հնարավոր է մակերեսի մի փոքր շեղում:

    Դաշտի մակերեսը հարթ է, ուստի հնարավոր է ռոբոտի անիվների վատ կպչումը դաշտին:

    Հեղափոխությունների թիվը հաշվարկելիս մենք պետք է կլորացնեինք թվերը, և, հետևաբար, հեղափոխությունների հարյուրերորդականները փոխելով, հասանք պահանջվող արդյունքին։

5. Եզրակացություն.

Ռոբոտին ուղիղ գծով շարժվելու համար ծրագրավորելու հնարավորությունը օգտակար կլինի ավելի բարդ ծրագրեր ստեղծելու համար։ Որպես կանոն, մեջ տեխնիկական բնութագրերըռոբոտաշինության մրցույթներ, նշված են շարժման բոլոր չափերը։ Դրանք անհրաժեշտ են, որպեսզի ծրագիրը ծանրաբեռնված չլինի տրամաբանական պայմաններով, օղակներով և կառավարման այլ բարդ բլոկներով:

Lego Mindstorms EV3 ռոբոտին ծանոթանալու հաջորդ փուլում դուք պետք է սովորեք, թե ինչպես ծրագրավորել պտույտները որոշակի անկյան տակ, շարժումը շրջանով և պարույրներ:

Դիզայների հետ աշխատելը շատ հետաքրքիր է։ Ավելի շատ իմանալով դրա հնարավորությունների մասին՝ կարող եք լուծել ցանկացած տեխնիկական խնդիր։ Իսկ ապագայում, հավանաբար, ստեղծեք Lego Mindstorms EV3 ռոբոտի ձեր սեփական հետաքրքիր մոդելները։

գրականություն.

    Կոպոսով Դ.Գ. «Ռոբոտաշինության առաջին քայլը 5-6-րդ դասարանների համար»: - Մ.: Բինոմ: Գիտելիքի լաբորատորիա, 2012 - 286 p.

    Ֆիլիպով Ս. Ա. «Ռոբոտաշինություն երեխաների և ծնողների համար» - «Գիտություն» 2010 թ

    Ինտերնետային ռեսուրսներ

    http://lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http://www. լեգո com/կրթություն/

15.01.2012, 18:51

Մինչ այժմ, գծի երկայնքով շարժվելիս օգտագործվող ալգորիթմների մասին հոդվածներում դիտարկվում էր մի մեթոդ, երբ լույսի սենսորը կարծես վերահսկում էր իր ձախ կամ աջ եզրագիծը. հենց որ ռոբոտը տեղափոխվեց դաշտի սպիտակ հատված, վերահսկիչը վերադարձրեց ռոբոտին: մինչև եզրագիծը, սենսորը սկսեց ավելի խորանալ դեպի սև գիծ - կարգավորիչը ուղղեց այն ետ:
Չնայած այն հանգամանքին, որ վերը նշված նկարը ցուցադրված է ռելե կարգավորիչի համար, համամասնական (P-կարգավորիչ) շարժման ընդհանուր սկզբունքը նույնն է լինելու: Ինչպես արդեն նշվեց, նման շարժման միջին արագությունը այնքան էլ բարձր չէ, և մի քանի փորձ է արվել մեծացնել այն ալգորիթմը մի փոքր բարդացնելու միջոցով. ներկայացվել է.
Որպեսզի ռոբոտին թույլ տան առաջ շարժվել որոշ հատվածներում, լույսի սենսորի կողմից արտադրված արժեքների միջակայքում հատկացվել է նեղ տարածք, որը պայմանականորեն կարելի է անվանել «սենսորը գծի սահմանին է»:
Այս մոտեցումը մի փոքր թերություն ունի. եթե ռոբոտը «հետևում է» գծի ձախ սահմանին, ապա աջ շրջադարձերի վրա այն անմիջապես չի հայտնաբերում հետագծի կորությունը և արդյունքում ավելի շատ ժամանակ է ծախսում գիծ փնտրելու և շրջվելու համար: Ավելին, կարելի է վստահաբար ասել, որ որքան կտրուկ շրջադարձը, այնքան երկար է տեղի ունենում այս որոնումը։
Հետևյալ նկարը ցույց է տալիս, որ եթե սենսորը լիներ ոչ թե եզրագծի ձախ կողմում, այլ աջ կողմում, ապա այն արդեն կհայտնաբերեր հետագծի կորությունը և կսկսի շրջադարձային մանևրներ կատարել։

Ուստի լավ գաղափար է, որ ռոբոտը սարքավորվի միանգամից երկու սենսորներով, որոնք տեղակայված են գծի հակառակ կողմերում և, համապատասխանաբար, կօգնեն ռոբոտին ավելի արագ արձագանքել շարժման ուղղության փոփոխություններին:
Այժմ մենք պետք է որոշենք, թե ինչպես կանդրադառնա դիզայնի այս փոփոխությունը ծրագրի վրա: Պարզության համար մենք նորից պետք է սկսենք ամենապարզ ռելե կարգավորիչից, և, հետևաբար, առաջին հերթին մեզ հետաքրքրում է սենսորների հնարավոր դիրքերը գծի նկատմամբ.

Փաստորեն, կարելի է առանձնացնել ևս մեկ ընդունելի պայման՝ բարդ երթուղիներում դա կլինի խաչմերուկի հատում կամ ճանապարհի վրա ինչ-որ խտացում։
Սենսորների այլ դիրքերը հաշվի չեն առնվի, քանի որ դրանք կա՛մ վերը նշվածների ածանցյալներն են, կա՛մ սրանք ռոբոտի դիրքերն են, երբ նա դուրս է եկել գիծից և այլևս չի կարողանա վերադառնալ իրեն՝ օգտագործելով սենսորներից ստացված տեղեկատվությունը: . Արդյունքում, վերը նշված բոլոր դրույթները կարող են կրճատվել հետևյալ դասակարգման.
  • ձախ սենսորը, ինչպես աջը, գտնվում է թեթև մակերեսի վերևում
  • ձախ սենսորը թեթև մակերեսի վրա, աջ սենսորը մութի վրա
  • ձախ սենսորը մուգ մակերեսի վրա, աջ սենսորը բաց մակերեսի վրա
  • երկու սենսորները գտնվում են մուգ մակերևույթի վերևում
Եթե ​​ժամանակի որոշակի պահի ռոբոտի վրա գտնվող ծրագիրը հայտնաբերի այս դիրքերից մեկը, այն պետք է համապատասխան կերպով արձագանքի.
    Եթե ​​երկու սենսորներն էլ գտնվում են սպիտակ մակերևույթից, ապա սա սովորական իրավիճակ է, երբ գիծը գտնվում է սենսորների միջև, ուստի ռոբոտը պետք է ուղիղ գնա, եթե ձախ սենսորը դեռևս գտնվում է լույսի մակերևույթից, իսկ աջ սենսորը արդեն վերևում է մուգ, ապա ռոբոտն իր աջ կողմը քշել է գծի վրա, ինչը նշանակում է, որ նա պետք է շրջվի դեպի աջ, որպեսզի գիծը նորից լինի սենսորների միջև, եթե ձախ սենսորը գտնվում է մութ մակերևույթի վերևում, իսկ աջը՝ անշարժ Թեթևի վերևում, ապա ռոբոտին հավասարեցնելու համար անհրաժեշտ է թեքվել դեպի ձախ, եթե երկու սենսորներն էլ գտնվում են մուգ մակերևույթի վերևում, ապա ընդհանուր դեպք, ռոբոտը նորից շարունակում է ուղիղ շարժվել։

Վերևի դիագրամը անմիջապես ցույց է տալիս, թե ինչպես պետք է փոխվի շարժիչների վարքագիծը ծրագրում: Այն չունի մեծ նշանակություն ունի, ուրեմն թող մնա։ Անհրաժեշտ է որոշել՝ այն գտնվում է բաց, թե մուգ մակերևույթի վերևում.
Այս գործողությունը դեռ թույլ չի տալիս ասել, թե որ ուղղությամբ պետք է գնա ռոբոտը։ Բայց այն կբաժանի վերը թվարկված պետությունները երկու խմբի՝ (I, II) վերին ճյուղի և (III, IV) ստորին ճյուղի համար։ Այժմ յուրաքանչյուր խումբ ունի երկու վիճակ, այնպես որ դուք պետք է ընտրեք դրանցից մեկը: Եթե ​​ուշադիր նայեք I և II առաջին երկու վիճակներին, ապա դրանք տարբերվում են ճիշտ սենսորի դիրքով. մի դեպքում այն ​​գտնվում է բաց մակերեսի վերևում, մյուս դեպքում՝ մութից վեր: Ահա թե ինչ է որոշելու, թե ինչ գործողություն պետք է կատարվի.
Այժմ դուք կարող եք տեղադրել բլոկներ, որոնք սահմանում են շարժիչների վարքագիծը վերը նշված աղյուսակների համաձայն. ներդիր վիճակի վերին ճյուղը սահմանում է «երկու սենսորները լույսի վրա» համադրությունը, վերևում ՝ «ձախը լույսի վրա, աջը մթության վրա»:
Հիմնական պայմանի ստորին ճյուղը պատասխանատու է III և IV պայմանների մեկ այլ խմբի համար: Երկու վիճակները միմյանցից տարբերվում են նաև լույսի մակարդակով, որը հայտնաբերում է ճիշտ սենսորը: Սա նշանակում է, որ դա կորոշի նրանցից յուրաքանչյուրի ընտրությունը.
Ստացված երկու ճյուղերը լցված են շարժման բլոկներով: Վերին ճյուղը պատասխանատու է «ձախը մթության վրա, աջը լույսի վրա» վիճակի համար, իսկ ստորին ճյուղը պատասխանատու է «երկու սենսորների վրա մթության վրա»:
Հարկ է նշել, որ այս դիզայնըայն պարզապես որոշում է, թե ինչպես պետք է միացնել շարժիչները՝ կախված դաշտի որոշակի վայրում սենսորների ցուցումներից, բնականաբար, մի պահ հետո ծրագիրը պետք է ստուգի, թե արդյոք ընթերցումները փոխվել են, որպեսզի համապատասխանաբար կարգավորվի շարժիչների վարքագիծը. և մի պահ հետո նորից, նորից և այլն: Հետևաբար, այն պետք է տեղադրվի մի օղակի մեջ, որը կապահովի այս կրկնվող ստուգումը.

Այնքան գեղեցիկ պարզ ծրագիրկապահովի ռոբոտի շարժման բավականին բարձր արագություն գծի երկայնքով՝ առանց դրա սահմաններից դուրս թռչելու, եթե ճիշտ կազմաձևված լինի առավելագույն արագություն I և IV վիճակներում շարժվելիս, ինչպես նաև սահմանել լավագույն միջոցըԱրգելակում II և III վիճակներում. որքան կտրուկ են շրջադարձերը մայրուղու վրա, այնքան ավելի «կոշտ» պետք է լինի արգելակումը, արագությունը պետք է ավելի արագ նվազի, և հակառակը. կամ նույնիսկ արագությունը ընդհանրապես նվազեցնելով:

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



 


Կարդացեք.


Նոր

Ինչպես վերականգնել դաշտանային ցիկլը ծննդաբերությունից հետո.

բյուջեով հաշվարկների հաշվառում

բյուջեով հաշվարկների հաշվառում

Հաշվապահական հաշվառման 68 հաշիվը ծառայում է բյուջե պարտադիր վճարումների մասին տեղեկատվության հավաքագրմանը՝ հանված ինչպես ձեռնարկության, այնպես էլ...

Շոռակարկանդակներ կաթնաշոռից տապակի մեջ - դասական բաղադրատոմսեր փափկամազ շոռակարկանդակների համար Շոռակարկանդակներ 500 գ կաթնաշոռից

Շոռակարկանդակներ կաթնաշոռից տապակի մեջ - դասական բաղադրատոմսեր փափկամազ շոռակարկանդակների համար Շոռակարկանդակներ 500 գ կաթնաշոռից

Բաղադրությունը՝ (4 չափաբաժին) 500 գր. կաթնաշոռ 1/2 բաժակ ալյուր 1 ձու 3 ճ.գ. լ. շաքարավազ 50 գր. չամիչ (ըստ ցանկության) պտղունց աղ խմորի սոդա...

Սև մարգարիտ սալորաչիրով աղցան Սև մարգարիտ սալորաչիրով

Աղցան

Բարի օր բոլոր նրանց, ովքեր ձգտում են բազմազանության իրենց ամենօրյա սննդակարգում։ Եթե ​​հոգնել եք միապաղաղ ուտեստներից և ցանկանում եք հաճեցնել...

Լեխո տոմատի մածուկով բաղադրատոմսեր

Լեխո տոմատի մածուկով բաղադրատոմսեր

Շատ համեղ լեչո տոմատի մածուկով, ինչպես բուլղարական լեչոն, պատրաստված ձմռանը։ Այսպես ենք մշակում (և ուտում) 1 պարկ պղպեղ մեր ընտանիքում։ Իսկ ես ո՞վ…

feed-image RSS