Innholdsfortegnelse:

Hexapod: 14 trinn (med bilder)
Hexapod: 14 trinn (med bilder)

Video: Hexapod: 14 trinn (med bilder)

Video: Hexapod: 14 trinn (med bilder)
Video: Nå kan roboten gjøre dette for deg 2024, November
Anonim
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod

Jeg er interessert i noen år for å leke og lage roboter, og jeg ble veldig inspirert av Zenta, her finner du Youtube-kanalen hans https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T og hans nettsted

Du kan finne mange sett av mange forskjellige leverandører på internett, men de er veldig kostbare, opptil 1.500 $+ for en 4 DoF hexapod, og sett fra Kina har ikke god kvalitet. Så jeg har bestemt meg for å lage i hexapod på min måte. Inspirert av Zentas hexapod Phoenix, finner du den på Youtube-kanalen hans (og et sett du finner https://www.lynxmotion.com/c-117-phoenix.aspx, jeg har begynt å lage min egen fra bunnen av.

For å lage hvis sett følgende mål/krav for mine egne:

1.) Ha det veldig gøy og lær nye ting.

2.) Kostnadsdrevet design (jævla, firmaet mitt ødela meg totalt)

3.) Deler laget av treverk (fordi det er lettere for de fleste og også meg å kutte tre)

4.) Bruke gratis tilgjengelige verktøy (programvare)

Så hva har jeg brukt så langt?

a) SketchUp, for den mekaniske konstruksjonen.

b) Bøkelag 4mm og 6mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Digitale standard servoer (finnes på Amazon for en god pris).

e) Dosuki og Bandsaw, en boremaskin, slipepapir og en fil.

Trinn 1: Konstruksjon av ben og servobeslag

Konstruksjon av ben og servobeslag
Konstruksjon av ben og servobeslag
Konstruksjon av ben og servobeslag
Konstruksjon av ben og servobeslag
Konstruksjon av ben og servobeslag
Konstruksjon av ben og servobeslag

Først gjorde jeg noen undersøkelser på internett for å finne ut hvordan jeg gjør en robot, men var ikke veldig vellykket med å finne god informasjon om hvordan man gjør mekanisk design. Så jeg slet veldig og endelig har jeg bestemt meg for å bruke SketchUp.

Etter noen timer med læring ved å gjøre med SketchUp, er jeg ferdig med min første design av bena. Lårbenet er optimalisert til størrelsen på servohornene jeg bruker. Som jeg fant ut synes originalen å være rundt 1 i diameter, men mine servohorn har 21 mm.

Lag en utskrift med riktig skala fungerte ikke riktig med SketchUp på datamaskinen min, så jeg har lagret den som PDF, laget en utskrift med 100%, gjort noen målinger og til slutt skrevet ut igjen med riktig skaleringsfaktor.

For første forsøk skapte jeg kun kunst for to bein. Til dette stablet jeg to brett, limte (for veggpapir) utskriften på den og kuttet ut delene med en modellbåndsag.

Materiale som brukes: bøketre 6mm (1/2 )

Etterpå gjorde jeg noen eksperimenter, jeg har ikke dokumentert, og gjorde noen optimaliseringer. Som du kan se er skinnebenet litt overdimensjonert så vel som lårbenet.

For å montere servohornene gjennom lårbenet må 2 mm av materialet kuttes av. Dette kan gjøres på forskjellige måter. Med en ruter eller med en Forstner -drill. Forstner var bare 200 mm i diameter, så jeg måtte gjøre litt etterkrigstiden for hånd med en meisel.

Trinn 2: Optimalisering av femur og tibia

Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia
Optimalisering av femur og tibia

Jeg har endret designet litt.

1.) Tibia monterer nå servoen jeg bruker mye bedre.

2.) Femur er nå litt mindre (ca. 3 fra akse til akse) og passer servohornene (21 mm diameter).

Jeg brukte 6 brett av 6 mm trelag og limte dem sammen med dobbeltsidig tape. Hvis dette ikke er sterkt nok kan du bore et hull gjennom alle brettene og bruke en skrue for å fikse dem sammen. så kuttes deler ut med en gang med båndsagen. Hvis du er tøff nok kan du også bruke et stikksag:-)

Trinn 3: Utforming av servobeslag

Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag
Utforming av servobeslag

Nå er det på tide å designe servobeslaget. Dette er sterkt designet relatert til den brukte servoen jeg har brukt. Alle delene er laget av bøketre 6 mm igjen se neste trinn.

Trinn 4: Klipping og montering av servobeskytter

Klipping og montering av servobeslag
Klipping og montering av servobeslag
Klipping og montering av servobeslag
Klipping og montering av servobeslag

Igjen har jeg kuttet seks deler samtidig på båndsagen. Metoden er den samme som før.

1.) Bruk dobbeltsidig tape til å lime platene sammen.

2.) Skruer for å ha mer stabilitet under kutting (ikke vist her).

Så har jeg brukt litt modellhåndverk for å lime dem sammen og to SPAX -skruer (ikke påført ennå på bildet).

Sammenlignet med den originale sekskantet bruker jeg ikke kulelager ennå, i stedet bruker jeg bare 3 mm skruer, skiver og selvfestende muttere senere for å montere bena med karosseriet/chassiset.

Trinn 5: Montering av bein og test

Image
Image
Montering av bein og test
Montering av bein og test
Montering av bein og test
Montering av bein og test

På de to første bildene ser du den første versjonen av et ben. Deretter ser du sammenligning av gamle og nye deler og en sammenligning av de nye delene (versjon to) med originalen (foto i bakgrunnen).

Til slutt har du en første bevegelsestest.

Trinn 6: Konstruere og montere kroppen

Konstruere og montere kroppen
Konstruere og montere kroppen
Konstruere og montere kroppen
Konstruere og montere kroppen
Konstruere og montere kroppen
Konstruere og montere kroppen

Kroppen jeg har prøvd å rekonstruere fra bilder. Som referanse har jeg brukt servohornet, som jeg antok med 1 "diameter. Så forsiden blir en bredde på 4,5" og midten 6,5 ". For lengden antok jeg 7". Senere har jeg kjøpt det originale kroppssettet og sammenlignet det. Jeg nærmet meg originalen. Endelig har jeg laget en tredje versjon, som er en 1: 1 kopi av originalen.

Det første karosserisettet jeg har laget av 6 mm trelast, her ser du den andre versjonen av 4 mm trelag, som jeg har funnet ut er sterk og stiv nok. Ulikt det originale settet monterte jeg servohornet på toppen, hhv. gjennom materialet (du kan se dette også med lårbenet). Grunnen er at jeg ikke er i humør til å kjøpe dyre aluminiumshorn, i stedet vil jeg bruke de allerede leverte plasthornene. En annen grunn er at jeg kommer nærmere servoen, så det er mindre krefter. Dette gir en mer stabil tilkobling.

Noen ganger er det forresten godt å ha Ganesh om bord. Takk til vennen min Tejas:-)

Trinn 7: Første Elektronics -tester

Image
Image
Tibia og Coxa EV3
Tibia og Coxa EV3

All kunst er samlet nå. OK, jeg vet at det ikke ser veldig vakkert ut, men faktisk eksperimenterer jeg mye. I videoen kan du se å spille noen enkle forhåndsdefinerte sekvenser, faktisk er det ingen invers kinematikk implementert. Den forhåndsdefinerte gangen fungerer ikke som den skal fordi den er designet for en 2 DoF.

I dette eksemplet bruker jeg SSC-32U servokontrolleren fra Lynxmotion, du finner den her:

For noen dager siden brukte jeg også en annen PWM-kontroller (Adafruit 16-kanals PWM-kontroller, https://www.adafruit.com/product/815), men SCC har faktisk noen fine funksjoner, som å bremse servoene.

Så, det er det nå. Deretter må jeg finne ut hvordan den inverse kinematikken (IK) fungerer, kanskje jeg skal programmere en enkel gangart som den forhåndsdefinerte i SSC -kontrolleren. Jeg har allerede funnet et eksempel som er klart til bruk her https://github.com/KurtE/Arduino_Phoenix_Parts, men jeg har ikke fått det kjørt ennå. Aner ikke hvorfor, men jeg jobber med.

Så her er en kort gjøremålsliste.

1.) Programmer en enkel gangart som innebygd i SSC.

2.) Programmer en PS3 -kontrollerklasse/emballasje for Arduino Phoenix.

3.) Få koden fra KurtE i gang eller skriv min egen kode.

Servoene jeg bruker har jeg funnet på Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Prisen er ganske bra, men kvaliteten kan være mye bedre.

Trinn 8: Første enkle gangtest

Som jeg nevnte i det siste trinnet, har jeg prøvd å programmere min egen gangsekvens. Dette er veldig enkelt, som et mekanisk leketøy, og det er ikke optimalisert for kroppen jeg bruker her. En enkel rett kropp ville vært mye bedre.

Så, ønsker deg masse moro. Jeg må lære IK nå;-)

Merknader: Når du ser nøye på beina, ser du at noen servoer oppfører seg rart. Det jeg mener er at de ikke beveger seg alltid jevnt, kanskje jeg må bytte dem ut med andre servoer.

Trinn 9: Porting PS3 -kontrolleren

I morges jobbet jeg med å skrive en innpakning for Phoenix -koden. Tok meg noen timer, ca 2-3, å gjøre det. koden er ikke endelig feilsøkt, og jeg har lagt til litt ekstra feilsøking i konsollen. Det fungerer så langt:-)

Men forresten, da jeg kjørte Phoenix -koden, ser det ut til at alle servoer kjører invertert (motsatt retning).

Når du vil prøve selv, trenger du koden fra KurtE som grunnlag https://github.com/KurtE/Arduino_Phoenix_Parts. Følg instruksjonene for å installere koden. Kopier mappen Phoenix_Input_PS til mappen Arduino -biblioteket (vanligvis undermappe i skissemappen) og mappen Phoenix_PS3_SSC32 til skissemappen.

Info: Hvis du ikke har erfaring med Arduino og verktøy og har problemer, kan du kontakte Arduino -samfunnet (www.arduino.cc). Kontakt ham hvis du har problemer med Phoenix -koden fra KurtE. Takk.

