Hexapod: 14 քայլ (նկարներով)
Hexapod: 14 քայլ (նկարներով)
Anonim

Ինձ մի քանի տարի հետաքրքրում է խաղալ և ստեղծել ռոբոտներ, և ինձ շատ ոգեշնչեց entենտան, այստեղ դուք կգտնեք նրա Youtube ալիքը https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T և նրա վեբ կայքը http ՝ //zentasrobots.com.

Ինտերնետում կարող եք գտնել բազմաթիվ տարբեր վաճառողների բազմաթիվ հավաքածուներ, բայց դրանք շատ ծախսատար են ՝ մինչև 1.500 $+ ՝ 4 DoF վեցանկյունանի համար, իսկ Չինաստանից հավաքածուները չունեն լավ որակ: Այսպիսով, ես որոշեցի ստեղծագործել hexapod- ով իմ ձևով: Ոգեշնչված Zenta- ի hexapod Phoenix- ով, այն կգտնեք նրա Youtube ալիքում (և մի հավաքածու, որը կարող եք գտնել https://www.lynxmotion.com/c-117-phoenix.aspx, ես զրոյից սկսել եմ ստեղծել իմ սեփականը:

Ստեղծելու համար, եթե իմ առջև դնում եմ հետևյալ թիրախները/պահանջները.

1.) Շատ զվարճացեք և սովորեք նոր բաներ:

2.) Արժեքի վրա հիմնված դիզայն (անիծված, իմ ընկերությունը ինձ ամբողջովին փչացրեց)

3.) Փայտից պատրաստված մասեր (քանի որ մարդկանցից շատերի համար և ինձ համար ավելի հեշտ է փայտ կտրելը)

4.) Անվճար մատչելի գործիքների (ծրագրային ապահովման) օգտագործումը

Այսպիսով, այն, ինչ ես օգտագործել եմ մինչ այժմ:

ա) SketchUp, մեխանիկական նախագծման համար:

բ) հաճարենու փայտ 4 մմ և 6 մմ (1/4 ):

գ) Arduino Uno, Mega, IDE:

դ) Թվային ստանդարտ սերվոներ (Amazon- ում գտնվում են լավ գնով):

ե) Dosuki and Bandsaw, հորատող մեքենա, հղկող թուղթ և ֆայլ:

Քայլ 1. Ոտքերի և սերվերի փակագծերի կառուցում

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

SketchUp- ի միջոցով մի քանի ժամ սովորելուց հետո ես ավարտեցի ոտքերի իմ առաջին դիզայնը: Ֆեմուրը օպտիմիզացված է իմ օգտագործած servo եղջյուրների չափին: Ինչպես հասկացա, բնօրինակը, կարծես, մոտ 1 դյույմ տրամագծով է, բայց իմ սերվո եղջյուրներն ունեն 21 մմ:

Իմ համակարգչում SketchUp- ի հետ ճիշտ գործածմամբ տպագրություն կատարելը, այնպես որ այն պահեցի որպես PDF, տպեցի 100%-ով, որոշ չափումներ կատարեցի և վերջապես նորից տպեցի ճիշտ մասշտաբի գործոնով:

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

Օգտագործված նյութ ՝ հաճարենու փայտ 6 մմ (1/2 )

Դրանից հետո ես որոշ փորձեր արեցի, ես չեմ փաստագրել և որոշ օպտիմալացումներ կատարեցի: Ինչպես տեսնում եք, կրծքավանդակը մի փոքր չափազանց մեծ է, ինչպես նաև ազդրը:

Սերվո եղջյուրները ազդրոսկրի միջոցով ամրացնելու համար պետք է կտրել նյութի 2 մմ -ը: Դա կարելի է անել տարբեր եղանակներով: Ուղղորդիչով կամ Forstner փորվածքով: Forstner- ն ընդամենը 200 մմ տրամագիծ ուներ, ուստի ես ստիպված էի հետպատերազմյան մի քանի գործողություններ կատարել ձեռքով ՝ սայրով:

Քայլ 2. Ֆեմուրի և տիբիայի օպտիմիզացում

Ես մի փոքր փոխել եմ դիզայնը:

1.) Տիբիան այժմ ավելի լավ է տեղավորում այն սերվոն, որը ես շատ ավելի լավ եմ օգտագործում:

2.) Ֆեմուրն այժմ մի փոքր ավելի փոքր է (առանցքից մինչև առանցք մոտ 3 դյույմ) և տեղավորում է սերվո եղջյուրները (21 մմ տրամագծով):

Ես օգտագործում էի 6 մմ հաստությամբ 6 տախտակ և դրանք սոսնձում էի երկկողմանի ժապավենով: Եթե դա բավականաչափ ամուր չէ, կարող եք անցք բացել բոլոր տախտակների միջով և դրանք պտուտակով ամրացնել: ապա մի կտոր միանգամից կտրվում է ժապավենի սղոցով: Եթե դուք բավական կոշտ եք, կարող եք նաև օգտագործել ոլորահատ սղոց:-)

Քայլ 3. Servo բրա նախագծելը

Այժմ ժամանակն է նախագծել servo բրա: Սա խիստ նախագծված է ՝ կապված օգտագործած սերվոյի հետ, որը ես օգտագործել եմ: Բոլոր մասերը պատրաստված են 6 մմ հաճարենու փայտից և նորից տես հաջորդ քայլը:

Քայլ 4. Սերվո փակագծերի կտրում և հավաքում

Կրկին ես միաժամանակ կտրեցի վեց մաս ՝ բոլորը ժապավենի սղոցի վրա: Մեթոդը նույնն է, ինչ նախկինում:

1.) Երկկողմանի ժապավենի միջոցով տախտակները սոսնձելու համար:

2.) Պտուտակները կտրելու ընթացքում ավելի շատ կայունություն ունենալու համար (այստեղ ցուցադրված չէ):

Հետո ես օգտագործել եմ որոշ մոդելային արհեստական սոսինձ ՝ դրանք իրար կպցնելու համար և երկու SPAX պտուտակ (լուսանկարում դեռ կիրառված չէ):

Նախկին վեցանկյունի համեմատ ես դեռ գնդիկավոր առանցքակալներ չեմ օգտագործում, փոխարենը ես օգտագործում եմ ընդամենը 3 մմ պտուտակներ, լվացարաններ և հետագայում ամրացվող ընկույզներ `ոտքերը մարմնի կամ շասսիի հետ հավաքելու համար:

Քայլ 5: Ոտքերի հավաքում և փորձարկում

Առաջին երկու նկարներում տեսնում եք ոտքի առաջին տարբերակը: Հաջորդը տեսնում եք հին և նոր մասերի համեմատություն և նոր մասերի (տարբերակ երկրորդ) համեմատություն բնօրինակի հետ (լուսանկարը հետին պլանում):

Ի վերջո, դուք կստանաք առաջին շարժման թեստը:

Քայլ 6. Մարմնի կառուցում և հավաքում

Մարմինը, որը ես փորձել եմ վերակառուցել լուսանկարներից: Որպես տեղեկանք, ես օգտագործել եմ servo եղջյուրը, որը ես ենթադրեցի 1 "տրամագծով: Այսպիսով, առջևի կողմը դառնում է 4.5" լայնություն, իսկ միջինը `6.5": Երկարության համար ես ենթադրում էի 7 ": Ավելի ուշ ես գնել եմ մարմնի օրիգինալ հավաքածուն և համեմատել այն: Ես մոտենում էի բնօրինակին: Վերջապես ես պատրաստեցի երրորդ տարբերակը, որը բնօրինակի 1: 1 պատճենն է:

Առաջին մարմնի հավաքածուն, որը ես պատրաստել եմ 6 մմ շերտ փայտից, այստեղ տեսնում եք 4 մմ շերտից պատրաստված երկրորդ տարբերակը, որը ես պարզել եմ, որ բավականին ամուր և կոշտ է: Ի տարբերություն օրիգինալ հավաքածուի, ես սերվոյի եղջյուրը տեղադրում էի վերևում, համապատասխանաբար: նյութի միջոցով (սա կարող եք տեսնել նաև ազդրոսկրի հետ): Պատճառն այն է, որ ես ալյումինե թանկարժեք եղջյուրներ գնելու տրամադրություն չունեմ, փոխարենը ցանկանում եմ օգտագործել արդեն առաքվող պլաստմասե եղջյուրները: Մյուս պատճառն այն է, որ ես մոտենում եմ սերվոյին, ուստի թափանցիկ ուժերն ավելի քիչ են: Սա ավելի կայուն կապ է ստեղծում:

Ի դեպ, երբեմն լավ է, որ Գանեշն ինքնաթիռում է: Շնորհակալ եմ իմ ընկեր Թեջասին:-)

Քայլ 7: Էլեկտրոնիկայի առաջին թեստերը

Այժմ բոլոր արվեստները հավաքված են միասին: Լավ, ես գիտեմ, որ այն այնքան էլ գեղեցիկ տեսք չունի, բայց իրականում ես շատ եմ փորձարկում: Տեսահոլովակում կարող եք տեսնել որոշ պարզ կանխորոշված հաջորդականությունների նվագարկում, իրականում հակադարձ կինեմատիկա չկա: Կանխորոշված քայլվածքը ճիշտ չի աշխատում, քանի որ այն նախատեսված է 2 DoF- ի համար:

Այս օրինակում ես օգտագործում եմ Lynxmotion- ի SSC-32U servo վերահսկիչը, այն կգտնեք այստեղ ՝

Օրեր առաջ ես նաև օգտագործում էի մեկ այլ PWM վերահսկիչ (Adafruit 16-ալիքային PWM վերահսկիչ, https://www.adafruit.com/product/815), բայց SCC- ն իրականում ունի մի քանի գեղեցիկ հատկություններ, օրինակ ՝ դանդաղեցնել սպասարկողները:

Այսպիսով, դա արդեն: Հաջորդը ես պետք է պարզեմ, թե ինչպես անել հակադարձ կինեմատիկայի (ԻԿ) աշխատանքները, գուցե ես ծրագրեմ մի պարզ քայլվածք, ինչպիսին է նախապես սահմանված SSC վերահսկիչում: Ես արդեն գտել եմ այստեղ պատրաստ օգտագործման օրինակ https://github.com/KurtE/Arduino_Phoenix_Parts, բայց դեռ չեմ հասցրել գործարկել: Չգիտեմ ինչու, բայց ես աշխատում եմ դրա վրա:

Այսպիսով, ահա ToDo- ի կարճ ցուցակը:

1.) mրագրեք մի պարզ քայլվածք, ինչպիսին է SSC- ում կառուցված լինելը:

2.) mրագրեք PS3 վերահսկիչի դասը/փաթեթավորումը Arduino Phoenix- ի համար:

3.) Ստացեք ծածկագիրը KurtE- ից կամ գրեք իմ սեփական կոդը:

Այն ծառայությունները, որոնք ես օգտագործում եմ, գտել եմ Amazon- ում https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1: Գինը բավականին լավ է, բայց որակը կարող է շատ ավելի լավ լինել:

Քայլ 8. Առաջին քայլքի պարզ թեստ

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

Այսպիսով, մաղթում եմ ձեզ շատ զվարճալի: Ես հիմա պետք է սովորեմ IK;-)

Դիտարկումներ. Երբ ուշադիր հետևում եք ոտքերին, կտեսնեք, որ որոշ սերվոներ իրենց տարօրինակ են պահում: Նկատի ունեմ, որ նրանք միշտ հարթ չեն շարժվում, գուցե ես պետք է դրանք փոխարինեմ այլ սպասարկողներով:

Քայլ 9. PS3 վերահսկիչի տեղափոխում

Այսօր առավոտյան ես աշխատում էի Ֆենիքսի ծածկագրի համար փաթաթան գրելու վրա: Ինձ մի քանի ժամ տևեց, մոտ 2-3, դա անելու համար: կոդը վերջնականապես կարգաբերված չէ, և ես լրացուցիչ վրիպազերծում եմ ավելացրել վահանակին: Մինչ այժմ աշխատում է:-)

Բայց, ի դեպ, երբ ես աշխատում էի Phoenix- ի ծածկագրով, թվում է, որ բոլոր սերվոները շրջված են (հակառակ ուղղությամբ):

Երբ ցանկանում եք ինքներդ փորձել, ձեզ հարկավոր է KurtE- ի կոդը ՝ որպես հիմք https://github.com/KurtE/Arduino_Phoenix_Parts: Հետևեք կոդը տեղադրելու հրահանգներին: Պատճենեք Phoenix_Input_PS թղթապանակը ձեր Arduino գրադարանի թղթապանակում (սովորաբար ձեր ուրվագծերի թղթապանակի ենթապարկը), և Phoenix_PS3_SSC32 թղթապանակը ձեր ուրվագծերի թղթապանակում:

Տեղեկություն. Եթե դուք փորձառու չեք Arduino- ի և գործիքների հետ և որոշակի խնդիրներ ունեք, դիմեք Arduino համայնքին (www.arduino.cc): Երբ խնդիրներ ունեք KurtE- ի Phoenix ծածկագրի հետ, դիմեք նրան: Շնորհակալություն

Arnգուշացում. Կոդի իմացությունը, իմ կարծիքով, սկսնակների համար ոչինչ է, այնպես որ դուք պետք է շատ ծանոթ լինեք C/C ++ - ին, ծրագրավորմանը և ալգորիթմին: Կոդն ունի նաև պայմանականորեն կազմված շատ ծածկագիր, որը վերահսկվում է #սահմանումներով, ինչը շատ դժվարացնում է կարդալն ու հասկանալը:

Սարքավորումների ցուցակ.

  • Arduino Mega 2560
  • USB հոսթ վահան (Arduino- ի համար)
  • PS3 վերահսկիչ
  • LynxMotion SSC-32U սերվո վերահսկիչ
  • Մարտկոց 6 Վ (խնդրում ենք կարդալ ձեր ամբողջ HW- ի պահանջները, այլապես կարող եք վնասել այն)
  • Arduino IDE
  • Անհրաժեշտության դեպքում որոշ USB մալուխներ, անջատիչներ և այլ փոքր մասեր:

Եթե ձեզ դուր է գալիս PS2 կարգավորիչը, ինտերնետում կգտնեք շատ տեղեկություններ այն մասին, թե ինչպես միանալ Arduino- ին:

Այսպիսով, խնդրում եմ համբերատար լինել: Ես կթարմացնեմ այս քայլը, երբ ծրագրաշարը ճիշտ աշխատի:

Քայլ 10. Առաջին IK թեստ

Ես գտա Ֆենիքսի կոդի այլ նավահանգիստ, որն ավելի լավ է աշխատում (https://github.com/davidhend/Hexapod), գուցե ես այլ կոդի հետ կոնֆիգուրացիայի խնդիր ունեմ: Թվում է, թե ծածկագիրը մի փոքր խելագարված է, և քայլերն այնքան էլ հարթ տեսք չունեն, բայց ինձ համար սա մեծ քայլ է առջևում:

Խնդրում ենք նկատի ունենալ, կոդը իրականում փորձնական է: Ես պետք է շատ բան մաքրեմ և շտկեմ և հաջորդ օրերին թարմացում կհրապարակեմ: PS3 նավահանգիստը հիմնված է արդեն հրապարակված PS3 պորտի վրա, և ես դեն եմ նետել PS2 և XBee ֆայլերը:

Քայլ 11: Երկրորդ IK թեստ

Լուծումը այնքան հեշտ էր: Ես ստիպված էի ուղղել որոշ կազմաձևման արժեքներ և շրջել բոլոր servo անկյունները: Հիմա աշխատում է:-)

Քայլ 12: Tibia և Coxa EV3

Ես չդիմացա, ուստի պատրաստեցի նոր տիբիա և կոքսա (սերվո փակագծեր): Սա իմ պատրաստած երրորդ տարբերակն է: Նորերն ավելի կլոր ձև ունեն և ունեն ավելի օրգանական/բիոնիկ տեսք:

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

1.) Չեմ պարզել, թե ինչու է BT- ն ունենում 2..3 վայրկյան ուշացում:

2.) Սերվոյի որակը ցածր է:

Գործեր որ պետք է անել:

* Սպասարկիչների միացումը պետք է բարելավվի:

* Պահանջվում է մարտկոցի լավ պահիչ:

* Պետք է գտնել էլեկտրոնիկայի տեղադրման միջոց:

* Կրկին չափաբերեք սերվերը:

* Մարտկոցի համար տվիչների և լարման մոնիտորի ավելացում:

Քայլ 13: Հարթ ձևավորված ֆեմուր

Օրեր առաջ ես արդեն նոր ֆեմուր եմ արել, քանի որ լիովին գոհ չէի նախորդից: Առաջին նկարում կտեսնեք տարբերությունները: Հինը ծայրերում ուներ 21 մմ տրամագիծ, նորերը ՝ 1 դյույմ: Ես իմ ֆրեզերային հաստոցով լվացքի անցքեր կատարեցի ազդրոսկրի մեջ ՝ օգնության պարզ գործիքով, ինչպես կարող եք տեսնել հաջորդ երեք նկարներում:

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

Վերջին նկարի վրա դուք կտեսնեք հնի և նորի համեմատությունը: Չգիտեմ ինչ ես մտածում, բայց ինձ նորը շատ ավելի է դուր գալիս:

Քայլ 14: Վերջնական քայլեր

Ես հիմա կավարտեմ այս ձեռնարկը, այլապես այն կդառնա անվերջ պատմություն:-):

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

Հետևի տեսք. 20 ամպ հոսանքի սենսոր, 10 կ անոթից ձախ: Երբ ռոբոտը քայլում է, այն հեշտությամբ կծախսի 5 ամպեր: 10 կ անոթից աջ կտեսնեք OLED 128x64 պիքսել, որը ցույց է տալիս կարգավիճակի մասին որոշ տեղեկություններ:

Առջևի տեսք. Պարզ ուլտրաձայնային տվիչ HC-SR04, որը դեռ ինտեգրված չէ SW- ում:

Աջ կողմի տեսք ՝ MPU6050 արագացուցիչ և ժիրո (6 առանցք):

Ձախ կողմի տեսք. Պիեզո բարձրախոս:

Մեխանիկական դիզայնն այժմ քիչ թե շատ արված է, բացառությամբ սպասարկողների: Այսպիսով, հաջորդ խնդիրները կլինեն որոշ սենսորների ինտեգրումը SW- ին: Դրա համար ես ստեղծել եմ GitHub հաշիվ այն SW- ով, որն օգտագործում եմ, որը հիմնված է KurtE- ի Phoenix SW- ի պատկերի վրա:

OLED ՝

Իմ GitHub- ը ՝

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