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

LEGO ռոբոտը քշում է լաբիրինթոսով. 9 քայլ
LEGO ռոբոտը քշում է լաբիրինթոսով. 9 քայլ

Video: LEGO ռոբոտը քշում է լաբիրինթոսով. 9 քայլ

Video: LEGO ռոբոտը քշում է լաբիրինթոսով. 9 քայլ
Video: Делаем робота из Лего/ How to make a robot out of LEGO 🤖 2024, Նոյեմբեր
Anonim
Image
Image
Ռոբոտի հիմքը
Ռոբոտի հիմքը

Սա պարզ, ինքնավար ռոբոտ է, որը նախատեսված է լաբիրինթոսով դեպի ելք քշելու համար: Այն կառուցված է LEGO Mindstorms EV3- ի միջոցով: EV3 Software- ը աշխատում է համակարգչի վրա և ստեղծում է ծրագիր, որն այնուհետև ներբեռնվում է միկրոկոնտրոլերի վրա, որը կոչվում է EV3 Brick: Րագրավորման մեթոդը պատկերակի վրա հիմնված է և բարձր մակարդակի: Դա շատ հեշտ է և բազմակողմանի:

ՄԱՍՆԵՐ

  1. LEGO Mindstorms EV3 հավաքածու
  2. LEGO Mindstorms EV3 ուլտրաձայնային տվիչ: Այն ներառված չէ EV3 հավաքածուի մեջ:
  3. . Ալքավոր ստվարաթուղթ լաբիրինթոսի համար: Երկու տուփ պետք է բավարար լինի:
  4. Փոքր կտոր բարակ ստվարաթուղթ, որն օգնում է կայունացնել որոշ անկյուններ և պատեր:
  5. Սոսինձ և ժապավեն `ստվարաթղթե կտորները միմյանց միացնելու համար:
  6. Կարմիր շնորհավորական քարտի ծրար `լաբիրինթոսի ելքը նույնականացնելու համար:

ԳՈՐOOLԻՔՆԵՐ

  1. Ստվարաթուղթը կտրելու համար օգտակար դանակ:
  2. Պողպատե քանոն `օգնելու կտրման գործընթացին:

ԼԱZ-ԼԱՅՆ ՄԵԹՈԴ

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

Ես ընտրեցի պատին հետևող ձախ ձեռքի կանոնը: Գաղափարն այն է, որ ռոբոտը կպահի պատը իր ձախ կողմում ՝ լաբիրինթոսով անցնելիս կայացնելով հետևյալ որոշումները.

  1. Եթե հնարավոր է թեքվել ձախ, արեք դա:
  2. Հակառակ դեպքում, հնարավորության դեպքում ուղիղ գնացեք:
  3. Եթե այն չի կարող ձախ կամ ուղիղ գնալ, հնարավորության դեպքում թեքվեք աջ:
  4. Եթե վերը նշվածներից ոչ մեկը հնարավոր չէ, ապա դա պետք է փակուղի լինի: Շրջվել.

Oneգուշացումն այն է, որ մեթոդը կարող է ձախողվել, եթե լաբիրինթոսն իր մեջ մի օղակ ունի: Կախված օղակի տեղադրությունից, ռոբոտը կարող է շարունակել պտտվել օղակի շուրջը: Այս խնդրի հնարավոր լուծումը կլինի այն, որ ռոբոտը անցնի աջ պատի հետևորդի կանոնին, եթե գիտակցի, որ այն գնում է շրջանագծի մեջ: Ես այս կատարելագործումը չեմ ներառել իմ նախագծում:

ՌՈԲՈՏԻ ՇԻՆՈՄ ՔԱՅԼԵՐ

Չնայած LEGO Mindstorms EV3- ը շատ բազմակողմանի է, այն թույլ է տալիս ոչ ավելի, քան մեկ տեսակի Աղյուսին միացված յուրաքանչյուր տեսակի սենսորից: Երկու կամ ավելի Աղյուսներ կարող էին շղթայված լինել, բայց ես չէի ուզում գնել մեկ այլ Աղյուս, և ես օգտագործեցի հետևյալ սենսորները (երեք ուլտրաձայնային տվիչների փոխարեն) ՝ ինֆրակարմիր տվիչ, գույնի ցուցիչ և ուլտրաձայնային տվիչ: Սա լավ ստացվեց: Ստորև բերված լուսանկարների զույգերը ցույց են տալիս, թե ինչպես կարելի է կառուցել ռոբոտը: Յուրաքանչյուր զույգի առաջին լուսանկարում ցուցադրվում են անհրաժեշտ մասերը, իսկ երկրորդ լուսանկարում ՝ միացված իրար միացած մասերը:

Քայլ 1: Ռոբոտի հիմքը

Ռոբոտի հիմքը
Ռոբոտի հիմքը

Առաջին քայլը ռոբոտի հիմքի կառուցումն է ՝ օգտագործելով ցուցադրված մասերը: Ռոբոտների բազան ցուցադրվում է գլխիվայր: Ռոբոտի հետևի L- ձևավորված փոքր հատվածը մեջքի համար հենարան է: Այն սահում է, երբ ռոբոտը շարժվում է: Սա լավ է աշխատում: EV3 հավաքածուն չունի շարժակազմի տիպի մաս:

Քայլ 2: Հիմքի վերև

Հիմքի վերևում
Հիմքի վերևում
Հիմքի վերևում
Հիմքի վերևում
Հիմքի վերևում
Հիմքի վերևում

Հաջորդ 3 քայլերը ռոբոտի հիմքի վերևի, գույնի ցուցիչի և մալուխների համար են, որոնք բոլորը 10 դյույմ (26 սմ) մալուխներ են

Քայլ 3. Ինֆրակարմիր և ուլտրաձայնային տվիչներ

Ինֆրակարմիր և ուլտրաձայնային տվիչներ
Ինֆրակարմիր և ուլտրաձայնային տվիչներ
Ինֆրակարմիր և ուլտրաձայնային տվիչներ
Ինֆրակարմիր և ուլտրաձայնային տվիչներ

Հաջորդը ՝ ինֆրակարմիր սենսորն է (ռոբոտի ձախ կողմում) և ուլտրաձայնային տվիչը (աջ կողմում): Բացի այդ, 4 կապում `Աղյուսը վերևում ամրացնելու համար:

Ինֆրակարմիր և ուլտրաձայնային տվիչները գտնվում են ուղղահայաց ՝ սովորական հորիզոնականի փոխարեն: Սա ապահովում է պատերի անկյունների կամ ծայրերի ավելի լավ նույնականացում:

Քայլ 4: Մալուխներ

Մալուխներ
Մալուխներ

Կցեք Աղյուսը և միացրեք մալուխները հետևյալ կերպ.

  • B նավահանգիստ. Ձախ մեծ շարժիչ:
  • Նավահանգիստ C ՝ աջ մեծ շարժիչ:
  • Պորտ 2: ուլտրաձայնային տվիչ:
  • Պորտ 3: գույնի ցուցիչ:
  • Պորտ 4: ինֆրակարմիր ցուցիչ:

Քայլ 5. Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա

Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա
Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա
Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա
Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա
Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա
Ռոբոտի կառուցման վերջին քայլը. Դեկորացիա

Թևերն ու լողակները միայն դեկորացիայի համար են:

Քայլ 6. Pseրագրի կեղծ կոդ

  1. Սպասեք 3 վայրկյան և ասեք «Գնա»:
  2. Սկսեք ռոբոտին շարժվել ուղիղ առաջ:
  3. Եթե հնարավոր է թեքվել ձախ (այսինքն ՝ եթե ինֆրակարմիր սենսորը մոտակայքում գտնվող օբյեկտը չի զգում), ասեք «Ձախ» և գնացեք ձախ:
  4. Գնացեք մոտ 15 դյույմ առաջ ՝ ձախ կեղծ շրջադարձից խուսափելու համար: Պատճառն այն է, որ ռոբոտը շրջվելուց հետո սենսորը կտեսնի այն երկար տարածությունը, որից նա նոր էր եկել, և ռոբոտը կարծում էր, որ այն պետք է թեքվի ձախ, ինչը ճիշտ չէ: Վերադառնալ 2 -րդ քայլին:
  5. Եթե հնարավոր չէ թեքվել ձախ, ստուգեք, թե ինչ է տեսնում Գույնի տվիչը ռոբոտից առաջ:
  6. Եթե գույն չկա (այսինքն ՝ օբյեկտ չկա), ապա վերադառնաք 2 -րդ քայլին:
  7. Եթե գույնը կարմիր է, սա ելքն է: Դադարեցրեք ռոբոտը, նվագարկեք երկրպագություն և դադարեցրեք ծրագիրը:
  8. Եթե գույնը շագանակագույն է (այսինքն ՝ շագանակագույն ստվարաթուղթ առջևում), ապա կանգնեցրեք ռոբոտին:

    1. Եթե հնարավոր է թեքվել աջ (այսինքն, եթե ուլտրաձայնային տվիչը մոտակայքում գտնվող օբյեկտը չի զգում), ասեք «Աջ» և գնացեք աջ: Վերադառնալ 2 -րդ քայլին:
    2. Եթե հնարավոր չէ թեքվել աջ, ասեք «Uh-oh», հետ կանգնեք մոտ 5 դյույմ (12.5 սմ) և շրջվեք: Վերադառնալ 2 -րդ քայլին:

Քայլ 7: րագիր

Ծրագիրը
Ծրագիրը

LEGO Mindstorms EV3- ն ունի պատկերների վրա հիմնված ծրագրավորման շատ հարմար մեթոդ: Բլոկները ցուցադրվում են համակարգչի ցուցադրման էկրանի ներքևում և կարող են քաշվել-իջեցվել ծրագրավորման պատուհանում `ծրագիր ստեղծելու համար: Էկրանի կադրը ցույց է տալիս այս նախագծի ծրագիրը: Բլոկները նկարագրվում են հաջորդ քայլին:

Ես չկարողացա պարզել, թե ինչպես կարգավորել ծրագրի ներլցումը ձեզ համար, ուստի բլոկները նկարագրվում են հաջորդ քայլին: Յուրաքանչյուր բլոկ ունի ընտրանքներ և պարամետրեր: Դա շատ հեշտ է և բազմակողմանի: Shouldրագիրը մշակելու և (կամ) փոխելու այն ձեր կարիքներին համապատասխանելը ձեզանից շատ ժամանակ չի պահանջի: Ինչպես միշտ, լավ գաղափար է ծրագիրը մշակելիս պարբերաբար պահպանել այն:

EV3 Brick- ը կարող է միացված լինել համակարգչին USB մալուխի, Wi-Fi- ի կամ Bluetooth- ի միջոցով: Երբ այն միացված և միացված է, դա նշվում է համակարգչի EV3 պատուհանի ներքևի աջ անկյունում գտնվող փոքր պատուհանում: Աջ կողմում գտնվող «EV3»-ը կարմիր է դառնում: Երբ այս ցուցադրումը սահմանվում է Port View- ի վրա, այն իրական ժամանակում ցույց է տալիս, թե ինչ է հայտնաբերում յուրաքանչյուր սենսոր: Սա օգտակար է փորձերի համար:

Այս ծրագիրը կառուցելիս ես կառաջարկեի աշխատել ձախից աջ և վերևից ներքև, և մեծացնել Loop- ը և Switch Blocks- ը ՝ նախքան մյուս Blocks- ը ներս քաշելը: Ես բախվեցի խառնաշփոթ խնդիրների ՝ փորձելով լրացուցիչ բլոկներ ներս մտցնել մեծանալուց առաջ:

Քայլ 8: Blրագրի արգելափակումներ

  1. Theրագրի ձախ մասից սկսած ՝ Start Block- ը ինքնաբերաբար ներկա է, երբ ծրագիրը մշակվում է:
  2. Հաջորդը Wait Block- ն է ՝ մեզ 3 վայրկյան տալու համար, որպեսզի ռոբոտը տեղադրենք լաբիրինթոսի մուտքի մոտ ՝ ծրագիրը նախաձեռնելուց հետո:
  3. A Sound Block- ը ստիպում է ռոբոտին ասել «Գնա»:
  4. Loop Block- ը պարունակում է ծրագրի մեծ մասը: Theուցադրումը պետք է փոքրանա 4 կամ 5 անգամ, և այս Loop Block- ը պետք է մեծացվի mingրագրավորման կտավի գրեթե աջ եզրին ՝ նախքան Blocks տեղադրելը սկսելը: Հետագայում այն կարող է փոքրացվել:
  5. Օղակի ներսում առաջին բլոկը շարժական ղեկանիվ է, որի ղեկը զրոյական է, իսկ հզորությունը ՝ 20: Սա սկսում է շարժիչները շարժվել ուղիղ առաջ ցածր արագությամբ: Ավելի մեծ արագություն կստիպի ռոբոտին շատ հեռու շարժվել, երբ այն շարունակի առաջ ՝ հաջորդ քայլերում խոսելով:
  6. Ինֆրակարմիր սենսորների հարևանության ռեժիմի անջատիչ բլոկը ստուգում է, թե արդյոք կա 30 -ից ավելի արժեք ունեցող օբյեկտ: Սա շագանակագույն ստվարաթղթի համար համարժեք է մոտավորապես 23 դյույմ (23 սմ): Եթե արժեքը 30 -ից մեծ է, ապա 7, 8 և 9 բլոկները կատարվում են, հակառակ դեպքում ծրագիրը գնում է ներքևում գտնվող 10 -րդ բլոկ:
  7. A Sound Block- ը ստիպում է ռոբոտին ասել «Ձախ»:
  8. A Move ղեկի բլոկ ՝ ղեկը -45 -ով, հզորությունը ՝ 20, պտույտները ՝ 1.26, իսկ արգելակը վերջում ՝ True: Սա ստիպում է ռոբոտին թեքվել ձախ:
  9. A Move ղեկի բլոկը, որի ղեկը զրոյական է, հզորությունը `20, պտույտները` 1.2, իսկ արգելակի վերջում `True: Դա ստիպում է ռոբոտին մոտ 15 դյույմ առաջ գնալ ՝ ձախ կեղծ շրջադարձից խուսափելու համար:
  10. Գույնի տվիչի չափիչ գույնի ռեժիմի անջատիչ բլոկը ստուգում է, թե ինչ գույն է առջևում ռոբոտին: Եթե չկա գույն (այսինքն ՝ ոչ մի օբյեկտ), ապա ծրագիրը գնում է հանգույցի վերջ: Եթե գույնը կարմիր է, ապա 11, 12 և 13 բլոկները կատարվում են: Եթե գույնը դարչնագույն է, ծրագիրը անցնում է ներքևում գտնվող բլոկ 14:
  11. Շարժիչները կանգնեցնելու համար շարժեք ղեկի բլոկը անջատված ռեժիմում:
  12. A Sound Block- ը նվագախումբ է խաղում:
  13. Loop Interrupt Block- ը դուրս է գալիս Loop- ից:
  14. Շարժիչները կանգնեցնելու համար անջատիչ ռեժիմում շարժեք ղեկի բլոկը:
  15. Ուլտրաձայնային տվիչի անջատիչ բլոկը Համեմատեք հեռավորությունը դյույմերի ռեժիմում ստուգում է, արդյոք կա 20 դյույմից ավելի հեռու գտնվող որևէ առարկա: Եթե դա ավելի քան 8 դյույմ է, ապա Blocks16- ը և 17 -ը կատարվում են, հակառակ դեպքում ծրագիրը գնում է ներքևում գտնվող Block 18:
  16. Sound Block- ը ստիպում է ռոբոտին ասել «ճիշտ»:
  17. A Move ղեկի բլոկ ՝ ղեկը -55 -ով, հզորությունը ՝ -20, պտույտները ՝ 1.1, և արգելակը վերջում ՝ True: Սա ստիպում է ռոբոտին թեքվել աջ:
  18. A Sound Block- ը ստիպում է ռոբոտին ասել «Uh-oh»:
  19. A Move Tank Block with Power Left- ը սահմանել է -20, Power Right- ը `-20, Rotations- ը` 1, և Brake at End- ը `True: Սա ռոբոտին ստիպում է հետ կանգնել մոտ 5 դյույմ (12,5 սմ), որպեսզի շրջադարձ կատարի:
  20. A Move Tank Block with Power Left- ը սահմանել է -20, Power Right- ը `20, Rotations- ը` 1.14, և Brake at End- ը `True: Սա ստիպում է ռոբոտին շրջվել:
  21. Օղակի ելքի մոտ կանգառի ծրագրի արգելափակում է:

Քայլ 9. Կառուցեք MAZE

ՇԻՆԱՐԱՐՈԹՅՈՆ
ՇԻՆԱՐԱՐՈԹՅՈՆ
ՇԻՆԱՐԱՐՈԹՅՈՆ
ՇԻՆԱՐԱՐՈԹՅՈՆ
ՇԻՆԱՐԱՐՈԹՅՈՆ
ՇԻՆԱՐԱՐՈԹՅՈՆ

Երկու ծալքավոր ստվարաթղթե տուփ պետք է բավարար լինի լաբիրինթոսի համար: Ես դարձրեցի լաբիրինթոսի պատերը 12 դյույմ (12,5 սմ) բարձրությամբ, բայց 4 դյույմը (10 սմ) պետք է նույնքան լավ աշխատեն, եթե ծալքավոր ստվարաթղթի պակաս ունեք:

Նախ, ես կտրեցի տուփերի պատերը ՝ ներքևից 10 դյույմ (25 սմ): Հետո ես պատերի շուրջը կտրեցի ներքևից 5 դյույմ: Սա ապահովում է մի քանի 5-դյույմանոց պատեր: Բացի այդ, ես կտրեցի տուփերի ներքևի մասերը ՝ թողնելով կայունության համար պատերին ամրացված մոտ 1 դյույմ (2,5 սմ):

Տարբեր կտորները կարելի է կտրել և սոսնձել կամ կպցնել այնտեղ, որտեղ անհրաժեշտ է ՝ լաբիրինթոս ձևավորելու համար: Պատերի միջև փակուղի ունեցող ցանկացած արահետի մեջ պետք է լինի 12 դյույմ (30 սմ) տարածություն: Այս հեռավորությունը անհրաժեշտ է, որպեսզի ռոբոտը շրջվի:

Լաբիրինթոսի որոշ անկյուններ կարող են ամրապնդման կարիք ունենալ: Բացի այդ, որոշ ուղիղ պատեր պետք է թեքվել, եթե դրանք ներառում են ստվարաթղթե ուղղված անկյուն: Այդ վայրերում պետք է սոսնձել բարակ ստվարաթղթի փոքր կտորներ, ինչպես ցույց է տրված:

Ելքն ունի կարմիր պատնեշ, որը բաղկացած է կարմիր բացիկի կես ծրարից և 2 կտոր բարակ ստվարաթղթից պատրաստված հիմքից, ինչպես ցույց է տրված:

Oneգուշացումներից մեկն այն է, որ լաբիրինթոսը չպետք է մեծ լինի: Եթե ռոբոտի պտույտները մի փոքր անկյան տակ են համապատասխան շրջադարձից, ապա անհամապատասխանությունները ավելանում են մի քանի պտույտից հետո: Օրինակ, եթե ձախ շրջադարձը 3 աստիճան անջատված է, ապա 5 ձախ շրջադարձից հետո ռոբոտը 15 աստիճան անջատվում է: Մեծ լաբիրինթոսն ավելի շատ պտույտներ ուներ, քան փոքրը, և ռոբոտը կարող էր բախվել պատերին: Ես ստիպված եղա մի քանի անգամ սուսերամարտել պտույտների պտույտների կարգավորումներով, որպեսզի հաջողությամբ շարժվեմ նույնիսկ իմ արած փոքրիկ լաբիրինթոսով:

ԱՊԱԳԱՅԻ ՀԵՏԱՈՏՈՄՆԵՐ

Ակնհայտ հետագա նախագիծն այն է, որ ռոբոտը կարողանա լաբիրինթոսում նավարկելու ընթացքում ուղիղ ուղի որոշել, այնուհետև անմիջապես ուղիղ ճանապարհով անցնել (փակուղիներից խուսափելով):

Սա շատ ավելի բարդ է, քան ներկայիս նախագիծը: Ռոբոտը պետք է հիշի իր անցած ճանապարհը, հեռացնի փակուղիները, պահի նոր ուղին, այնուհետև գնա նոր ճանապարհով: Ես նախատեսում եմ մոտ ժամանակներս աշխատել այս նախագծի վրա: Ես ակնկալում եմ, որ հնարավոր է հասնել LEGO Mindstorms EV3- ի միջոցով `օգտագործելով զանգվածային գործողությունների բլոկներ և մաթեմատիկայի հետ կապված որոշ բլոկներ:

Եզրափակիչ դիտողություն

Սա զվարճալի նախագիծ էր: Հուսով եմ, որ ձեզ նույնպես հետաքրքիր կլինի:

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