Innehållsförteckning:

3D -tryckt Arduino Powered Quadruped Robot: 13 steg (med bilder)
3D -tryckt Arduino Powered Quadruped Robot: 13 steg (med bilder)

Video: 3D -tryckt Arduino Powered Quadruped Robot: 13 steg (med bilder)

Video: 3D -tryckt Arduino Powered Quadruped Robot: 13 steg (med bilder)
Video: How to Build a Walking Arduino Robot (Quadruped) with Cheap Materials | Science Project 2024, November
Anonim
3D -tryckt Arduino Powered Quadruped Robot
3D -tryckt Arduino Powered Quadruped Robot
3D -tryckt Arduino Powered Quadruped Robot
3D -tryckt Arduino Powered Quadruped Robot
3D -tryckt Arduino Powered Quadruped Robot
3D -tryckt Arduino Powered Quadruped Robot

Fusion 360 -projekt »

Av de tidigare instruktionerna kan du förmodligen se att jag har ett stort intresse för robotprojekt. Efter den föregående instruktionsboken där jag byggde en robotbiped bestämde jag mig för att försöka göra en fyrfotad robot som kunde imitera djur som hundar och katter. I den här instruktionsboken kommer jag att visa dig utformningen och monteringen av den fyrkantiga roboten.

Det främsta målet när jag byggde detta projekt var att göra systemet så robust som möjligt så att när jag experimenterade med olika gång- och löpgångar skulle jag inte behöva oroa mig hela tiden för att hårdvaran skulle gå sönder. Detta gjorde att jag kunde pressa hårdvaran till sin gräns och experimentera med komplexa gångarter och rörelser. Ett sekundärt mål var att göra de fyrdubblade relativt billiga med hjälp av lättillgängliga hobbydelar och 3D-utskrift som möjliggjorde snabba prototyper. Dessa två mål tillsammans ger en robust grund för att utföra olika experiment, så att man kan utveckla den fyrfaldiga för mer specifika krav som navigation, hinderundvikande och dynamisk rörelse.

Kolla in videon ovan för att se en snabb demo av projektet. Följ vidare för att skapa din egen Arduino Powered Quadruped Robot och släpp en röst i "Make it Move Contest" om du gillade projektet.

Steg 1: Översikt och designprocess

Översikt och designprocess
Översikt och designprocess
Översikt och designprocess
Översikt och designprocess
Översikt och designprocess
Översikt och designprocess

Den fyrfotade designades i Autodesks kostnadsfria 3D -modelleringsprogram Fusion 360. Jag började med att importera servomotorerna till designen och byggde benen och kroppen runt dem. Jag konstruerade fästen för servomotorn som ger en andra svängpunkt diametralt motsatt servomotorns axel. Att ha dubbla axlar i vardera änden av motorn ger konstruktiv stabilitet i konstruktionen och eliminerar alla snedvridningar som kan uppstå när benen tvingas ta lite belastning. Länkarna var utformade för att hålla ett lager medan konsolerna använde en bult för axeln. När länkarna var monterade på axlarna med hjälp av en mutter, skulle lagret ge en slät och robust svängpunkt på motsatta sidan av servomotoraxeln.

Ett annat mål vid utformningen av de fyrfärdiga var att hålla modellen så kompakt som möjligt för att maximalt utnyttja vridmomentet från servomotorerna. Länkarnas dimensioner gjordes för att uppnå ett stort rörelseomfång samtidigt som den totala längden minimerades. Att göra dem för korta skulle få fästena att kollidera, minska rörelseomfånget och göra det för långt skulle utöva onödigt vridmoment på ställdonen. Slutligen konstruerade jag robotkroppen som Arduino och andra elektroniska komponenter skulle montera på. Jag har också lämnat ytterligare monteringspunkter på den övre panelen för att göra projektet skalbart för ytterligare förbättringar. En gång kunde lägga till sensorer som avståndssensorer, kameror eller andra manövrerade mekanismer som robotgripare.

Obs: Delarna ingår i ett av följande steg.

Steg 2: Material som behövs

Material behövs
Material behövs
Material behövs
Material behövs

Här är listan över alla komponenter och delar som krävs för att göra din alldeles egna Arduino Powered Quadruped Robot. Alla delar ska vara allmänt tillgängliga och lätta att hitta i lokala järnaffärer eller online.

ELEKTRONIK:

Arduino Uno x 1

Towerpro MG995 servomotor x 12

Arduino Sensor Shield (jag rekommenderar V5 -versionen men jag hade V4 -versionen)

Jumper Wires (10 bitar)

MPU6050 IMU (tillval)

Ultraljudssensor (tillval)

HÅRDVARA:

Kullager (8x19x7mm, 12 delar)

M4 muttrar och bultar

3D -skrivarfilament (om du inte äger en 3D -skrivare bör det finnas en 3D -skrivare i en lokal arbetsyta eller så kan utskrifterna göras på nätet för ganska billigt)

Akrylark (4 mm)

VERKTYG

3d skrivare

Laserskärare

Den mest betydande kostnaden för detta projekt är de 12 servomotorerna. Jag rekommenderar att du går för mellanklass till högt sortiment istället för att använda billiga plast eftersom de tenderar att gå sönder lätt. Exklusive verktygen är den totala kostnaden för detta projekt cirka 60 $.

Steg 3: Digitalt tillverkade delar

Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar
Digitalt tillverkade delar

De delar som krävs för detta projekt måste vara specialdesignade, därför använde vi kraften från digitalt tillverkade delar och CAD för att bygga dem. De flesta delarna är 3D -tryckta förutom några som är laserskurna av 4 mm akryl. Utskrifterna gjordes med 40% fyllning, 2 perimeter, 0,4 mm munstycke och en lagerhöjd på 0,1 mm med PLA. Några av delarna kräver stöd eftersom de har en komplex form med överhäng, dock är stöden lätt åtkomliga och kan tas bort med några skär. Du kan välja vilken färg du vill ha av glödtråden. Nedan hittar du den fullständiga listan över delar och STL: erna för att skriva ut din egen version och 2D -designen för laserskurna delar.

Obs: Härifrån kommer delarna att hänvisas till med namnen i följande lista.

3D -tryckta delar:

  • höft servofäste x 2
  • höft servo fäste spegel x 2
  • knä servofäste x 2
  • knä servo fäste spegel x 2
  • lagerhållare x 2
  • lagerhållare spegel x 2
  • ben x 4
  • servo hornlänk x 4
  • bärlänk x 4
  • arduinohållare x 1
  • avståndssensorhållare x 1
  • L-stöd x 4
  • lagerbussning x 4
  • servo horn distans x 24

Laserskurna delar:

  • servohållarpanel x 2
  • toppanel x 1

Totalt finns det 30 delar som behöver 3D -printas exklusive de olika distanserna, och totalt 33 digitalt tillverkade delar. Den totala utskriftstiden är cirka 30 timmar.

Steg 4: Förbereda länkarna

Förbereder länkarna
Förbereder länkarna
Förbereder länkarna
Förbereder länkarna
Förbereder länkarna
Förbereder länkarna

Du kan börja montera genom att ställa in några delar i början som gör den slutliga monteringsprocessen mer hanterbar. Du kan börja med länken. För att göra lagerlänken, slipa lätt den inre ytan av hålen för lagret och tryck sedan in lagret i hålet i båda ändarna. Se till att trycka in lagret tills ena sidan är jämn. För att bygga servohornslänken, ta tag i två cirkulära servohorn och skruvarna som följde med dem. Placera hornen på 3D -utskriften och ställ in de två hålen, skruva sedan på hornet på 3D -utskriften genom att fästa skruven från 3D -utskriftssidan. Jag var tvungen att använda några 3D -tryckta servohornsdistanser eftersom skruvarna som levererades var lite långa och skulle korsa servomotorkroppen medan den roterade. När länkarna är byggda kan du börja sätta upp de olika hållarna och fästena.

Upprepa detta för alla fyra länkar av båda typerna.

Steg 5: Förbereda servobeslagen

Förbereda servobeslagen
Förbereda servobeslagen
Förbereda servobeslagen
Förbereda servobeslagen
Förbereda servobeslagen
Förbereda servobeslagen

För att sätta upp knä servofästet, för helt enkelt en 4 mm bult genom hålet och fäst den med en mutter. Detta kommer att fungera som motorns sekundära axel. Från höftservobeslaget fäster du två bultar genom de två hålen och fäster dem med ytterligare två muttrar. Ta sedan ett annat cirkulärt servohorn och fäst det på den något förhöjda delen av fästet med de två skruvarna som följde med hornen. Återigen skulle jag rekommendera att du använder servohorns distanshållaren så att skruvarna inte sticker ut i springan för servon. Ta slutligen tag i lagerhållardelen och skjut in lagret i hålet. Du kan behöva slipa den inre ytan lätt för en bra passform. Skjut sedan in ett lagertryck in i lagret mot att lagerhållarstycket böjer sig.

Se bilderna ovan när du bygger fästena. Upprepa denna process för resten av parenteserna. De speglade är lika, bara allt speglas.

Steg 6: Montera benen

Montering av benen
Montering av benen
Montering av benen
Montering av benen
Montering av benen
Montering av benen
Montering av benen
Montering av benen

När alla länkar och fästen är monterade kan du börja bygga robotens fyra ben. Börja med att fästa servon på fästena med 4 x M4 -bultar och muttrar. Se till att servoaxeln är inriktad mot den utskjutande bulten på andra sidan.

Länk sedan höftservon till knäserven med hjälp av servohornlänkstycket. Använd inte en skruv ännu för att fästa hornet på servomotoraxeln eftersom vi kan behöva justera läget senare. Montera lagerlänken som innehåller de två lagren på motsatta sidan på de utskjutande bultarna med muttrar.

Upprepa denna process för resten av de tre benen och de fyra benen för de fyrfärdiga är klara!

Steg 7: Montering av kroppen

Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen

Därefter kan vi fokusera på att bygga robotens kropp. Kroppen rymmer fyra servomotorer som ger benen sin tredje frihetsgrad. Börja med att använda 4 x M4 -bultar och buts för att fästa servon på laserskurna servohållarpanelen.

Obs: Se till att servon är fäst så att axeln är på utsidan av stycket, som visas på bilderna ovan. Upprepa denna process för resten av de tre servomotorerna med tanke på orienteringen.

Fäst sedan L-stöd på båda sidor av panelen med två M4-muttrar och bultar. Detta stycke låter oss säkert fästa servohållarpanelen på toppanelen. Upprepa denna process med ytterligare två L-stöd och den andra servohållarpanelen som håller den andra uppsättningen servomotorer.

När L -stödet är på plats, använd fler M4 -muttrar och bultar för att fästa servohållarpanelen på den övre panelen. Börja med den yttre uppsättningen muttrar och bultar (fram och bak). De centrala muttrarna och bultarna håller också ned arduinohållarstycket. Använd fyra muttrar och bultar för att fästa arduinohållaren uppifrån på toppanelen och rikta in bultarna så att de också går genom L -stödhålen. Se bilderna ovan för klargöranden. Skjut slutligen in fyra muttrar i spåren på servohållarpanelerna och använd bultar för att fästa servohållarpanelerna på toppanelen.

Steg 8: Sätta ihop allt

Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats

När benen och kroppen är monterade kan du börja slutföra monteringsprocessen. Montera de fyra benen på de fyra servon med hjälp av servohornen som fästes på höftservokonsolen. Slutligen, använd lagerhållarens bitar för att stödja den motsatta axeln på höftfästet. För axeln genom lagret och fäst den med en bult. Fäst lagerhållarna på toppanelen med två M4 -muttrar och bultar.

Med detta är hårdvaruaggregatet för den quaduped redo.

Steg 9: Kabeldragning och krets

Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar
Ledningar och kretsar

Jag bestämde mig för att använda en sensorkåpa som gav anslutningar för servomotorer. Jag rekommenderar att du använder sensorkåpan v5 eftersom den har en inbyggd extern strömförsörjningsport. Men den som jag använde hade inte det här alternativet. När jag tittade närmare på sensorskyddet märkte jag att sensorskölden drog ström från Arduinos inbyggda 5v -stift (vilket är en hemsk idé när det gäller servomotorer med hög effekt eftersom du riskerar att skada Arduino). Korrigeringen till detta problem var att böja 5v -stiftet på sensorskyddet ur vägen så att det inte skulle ansluta till 5v -stiftet på Arduino. På detta sätt kan vi nu ge extern ström via 5v -stiftet utan att skada Arduino.

Anslutningarna mellan signalstiften på de 12 servomotorerna anges i tabellen nedan.

Obs: Hip1Servo hänvisar till servon som är fäst vid kroppen. Hip2Servo hänvisar till servon som är fäst vid benet.

Ben 1 (framåt till vänster):

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

Ben 2 (framåt höger):

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

Ben 3 (vänster bak):

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

Ben 4 (höger bak):

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

Steg 10: Initial installation

Första installationen
Första installationen
Första installationen
Första installationen

Innan vi börjar programmera komplexa gångarter och andra rörelser måste vi ställa in nollpunkterna för varje servo. Detta ger roboten en referenspunkt som den använder för att utföra de olika rörelserna.

