Cuprins:

Hexapod: 14 pași (cu imagini)
Hexapod: 14 pași (cu imagini)

Video: Hexapod: 14 pași (cu imagini)

Video: Hexapod: 14 pași (cu imagini)
Video: Leap Motion SDK 2024, Iulie
Anonim
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod

Sunt interesat de câțiva ani să joc și să creez roboți și m-a inspirat foarte mult Zenta, aici veți găsi canalul său Youtube https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T și site-ul său web

Puteți găsi o mulțime de kituri de la mulți furnizori diferiți pe internet, dar sunt foarte costisitoare, până la 1.500 $ + pentru un hexapod de 4 DoF, iar kiturile din China nu au o calitate bună. Deci, am decis să creez în hexapod în felul meu. Inspirat de hexapodul Phoenix al lui Zenta, îl veți găsi în canalul său de Youtube (și un kit pe care îl puteți găsi https://www.lynxmotion.com/c-117-phoenix.aspx, am început să creez propriul meu de la zero.

Pentru a crea dacă sunt setate următoarele obiective / cerințe pentru propria mea:

1.) Distrează-te mult și învață lucruri noi.

2.) Proiectare bazată pe costuri (la naiba, compania mea m-a stricat total)

3.) Piese din lemn stratificat (pentru că este mai ușor pentru majoritatea oamenilor și pentru mine să tăiem lemn)

4.) Utilizarea instrumentelor disponibile gratuite (software)

Deci, ce am folosit până acum?

a) SketchUp, pentru proiectarea mecanică.

b) Lemn stratificat de fag 4mm și 6mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Servere digitale standard (găsite la Amazon la un preț bun).

e) Dosuki și ferăstrău, o mașină de găurit, hârtie de șlefuit și o pila.

Pasul 1: Construcția picioarelor și a brațelor servo

Construcția picioarelor și a suporturilor servo
Construcția picioarelor și a suporturilor servo
Construcția picioarelor și a suporturilor servo
Construcția picioarelor și a suporturilor servo
Construcție de picioare și consolă servo
Construcție de picioare și consolă servo

Mai întâi făceam niște cercetări pe internet pentru a afla cum să fac un robot, dar nu am reușit să găsesc informații bune despre cum să faci proiectarea mecanică. Așa că m-am zbătut mult și în cele din urmă am decis să folosesc SketchUp.

După câteva ore de învățare făcând cu SketchUp, am terminat cu primul meu design al picioarelor. Femurul este optimizat la dimensiunea coarnelor servo pe care le folosesc. După cum mi-am dat seama, originalul pare să aibă un diametru de aproximativ 1 , dar coarnele mele servo au 21 mm.

Efectuarea unei tipăriri cu scara corectă nu a funcționat corect cu SketchUp pe computerul meu, așa că am salvat-o în format PDF, am făcut o imprimare cu 100%, am făcut unele măsurători și, în final, am imprimat din nou cu factorul de scalare corect.

Pentru prima încercare am creat doar arte pentru două picioare. Pentru aceasta, am stivuit două plăci, am lipit (pentru hârtie de perete) imprimarea pe ea și am decupat piesele cu un model de ferăstrău manual.

Material folosit: lemn stratificat de fag 6mm (1/2 )

Ulterior am făcut câteva experimente, nu m-am documentat și am făcut câteva optimizări. După cum puteți vedea, tibia este puțin supradimensionată, precum și femurul.

Pentru a monta coarnele servo prin femur, trebuie tăiate 2 mm din material. Acest lucru se poate face în diferite moduri. Cu un router sau cu un burghiu Forstner. Forstner avea doar 200 mm în diametru, așa că a trebuit să fac niște postbelici de mână cu o dalta.

Pasul 2: Optimizarea femurului și a tibiei

Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei
Optimizarea femurului și a tibiei

Am schimbat puțin designul.

1.) Tibia montează acum servo-ul pe care îl folosesc mult mai bine.

2.) Femurul este acum puțin mai mic (aproximativ 3 de la axă la axă) și se potrivește cu coarnele servo (diametrul de 21 mm).

Foloseam 6 plăci din lemn stratificat de 6 mm și le lipeam împreună cu bandă dublă. Dacă acest lucru nu este suficient de puternic, puteți face o gaură prin toate plăcile și utilizați un șurub pentru a le fixa împreună. apoi o piesă este decupată simultan cu ferăstrăul. Dacă ești suficient de dur, poți folosi și un puzzle:-)

Pasul 3: Proiectarea suportului Servo

Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo
Proiectarea Suportului Servo

Acum este timpul să proiectăm servo-suportul. Acest lucru este puternic conceput în legătură cu servo-ul folosit de mine. Toate piesele sunt din lemn stratificat de fag 6 mm din nou, a se vedea pasul următor.

Pasul 4: tăierea și asamblarea parantezelor servo

Tăierea și asamblarea consolelor servo
Tăierea și asamblarea consolelor servo
Tăierea și asamblarea consolelor servo
Tăierea și asamblarea consolelor servo

Din nou am tăiat șase părți în același timp, toate pe ferăstrău. Metoda este aceeași ca înainte.

1.) Folosind bandă dublă, pentru a lipi plăcile împreună.

2.) Șuruburi pentru a avea mai multă stabilitate în timpul tăierii (nu este prezentat aici).

Apoi am folosit câteva modele de lipici pentru a le lipi împreună și două șuruburi SPAX (nu sunt încă aplicate în fotografie).

În comparație cu hexapodul original, nu folosesc încă rulmenți cu bile, în schimb folosesc doar șuruburi de 3 mm, șaibe și piulițe autofixante ulterior pentru a asambla picioarele cu caroseria / șasiul.

Pasul 5: Asamblarea picioarelor și testarea

Image
Image
Asamblarea picioarelor și testarea
Asamblarea picioarelor și testarea
Asamblarea picioarelor și testarea
Asamblarea picioarelor și testarea

În primele două imagini vedeți prima versiune a unui picior. Apoi vedeți comparația pieselor vechi și noi și o comparație a pieselor noi (versiunea a doua) cu cea originală (fotografia din fundal).

În cele din urmă veți face un prim test de mișcare.

Pasul 6: Construirea și asamblarea corpului

Corpul de construcție și asamblare
Corpul de construcție și asamblare
Corpul de construcție și asamblare
Corpul de construcție și asamblare
Corpul de construcție și asamblare
Corpul de construcție și asamblare

Corpul pe care am încercat să îl reconstruiesc din fotografii. Ca referință am folosit claxonul servo, pe care l-am presupus cu 1 "diametru. Deci, partea din față devine o lățime de 4,5" și mijloc 6,5 ". Pentru lungime am presupus 7". Ulterior am cumpărat kitul original pentru caroserie și l-am comparat. Mă apropiam foarte mult de original. În cele din urmă, am făcut o a treia versiune, care este o copie 1: 1 a originalului.

Primul set de caroserie pe care l-am făcut din lemn de straturi de 6 mm, aici vedeți a doua versiune din lemn de straturi de 4 mm, despre care am aflat că este suficient de puternic și rigid. Spre deosebire de kitul original, montam servo claxonul deasupra, resp. prin material (puteți vedea acest lucru și cu femurul). Motivul este că nu am chef să cumpăr coarne de aluminiu scumpe, în schimb vreau să folosesc coarnele de plastic deja livrate. Un alt motiv este că mă apropii de servo, deci forțele de strălucire sunt mai mici. Acest lucru face o conexiune mai stabilă.

Apropo, uneori este bine să aveți Ganesh la bord. Mulțumesc prietenului meu Tejas:-)

Pasul 7: Primele teste Elektronics

Image
Image
Tibia și Coxa EV3
Tibia și Coxa EV3

Toate artele sunt acum reunite. OK, știu că nu arată foarte frumos, dar de fapt experimentez foarte mult. În videoclip puteți vedea redarea unor secvențe predefinite simple, de fapt nu există nicio cinematică inversă implementată. Mersul predefinit nu funcționează corect, deoarece este proiectat pentru un 2 DoF.

În acest exemplu, folosesc servo-controlerul SSC-32U de la Lynxmotion, îl veți găsi aici:

Cu câteva zile în urmă, foloseam și un alt controler PWM (Adafruit 16-channel PWM controller, https://www.adafruit.com/product/815), dar SCC are de fapt niște caracteristici frumoase, cum ar fi încetinirea servoarelor.

Deci, asta e până acum. În continuare trebuie să aflu cum să funcționeze cinematica inversă (IK), poate voi programa un mers simplu ca cel predefinit în controlerul SSC. Am găsit deja un exemplu gata de utilizare aici https://github.com/KurtE/Arduino_Phoenix_Parts, dar încă nu l-am executat. Nu am idee de ce, dar lucrez la.

Așadar, iată o listă scurtă de ToDo.

1.) Programați un mers simplu, cum ar fi construirea în SSC.

2.) Programați o clasă / împachetare de controler PS3 pentru Arduino Phoenix.

3.) Obțineți codul de la KurtE care rulează sau scrieți propriul cod.

Servo-urile pe care le folosesc le-am găsit pe Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Prețul este destul de bun, dar calitatea ar putea fi mult mai bună.

Pasul 8: primul test de mers simplu

După cum am menționat în ultimul pas, am încercat să-mi programez propria secvență de mers. Acesta este unul foarte simplu, ca o jucărie mecanică și nu este optimizat pentru corpul pe care îl folosesc aici. Un corp simplu drept ar fi mult mai bun.

Așadar, vă doresc multă distracție. Trebuie să învăț IK acum;-)

Observații: Când urmăriți cu atenție picioarele, veți vedea că unele servouri se comportă ciudat. Ceea ce vreau să spun este că nu se mișcă întotdeauna netede, poate că trebuie să le înlocuiesc cu alte servouri.

Pasul 9: Portarea controlerului PS3

În această dimineață lucram la scrierea unui wrapper pentru codul Phoenix. Mi-a luat câteva ore, cam 2-3, să fac asta. codul nu este în cele din urmă depanat și am adăugat câteva depanări suplimentare în consolă. Funcționează până acum:-)

Dar apropo, când rulam codul Phoenix, se pare că toate servo-urile rulează invers (direcție opusă).

Când doriți să încercați singur, aveți nevoie de codul de la KurtE ca bază https://github.com/KurtE/Arduino_Phoenix_Parts. Urmați instrucțiunile pentru instalarea codului. Copiați folderul Phoenix_Input_PS în folderul bibliotecii Arduino (de obicei subfolderul folderului dvs. de schiță) și folderul Phoenix_PS3_SSC32 în folderul de schițe.

Informații: Dacă nu aveți experiență cu Arduino și instrumente și aveți probleme, vă rugăm să contactați comunitatea Arduino (www.arduino.cc). Când aveți probleme cu codul Phoenix de la KurtE, vă rugăm să îl contactați. Mulțumiri.

Avertisment: Înțelegerea codului nu este, în opinia mea, nimic pentru începători, așa că trebuie să fii foarte familiarizat cu C / C ++, programare și algoritm. Codul are, de asemenea, o mulțime de cod compilat condiționat, controlat de #defines, ceea ce face foarte dificil de citit și înțeles.

Hardwarelist:

  • Arduino Mega 2560
  • Scut gazdă USB (pentru Arduino)
  • Controler PS3
  • Servomotor LynxMotion SSC-32U
  • Baterie de 6 V (vă rugăm să citiți cerințele de pe toate HW-ul dvs., altfel îl puteți deteriora)
  • Arduino IDE
  • Unele cabluri USB, comutatoare și alte piese mici, după cum este necesar.

Dacă vă place un controler PS2, veți găsi o mulțime de informații pe internet despre cum să vă conectați la Arduino.

Deci, vă rog să aveți răbdare. Voi actualiza acest pas, când software-ul funcționează corect.

Pasul 10: Primul test IK

Image
Image

Am găsit un alt port al codului Phoenix care funcționează mult mai bine (https://github.com/davidhend/Hexapod), poate am probleme de configurare cu celălalt cod. Codul pare să fie un pic buggy și mersul nu arată foarte lin, dar pentru mine acesta este un mare pas înainte.

Vă rugăm să luați în considerare, codul este de fapt experimental. Trebuie să fac curățenie și să corectez multe și voi publica o actualizare în următoarele zile. Portul PS3 se bazează pe portul PS3 deja publicat și am aruncat fișierele PS2 și XBee.

Pasul 11: Al doilea test IK

Soluția a fost atât de ușoară. A trebuit să corectez unele valori de configurare și să inversez toate unghiurile servo. Acum functioneaza:-)

Pasul 12: Tibia și Coxa EV3

Tibia și Coxa EV3
Tibia și Coxa EV3
Tibia și Coxa EV3
Tibia și Coxa EV3

Nu am putut rezista, așa că am făcut noi tibii și coxa (servo brackets). Aceasta este acum a treia versiune pe care am făcut-o. Cele noi sunt mai rotunde și au un aspect mai organic / bionic.

Deci, starea reală este. Hexapodul funcționează, dar încă mai au probleme cu câteva lucruri.

1.) Nu am aflat de ce BT are o întârziere de 2..3 secunde.

2.) Calitatea servo este slabă.

Lucruri de făcut:

* Cablarea servo-urilor trebuie îmbunătățită.

* Aveți nevoie de un suport de baterie bun.

* Trebuie să găsiți o modalitate de a monta dispozitivele electronice.

* Recalibrați servo-urile.

* Adăugarea de senzori și un monitor de tensiune pentru baterie.

Pasul 13: femur în formă netedă

Femur în formă netedă
Femur în formă netedă
Femur în formă netedă
Femur în formă netedă
Femur în formă netedă
Femur în formă netedă
Femur în formă netedă
Femur în formă netedă

Acum câteva zile am făcut deja un femur nou, pentru că nu eram mulțumit pe deplin de cel anterior. În prima imagine veți vedea diferențele. Cele vechi aveau un diametru de 21 mm la capete, cele noi au diametrul de 1 inch. Am făcut găuri de scufundare în femur cu mașina de frezat cu un instrument simplu de ajutor, după cum puteți vedea în următoarele trei imagini.

Înainte de a introduce chiuvetele în femur, este logic să găuriți toate găurile, altfel poate deveni dificil. Claxonul servo se potrivește foarte bine, următorul pas, care nu este prezentat aici, conferă marginilor o formă rotundă. Pentru aceasta am folosit un bit de ruter cu o rază de 3 mm.

Pe ultima imagine veți vedea o comparație între cea veche și cea nouă. Nu știu ce crezi, dar mie îmi place mult mai mult noul.

Pasul 14: Pașii finali

Image
Image
Pașii finali
Pașii finali
Pașii finali
Pașii finali
Pașii finali
Pașii finali

Voi termina acest tutorial acum, altfel va deveni o poveste interminabilă:-).

În videoclip, veți vedea codul Phoenix al lui KurtE rulând cu unele dintre modificările mele. Robotul nu se mișcă perfect, îmi pare rău pentru asta, dar serviciile ieftine au o calitate proastă. Am comandat alte servome, tocmai le-am testat pe două cu rezultate bune și încă aștept livrarea. Deci, îmi pare rău, nu vă pot arăta cum funcționează robotul cu noile servo.

Vedere din spate: un senzor de curent de 20 amperi, la stânga potului de 10 k. Când robotul merge, va consuma cu ușurință 5 amperi. În partea dreaptă a potului de 10 k, veți vedea un pixel OLED 128x64 care prezintă unele informații despre stare.

Vedere din față: un senzor ultrasonic simplu HC-SR04, care nu este încă integrat în SW.

Vedere laterală dreaptă: accelerator MPU6050 și giro (cu 6 axe).

Vedere laterală stângă: Difuzor piezo.

Proiectarea mecanică este acum mai mult sau mai puțin realizată, cu excepția servoarelor. Deci, următoarele sarcini vor fi integrarea unor senzori în SW. Pentru aceasta am creat un cont GitHub cu SW-ul pe care îl folosesc, care se bazează pe un instantaneu al Phoenix SW al lui KurtE.

OLED:

GitHub-ul meu:

Recomandat: