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

Հոքինգի բոտ ՝ 5 քայլ
Հոքինգի բոտ ՝ 5 քայլ

Video: Հոքինգի բոտ ՝ 5 քայլ

Video: Հոքինգի բոտ ՝ 5 քայլ
Video: ԱԱԾ-ն ի՞նչ արդյունք ցույց տա, 5 մարդ բռնի, ասի՝ ֆե՞յք եմ բռնել. Էդիկ Անդրեասյան 2024, Հուլիսի
Anonim
Image
Image
Կառուցեք ձեր Hawking Bot- ը
Կառուցեք ձեր Hawking Bot- ը

Hawking Bot- ը Lego MINDSTORMS EV3 նախագիծ է, որը ոգեշնչված է հանգուցյալ Սթիվեն Հոքինգից: Ստիվեն Հոքինգը հումորի լավ զգացում ուներ, ուստի վստահ եմ, որ նա հավանություն կտար այս նախագծին: Հոքինգի բոտը կարող է շրջել խոչընդոտների շուրջը և արձագանքել շարժումներին, այնուհետև արտասանել Ստիվեն Հոքինգի հայտնի հնչյուններից մեկը և շարժվել շարժվող օբյեկտի ուղղությամբ: Այն օգտագործում է ուլտրաձայնային տվիչ, որը սկանավորում է իր միջավայրը գլուխը թափահարող շարժումով:

Քայլ 1. Կառուցեք ձեր Hawking Bot- ը

Բոլոր պահանջվող կտորները գտնվում են հիմնական EV3 Lego MINDSTORMS- ում, բացառությամբ ուլտրաձայնային տվիչի (նրա աչքերը), որը պետք է առանձին գնել:

Քայլ 2:

Պատկեր
Պատկեր

Hawking Bot- ի ծածկագիրն ամբողջությամբ գրված է python 3 -ում: Hawking Bot- ում Debian Linux- ի միջավայրում python- ը գործարկող bootable պատկերի ֆայլ կարելի է ներբեռնել ev3dev կայքից: Hawking Bot- ը գործարկելու կոդը կարելի է ներբեռնել այստեղից: Ամբողջ ծածկագիրը պարունակվում է դասի ֆայլում, այնպես որ կարող եք օգտագործել առկա մեթոդները կամ նույնիսկ փոփոխել դրանք, եթե ցանկանում եք:

Խնդրում ենք դիտել այս տեսանյութը ՝ մանրամասն հրահանգներով, թե ինչպես կարգավորել Debian Linux- ը և Python3- ը ձեր ռոբոտի վրա: Չնայած սա հատուկ Mac- ի տեղադրման համար է, այնուամենայնիվ օգտակար կլինի գործընթացի ընդհանուր պատկերացում կազմել: Սա ընթացքի մեջ է: Ուլտրաձայնային տվիչը երբեմն անվստահելի է, և դրա համար անհրաժեշտ է ավելի խելացի կոդ `« ծայրահեղությունները »հայտնաբերելու համար: Ես կցանկանայի, որ ուրիշների ներդրումները տեսնեին կոդը ավելի արդյունավետ և ավելի քիչ սխալների ենթակա դարձնելու համար:

Քայլ 3. Ստեղծեք ձեր սեփական Hawking Soundbites- ը

Լավ, հիմա ուզում եք ունենալ որոշ հայտնի մեջբերումներ կամ պարզապես մի քանի պարզ արտահայտություններ պրոֆեսոր Հոքինգի կողմից: Կան բազմաթիվ տեսաերիզներ, որտեղ կարող եք լսել, թե ինչպես է նա խոսում, այնուհետև կան նրա դասախոսությունները, որոնք իմաստության և օգտակար ձայնային խայթոցների գանձ են:

Ձեզ անհրաժեշտ է այնպիսի ծրագիր, ինչպիսին է Audacity- ն, որն աշխատում է բազմաթիվ հարթակներում ՝ ձեր նախընտրած հնչյունները ընտրելու և կտրելու համար:

Պահեք ձեր ձայնային ձայնը որպես wav մոնո ֆայլ որպես SH6, SH7,… SH11, SH12 և այլն:

Ստորև կգտնեք մի քանի նմուշ, որոնք ես ստեղծել եմ վերը նշված մեթոդի համաձայն:

Քայլ 4: Խորհուրդներ և հնարքներ

Խորհուրդներ եւ հնարքներ
Խորհուրդներ եւ հնարքներ
Խորհուրդներ եւ հնարքներ
Խորհուրդներ եւ հնարքներ

Hawking Bot- ը գալիս է ինքնավերահսկման մոդուլով `ապահովելու համար, որ բոլոր մալուխները միացված են, և մարտկոցի հզորությունը բավարար է: Թուլացած, բացակայող կամ նույնիսկ վնասված կապերը կարող են հեշտությամբ առաջանալ: Այսպիսով, այս մոդուլը շատ օգտակար է: «CheckConnection» մեթոդը ստուգում է միայն էլեկտրական միացման առկայությունը: Դուք դեռ պետք է համոզվեք, որ շարժիչները միացված են ճիշտ նավահանգստին:

Գլխի շարժումը էական է Հոքինգի բոտի համար ՝ իր տեղանքը սկանավորելու և առջևում գտնելու ամենաերկար անարգել ճանապարհը: Մալուխներին անհրաժեշտ է բավականաչափ տարածք `գլխի շարժումները տեղավորելու համար. Հետևաբար, նպատակահարմար է դրանք կապել այնպես, ինչպես ցույց է տրված լուսանկարում:

Hawking Bot- ը լավագույնս աշխատում է մեծ խոչընդոտների դեպքում և հարթ և հարթ մակերևույթի վրա: Շարժիչների համար գորգերն ավելի դժվար են, և գուցե ստիպված լինեք կարգավորել կարգավորումները `տարբեր մակերեսների վարքագիծը հարմարեցնելու համար:

Hawking Bot- ը ոչ մի կերպ կատարյալ չէ, և սա նախատիպ է, որը կշահի հետագա բարելավումներից: Կոդն ամբողջությամբ մեկնաբանված է, և ձեզ համար պետք է հեշտ լինի մշակել, թե ինչ են անում տարբեր մեթոդները: Տարբեր բիթեր մեկնաբանվել են # -ով, եթե «տպման» դիմաց նշանը հանեք, գործարկվող ծրագիրը ձեզ ցույց կտա սենսորների տարբեր ընթերցումներ և հաշվարկներ:

Քայլ 5. Առաջարկվող բարելավումներ, թարմացումներ և ապագա գաղափարներ

Այժմ, երբ դուք հաջողությամբ կառուցել եք ձեր ռոբոտը, ցանկանում եք այն հասցնել հաջորդ մակարդակի: Դուք կարող եք կատարելագործել MotionDetector մեթոդը: Հենց հիմա այնքան հաճախ դա սխալ ընթերցում է ստանում: Դուք կարող եք տեսնել իրական ընթերցումները `մեկնաբանելով disA և disB (մեթոդի բլոկի ներքևում): Սխալ ընթերցումը սովորաբար առանձնանում է այլ ընթերցումներից, այնպես որ կարող եք գրել ալգորիթմ ՝ ռոբոտին սխալ ընթերցմանն արձագանքելու համար:

Հավանաբար, դուք ցանկանում եք լիովին վերահսկել ռոբոտը և պարզապես հեռակառավարել նրա տարբեր գործառույթները: Դուք կարող եք դա անել Bluetooth- ի միջոցով և գրել Android ծրագիր ՝ ռոբոտի հետ շփվելու համար: Այնուամենայնիվ, շատ ավելի հեշտ մոտեցում կլինի ինֆրակարմիր սենսորի համար տեղ գտնելը, որը կարող է վերահսկել Hawking Bot- ը:

Ինչ վերաբերում է ռոբոտին սովորեցնել իր միջավայրի մասին: Դա կարող է իրականացվել k- ամենամոտ հարևանի մոտեցմամբ կամ, հնարավոր է, նյարդային ցանցով: EV3 աղյուսն ունի սահմանափակ մշակման հզորություն, չնայած այն աջակցում է Numpy- ին: Այլընտրանքը կլինի BrickPi- ն, որը թույլ կտա ձեզ գործարկել արհեստական ինտելեկտի գրադարան, ինչպիսին է Tensorflow- ը, սակայն այս ուղեցույցի նպատակն էր օգտագործել Lego EV3 MINDSTORMS հավաքածուն `առանց ուլտրաձայնային տվիչից բացի այլ թանկարժեք լրացուցիչ կտորներ գնելու անհրաժեշտության:

Այնուամենայնիվ, k- ամենամոտ հարևանների վերատեղադրման ուսուցման մոտեցումը պետք է աշխատի EV3 աղյուսի վրա, և սա առաջարկվող ալգորիթմն է: Ես թողնում եմ ձեզ ՝ գտնել աշխատանքային ծրագիր կամ որևէ խնդիր նկատել.

Hawkings Bot- ի ամրապնդման ուսուցում

Գաղափարն այն է, որ USS- ի 7 ընթերցումները կոդավորված են վեկտորի մեջ, իսկ վերջին 10 գլխի հարվածները օգտագործվում են 70 գրառումների հաջորդական վեկտոր ստեղծելու համար: Առաջին ընթերցումները թերի են, ուստի դրանք կլրացվեն զրոներով: Յուրաքանչյուր գրառում պարունակում է USS- ից հեռավորության արժեքը: Սա պետական վեկտորն է: Համակարգը թույլ է տալիս մուտքագրել 1000 գրառում: Հետո ամենահին գրառումը կփոխարինվի, և յուրաքանչյուր s-r զույգի տարիքային գրառումները կկրճատվեն մեկով:

Բոտը չպետք է 10 սմ -ից ավելի մոտենա օբյեկտին: Սա բացասական պարգև է ստեղծում: Պարզության համար; լավ գործողությունները պարգևատրվում են 1-ով, իսկ վատերը `0.-ով: Արդյունավետորեն դա հավանականություն է ստեղծում յուրաքանչյուր գործողություն-վիճակ համակցության համար պարգևատրման համար: Մենք կօգտագործենք զեղչված պարգևներ և epsilon ագահ քաղաքականություն:

Սա ստեղծում է 3 մեծ վիճակ ՝ վերադարձի (s-r) աղյուսակ բոլոր երեք գործողությունների համար ՝ աջ, ուղիղ առջև և ձախ: Հնարավոր է հնարավոր լինի ունենալ արագ և դանդաղ արագություններ յուրաքանչյուր գործողության համար: Այնուհետև կունենանք 6 գործողություն և 6 որոնման s-r աղյուսակ:

Ամեն անգամ, երբ գրանցվում է նոր վիճակ s, այն համեմատվում է աղյուսակների հետ, Էվկլիդեսյան հեռավորությունը (կամ նմանատիպ միջոց) օգտագործվում է մոտակա հարևանը գտնելու համար: Սա չի դասակարգվի, այլ ավելի շուտ սահմանվում է t- ն ՝ ընդունելու վիճակը որպես շատ նման, վերագրանցելու առկա վիճակը և թարմացնելու ամենաբարձր պարգևի համար և իրականացնելու դրա հետ կապված գործողությունները a. Եթե դա նման չէ (d> t) յուրաքանչյուր գործողության համար մուտքագրեք նոր s-r զույգ a. Եթե s-r- ի համար գործողությունների միջև կապ կա (նրանք բոլորն ունեն նույն պարգևը) ընտրեք պատահական, բայց դա սովորական չէ և կարող է բաց թողնվել:

t- ը պետք է փորձնականորեն որոշվի, եթե t- ը չափազանց փոքր է, նմանատիպ վիճակները անտեսվելու են, և յուրաքանչյուր վիճակ դիտվում է որպես եզակի: Չափազանց մեծ t նշանակում է, որ նույնիսկ բավականին անհամեմատելի վիճակներ են միավորված, ինչը կարող է ազդել լավ գործողություններ ընտրելու ունակության վրա: Հնարավոր է հնարավոր լինի օգտագործել վիճակագրական մեթոդներ `լավագույն t որոշելու համար:

Աղյուսակը այսպիսի տեսք ունի. Մուտքի թիվ - Պետական վեկտոր - պարգևատրում գործողության համար 1 - պարգևատրում գործողության համար 2 - պարգևատրում գործողության համար 3:

Կարծում եմ, որ իրական իրականացումը բարդ կլինի, բայց պետք է արժանի ջանքերի: Հաջողություն!

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