För att undvika skador på roboten kan du ta bort servohornslänkarna. Ladda sedan upp koden som bifogas nedan. Denna kod placerar var och en av servon vid 90 grader. När servon har nått 90-graderspositionen kan du fästa länkarna igen så att benen är helt raka och servon som är fäst vid kroppen är vinkelräta mot den övre panelen på den fyrkantiga.

Vid denna tidpunkt, på grund av utformningen av servohornen, kanske några av lederna fortfarande inte är helt raka. Lösningen på detta är att justera zeroPositions -arrayen som finns på den fjärde raden i koden. Varje nummer representerar nolläget för motsvarande servo (ordningen är densamma som i vilken ordning du kopplade servon till Arduino). Justera dessa värden lite tills benen är helt raka.

Obs! Här är de värden som jag använder även om dessa värden kanske inte fungerar för dig:

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

Steg 11: Lite om kinematiken

Lite om kinematiken
Lite om kinematiken
Lite om kinematiken
Lite om kinematiken
Lite om kinematiken
Lite om kinematiken

För att få de fyrfärdiga att utföra användbara åtgärder som löpning, promenader och andra rörelser måste servon programmeras i form av rörelsebanor. Rörelsebanor är banor längs vilka ändeffektorn (fötterna i detta fall) färdas längs. Det finns två sätt att uppnå detta:

  1. Ett tillvägagångssätt skulle vara att mata fogvinklarna för de olika motorerna på ett brutalt sätt. Detta tillvägagångssätt kan vara tidskrävande, tråkigt och också fyllt med fel eftersom domen är rent visuell. Istället finns det ett smartare sätt att uppnå önskat resultat.
  2. Det andra tillvägagångssättet kretsar kring att mata koordinaterna för sluteffektorn istället för alla fogvinklar. Detta är vad som kallas invers kinematik. Användaren matar in koordinater och ledvinklarna justerar för att positionera ändeffektorn vid de angivna koordinaterna. Denna metod kan betraktas som en svart låda som tar in koordinater som ingångar och matar ut ledvinklarna. För dem som är intresserade av hur de trigonometriska ekvationerna för denna svarta låda utvecklades kan titta på diagrammet ovan. För dem som inte är intresserade är ekvationerna redan programmerade och kan användas med pos -funktionen som tar som ingång x, y, z, vilket är slutkraftens kartesiska plats och matar ut tre vinklar som motsvarar motorerna.

Programmet som innehåller dessa funktioner finns i nästa steg.

Steg 12: Programmering av Quadruped

Programmering av Quadruped
Programmering av Quadruped

När kabeldragningen och initialiseringen är klar kan du programmera roboten och generera coola rörelsebanor så att roboten utför intressanta uppgifter. Innan du fortsätter, ändra den fjärde raden i den bifogade koden till de värden som du hade ställt in i initialiseringssteget. Efter att ha laddat upp programmet bör roboten börja gå. Om du märker att några av lederna är omvända kan du helt enkelt ändra motsvarande riktningsvärde i riktningsfältet i rad 5 (om det är 1 gör det till -1 och om det är -1 gör det till 1).

Steg 13: Slutresultat: Dags att experimentera

Slutresultat: Dags att experimentera
Slutresultat: Dags att experimentera
Slutresultat: Dags att experimentera
Slutresultat: Dags att experimentera
Slutresultat: Dags att experimentera
Slutresultat: Dags att experimentera

Den fyrfärdiga roboten kan vidta åtgärder som varierar från 5 till 2 cm långa. Hastigheten kan också varieras samtidigt som gången hålls balanserad. Denna fyrfärdiga ger en robust plattform för att experimentera med olika andra gångarter och andra mål som hoppning eller kompletta uppgifter. Jag skulle rekommendera dig att försöka ändra benens rörelsebanor för att skapa dina egna gångarter och upptäcka hur olika gångarter påverkar robotens prestanda. Jag har också lämnat flera monteringspunkter högst upp på roboten för ytterligare sensorer som avståndsmätningssensorer för hinderundvikande eller IMU för dynamiska gångarter på ojämn terräng. Man kan också experimentera med en extra griparm monterad på toppen av roboten eftersom roboten är extremt stabil och robust och inte tippar lätt.

Hoppas du tyckte om den här instruerbara och den har inspirerat dig att bygga din egen.

Om du gillade projektet, stöd det genom att släppa en omröstning i "Få det att flytta tävlingen".

Happy Making!

Få det att flytta tävlingen 2020
Få det att flytta tävlingen 2020
Få det att flytta tävlingen 2020
Få det att flytta tävlingen 2020

Andra priset i Make it Move Contest 2020

Rekommenderad: