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

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

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

Video: Hexapod: 14 քայլ (նկարներով)
Video: BIOLOID STEM Chapter 14 Hexapod 2024, Հուլիսի
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. Ոտքերի և սերվերի փակագծերի կառուցում

Legs and Servo Brackets Construction
Legs and Servo Brackets Construction
Legs and Servo Brackets Construction
Legs and Servo Brackets Construction
Ոտքերի և Servo փակագծերի կառուցում
Ոտքերի և Servo փակագծերի կառուցում

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

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

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

Սերվո փակագծերի կտրում և հավաքում
Սերվո փակագծերի կտրում և հավաքում
Սերվո փակագծերի կտրում և հավաքում
Սերվո փակագծերի կտրում և հավաքում

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

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

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

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

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

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

Image
Image
Ոտքերի հավաքում և փորձարկում
Ոտքերի հավաքում և փորձարկում
Ոտքերի հավաքում և փորձարկում
Ոտքերի հավաքում և փորձարկում

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

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

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

Կառուցող և հավաքող մարմին
Կառուցող և հավաքող մարմին
Կառուցող և հավաքող մարմին
Կառուցող և հավաքող մարմին
Կառուցող և հավաքող մարմին
Կառուցող և հավաքող մարմին

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

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

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

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

Image
Image
Tibia և Coxa EV3
Tibia և Coxa EV3

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

Image
Image

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

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

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

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

Քայլ 12: Tibia և Coxa EV3

Tibia և Coxa EV3
Tibia և Coxa EV3
Tibia և Coxa EV3
Tibia և Coxa EV3

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

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

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

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

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

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

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

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

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

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

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

Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր
Հարթ ձևավորված ֆեմուր

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

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

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

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

Image
Image
Վերջնական քայլեր
Վերջնական քայլեր
Վերջնական քայլեր
Վերջնական քայլեր
Վերջնական քայլեր
Վերջնական քայլեր

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

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

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

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

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

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

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

OLED ՝

Իմ GitHub- ը ՝

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