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

Կառավարման ալգորիթմների ուսուցման գծի հետևորդ ռոբոտ ՝ 3 քայլ
Կառավարման ալգորիթմների ուսուցման գծի հետևորդ ռոբոտ ՝ 3 քայլ

Video: Կառավարման ալգորիթմների ուսուցման գծի հետևորդ ռոբոտ ՝ 3 քայլ

Video: Կառավարման ալգորիթմների ուսուցման գծի հետևորդ ռոբոտ ՝ 3 քայլ
Video: TUDev's Tech Talk with Professor Bora Ozkan - Fintech and the Future of Finance 2024, Հուլիսի
Anonim
Image
Image
Կառավարման ալգորիթմներ ուսուցանելու գծի հետևորդ ռոբոտ
Կառավարման ալգորիթմներ ուսուցանելու գծի հետևորդ ռոբոտ
Կառավարման ալգորիթմներ ուսուցանելու գծի հետևորդ ռոբոտ
Կառավարման ալգորիթմներ ուսուցանելու գծի հետևորդ ռոբոտ

Ես նախագծեցի այս գծի հետևորդ ռոբոտը մի քանի տարի առաջ, երբ ես ռոբոտաշինության ուսուցիչ էի: Այս նախագծի նպատակը իմ ուսանողներին սովորեցնելն էր, թե ինչպես պետք է ծածկագրել մրցույթին հաջորդող ռոբոտին, ինչպես նաև համեմատել If/Else- ի և PID հսկողության միջև: Եվ ամենակարևորը, թե ինչպես է մեխանիկան և ռոբոտի երկարությունը ազդում այս կառավարման ալգորիթմների վրա: Նպատակն էր այն դարձնել ավելի արագ և հուսալի:

Ես պատրաստեցի ծրագրավորվել Arduino IDE- ով, բայց հնարավոր է նաև օգտագործել ձեր նախընտրած զարգացման IDE- ն: Այն ունի հզոր PIC32 ՝ USB բեռնիչով, այնպես որ ծրագրավորողի կարիք չունեք: Այն ունի նաև ON/OFF անջատիչ, վերակայում և մեկնարկի/ծրագրի կոճակ: LED- ները միացված են շարժիչների PWM ազդանշանին, այնպես որ կարող եք հեշտությամբ տեսնել ձեր ուժը:

Ռոբոտը լիովին մոդուլային է փորձերի համար և հեշտ է վերանորոգվել, եթե դրա հետ վթարի ենթարկվեք: Դա դարձնում է այս ռոբոտը կատարյալ գործիք ծրագրավորում սովորելու համար շատ զվարճալի ձևով: Իմ ուսանողները երկար ժամանակ օգտագործել էին այն և ամեն անգամ ինչ -որ նոր բան էին սովորում, նույնիսկ PID- ի վերահսկումը: Էլ չենք խոսում այն մասին, որ սենսորային սանդղակը օգտագործում է ալգորիթմ ՝ ամբողջ թիվը վերադարձնելու համար, բացասական արժեքը ռոբոտը ձախ կողմում է, դրական ՝ աջ, և cero- ն գծի կենտրոնում է:

Պարագաներ

2x 6V միկրո մետաղական փոխանցման շարժիչներ `երկարացված աջակցության փակագծերով (ցանկացած փոխանցման հարաբերակցություն նորմալ է, իմը` 10: 1)

1x Line Sensor տախտակ

1x Հիմնական կառավարման միավոր

1x 20 հարթ մետաղալարով, 1 մմ հեռավորությամբ: Իմն ունի 20 սմ երկարություն:

1x Ակրիլային կապիչ (կտրված է 3 մմ հստակ ակրիլով)

1x 1/8 պտտվող գնդակ (իմը մետաղական է)

2x Ռետինե անիվ, 3 սմ տրամագծով:

1x Lipo մարտկոց: Դուք կարող եք ռոբոտին սնուցել մինչև 10 վ, բայց հիշեք, որ շարժիչները գնահատվում են 6 վ:

Որոշ M2 պտուտակներ և ընկույզներ `ամեն ինչ միացնելու համար:

Եթե ցանկանում եք ինքներդ պատրաստել դիզայնի ֆայլերը, հաջորդ քայլին կցվում են սխեմաներ և այն կառուցելու ամեն ինչ:

Քայլ 1: Սարքավորումը

Սարքավորումը
Սարքավորումը
Սարքավորումը
Սարքավորումը
Սարքավորումը
Սարքավորումը
Սարքավորումը
Սարքավորումը

Ինչպես տեսնում եք նկարներում, բոլոր բաղադրիչները SMD են, կատարյալ հնարավորություն է կիրառելու ձեր զոդման հմտությունները: Այս ռոբոտը կպցրեցին իմ աշակերտներից 3 -ը, այնպես որ կարող եք դա անել առանց դժվարության: Բոլոր դիզայնի ֆայլերը կցված են, ֆայլերը կարող եք տեսնել EAGLE- ով: Gerbers- ը նույնպես ներառված է, եթե ցանկանում եք ձեր նախընտրած PCB արտադրողի տախտակները:

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

Նշում. PIC- ն օգտագործում է հատուկ որոնվածը, DP32- ի օրիգինալ որոնվածի փոփոխված տարբերակն է: Այստեղ կարող եք ձեռք բերել որոնվածը: ICSP կապը ներառված է պրոցեսորի տախտակի ներքևում:

Քայլ 2: Softwareրագրակազմ

Րագրակազմը
Րագրակազմը
Րագրակազմը
Րագրակազմը

Ես խորհուրդ եմ տալիս օգտագործել Arduino IDE- ն ՝ ռոբոտին ծրագրավորելու համար: Ինչպես արդեն ասացի ձեզ, այս գծի հետևորդը հիմնված է PIC32MX250- ի վրա և այն համատեղելի է դարձնում chipKIT DP32- ի հետ: Ձեզ անհրաժեշտ է միայն տեղադրել chipKIT փաթեթը Arduino IDE- ի փաթեթների կառավարչի վրա և պատրաստ եք գնալ: Նաև կարող եք այն ծրագրավորել MPLAB- ով կամ ձեր ուզած IDE- ով, բայց կարող եք սովորել հիմքը Arduino- ի վրա:

Մնացածը նման է Arduino- ի ցանկացած այլ տախտակի ծրագրավորման: Միացրեք ռոբոտը ձեր համակարգչին միկրո USB մալուխով և վերագործարկումը սեղմելուց անմիջապես հետո սեղմեք ծրագրի կոճակը: Այնուհետև ուղարկեք ուրվագիծը IDE- ի բեռնման կոճակով:

Այս ձեռնարկի վրա ես ներառեցի 3 ուրվագիծ: Առաջինը ստուգում է սենսորային զանգվածը, երկրորդը `If/Else գծի հետևորդ է, իսկ վերջինը` PID գծի հետևորդ: Ամեն ինչ արդեն աշխատում է, սակայն դիզայնը փոխելու դեպքում որոշ արժեքներ պետք է հարմարեցնեք: Եվ նաև ազատ զգացեք ձեր սեփականը: Կան գծերի հետևորդների ալգորիթմը կատարելու ավելի լավ եղանակներ, փորձերը հաջողության բանալին են:

Քայլ 3: Փորձարկումներ

Փորձարկումներ
Փորձարկումներ
Փորձարկումներ
Փորձարկումներ
Փորձարկումներ
Փորձարկումներ

Սա իսկապես ամենակարևոր մասն է, դուք պետք է փորձեք բոլոր հնարավորությունները և գտնեք այն, որը ձեզ հարմար է:

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

Փոփոխեք ծրագրակազմը `ավելի քիչ սենսորներ օգտագործելու կամ նույնիսկ այլ ալգորիթմներ փորձելու համար, կարող եք զարմանալ, թե որքանով կարող է փոխվել կատարումը: Կամ ինչու ոչ, եթե առաջադեմ օգտվող եք, դա արեք MPLAB- ով:

Երկինքը սահման է:

Որպես լրացուցիչ հուշում… PID- ի ձեռքբերումները կարգավորելը հետաքրքրաշարժ ճանապարհորդություն է, որի ընթացքում կարող եք իմանալ ռոբոտի վրա ունեցած ազդեցությունները ՝ Kp, Kd և Ki տարբեր արժեքներով գծին հետևելիս: Սովորելու ժամերն ու ժամերը երաշխավորված են !!! Երեխաները չեն նկատի, որ նրանք իրականում մաթեմատիկա են օգտագործում `պահանջվող բոլոր առաջադրանքները կատարելու համար:

Հուսով եմ, որ ձեզ դուր կգա այս ուսանելի տարբերակը, եթե ինչ -որ բանի կարիք ունեք, մեկնաբանություններում հարցրեք ինձ: Շնորհակալություն կարդալու համար:)

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