Advarsel: Å forstå koden er etter min mening ingenting for nybegynnere, så du må være godt kjent med C/C ++, programmering og algoritme. Koden har også mye betinget kompilert kode, kontrollert av #defines, dette gjør det veldig vanskelig å lese og forstå.

Hardwareliste:

  • Arduino Mega 2560
  • USB -vertsskjerm (for Arduino)
  • PS3 -kontroller
  • LynxMotion SSC-32U servokontroller
  • Batteri 6 V (les kravene til all din HW, ellers kan du skade den)
  • Arduino IDE
  • Noen USB -kabler, brytere og andre smådeler etter behov.

Hvis du liker en PS2 -kontroller, finner du mye informasjon på internett om hvordan du kobler til Arduino.

Så vær tålmodig. Jeg oppdaterer dette trinnet når programvaren fungerer som den skal.

Trinn 10: Første IK -test

Image
Image

Jeg har funnet en annen port til Phoenix -koden som kjører mye bedre (https://github.com/davidhend/Hexapod), kanskje jeg har konfigurasjonsproblem med den andre koden. Koden ser ut til å være litt buggy og gangartene ser ikke veldig glatte ut, men for meg er dette et stort skritt foran.

Vennligst vurder, koden er faktisk eksperimentell. Jeg må rydde opp og rette mye og publiserer en oppdatering de neste dagene. PS3 -porten er basert på den allerede publiserte PS3 -porten, og jeg har kastet PS2- og XBee -filene.

Trinn 11: Andre IK -test

Løsningen var så enkel. Jeg måtte korrigere noen konfigurasjonsverdier og invertere alle servovinkler. Nå funker det:-)

Trinn 12: Tibia og Coxa EV3

Tibia og Coxa EV3
Tibia og Coxa EV3
Tibia og Coxa EV3
Tibia og Coxa EV3

Jeg kunne ikke motstå, så jeg har laget nye tibias og coxa (servobeslag). Dette er nå den tredje versjonen jeg har laget. De nye er mer runde og har et mer organisk/bionisk utseende.

Så den faktiske statusen er. Hexapoden fungerer, men har fortsatt problemer med noen få ting.

1.) Har ikke funnet ut hvorfor BT har en forsinkelse på 2..3 sekunder.

2.) Servokvaliteten er dårlig.

Ting å gjøre:

* Kabling av servoene må forbedres.

* Trenger en god batteriholder.

* Må finne en måte å montere elektronikken på.

* Kalibrer servoene på nytt.

* Legge til sensorer og en spenningsmonitor for batteriet.

Trinn 13: Glatt formet femur

Glatt formet femur
Glatt formet femur
Glatt formet femur
Glatt formet femur
Glatt formet femur
Glatt formet femur
Glatt formet femur
Glatt formet femur

For noen dager siden har jeg allerede laget noen nye lårben fordi jeg ikke var helt fornøyd med den forrige. På det første bildet ser du forskjellene. De gamle hadde en diameter på 21 mm i endene, de nye har en diameter på 1 tommer. Jeg laget vaskehull i lårbenet med min fresemaskin med et enkelt hjelpeverktøy, som du kan se på de tre neste bildene.

Før du legger vasken inn i lårbenet, er det fornuftig å bore alle hullene, ellers kan det bli vanskelig. Servohornet passer veldig godt, neste trinn, ikke vist her, gir kantene en rund form. Til dette har jeg brukt en ruter med en radius på 3 mm.

På det siste bildet ser du en sammenligning av det gamle og det nye. Vet ikke hva du synes, men jeg liker den nye mye mer.

Trinn 14: Siste trinn

Image
Image
Siste trinn
Siste trinn
Siste trinn
Siste trinn
Siste trinn
Siste trinn

Jeg skal fullføre denne opplæringen nå, ellers blir det en endeløs historie:-).

I videoen ser du Phoenix -koden til KurtE som kjører med noen av mine modifikasjoner. Roboten beveger seg ikke perfekt, beklager det, men de billige servoene har dårlig kvalitet. Jeg har bestilt noen andre servoer, jeg har nettopp testet to av dem med godt resultat, og venter fortsatt på levering. Så jeg kan dessverre ikke vise deg hvordan roboten fungerer med de nye servoene.

Sett bakfra: En strøm på 20 ampere, venstre for 10 k potten. Når roboten går, bruker den lett 5 ampere. Til høyre for 10 k potten ser du en OLED 128x64 piksel som viser litt statusinformasjon.

Sett forfra: En enkel ultralydssensor HC-SR04, ikke integrert ennå i SW.

Sett fra høyre side: MPU6050 akselerator og giro (6-akser).

Sett fra venstre: Piezo -høyttaler.

Mekanisk design er nå mer eller mindre gjort, bortsett fra servoene. Så de neste oppgavene vil være å integrere noen sensorer i SW. For dette har jeg opprettet en GitHub -konto med SW jeg bruker som er basert på et øyeblikksbilde av KurtEs Phoenix SW.

OLED:

Min GitHub:

Anbefalt: