Cuprins:

Robot cvadruped cu alimentare Arduino imprimat 3D: 13 pași (cu imagini)
Robot cvadruped cu alimentare Arduino imprimat 3D: 13 pași (cu imagini)

Video: Robot cvadruped cu alimentare Arduino imprimat 3D: 13 pași (cu imagini)

Video: Robot cvadruped cu alimentare Arduino imprimat 3D: 13 pași (cu imagini)
Video: Top 10 Arduino Projects 2018 | Amazing Ardiuno School Projects 2024, Decembrie
Anonim
Robot cvadruped cu alimentare Arduino imprimat 3D
Robot cvadruped cu alimentare Arduino imprimat 3D
Robot cvadruped cu alimentare Arduino imprimat 3D
Robot cvadruped cu alimentare Arduino imprimat 3D
Robot cvadruped cu alimentare Arduino imprimat 3D
Robot cvadruped cu alimentare Arduino imprimat 3D

Proiecte Fusion 360 »

Din Instructables anterioare, puteți vedea probabil că am un profund interes pentru proiectele robotizate. După Instructable-ul anterior, unde am construit un robot biped, am decis să încerc să fac un robot patruped care să poată imita animale precum câinii și pisicile. În acest Instructable, vă voi arăta designul și asamblarea patrupedului robot.

Obiectivul principal în timpul construirii acestui proiect a fost de a face sistemul cât mai robust posibil, astfel încât, în timp ce experimentam diverse mersuri de mers pe jos și de rulare, nu ar trebui să mă îngrijorez în mod constant de defectarea hardware-ului. Acest lucru mi-a permis să împing hardware-ul la limita sa și să experimentez cu mersuri și mișcări complexe. Un obiectiv secundar a fost acela de a face ca patrupedul să fie relativ scăzut folosind piese hobby ușor disponibile și imprimare 3D, ceea ce a permis prototiparea rapidă. Aceste două obiective combinate oferă o bază solidă pentru a efectua diferite experimente, permițându-i să dezvolte patrupedul pentru cerințe mai specifice, cum ar fi navigația, evitarea obstacolelor și locomoția dinamică.

Consultați videoclipul atașat mai sus pentru a vedea o demonstrație rapidă a proiectului. Continuă pentru a-ți crea propriul robot quadruped cu motor Arduino și votează în concursul „Make it Move” dacă ți-a plăcut proiectul.

Pasul 1: Prezentare generală și proces de proiectare

Prezentare generală și proces de proiectare
Prezentare generală și proces de proiectare
Prezentare generală și proces de proiectare
Prezentare generală și proces de proiectare
Prezentare generală și proces de proiectare
Prezentare generală și proces de proiectare

Patrupedul a fost proiectat în software-ul de modelare 3D Fusion 360 pentru Autodesk. Am început prin importarea servomotorelor în design și am construit picioarele și corpul în jurul lor. Am proiectat consolele pentru servomotor care oferă un al doilea punct de pivot diametral opus arborelui servomotorului. Având arbori duali la fiecare capăt al motorului conferă stabilitate structurală proiectării și elimină orice înclinare care poate apărea atunci când picioarele sunt puse să suporte o anumită sarcină. Legăturile au fost proiectate pentru a ține un lagăr, în timp ce suporturile au folosit un șurub pentru arbore. Odată ce legăturile au fost montate pe arbori folosind o piuliță, rulmentul ar oferi un punct de pivotare neted și robust pe partea opusă a arborelui servomotorului.

Un alt obiectiv în timpul proiectării patrupedului a fost să păstreze modelul cât mai compact posibil pentru a utiliza la maximum cuplul oferit de servo-motoare. Dimensiunile legăturilor au fost realizate pentru a obține o gamă largă de mișcare, reducând în același timp lungimea totală. Făcându-le prea scurte, consolele se vor ciocni, reducând gama de mișcare și făcând-o prea lungă, ar exercita un cuplu inutil asupra dispozitivelor de acționare. În cele din urmă, am proiectat corpul robotului pe care s-ar monta Arduino și alte componente electronice. De asemenea, am lăsat puncte de montare suplimentare pe panoul superior pentru a face proiectul scalabil pentru îmbunătățiri suplimentare. Odată s-ar putea adăuga senzori, cum ar fi senzori de distanță, camere sau alte mecanisme acționate, cum ar fi mânerele robotizate.

Notă: piesele sunt incluse într-unul din pașii următori.

Pasul 2: Materiale necesare

Materiale necesare
Materiale necesare
Materiale necesare
Materiale necesare

Iată lista tuturor componentelor și pieselor necesare pentru a-ți crea propriul robot Arduino Powered Quadruped. Toate piesele ar trebui să fie disponibile în mod obișnuit și ușor de găsit în magazinele locale de hardware sau online.

ELECTRONICĂ:

Arduino Uno x 1

Servomotor Towerpro MG995 x 12

Arduino Sensor Shield (recomand versiunea V5 dar aveam versiunea V4)

Sârme jumper (10 bucăți)

MPU6050 IMU (opțional)

Senzor cu ultrasunete (opțional)

HARDWARE:

Rulmenți cu bile (8x19x7mm, 12 bucăți)

Piulițe și șuruburi M4

Filament pentru imprimantă 3D (în cazul în care nu dețineți o imprimantă 3D, ar trebui să existe o imprimantă 3D într-un spațiu de lucru local sau tipăririle pot fi făcute online la prețuri destul de ieftine)

Foi acrilice (4 mm)

INSTRUMENTE

imprimantă 3d

Cutter cu laser

Cel mai semnificativ cost al acestui proiect îl reprezintă cele 12 servo-motoare. Vă recomand să mergeți la versiunea mid range la high range în loc să folosiți cele ieftine din plastic, deoarece acestea tind să se rupă ușor. Cu excepția instrumentelor, costul total al acestui proiect este de aproximativ 60 USD.

Pasul 3: Piese fabricate digital

Piese fabricate digital
Piese fabricate digital
Piese fabricate digital
Piese fabricate digital
Piese fabricate digital
Piese fabricate digital

Părțile necesare pentru acest proiect trebuiau să fie personalizate, prin urmare am folosit puterea pieselor fabricate digital și CAD pentru a le construi. Majoritatea pieselor sunt imprimate 3D, în afară de câteva care sunt tăiate cu laser din acrilic de 4 mm. Imprimările au fost realizate la 40% umplutură, 2 perimetre, duză de 0,4 mm și o înălțime a stratului de 0,1 mm cu PLA. Unele dintre piese necesită suporturi, deoarece au o formă complexă cu consolă, însă suporturile sunt ușor accesibile și pot fi îndepărtate cu ajutorul unor tăietoare. Puteți alege culoarea la alegere a filamentului. Mai jos puteți găsi lista completă de piese și STL-uri pentru a imprima propria versiune și modelele 2D pentru piesele tăiate cu laser.

Notă: De aici înainte, părțile vor fi menționate folosind numele din lista următoare.

Piese imprimate 3D:

  • Suport servo pentru șold x 2
  • oglindă pentru servomotor pentru șold x 2
  • suport pentru genunchi x 2
  • oglindă cu suport pentru genunchi x 2
  • suport de rulment x 2
  • oglindă suport de rulment x 2
  • piciorul x 4
  • legătură servo claxon x 4
  • biela x 4
  • suport arduino x 1
  • suport senzor de distanță x 1
  • Suport L x 4
  • bucșă de rulment x 4
  • distanțier servo corn 24

Piese tăiate cu laser:

  • panou servoporter x 2
  • panoul superior x 1

În total, există 30 de părți care trebuie imprimate 3D, cu excepția diferitelor distanțieri și 33 de piese fabricate digital în total. Timpul total de imprimare este de aproximativ 30 de ore.

Pasul 4: Pregătirea linkurilor

Pregătirea legăturilor
Pregătirea legăturilor
Pregătirea legăturilor
Pregătirea legăturilor
Pregătirea legăturilor
Pregătirea legăturilor

Puteți începe asamblarea prin configurarea unor părți la început, care vor face procesul de asamblare final mai ușor de gestionat. Puteți începe cu linkul. Pentru a face legătura lagărului, șlefuiți ușor suprafața interioară a găurilor pentru lagăr, apoi împingeți lagărul în gaura de pe ambele capete. Asigurați-vă că împingeți rulmentul până când o parte este la același nivel. Pentru a construi legătura servo claxon, apucați două claxoane servo circulare și șuruburile care au venit împreună cu ele. Așezați coarnele pe imprimarea 3D și aliniați cele două găuri, apoi înșurubați cornul pe imprimarea 3D atașând șurubul de pe partea de imprimare 3D. A trebuit să folosesc niște distanțieri servo-claxon 3D, deoarece șuruburile furnizate erau puțin lungi și se intersectau cu corpul servomotorului în timp ce se rotea. Odată ce legăturile sunt construite, puteți începe să configurați diferiții suporturi și paranteze.

Repetați acest lucru pentru toate cele 4 legături de ambele tipuri.

Pasul 5: Pregătirea parantezelor servo

Pregătirea parantezelor servo
Pregătirea parantezelor servo
Pregătirea parantezelor servo
Pregătirea parantezelor servo
Pregătirea parantezelor servo
Pregătirea parantezelor servo

Pentru a configura suportul pentru servodirecție, pur și simplu treceți un șurub de 4 mm prin gaură și fixați-l cu o piuliță. Aceasta va funcționa ca axa secundară pentru motor. De pe suportul servo pentru șold, treceți două șuruburi prin cele două găuri și fixați-le cu încă două piulițe. Apoi, apucați un alt servocorn circular și atașați-l la secțiunea ușor ridicată a suportului folosind cele două șuruburi care au venit cu coarnele. Încă o dată v-aș recomanda să utilizați distanțierul servo corn, astfel încât șuruburile să nu iasă în spațiul pentru servo. În cele din urmă, apucați partea suportului lagărului și împingeți un lagăr în gaură. Poate fi necesar să șlefuiți ușor suprafața interioară pentru o potrivire bună. Apoi, împingeți o apăsare a lagărului în lagăr spre care se îndoaie piesa suportului lagărului.

Consultați imaginile atașate mai sus în timp ce construiți parantezele. Repetați acest proces pentru restul parantezelor. Cele în oglindă sunt similare, doar totul este oglindit.

Pasul 6: Asamblarea picioarelor

Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor
Asamblarea picioarelor

Odată ce toate legăturile și parantezele sunt asamblate, puteți începe să construiți cele patru picioare ale robotului. Începeți prin atașarea servomotoarelor pe suporturi folosind 4 șuruburi și piulițe M4. Asigurați-vă că aliniați puntea servo cu șurubul proeminent de pe cealaltă parte.

Apoi, legați servo-șold cu servo-genunchi folosind piesa de legătură a claxonului servo. Nu utilizați încă un șurub pentru a fixa claxonul pe axa servomotorului, deoarece este posibil să trebuiască să reglăm poziția mai târziu. Pe partea opusă, montați legătura de rulment conținând cei doi rulmenți pe șuruburile proeminente folosind piulițe.

Repetați acest proces pentru restul celor trei picioare, iar cele 4 picioare pentru patruped sunt gata!

Pasul 7: Asamblarea corpului

Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului
Asamblarea Corpului

Apoi, ne putem concentra pe construirea corpului robotului. Corpul găzduiește patru servo-motoare care oferă picioarelor gradul lor de libertate. Începeți prin utilizarea a 4 șuruburi și butoane M4 pentru a atașa servo-ul pe panoul suportului tăiat cu laser.

Notă: Asigurați-vă că servo-ul este atașat astfel încât axa să fie pe partea exterioară a piesei, așa cum se vede în imaginile atașate mai sus. Repetați acest proces pentru restul celor trei servomotoare ținând cont de orientare.

Apoi, atașați suporturi L pe ambele părți ale panoului folosind două piulițe și șuruburi M4. Această piesă ne permite să fixăm ferm panoul suportului servo de panoul superior. Repetați acest proces cu încă două suporturi L și al doilea panou de servodirecție care ține al doilea set de servomotoare.

Odată ce suporturile L sunt la locul lor, utilizați mai multe piulițe și șuruburi M4 pentru a atașa panoul suportului servo la panoul superior. Începeți cu setul exterior de piulițe și șuruburi (spre față și spate). Piulițele și șuruburile centrale țin, de asemenea, apăsată piesa suportului arduino. Folosiți patru piulițe și șuruburi pentru a atașa suportul arduino din partea superioară pe panoul superior și aliniați șuruburile astfel încât să treacă și prin orificiile de susținere L. Consultați imaginile atașate mai sus pentru clarificări. În cele din urmă, glisați patru piulițe în sloturile de pe panourile suportului servo și folosiți șuruburi pentru a fixa panourile suportului servo de panoul superior.

Pasul 8: Puneți totul împreună

Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună

Odată ce picioarele și corpul sunt asamblate, puteți începe procesul de asamblare. Montați cele patru picioare pe cele patru servo-uri folosind claxoanele servo care au fost atașate la suportul servo de șold. În cele din urmă, utilizați piesele suportului lagărului pentru a susține puntea opusă a suportului șoldului. Treceți axul prin lagăr și folosiți un șurub pentru a-l fixa în poziție. Atașați suporturile lagărelor la panoul superior folosind două piulițe și șuruburi M4.

Cu aceasta, ansamblul hardware al quaduped-ului este gata.

Pasul 9: Cablare și circuit

Cablare și circuit
Cablare și circuit
Cablare și circuit
Cablare și circuit
Cablare și circuit
Cablare și circuit
Cablare și circuit
Cablare și circuit

Am decis să folosesc un scut de senzori care să ofere conexiuni pentru servomotoare. Aș recomanda să utilizați senzorul shield v5, deoarece are un port de alimentare extern la bord. Cu toate acestea, cea pe care am folosit-o nu avea această opțiune. Privind mai atent ecranul senzorului, am observat că ecranul senzorului extragea energie de la pinul de 5 V de la Arduino (ceea ce este o idee teribilă când vine vorba de servomotoare de mare putere, deoarece riscați să deteriorați Arduino). Soluția la această problemă a fost să îndoiți pinul de 5v de pe ecranul senzorului pentru a nu se conecta la pinul de 5v al Arduino. În acest fel, putem furniza acum energie externă prin pinul de 5V fără a deteriora Arduino.

Conexiunile pinilor de semnal ai celor 12 servo-motoare sunt indicate în tabelul de mai jos.

Notă: Hip1Servo se referă la servo atașat la corp. Hip2Servo se referă la servo atașat la picior.

Etapa 1 (înainte stânga):

  • Hip1Servo >> 2
  • Hip2Servo >> 3
  • KneeServo >> 4

Etapa 2 (înainte dreapta):

  • Hip1Servo >> 5
  • Hip2Servo >> 6
  • KneeServo >> 7

Etapa 3 (spate stânga):

  • Hip1Servo >> 8
  • Hip2Servo >> 9
  • KneeServo >> 10

Etapa 4 (spate dreapta):

  • Hip1Servo >> 11
  • Hip2Servo >> 12
  • KneeServo >> 13

Pasul 10: Configurare inițială

Configurare inițială
Configurare inițială
Configurare inițială
Configurare inițială

Înainte de a începe să programăm mersuri complexe și alte mișcări, trebuie să setăm punctele zero ale fiecărui servo. Acest lucru oferă robotului un punct de referință pe care îl folosește pentru a efectua diferitele mișcări.

Pentru a evita deteriorarea robotului, puteți scoate legăturile claxonului servo. Apoi, încărcați codul atașat mai jos. Acest cod plasează fiecare servos la 90 de grade. Odată ce servomobilele au ajuns la poziția de 90 de grade, puteți reatașa legăturile astfel încât picioarele să fie perfect drepte și servo atașat la corp să fie perpendicular pe panoul superior al patrupedului.

În acest moment, datorită designului coarnelor servo, unele articulații pot să nu fie încă perfect drepte. Soluția la aceasta este de a regla matricea zeroPositions găsită pe a 4-a linie a codului. Fiecare număr reprezintă poziția zero a servo-ului corespunzător (ordinea este aceeași cu ordinea în care ați atașat servo-ul la Arduino). Modificați puțin aceste valori până când picioarele sunt perfect drepte.

Notă: Iată valorile pe care le folosesc, deși este posibil ca aceste valori să nu funcționeze pentru dvs.:

int zeroPositions [12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};

Pasul 11: Un pic despre cinematică

Un pic despre cinematică
Un pic despre cinematică
Un pic despre cinematică
Un pic despre cinematică
Un pic despre cinematică
Un pic despre cinematică

Pentru a face patrupedul să efectueze acțiuni utile, cum ar fi alergarea, mersul pe jos și alte mișcări, servo-urile trebuie programate sub formă de căi de mișcare. Căile de mișcare sunt căi de-a lungul cărora efectorul final (picioarele, în acest caz) circulă de-a lungul. Există două modalități de a realiza acest lucru:

  1. O abordare ar fi alimentarea unghiurilor articulare ale diferitelor motoare într-o manieră cu forță brută. Această abordare poate fi consumatoare de timp, plictisitoare și, de asemenea, plină de erori, deoarece judecata este pur vizuală. În schimb, există un mod mai inteligent de a obține rezultatele dorite.
  2. A doua abordare se învârte în jurul alimentării coordonatelor efectorului final în locul tuturor unghiurilor articulare. Aceasta este ceea ce se numește cinematică inversă. Utilizatorul introduce coordonatele și unghiurile articulațiilor se ajustează pentru a poziționa efectorul final la coordonatele specificate. Această metodă poate fi considerată ca o cutie neagră care ia ca intrări o coordonată și scoate unghiurile articulare. Pentru cei care sunt interesați de modul în care au fost dezvoltate ecuațiile trigonometrice ale acestei cutii negre, se poate uita la diagrama de mai sus. Pentru cei care nu sunt interesați, ecuațiile sunt deja programate și pot fi folosite folosind funcția pos care ia ca intrare x, y, z, care este locația carteziană a efectorului final și scoate trei unghiuri corespunzătoare motoarelor.

Programul care conține aceste funcții poate fi găsit în pasul următor.

Pasul 12: Programarea patrupedului

Programarea patrupedului
Programarea patrupedului

Odată ce cablarea și inițializarea sunt complete, puteți programa robotul și puteți genera căi de mișcare reci, astfel încât robotul să îndeplinească sarcini interesante. Înainte de a continua, schimbați a 4-a linie din codul atașat la valorile pe care le-ați setat în pasul de inițializare. După încărcarea programului, robotul ar trebui să înceapă să meargă. Dacă observați că unele dintre îmbinări sunt inversate, puteți schimba pur și simplu valoarea de direcție corespunzătoare în matricea de direcție din linia 5 (dacă este 1 faceți -1 și dacă este -1 faceți 1).

Pasul 13: Rezultate finale: Timp pentru experimentare

Rezultate finale: Timp de experimentare
Rezultate finale: Timp de experimentare
Rezultate finale: Timp de experimentare
Rezultate finale: Timp de experimentare
Rezultate finale: Timp de experimentare
Rezultate finale: Timp de experimentare

Robotul patruped poate face pași care variază de la 5 la 2 cm lungime. Viteza poate fi variată, menținând în același timp mersul echilibrat. Acest patruped oferă o platformă robustă pentru a experimenta diverse alte mersuri și alte obiective, cum ar fi săriturile sau sarcinile complete. V-aș recomanda să încercați să schimbați traseele de mișcare ale picioarelor pentru a vă crea propriile mersuri și pentru a descoperi modul în care diverse mersuri afectează performanța robotului. De asemenea, am lăsat mai multe puncte de montare în partea de sus a robotului pentru senzori suplimentari, cum ar fi senzori de măsurare a distanței pentru sarcini de evitare a obstacolelor sau IMU pentru mersuri dinamice pe teren neuniform. S-ar putea experimenta și un braț de prindere suplimentar montat în partea superioară a robotului, deoarece robotul este extrem de stabil și robust și nu se răstoarnă cu ușurință.

Sper că ți-a plăcut acest Instructable și te-a inspirat să-ți construiești propriul.

Dacă ți-a plăcut proiectul, susține-l prin votul din concursul „Make it Move”.

Happy Making!

Concursul Make it Move 2020
Concursul Make it Move 2020
Concursul Make it Move 2020
Concursul Make it Move 2020

Premiul II la Concursul Make it Move 2020

Recomandat: