Indholdsfortegnelse:

Hexapod: 14 trin (med billeder)
Hexapod: 14 trin (med billeder)

Video: Hexapod: 14 trin (med billeder)

Video: Hexapod: 14 trin (med billeder)
Video: Leap Motion SDK 2024, Juli
Anonim
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod
Hexapod

Jeg er interesseret i nogle år at lege og skabe robotter, og jeg blev inspireret meget af Zenta, her finder du hans Youtube-kanal https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T og hans websted

Du kan finde en masse kits af mange forskellige leverandører på internettet, men de er meget dyre, op til 1.500 $+ for en 4 DoF hexapod, og kits fra Kina har ikke en god kvalitet. Så jeg har besluttet at oprette i hexapod på min måde. Inspireret af Zentas hexapod Phoenix finder du det i hans Youtube-kanal (og et kit, du kan finde https://www.lynxmotion.com/c-117-phoenix.aspx, jeg er begyndt at lave min egen fra bunden.

For at oprette hvis sæt følgende mål/krav til mine egne:

1.) Hav en masse sjov og lær nye ting.

2.) Omkostningsdrevet design (fandens, mit firma ødelagde mig totalt)

3.) Dele lavet af lagtræ (fordi det er lettere for de fleste mennesker og også mig at skære træ)

4.) Brug af gratis tilgængelige værktøjer (software)

Så hvad har jeg brugt indtil nu?

a) SketchUp, til det mekaniske design.

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

c) Arduino Uno, Mega, IDE.

d) Digitale standard servoer (findes hos amazon til en god pris).

e) Dosuki og Bandsaw, en boremaskine, slibepapir og en fil.

Trin 1: Konstruktion af ben og servobeslag

Konstruktion af ben og servobeslag
Konstruktion af ben og servobeslag
Konstruktion af ben og servobeslag
Konstruktion af ben og servobeslag
Konstruktion af ben og servobeslag
Konstruktion af ben og servobeslag

Først lavede jeg nogle undersøgelser på internettet for at finde ud af, hvordan man laver en robot, men det lykkedes ikke særlig godt at finde gode oplysninger om, hvordan man laver mekanisk design. Så jeg kæmpede meget, og endelig har jeg besluttet mig for at bruge SketchUp.

Efter nogle timers læring ved at gøre med SketchUp, er jeg færdig med mit første design af benene. Lårbenet er optimeret til størrelsen på de servohorn, jeg bruger. Som jeg fandt ud af synes originalen at være omkring 1 i diameter, men mine servohorn har 21 mm.

Lav en udskrift med den rigtige skala fungerede ikke korrekt med SketchUp på min computer, så jeg har gemt den som PDF, lavet en udskrift med 100%, foretaget nogle målinger og til sidst udskrevet igen med den rigtige skaleringsfaktor.

I første forsøg lavede jeg kun kunst til to ben. Til dette stablede jeg to brædder, limede (til vægpapir) udskriften på den og skar delene ud med en modelhåndværksbåndsav.

Brugt materiale: bøgetræ 6mm (1/2 )

Bagefter lavede jeg nogle eksperimenter, jeg har ikke dokumenteret og foretog nogle optimeringer. Som du kan se er skinnebenet lidt overdimensioneret såvel som lårbenet.

For at montere servohornene gennem lårbenet skal 2 mm af materialet skæres af. Dette kan gøres på forskellige måder. Med en router eller med en Forstner boremaskine. Forstner var kun 200 mm i diameter, så jeg måtte lave noget efterkrigstid i hånden med en mejsel.

Trin 2: Optimering af lårbenet og skinnebenet

Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet
Optimering af lårbenet og skinnebenet

Jeg har ændret designet lidt.

1.) Tibia passer nu meget bedre til den servo, jeg bruger.

2.) Lårbenet er nu en smule mindre (ca. 3 fra akse til akse) og passer til servohornene (21 mm diameter).

Jeg brugte 6 plader af 6 mm lag træ og limede dem sammen med dobbeltsidet tape. Hvis dette ikke er stærkt nok, kan du bore et hul gennem alle brædder og bruge en skrue til at fastgøre dem sammen. derefter skæres en dele ud på én gang med båndsaven. Hvis du er hård nok kan du også bruge et stiksav:-)

Trin 3: Design af servobeslaget

Design af servobeslaget
Design af servobeslaget
Design af servobeslaget
Design af servobeslaget
Design af servobeslaget
Design af servobeslaget
Design af servobeslaget
Design af servobeslaget

Nu er det tid til at designe servobeslaget. Dette er stærkt designet relateret til den brugte servo, jeg har brugt. Alle dele er lavet af bøgetræ 6 mm igen se næste trin.

Trin 4: Skæring og samling af servobeslag

Skæring og samling af servobeslag
Skæring og samling af servobeslag
Skæring og samling af servobeslag
Skæring og samling af servobeslag

Igen har jeg skåret seks dele på samme tid alle på båndsaven. Metoden er den samme som før.

1.) Ved hjælp af dobbeltsidet tape til at lime pladerne sammen.

2.) Skruer for at have mere stabilitet under skæring (ikke vist her).

Derefter har jeg brugt noget modelhåndværk til at klæbe dem sammen og to SPAX -skruer (endnu ikke påført på billedet).

I forhold til den originale hexapod bruger jeg ikke kuglelejer endnu, i stedet bruger jeg kun 3 mm skruer, skiver og selvfastgørelsesmøtrikker senere til at samle benene med karosseriet/chassiset.

Trin 5: Montering af benene og test

Image
Image
Samling af benene og test
Samling af benene og test
Samling af benene og test
Samling af benene og test

På de to første billeder ser du den første version af et ben. Dernæst ser du sammenligning af gamle og nye dele og en sammenligning af de nye dele (version to) med originalen (foto i baggrunden).

Endelig får du en første bevægelsestest.

Trin 6: Konstruktion og samling af krop

Konstruktion og samling af krop
Konstruktion og samling af krop
Konstruktion og samling af krop
Konstruktion og samling af krop
Konstruktion og samling af krop
Konstruktion og samling af krop

Den krop, jeg har forsøgt at rekonstruere ud fra fotos. Som reference har jeg brugt servohornet, som jeg antog med 1 "diameter. Så forsiden bliver en bredde på 4,5" og midten 6,5 ". For længden antog jeg 7". Senere har jeg købt det originale body kit og sammenlignet det. Jeg var meget tæt på originalen. Endelig har jeg lavet en tredje version, som er en 1: 1 kopi af originalen.

Det første kropssæt jeg har lavet af 6 mm træsort, her ser du den anden version lavet af 4 mm træsort, som jeg har fundet ud af er stærk og stiv nok. I modsætning til det originale kit monterede jeg servohornet ovenpå, hhv. gennem materialet (du kan også se dette med lårbenet). Årsagen er, at jeg ikke er i humør til at købe dyre aluminiumshorn, i stedet vil jeg bruge de allerede leverede plasthorn. En anden grund er, at jeg kommer tættere på servoen, så store kræfter er mindre. Dette giver en mere stabil forbindelse.

Forresten, nogle gange er det godt at have Ganesh ombord. Tak til min ven Tejas:-)

Trin 7: Første Elektronics -test

Image
Image
Tibia og Coxa EV3
Tibia og Coxa EV3

Alle kunstarter er samlet nu. OK, jeg ved, at det ikke ser særlig smukt ud, men faktisk eksperimenterer jeg meget. I videoen kan du se afspilning af nogle enkle foruddefinerede sekvenser, faktisk er der ingen omvendt kinematik implementeret. Den foruddefinerede gang fungerer ikke korrekt, fordi den er designet til en 2 DoF.

I dette eksempel bruger jeg SSC-32U servo controller fra Lynxmotion, du finder det her:

For nogle dage siden brugte jeg også en anden PWM-controller (Adafruit 16-kanals PWM-controller, https://www.adafruit.com/product/815), men SCC har faktisk nogle gode funktioner, som f.eks. At bremse servoerne.

Så det er det nu. Dernæst skal jeg finde ud af, hvordan den inverse kinematik (IK) fungerer, måske programmerer jeg en simpel gang som den foruddefinerede i SSC -controlleren. Jeg har allerede fundet et eksempel til brug her https://github.com/KurtE/Arduino_Phoenix_Parts, men jeg har ikke fået det kørt endnu. Ved ikke hvorfor, men jeg arbejder på.

Så her er en kort opgaveliste.

1.) Programmer en simpel gangart som indbygget i SSC.

2.) Programmer en PS3 controller klasse/indpakning til Arduino Phoenix.

3.) Få koden fra KurtE kørende eller skriv min egen kode.

De servoer, jeg bruger, har jeg fundet på Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Prisen er ganske god, men kvaliteten kunne være meget bedre.

Trin 8: Første simple gangtest

Som jeg nævnte i det sidste trin, har jeg forsøgt at programmere min egen gangsekvens. Dette er en meget enkel, ligesom et mekanisk legetøj, og det er ikke optimeret til den krop, jeg bruger her. En simpel lige krop ville være meget bedre.

Så ønsker dig en masse sjov. Jeg skal lære IK nu;-)

Bemærkninger: Når du ser benene omhyggeligt, vil du se, at nogle servoer opfører sig mærkeligt. Hvad jeg mener er, at de ikke altid bevæger sig glat, måske skal jeg erstatte dem med andre servoer.

Trin 9: Portation af PS3 -controller

I morges arbejdede jeg på at skrive en indpakning til Phoenix -koden. Det tog mig nogle timer, cirka 2-3, at gøre det. koden er ikke endelig debugged, og jeg har tilføjet en ekstra fejlfinding til konsollen. Det virker indtil videre:-)

Men forresten, da jeg kørte Phoenix -koden, ligner det, at alle servoer kører omvendt (modsat retning).

Når du vil prøve selv, har du brug for koden fra KurtE som grundlag https://github.com/KurtE/Arduino_Phoenix_Parts. Følg instruktionerne for at installere koden. Kopiér mappen Phoenix_Input_PS til din Arduino biblioteksmappe (normalt undermappe i din skitsemappe) og mappen Phoenix_PS3_SSC32 til din skitsemappe.

Info: Hvis du ikke har erfaring med Arduino og værktøjer og har problemer, bedes du kontakte Arduino -fællesskabet (www.arduino.cc). Hvis du har problemer med Phoenix -koden fra KurtE, bedes du kontakte ham. Tak.

Advarsel: At forstå koden er efter min mening ikke noget for begyndere, så du skal være meget fortrolig med C/C ++, programmering og algoritme. Koden har også en masse betinget kompileret kode, styret af #defines, dette gør det meget svært at læse og forstå.

Hardwareliste:

  • Arduino Mega 2560
  • USB -værtsskjold (til Arduino)
  • PS3 controller
  • LynxMotion SSC-32U servokontroller
  • Batteri 6 V (læs venligst kravene fra alt dit HW, ellers kan du beskadige det)
  • Arduino IDE
  • Nogle USB -kabler, kontakter og andre små dele efter behov.

Hvis du kan lide en PS2 -controller, finder du mange oplysninger på internettet om, hvordan du opretter forbindelse til Arduino.

Så vær tålmodig. Jeg opdaterer dette trin, når softwaren fungerer korrekt.

Trin 10: Første IK -test

Image
Image

Jeg har fundet en anden port til Phoenix -koden, som kører meget bedre (https://github.com/davidhend/Hexapod), måske har jeg konfigurationsproblem med den anden kode. Koden ser ud til at være lidt buggy, og gangarterne ser ikke særlig glatte ud, men for mig er dette et stort skridt foran.

Overvej venligst, koden er faktisk eksperimentel. Jeg skal rydde op og rette en masse og vil offentliggøre en opdatering de næste dage. PS3 -porten er baseret på den allerede publicerede PS3 -port, og jeg har kasseret PS2- og XBee -filerne.

Trin 11: Anden IK -test

Løsningen var så let. Jeg var nødt til at rette nogle konfigurationsværdier og invertere alle servovinkler. Nu virker det:-)

Trin 12: Tibia og Coxa EV3

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

Jeg kunne ikke modstå, så jeg har lavet nye skinneben og coxa (servobeslag). Dette er nu den tredje version, jeg har lavet. De nye er mere runde og har et mere organisk/bionisk look.

Så den faktiske status er. Hexapoden virker, men har stadig problemer med et par ting.

1.) Har ikke fundet ud af hvorfor BT har en forsinkelse på 2..3 sekunder.

2.) Servokvaliteten er dårlig.

Ting at gøre:

* Ledninger til servoer skal forbedres.

* Har brug for en god batteriholder.

* Skal finde en måde at montere elektronikken på.

* Kalibrer servoerne igen.

* Tilføjelse af sensorer og en spændingsovervågning til batteriet.

Trin 13: Glat formet lårben

Glat formet lårben
Glat formet lårben
Glat formet lårben
Glat formet lårben
Glat formet lårben
Glat formet lårben
Glat formet lårben
Glat formet lårben

For nogle dage siden har jeg allerede lavet noget nyt lårben, fordi jeg ikke var helt tilfreds med det forrige. På det første billede kan du se forskellene. De gamle havde en diameter på 21 mm i enderne, de nye har en diameter på 1 tommer. Jeg lavede synkehuller i lårbenet med min fræsemaskine med et enkelt hjælpeværktøj, som du kan se på de næste tre billeder.

Inden man lægger drænene ind i lårbenet, er det fornuftigt at bore alle huller, ellers kan det blive svært. Servohornet passer meget godt, næste trin, der ikke er vist her, giver kanterne en rund form. Til dette har jeg brugt en router bit med en radius på 3 mm.

På det sidste billede kan du se en sammenligning af det gamle og det nye. Ved ikke hvad du synes, men jeg kan meget bedre lide den nye.

Trin 14: Sidste trin

Image
Image
Sidste trin
Sidste trin
Sidste trin
Sidste trin
Sidste trin
Sidste trin

Jeg afslutter denne tutorial nu, ellers bliver det til en endeløs historie:-).

I videoen kan du se Phoenix -koden til KurtE kører med nogle af mine ændringer. Robotten bevæger sig ikke perfekt, undskyld det, men de billige servoer har en dårlig kvalitet. Jeg har bestilt nogle andre servoer, jeg har lige testet to af dem med godt resultat og venter stadig på levering. Så jeg kan desværre ikke vise dig, hvordan robotten fungerer med de nye servoer.

Set bagfra: En strøm på 20 ampere til venstre for 10 k potten. Når robotten går, bruger den let 5 ampere. Til højre for 10 k potten ser du en OLED 128x64 pixel, der viser nogle statusoplysninger.

Set forfra: En simpel ultralydssensor HC-SR04, endnu ikke integreret i SW.

Set fra højre: MPU6050 accelerator og giro (6-akse).

Set fra venstre: Piezo -højttaler.

Mekanisk design er nu mere eller mindre udført, undtagen servoer. Så de næste opgaver vil være at integrere nogle sensorer i SW. Til dette har jeg oprettet en GitHub -konto med den SW, jeg bruger, som er baseret på et øjebliksbillede af KurtE's Phoenix SW.

OLED:

Min GitHub:

Anbefalede: