Inhoudsopgave:

Hexapod: 14 stappen (met afbeeldingen)
Hexapod: 14 stappen (met afbeeldingen)

Video: Hexapod: 14 stappen (met afbeeldingen)

Video: Hexapod: 14 stappen (met afbeeldingen)
Video: Роберт Фул о технике и эволюции 2024, Juli-
Anonim
hexapod
hexapod
hexapod
hexapod
hexapod
hexapod

Ik ben al een paar jaar geïnteresseerd om te spelen en robots te maken en ik werd erg geïnspireerd door Zenta, hier vind je zijn YouTube-kanaal https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T en zijn website

Je kunt veel kits van veel verschillende leveranciers op internet vinden, maar ze zijn erg duur, tot 1.500 $ + voor een 4 DoF hexapod, en kits uit China hebben geen goede kwaliteit. Dus heb ik besloten om op mijn manier in hexapod te creëren. Geïnspireerd door Zenta's hexapod Phoenix, je vindt het op zijn YouTube-kanaal (en een kit die je kunt vinden op https://www.lynxmotion.com/c-117-phoenix.aspx, ik ben helemaal opnieuw begonnen met het maken van mijn eigen kit.

Voor het maken van de volgende doelen/vereisten voor mezelf:

1.) Veel plezier en nieuwe dingen leren.

2.) Kostengedreven ontwerp (verdomme, mijn bedrijf heeft me totaal verwend)

3.) Onderdelen gemaakt van multiplex (omdat het voor de meeste mensen en ook voor mij gemakkelijker is om hout te zagen)

4.) Gebruik van gratis beschikbare tools (software)

Dus, wat heb ik tot nu toe gebruikt?

a) SketchUp, voor het mechanische ontwerp.

b) Beuken multiplex 4 mm en 6 mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Digitale standaard servo's (te vinden bij amazon voor een goede prijs).

e) Dosuki en lintzaag, een boormachine, schuurpapier en een vijl.

Stap 1: Constructie van poten en servobeugels

Benen en servobeugels constructie
Benen en servobeugels constructie
Benen en servobeugels constructie
Benen en servobeugels constructie
Benen en servobeugels constructie
Benen en servobeugels constructie

Eerst deed ik wat onderzoek op internet om erachter te komen hoe ik een robot moest maken, maar het was niet erg succesvol om goede informatie te vinden over het maken van mechanisch ontwerp. Dus ik had veel moeite en uiteindelijk heb ik besloten om SketchUp te gebruiken.

Na een paar uur leren door te doen met SketchUp, ben ik klaar met mijn eerste ontwerp van de poten. Het dijbeen is geoptimaliseerd voor de grootte van de servohoorns die ik gebruik. Zoals ik ontdekte, lijkt het origineel ongeveer 1 in diameter te zijn, maar mijn servohoorns hebben 21 mm.

Een afdruk maken met de juiste schaal werkte niet correct met SketchUp op mijn computer, dus ik heb het opgeslagen als PDF, een afdruk gemaakt met 100%, wat gemeten en uiteindelijk opnieuw afgedrukt met de juiste schaalfactor.

Voor de eerste poging maakte ik alleen kunst voor twee benen. Hiervoor heb ik twee planken gestapeld, de afdruk erop gelijmd (voor behangpapier) en de delen uitgesneden met een model-handlintzaag.

Gebruikt materiaal: beuken multiplex 6 mm (1/2 )

Daarna heb ik wat experimenten gedaan, die ik niet heb gedocumenteerd, en wat optimalisaties gedaan. Zoals je kunt zien, is het scheenbeen een beetje te groot, evenals het dijbeen.

Om de servohoorns door het dijbeen te monteren, moet 2 mm van het materiaal worden afgesneden. Dit kan op verschillende manieren. Met een bovenfrees of met een Forstner boormachine. De Forstner had een diameter van slechts 200 mm, dus ik moest wat naoorlogs met de hand doen met een beitel.

Stap 2: Optimalisatie van het dijbeen en scheenbeen

Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen
Optimalisatie van het dijbeen en scheenbeen

Ik heb het ontwerp een beetje veranderd.

1.) Tibia past nu veel beter op de servo die ik gebruik.

2.) Het dijbeen is nu een beetje kleiner (ongeveer 3 van as tot as) en past bij de servohoorns (21 mm diameter).

Ik gebruikte 6 planken van 6 mm multiplex en plakte ze aan elkaar met dubbelzijdig plakband. Als dit niet sterk genoeg is, kunt u een gat door alle planken boren en ze met een schroef aan elkaar bevestigen. dan worden er met de lintzaag in één keer onderdelen uitgesneden. Als je stoer genoeg bent, kun je ook een puzzel gebruiken:-)

Stap 3: De servobeugel ontwerpen

De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen
De servobeugel ontwerpen

Nu is het tijd om de servobeugel te ontwerpen. Dit is sterk ontworpen in verband met de gebruikte servo die ik heb gebruikt. Alle onderdelen zijn gemaakt van beuken multiplex 6 mm weer zie volgende stap.

Stap 4: Servobeugels snijden en monteren

Servobeugels snijden en monteren
Servobeugels snijden en monteren
Servobeugels snijden en monteren
Servobeugels snijden en monteren

Opnieuw heb ik zes delen tegelijk op de lintzaag gesneden. Werkwijze is hetzelfde als voorheen.

1.) Gebruik dubbelzijdig plakband om de planken aan elkaar te lijmen.

2.) Schroeven voor meer stabiliteit tijdens het zagen (hier niet afgebeeld).

Daarna heb ik wat modelleerlijm gebruikt om ze aan elkaar te plakken en twee SPAX-schroeven (nog niet aangebracht op de foto).

In vergelijking met de originele hexapod gebruik ik nog geen kogellagers, in plaats daarvan gebruik ik later slechts 3 mm schroeven, ringen en zelfbevestigingsmoeren om de poten met het lichaam/chassis te monteren.

Stap 5: Montage van de poten en test

Image
Image
De poten monteren en testen
De poten monteren en testen
De poten monteren en testen
De poten monteren en testen

Op de eerste twee foto's zie je de eerste versie van een been. Vervolgens zie je een vergelijking van oude en nieuwe onderdelen en een vergelijking van de nieuwe onderdelen (versie twee) met het origineel (foto op achtergrond).

Als laatste doe je een eerste bewegingstest.

Stap 6: Body construeren en monteren

Body construeren en monteren
Body construeren en monteren
Body construeren en monteren
Body construeren en monteren
Body construeren en monteren
Body construeren en monteren

Het lichaam dat ik heb proberen te reconstrueren op basis van foto's. Als referentie heb ik de servohoorn gebruikt, waarvan ik aannam met een diameter van 1 ". Dus de voorkant wordt een breedte van 4,5" en middelste 6,5 ". Voor de lengte nam ik aan 7". Later heb ik de originele bodykit gekocht en vergeleken. Ik kwam heel dicht bij het origineel. Eindelijk heb ik een derde versie gemaakt, een 1:1 kopie van het origineel.

De eerste bodykit die ik heb gemaakt van 6 mm multiplex, hier zie je de tweede versie gemaakt van 4 mm multiplex, waarvan ik heb ontdekt dat deze sterk en stijf genoeg is. In tegenstelling tot de originele kit monteerde ik de servohoorn bovenop, resp. door het materiaal (je kunt dit ook zien aan het dijbeen). De reden is dat ik geen zin heb om dure aluminium hoorns te kopen, in plaats daarvan wil ik de reeds geleverde plastic hoorns gebruiken. Een andere reden is dat ik dichter bij de servo kom, dus de schuifkrachten zijn minder. Dit zorgt voor een stabielere verbinding.

Trouwens, soms is het goed om Ganesh aan boord te hebben. Met dank aan mijn vriend Tejas:-)

Stap 7: Eerste elektronicatests

Image
Image
Tibia en Coxa EV3
Tibia en Coxa EV3

Alle kunsten zijn nu samengebracht. OK, ik weet dat het er niet erg mooi uitziet, maar eigenlijk ben ik veel aan het experimenteren. In de video kun je enkele eenvoudige, vooraf gedefinieerde sequenties zien spelen, eigenlijk is er geen inverse kinematica geïmplementeerd. De vooraf gedefinieerde gang werkt niet goed omdat het is ontworpen voor een 2 DoF.

In dit voorbeeld gebruik ik de SSC-32U servocontroller van Lynxmotion, deze vind je hier:

Een paar dagen geleden gebruikte ik ook een andere PWM-controller (Adafruit 16-kanaals PWM-controller, https://www.adafruit.com/product/815), maar de SCC heeft eigenlijk een aantal leuke functies, zoals het vertragen van de servo's.

Zo, dat is het inmiddels. Vervolgens moet ik uitzoeken hoe de inverse kinematica (IK) werkt, misschien programmeer ik een eenvoudige gang zoals de voorgedefinieerde in de SSC-controller. Ik heb hier al een gebruiksklaar voorbeeld gevonden https://github.com/KurtE/Arduino_Phoenix_Parts, maar ik heb het nog niet uitgevoerd. Geen idee waarom, maar ik ben ermee bezig.

Dus, hier is een korte ToDo-lijst.

1.) Programmeer een eenvoudige gang zoals ingebouwd in het SSC.

2.) Programmeer een PS3-controllerklasse/wrapper voor de Arduino Phoenix.

3.) Laat de code van KurtE draaien of schrijf mijn eigen code.

De servo's die ik gebruik heb ik gevonden bij Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. De prijs is redelijk goed, maar de kwaliteit kan veel beter.

Stap 8: Eerste eenvoudige looptest

Zoals ik in de laatste stap al zei, heb ik geprobeerd mijn eigen loopvolgorde te programmeren. Dit is een heel eenvoudige, zoals mechanisch speelgoed, en het is niet geoptimaliseerd voor het lichaam dat ik hier gebruik. Een eenvoudig recht lichaam zou veel beter zijn.

Dus wens je veel plezier. Ik moet nu IK leren;-)

Opmerkingen: Als je goed naar de poten kijkt, zul je zien dat sommige servo's zich vreemd gedragen. Wat ik bedoel is, ze bewegen niet altijd soepel, misschien moet ik ze vervangen door andere servo's.

Stap 9: PS3-controller overzetten

Vanmorgen was ik bezig met het schrijven van een wikkel voor de Phoenix-code. Het kostte me een paar uur, ongeveer 2-3, om dat te doen. de code is niet eindelijk debugged en ik heb wat extra debugging aan de console toegevoegd. Het werkt tot nu toe:-)

Maar trouwens, toen ik de Phoenix-code uitvoerde, lijkt het erop dat alle servo's omgekeerd draaien (tegengestelde richting).

Wanneer je het zelf wilt uitproberen heb je de code van KurtE als basis nodig https://github.com/KurtE/Arduino_Phoenix_Parts. Volg de instructies om de code te installeren. Kopieer de map Phoenix_Input_PS naar uw Arduino-bibliotheekmap (meestal een submap van uw schetsmap) en de map Phoenix_PS3_SSC32 naar uw schetsmap.

Info: Als je geen ervaring hebt met Arduino en tools en problemen hebt, neem dan contact op met de Arduino-community (www.arduino.cc). Als je problemen hebt met de Phoenix-code van KurtE, neem dan contact met hem op. Bedankt.

Waarschuwing: het begrijpen van de code is naar mijn mening niets voor beginners, dus je moet goed bekend zijn met C/C++, programmeren en algoritme. De code heeft ook veel conditioneel gecompileerde code, aangestuurd door #defines, dit maakt het erg moeilijk om te lezen en te begrijpen.

Hardwarelijst:

  • Arduino Mega 2560
  • USB-hostschild (voor Arduino)
  • PS3-controller
  • LynxMotion SSC-32U servocontroller
  • Batterij 6 V (lees de vereisten van al uw HW, anders kunt u deze beschadigen)
  • Arduino IDE
  • Sommige USB-kabels, schakelaars en andere kleine onderdelen indien nodig.

Als je van een PS2-controller houdt, vind je op internet veel informatie over hoe je verbinding kunt maken met Arduino.

Dus wees geduldig. Ik zal deze stap bijwerken als de software correct werkt.

Stap 10: Eerste IK-test

Image
Image

Ik heb een andere poort van de Phoenix-code gevonden die veel beter werkt (https://github.com/davidhend/Hexapod), misschien heb ik een configuratieprobleem met de andere code. De code lijkt een beetje buggy en de gangen zien er niet erg soepel uit, maar voor mij is dit een grote stap vooruit.

Houd er rekening mee dat de code eigenlijk experimenteel is. Ik moet veel opruimen en corrigeren en zal de komende dagen een update publiceren. De PS3-poort is gebaseerd op de reeds gepubliceerde PS3-poort en ik heb de PS2- en XBee-bestanden weggegooid.

Stap 11: Tweede IK-test

Oplossing was zo makkelijk. Ik moest enkele configuratiewaarden corrigeren en alle servo-hoeken omkeren. Nu werkt het:-)

Stap 12: Tibia en Coxa EV3

Tibia en Coxa EV3
Tibia en Coxa EV3
Tibia en Coxa EV3
Tibia en Coxa EV3

Ik kon het niet laten, dus heb ik nieuwe tibia's en coxa (servobeugels) gemaakt. Dit is nu de derde versie die ik heb gemaakt. De nieuwe zijn meer rond van vorm en hebben een meer organische/bionische uitstraling.

De werkelijke status is dus. De hexapod werkt, maar heb nog wat moeite met een paar dingen.

1.) Ik ben er niet achter waarom de BT een vertraging van 2,.3 seconden heeft.

2.) De servokwaliteit is slecht.

Dingen om te doen:

* Bedrading van de servo's moet worden verbeterd.

* Goede batterijhouder nodig.

* Moet een manier vinden om de elektronica te monteren.

* Kalibreer de servo's opnieuw.

* Sensoren toevoegen en een spanningsmonitor voor de batterij.

Stap 13: Glad gevormd dijbeen

Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen
Glad gevormd dijbeen

Een paar dagen geleden heb ik al een nieuw dijbeen gemaakt omdat ik niet helemaal tevreden was met het vorige. Op de eerste foto zie je de verschillen. De oude hadden een diameter van 21 mm aan de uiteinden, de nieuwe hebben een diameter van 1 inch. Ik maakte zinkgaten in het dijbeen met mijn freesmachine met een eenvoudig hulpmiddel, zoals je op de volgende drie foto's kunt zien.

Alvorens de zinken in het dijbeen te maken, is het zinvol om alle gaten te boren, anders kan het moeilijk worden. De servohoorn past heel goed, volgende stap, hier niet getoond, is om de randen een ronde vorm te geven. Hiervoor heb ik een bovenfrees gebruikt met een straal van 3 mm.

Op de laatste foto zie je een vergelijking van de oude en de nieuwe. Ik weet niet wat je denkt, maar ik vind de nieuwe veel leuker.

Stap 14: laatste stappen

Image
Image
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen

Ik zal deze tutorial nu afmaken, anders wordt het een eindeloos verhaal:-).

In de video zie je de Phoenix-code van KurtE draaien met enkele van mijn aanpassingen. De robot beweegt niet perfect, sorry daarvoor, maar de goedkope servo's zijn van slechte kwaliteit. Ik heb een aantal andere servo's besteld, ik heb er net twee getest met goede resultaten en wacht nog steeds op de levering. Dus sorry dat ik je niet kan laten zien hoe de robot werkt met de nieuwe servo's.

Achteraanzicht: Een 20 ampère stroomsensor, links van de 10 k pot. Als de robot loopt, verbruikt hij gemakkelijk 5 ampère. Rechts van de 10k pot zie je een OLED 128x64 pixel met wat statusinformatie.

Vooraanzicht: Een eenvoudige ultrasone sensor HC-SR04, nog niet geïntegreerd in SW.

Rechter zijaanzicht: MPU6050 gaspedaal en giro (6-assig).

Linker zijaanzicht: piëzo-luidspreker.

Het mechanische ontwerp is nu min of meer klaar, behalve de servo's. De volgende taken zullen dus zijn om enkele sensoren in de SW te integreren. Hiervoor heb ik een GitHub-account gemaakt met de SW die ik gebruik, die gebaseerd is op een momentopname van KurtE's Phoenix SW.

OLED:

Mijn GitHub:

Aanbevolen: