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

PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով. 14 քայլ
PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով. 14 քայլ

Video: PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով. 14 քայլ

Video: PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով. 14 քայլ
Video: Ի՞նչ է պալիատիվ խնամքը և ի՞նչ է հոսպիսը 2024, Հուլիսի
Anonim
PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով
PID- ի վերահսկման ուսուցում Lego ռոբոտների միջոցով

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

Այնուամենայնիվ, դրանք դժվար է հետևել և կարող են հարմար չլինել 20 -ից ավելի ուսանողներից բաղկացած լսարանի համար:

Այս քայլ առ քայլ Instructable- ը ցույց է տալիս, թե ինչպես հաջողությամբ ուսուցանել Lego ռոբոտային համակարգով ուսանողներով լի սենյակ, մի շարք ռոբոտներ (նրանցից 5 -ից 10 -ը), NXT 2.0 -ով աշխատող համակարգչային հավասար կայաններ և յոթ ոտնաչափ սև ուղի: էլեկտրական ժապավեն հատակին:

ԱՍԻԴԵ. Շնորհակալություն Sl. Սլյուկային, ով գրել է վերը նշված հղումը, դոկտոր Բրյուս Լինելին, ով ստեղծել է որոշ վաղ Lego լաբորատորիաներ ECPI համալսարանի մակարդակով, և դոկտոր Ռեզա afաֆարիին, ով տրամադրել է PID Control ուսումնական նպատակները ՝ EET220- ի և Capstone դասընթացներ:

Քայլ 1: Լաբորատորիայի պատրաստում նախքան ուսանողների ժամանումը

Լաբորատոր նախապատրաստական աշխատանք ուսանողների ժամանելուց առաջ
Լաբորատոր նախապատրաստական աշխատանք ուսանողների ժամանելուց առաջ

Տեղեկացրեք ուսանողներին ձեր քրտնաջան աշխատանքի մասին;-)

Ուսուցիչներն ու ուսուցչի օգնականները ՇԱՏ զբաղված են եղել պատրաստվելով ձեզ պատրաստելու այս լաբորատորիան: Ռոբոտին գանձվել և հավաքվել է այս լաբորատորիայի համար: Եթե հավաքման կարիք կա, դա կարող է տևել մինչև 90 րոպե ժամանակ մեկ կամ մի քանի ռոբոտների համար: Էլ ավելի շատ ժամանակ է անհրաժեշտ մարտկոցները լիցքավորելու կամ դրանք լիցքավորման/լիցքաթափման ցիկլերով պայմանավորելու համար: Ռոբոտը կառուցելու մասին մանրամասն հրահանգների համար, որոնք մենք կօգտագործենք այսօր, տե՛ս NXT 2.0 կամ 2.1 կրթական հավաքածուն, «հետևեք տողին» ռոբոտի կառուցման ուղեցույցը: Մենք կօգտագործենք ավելի բարդ ծրագրավորում, չնայած… Սև էլեկտրական ժապավենը բաց գույնի լինոլեումի վրա հիանալի հետք է ստեղծում: Այս մեկը 3’x 7’’կիսաշրջանաձև կորեր է:

Քայլ 2: Famանոթացեք ձեզ ռոբոտի հետ

Rselfանոթացեք ռոբոտին
Rselfանոթացեք ռոբոտին

Նախ, դուք կծանոթանաք ռոբոտների ընտրացանկին, ինչպես նաև տվյալ ռոբոտի որոշ մասերին: Դուք նաև կսովորեք ռոբոտի կողմից օգտագործվող արդյունաբերական ոճի տվիչների տեխնոլոգիայի մասին, ներառյալ լուսադիոդներ, լույսի սենսորներ, քայլող շարժիչներ և պտտման դիրքի տվիչներ: Խնդրում ենք անպայման լրացնել պահանջվող բոլոր տեղեկությունները (սովորաբար ընդգծված դատարկ _):

1. Անջատեք ռոբոտը լիցքավորիչից և/կամ ձեր համակարգչի USB պորտից: Ռոբոտը միացնելու համար օգտագործեք Orange կոճակը: Նարնջագույն, ձախ և աջ կոճակները և «հետ» մոխրագույն ուղղանկյուն կոճակը թույլ են տալիս նավարկել նավարկությունը: Գնացեք «Softwareրագրային ապահովման ֆայլեր» ընտրացանկ և ոլորեք ռոբոտի առկա ծրագրային ֆայլերով: Թվարկեք յուրաքանչյուր ծրագրային ֆայլի անունները, ինչպես է այն գրված, ներառյալ մեծատառերն ու բացատները.

_

Քայլ 3: Կալիբրացնել լույսի տվիչը

Կալիբրացնել լույսի տվիչը
Կալիբրացնել լույսի տվիչը

2 Ուսումնասիրեք լույսի ցուցիչն ու չափագրման տվյալները: Կրկնօրինակեք հիմնական ընտրացանկին և ընտրեք «Դիտել»: Ընտրեք «Արտացոլված լույս» տարբերակը և նավահանգիստը (այն պետք է լինի «Նավահանգիստ 3»), ինչը հանգեցնում է լույսի միացմանը և համարի ցուցադրմանը էկրանին: Համոզվեք, որ ամեն ինչ աշխատում է և գրանցեք որոշ չափագրման տեղեկություններ:

ա Առավելագույն ընթերցում ՝ օգտագործելով սպիտակ թուղթ. Համարը ՝ _ Նկարագրեք թերթից մոտավոր հեռավորությունը ՝ _

բ. Առավելագույն ընթերցում բաց գույնի լինոլեումի հատակին ՝ _

գ. Նվազագույն ընթերցում ՝ սև էլեկտրական ժապավենի կենտրոնը մատնանշելիս. _

Քայլ 4: Փորձարկեք շարժիչի տրամաչափումը

Փորձարկել շարժիչի տրամաչափումը
Փորձարկել շարժիչի տրամաչափումը

3 Ուսումնասիրեք անիվի շարժիչները (ձախ և աջ), ինչպես նաև չափագրման տվյալները: Կրկնօրինակեք հիմնական ընտրացանկին և ընտրեք «Շարժիչի պտույտներ» Ընտրեք նավահանգիստը (երկու շարժիչների համար այն պետք է լինի «Պորտ Բ» կամ «Պորտ C»): Տեսեք, արդյոք կարող եք ստուգել այս ցուցանիշի ճշգրտումը `յուրաքանչյուր շարժիչ պտտելով որոշակի թվով պտույտներ` ընթերցումը դիտելիս: Դուք կկատարեք նույնականացման ստուգումը երկու շարժիչների համար ՝ օգտագործելով «Դիտել» à «Շարժիչային աստիճաններ» չափագրման էկրանը:

Շարժիչ B նավահանգստում

  • Անիվը պտտելու մի քանի անգամ _
  • «Շարժիչի պտույտներ» ցուցադրման արժեքը _
  • Աստիճանի անիվի հեռավորությունը պտտվել է _
  • «Շարժիչային աստիճաններ» ցուցադրման արժեքը _

Շարժիչը C նավահանգստում

  • Անիվը պտտելու մի քանի անգամ _
  • «Շարժիչի պտույտներ» ցուցադրման արժեքը _
  • Աստիճանի անիվի հեռավորությունը պտտվել է _
  • «Շարժիչային աստիճաններ» ցուցադրման արժեքը _

Didուցադրման արժեքները համաձա՞յն էին ձեր ակնկալիքներին: Խնդրում եմ բացատրել: _

Քայլ 5: Գործարկեք տրամադրված միացման-անջատման կարգավորիչը

Գործարկեք տրամադրված միացման-անջատման վերահսկիչը
Գործարկեք տրամադրված միացման-անջատման վերահսկիչը

«On-Off» (երբեմն կոչվում է «Bang-Bang») կարգավորիչն ունի ընդամենը երկու տարբերակ ՝ միացված և անջատված: Այն նման է ձեր տան ջերմաստիճանի կարգավորիչին: Երբ ընտրված ջերմաստիճանի վրա դրված է, ջերմաստիճանը տաքացնում է տունը, եթե դա շատ ցուրտ է, և սառեցնում է տունը, եթե այն շատ տաք է: Ընտրված ջերմաստիճանը կոչվում է «Սահմանված կետ» և տան ընթացիկ ջերմաստիճանի և Set-Point- ի տարբերությունը կոչվում է «Սխալ»: Այսպիսով, դուք կարող եք ասել, որ եթե սխալը դրական է, միացրեք AC- ն, հակառակ դեպքում միացրեք ջերմությունը:

Մեր դեպքում ռոբոտը թեքվելու է Ձախ կամ Աջ ՝ կախված նրանից, թե լույսի տվիչի Set-Point- ը դրական կամ բացասական սխալ ունի (չափազանց շատ սպիտակ հատակին, կամ չափազանց շատ սեւ ժապավենի վրա):

Դուք կնկատեք, որ ձեր ռոբոտը կարող է արդեն բեռնված լինել մի շարք ծրագրերով (կամ կարող եք օգտագործել այստեղ տեղադրված կցված «01 line.rbt» ֆայլը), որը պահվում է դրա վրա ՝ «1 տող» և «2 տող» անուններով, ինչպես նաև այնտեղ կարող է լինել լրացուցիչ նամակ ծրագրի համարից հետո, օրինակ `« 3 բ տող »: Դուք պետք է գործարկեք ծրագիրը ՝ իր անվան «1» թվով, այնուհետև ռոբոտը տեղադրեք ժապավենի ուղու վրա, իսկ սենորը ՝ սև գծի վրա: Փորձեք հեռու մնալ այլ ռոբոտներից, որոնք արդեն գտնվում են ուղու վրա, որպեսզի կարողանաք ժամանակի մեջ դնել ձեր ռոբոտին ՝ առանց այլ ռոբոտների հետ բախվելու ընդհատումների:

4 Չափեք հետևյալ ժամանակային փորձարկումները.

ա Theամանակն է ավարտել ուղու մեկ ուղիղ կողմը. _

բ. Նկարագրեք ռոբոտի ուղիղ շարժումը. _

գ. Theամանակն է ավարտել ուղու մեկ կորը `_

դ. Նկարագրեք ռոբոտի կոր գծի շարժումը. _

ե. Onceամանակն է ամբողջովին մեկ անգամ շրջել ուղով. _

Քայլ 6. Բացեք «01 Line» միացման-անջատման վերահսկիչի ծրագրակազմը

Բացեք
Բացեք
Բացեք
Բացեք
Բացեք
Բացեք

Դուք կբացեք «LEGO MINDSTORMS NXT 2.0» ծրագիրը (ոչ Edu 2.1 ծրագրակազմը) և կբեռնեք «01 line.rbt» կոչվող համապատասխան ծրագիրը և ուսումնասիրեք և փոփոխեք ծրագրակազմը ՝ հետևելով ստորև բերված հրահանգներին.

Բացեք «LEGO MINDSTORMS NXT 2.0» ծրագիրը (ոչ թե Edu 2.1 ծրագիրը): Ձեր հրահանգիչը ձեզ կասի, թե որտեղ են ֆայլերը պահվում ձեր համակարգչում, և այդ վայրից դուք կբացեք «1 տող» ծրագիրը: Պարզապես ընտրեք «Ֆայլ», այնուհետև «Բացել» և ընտրեք «1 տող» ծրագիրը բացելու համար:

Onceրագիրը բաց լինելուց հետո կարող եք օգտագործել «ձեռքի» պատկերակը ՝ ծրագրի ամբողջ էկրանի պատկերը տեղաշարժելու համար, իսկ «սլաք» պատկերակով ՝ առանձին օբյեկտների վրա սեղմելու համար, թե ինչպես են դրանք աշխատում (և նաև փոփոխություններ կատարել).

Քայլ 7. Հասկանալով «01 Line» միացման և անջատման վերահսկիչ ծրագրակազմը

Հասկանալով
Հասկանալով

«1 տող» ծրագիրը օգտագործում է «On-Off» վերահսկման մեթոդը: Այս դեպքում ընտրությունը կա՛մ «Թեքվեք ձախ», կա՛մ «թեքվեք աջ»: Գրաֆիկը պարունակում է ծրագրի տարրերի նկարագրություն.

Քայլ 8. «01 Line» միացման-անջատման վերահսկիչ ծրագրաշարի խմբագրում

Խմբագրում է
Խմբագրում է

Փոխեք Set-point- ը և համեմատեք արդյունքները:

Դուք հայտնաբերել եք լուսաչափի որոշ իրական արժեքներ վերը նշված 2-րդ քայլում: Դուք գրանցել եք արժեքներ b և c մասերում, թվեր ՝ նվազագույն և առավելագույն արժեքների համար, որոնք ռոբոտը կտեսներ ուղին վարելիս:

5 Հաշվիր ԼԱՎ սահմանային կետի արժեքը (նվազագույնի և առավելագույնի միջին) `_

6 Ընտրեք ՎԱՏ հավաքածուի արժեքը (համարը շատ մոտ է նվազագույնին կամ առավելագույնին). _

Փոխեք սահմանված կետը այս արժեքներից մեկին ՝ օգտագործելով սլաքի պատկերակը ՝ սխալի հաշվարկման վանդակում սեղմելու համար և փոխելով հանվող թիվը (տես ստորև բերված պատկերը): Այժմ միացրեք ռոբոտը համակարգչին USB լարի միջոցով, համոզվեք, որ ռոբոտը միացված է և ներբեռնեք «1 տող» ծրագրի նոր տարբերակը ռոբոտին: Դուք կտեսնեք, թե որքան ժամանակ է պահանջվում, որ ռոբոտը ժամացույցի սլաքի ուղղությամբ պտտվի ուղու վրա `մեկ անգամ ԼԱՎ սահմանած կետով, և մեկ անգամ ՎԱ set սահմանաչափով:

7 Լրացրեք ժամանակային փորձարկումներ ՝ ԼԱՎ և ՎԱՏ սահմանային կետերի արժեքներով

ա Onceամանակն է ամբողջությամբ մեկ անգամ շրջել ուղով (GOOD Set-Point). _

բ. Onceամանակն է ամբողջովին մեկ անգամ շրջել ուղու վրա (ՎԱ Set Սահմանման կետ). _

Ձեր դիտարկումները / եզրակացությու՞նը: _

Քայլ 9. Հասկանալով «02 գիծը» միացված-անջատված Dead-Zone Controller ծրագրակազմով

Հասկանալով
Հասկանալով

Եթե ձեր տան AC- ն ու Heat- ը անընդհատ միանում և անջատվում էին ամբողջ օրը, դա անպայման կարող է քանդել ձեր HVAC համակարգը (կամ գոնե կրճատել դրա կյանքը): Թերմոստատների մեծ մասը պատրաստված են ներկառուցված «մեռած գոտում»: Օրինակ, եթե ձեր սահմանած ջերմաստիճանը 70 աստիճան ֆարենհեյթ է, ապա ջերմաստիճանը չի կարող միացնել AC- ն մինչև այն հասնի 72 աստիճանի, և այն չի տաքացնի, մինչև ջերմաստիճանը իջնի մինչև 68 աստիճան: Եթե մահացած գոտին չափազանց լայնանա, ապա տունը կարող է անհարմար դառնալ:

Մեր դեպքում մենք 02 գծի ծրագրով կօգտագործենք մեռած գոտի ավելացնելու համար, որի ընթացքում ռոբոտը պարզապես ուղիղ կքշի:

Այժմ ուսումնասիրեք «02 տող» ծրագրային ապահովման ֆայլը, ինչպես նկարագրված է գրաֆիկում և կցված ֆայլում:

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

«02 տող» ծրագիրը հաշվարկում է վերը նշվածը ՝ նախնական կետը հանելով Լույսի չափումից, այնուհետև կատարելով համեմատությունները, ինչպես նշվեց վերևում: Քննեք ծրագիրը ԱՀ -ում և գրանցեք ձեր տեսած արժեքները:

Ո՞րն է Set-Point- ի «2 տող» ծրագրերի ընթացիկ (սկզբնական) արժեքը: _

Ո՞րն է «2 տող» ծրագրերի ընթացիկ (օրիգինալ) արժեքը «Մեծ» դրական սխալ: _

Ո՞րն է «2 տող» ծրագրերի ընթացիկ (օրիգինալ) արժեքը «Մեծ» բացասական սխալ: _

Dead-Band- ի սխալների ո՞ր միջակայքը կհանգեցնի ռոբոտին ուղիղ գնալուն: _- ից _

Վերոնշյալ «Մեծ» սխալի համար տարբեր արժեքներով երեք (3) փորձարկում կատարեք: Ընթացիկ «2 տողի» կարգավորումները, ինչպես նաև երկու այլ կարգավորումներ, որոնք դուք կհաշվարկեք: Դուք արդեն ընտրել եք GOOD Set-Point ձեր ռոբոտի համար: Այժմ դուք կընտրեք երկու տարբեր Dead-Band տիրույթներ և կգրանցեք այն ժամանակը, որը ռոբոտին անհրաժեշտ է ժամացույցի սլաքի ուղղությամբ մեկ պտույտ կատարելու համար.

02 տողի սկզբնական կարգավորումներ _

Dead -Band +4 -ից -4 _

Dead -Band +12 -ից -12 _

Քայլ 10. Հասկանալ «03 Line» համաչափ վերահսկիչ ծրագրակազմը

Հասկանալով
Հասկանալով

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

Եկեք դիտարկենք Համաչափ վերահսկողություն «03 տող» ծրագրով

«03 գիծ» -ի ծրագիրն ավելի բարդ է, քանի որ այն ոչ միայն սահմանում է «Համաչափ» վերահսկման մեթոդը, այլ նաև պարունակում է բոլոր ծրագրերը ՝ համամասնական-ինտեգրալ, համաչափ-դիֆերենցիալ և համամասնական-ինտեգրալ-դիֆերենցիալ (PID) վերահսկում կատարելու համար:. Youրագիրը բեռնելիս այն, հավանաբար, չափազանց մեծ կլինի, որպեսզի միանգամից տեղավորվի էկրանին, բայց այն իրոք ունի երեք մաս, ինչպես ցույց է տրված կցված գրաֆիկայում:

Ա - Սխալը հաշվարկելու մաթեմատիկան և «հաշիվը» ժամանակի ընթացքում գտնելու սխալի ինտեգրալը և ածանցյալը:

B - Ձախ շարժիչի արագությունը հաշվարկելու մաթեմատիկա ՝ հիմնված Kp, Ki և Kd PID կառավարման պարամետրերի վրա

C - Շարժիչի արագության սահմանափակումները ստուգելու մաթեմատիկա, իսկ շարժիչի ճիշտ արագությունները ուղարկել ձախ և աջ շարժիչներին:

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

Քայլ 11. 03 -րդ գծի (համաչափ վերահսկում) ծրագրի խմբագրում

03 տողի (համաչափ վերահսկողություն) ծրագրի խմբագրում
03 տողի (համաչափ վերահսկողություն) ծրագրի խմբագրում

Միջին հատվածում (նախորդ նկարագրության B բաժինը) կնկատեք, որ «03 տող» ծրագրում Ki- ի և Kd- ի կարգավորումները երկուսն էլ 0 են:

Եկեք նրանց այդպես թողնենք: Մենք կփոխենք միայն Kp- ի արժեքը ՝ վերահսկիչի համաչափ մասը:

Kp- ն որոշում է, թե որքան սահուն է ռոբոտը փոխում արագությունը, երբ այն հեռանում է գծից: Եթե Kp- ն չափազանց մեծ է, շարժումը չափազանց ցնցող կլինի (նման է On-Off կարգավորիչին): Եթե Kp- ն չափազանց փոքր է, ապա ռոբոտը շատ դանդաղ ուղղումներ կկատարի և շատ հեռու կհեռանա գծից, հատկապես կորերի վրա: Այն կարող է նույնիսկ շեղվել այնքանով, որ ընդհանրապես կորցնի գիծը:

13 Ի՞նչ սահմանակետ է օգտագործում «03 տող» ծրագիրը: (հանվում է A հանգույցում լույսի կարգավորումը կարդալուց հետո) _

14 Ո՞րն է Kp- ի արժեքը ընթացիկ «03 տող» ծրագրում: _

Triամկետային փորձություններ համաչափ վերահսկիչի համար («3 տող» ծրագիր)

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

DRIFTY - Kp- ի արժեք գտնելը, որը ստիպում է ռոբոտին շատ դանդաղ շեղվել և, հնարավոր է, կորցնել գծի տեսողությունը (բայց հուսով եմ ՝ ոչ): Փորձեք Kp- ի տարբեր արժեքներ 0.5 -ից 2.5 -ի միջև (կամ մեկ այլ արժեք), մինչև չստանաք այն, որտեղ ռոբոտը շարժվում է, բայց մնում է գծի վրա:

ERԵՐԿԻ - Գտնելով Kp- ի արժեքը, որը ռոբոտին դարձնում է ետ ու առաջ, շատ նման է On -Off տիպի շարժմանը: Փորձեք Kp արժեքը 1.5 -ից 3.5 -ի միջև (կամ մեկ այլ արժեք), մինչև որ ստանաք մեկը, որտեղ ռոբոտը պարզապես սկսում է ցուցադրել առաջ և առաջ շարժումները, բայց ոչ շատ կտրուկ: Սա նաև հայտնի է որպես Kp- ի «կրիտիկական» արժեք:

Clockամացույցի սլաքի ուղղությամբ ամբողջ պտույտ կատարելու համար ժամանակի փորձարկումները անհրաժեշտ են միայն սկզբնական «3 տող» արժեքներով և արժեքների երկու նոր հավաքածուներով (DRIFTY և JERKY), որոնք դուք հայտնաբերում եք ՝ ռոբոտին հետևելով միայն կարճ երկարությամբ հետագծին: Մի մոռացեք ամեն անգամ բեռնել ձեր ռոբոտի փոփոխությունները:

15 Գրանցեք «3 տող» ծրագրի Համաչափ վերահսկման արժեքներն ու ժամանակի փորձարկումները (հիշեք, որ ռոբոտի փոփոխությունները ներբեռնեք) Kp- ի այս երեք արժեքներից յուրաքանչյուրի համար (օրիգինալ 03 տողի արժեքը և երկու արժեքներ, որոնք դուք որոշում եք փորձարկումներով և սխալներով) լինել ԿԱՐԵԻ և ERԵՌԿԻ):

Քայլ 12: Ընդլայնված PID կարգավորիչներ

Ընդլայնված PID վերահսկիչներ
Ընդլայնված PID վերահսկիչներ
Ընդլայնված PID վերահսկիչներ
Ընդլայնված PID վերահսկիչներ

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

Թվեր, որոնք ձեզ անհրաժեշտ կլինեն նախորդ փորձերից

16 Լույսի սենսորների առավելագույն ընթերցում (քայլ 2 -ից) _

17 Լույսի սենսորների նվազագույն ընթերցում (քայլ 5 -ից) _

18 ԼԱՎ պարամետր Set-Point- ի համար (վերը նշվածի միջին) _

19 DRIFTY կարգավորում Kp- ի համար (15 -րդ քայլից) _

20 JERKY (կրիտիկական) կարգավորում Kp- ի համար (քայլ 15 -ից) _

PID վերահսկիչի իմացություն

Հավանաբար, դուք սովորել եք Համամասնական ինտեգրալ դիֆերենցիալ (PID) վերահսկիչի մասին ՝ Արդյունաբերական վերահսկողության դասընթացի շրջանակներում, և լավ արագ ակնարկը առցանց է Վիքիպեդիայում (https://en.wikipedia.org/wiki/PID_controller):

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

Համաչափ վերահսկիչով ձախ շարժիչի արագությունը համաչափ էր սխալի: Մասնավորապես.

Սխալ = Թեթև ընթերցում-Սահմանված կետ

Այս գծապատկերում սահմանման կետը սահմանվել է 50:

Հետագայում, Ձախ շարժիչի արագությունը գտնելու համար, մենք սխալը բազմապատկում ենք «Kp» համամասնական հաստատունով, մասնավորապես.

L Motor = (Kp * Սխալ) + 35

Որտեղ այս գծապատկերում Kp- ն սահմանվում է 1.5, իսկ 35 -ի գումարումը տեղի է ունենում ծրագրի մեկ այլ մասում: 35 -ի արժեքը ավելացվում է -40 -ի սահմաններում գտնվող թիվը մինչև +40, այն թիվը, որը գտնվում է 10 -ից 60 -ի սահմաններում (շարժիչի ողջամիտ արագություններ):

Ինտեգրալն անցյալի մի տեսակ հիշողություն է: Եթե սխալը երկար ժամանակ վատ է եղել, ռոբոտը պետք է արագանա դեպի սահմանված կետը: Ki- ն օգտագործվում է բազմապատկելու համար (ինտեգրալը սխալների ընթացիկ գումարն է. Այս դեպքում, յուրաքանչյուր կրկնությունը կրճատվում է 1,5 -ով, որպեսզի ռոբոտը ունենա անցյալ սխալների «մարող հիշողություն»):

Ածանցյալը մի տեսակ ապագա կանխատեսում է: Մենք կանխատեսում ենք ապագա սխալ ՝ համեմատելով վերջին սխալը ներկայիս սխալի հետ և ենթադրում ենք, որ սխալի փոփոխության արագությունը որոշակիորեն գծային կլինի: Որքան մեծ է ապագա սխալի կանխատեսումը, այնքան ավելի արագ պետք է անցնենք սահմանված կետին: Kd- ն օգտագործվում է ածանցյալով բազմապատկելու համար (ածանցյալը ընթացիկ սխալի և նախորդ սխալի տարբերությունն է):

L շարժիչ = (Kp * Սխալ) + (Ki * Integral) + (Kd * ածանցյալ) + 35

Քայլ 13: Գտեք լավագույն PID պարամետրերը

Գտնելով լավագույն PID պարամետրերը
Գտնելով լավագույն PID պարամետրերը
Գտնելով լավագույն PID պարամետրերը
Գտնելով լավագույն PID պարամետրերը
Գտնելով լավագույն PID պարամետրերը
Գտնելով լավագույն PID պարամետրերը

Գոյություն ունեն մի շարք եղանակներ, որոնք կարող են օգտագործվել PID պարամետրերը գտնելու համար, սակայն մեր իրավիճակն ունի յուրահատուկ կողմեր, որոնք թույլ են տալիս մեզ օգտագործել պարամետրերը գտնելու ավելի «ձեռքով» փորձարարական եղանակ: Եզակի ասպեկտները, որոնք մենք ունենք, հետևյալն են.

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

Նախ, մենք արդեն օգտագործել ենք «03 տողը» ՝ լավագույն Kp- ն որոշելու համար (GOOD Set-point և JERKY Kp արժեքները ՝ քայլ 18 և 20 վերը): Տե՛ս առաջին գրաֆիկը `հրահանգների համար, թե ինչպես ենք գտել JPK արժեքը Kp- ի համար:

Ki- ն որոշելու համար օգտագործեք «04 գիծ» ծրագրակազմը: Մենք նախ կփոխենք «4 տող» -ը, որպեսզի ունենանք արժեքներ, որոնք մենք գրանցել ենք վերը նշված 18 -րդ և 20 -րդ կետերում: Հաջորդը մենք դանդաղ կբարձրացնենք Ki- ն, մինչև չստանանք մի արժեք, որն իսկապես մեզ շատ արագ տեղափոխում է սահմանված կետ: Կիի արժեքը ընտրելու հրահանգների համար տե՛ս երկրորդ գրաֆիկը:

21 Ki- ի ամենաարագ արժեքը, որը հաստատվում է սահմանային կետում ամենաարագը (նույնիսկ որոշ գերազանցումներով) _

Օգտագործեք «05 տող» ծրագրակազմը `հայերենը որոշելու համար: Սկզբում փոփոխեք «5 տողը» ՝ 18, 20 և 21 քայլերի արժեքներով, այնուհետև ավելացրեք Kd մինչև ստացեք վերջնական աշխատող ռոբոտը, որը արագ հասնում է սահմանված կետին և, եթե կա, շատ փոքր գերազանցումով: Երրորդ գծապատկերում ներկայացված են հրահանգներ, թե ինչպես ընտրել Kd.

22 ՕՊՏԻՄԱԼ ԿԴ արժեքը _

23 ԻՆՉՊԵ՞Ս ԵՐԿՐՈԹՅՈՆ ՁԵՐ ՌՈԲՈՏԸ ՏԱՐԱԵԼ Է ՇԱՀԱԳՈՐԵԼ ՀԵՏԵՎՈ ???ՆՔԸ ??? _

Քայլ 14: Եզրակացություն

Լաբորատոր փորձը շատ լավ անցավ: Մոտ 20 ուսանողների հետ, օգտագործելով 10 (տասը) աշխատանքային կայան + ռոբոտների կարգավորումները, որոնք ցուցադրված են առաջին գծապատկերում, երբեք ռեսուրսների բախում չի եղել: Առնվազն երեք ռոբոտ պտտվում էր ուղու վրա ժամանակի փորձությունների համար:

Ես խորհուրդ եմ տալիս PID- ի վերահսկման բաժինը (նվազագույնը `« 04 տող »և« 05 տող »ծրագրերը) առանձին օր տևել ՝ ներառված հասկացությունների պատճառով:

Ահա տեսանյութերի հաջորդականություն, որը ցույց է տալիս վերահսկիչների առաջընթացը («01 տողից» մինչև «05 տող») ՝ օգտագործելով իմ ընտրած արժեքները, բայց յուրաքանչյուր ուսանող հանդես է գալիս մի փոքր այլ արժեքներով, ինչը սպասելի է:

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

  • 01 տող (Միացում -անջատում) PID վերահսկում Lego Robots- ով -
  • 02 գիծ (On-Off with Dead-Zone) PID վերահսկում Lego Robots- ով-https://videos.ecpi.net/Watch/n4A5Lor7
  • 03 տող (համաչափ) PID հսկողություն Lego Robots- ով -
  • 04 տող (համաչափ -ինտեգրալ) PID վերահսկում Lego ռոբոտներով -
  • 05 տող (համաչափ-ինտեգրալ-ածանցյալ) PID վերահսկում Lego ռոբոտներով-https://videos.ecpi.net/Watch/s6LRi5r7

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