Innholdsfortegnelse:

Jasper Arduino Hexapod: 8 trinn (med bilder)
Jasper Arduino Hexapod: 8 trinn (med bilder)

Video: Jasper Arduino Hexapod: 8 trinn (med bilder)

Video: Jasper Arduino Hexapod: 8 trinn (med bilder)
Video: Jasper Arduino Hexapod Robot 2024, Juli
Anonim
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod

Prosjektdato: november 2018

OVERSIKT (JASPER)

Seks ben, tre servoer per bein, 18 servobevægelsessystem styrt av en Arduino Mega. Servoer koblet til via Arduino Mega sensor shield V2. Kommunikasjon med Hexapod via Bluetooth BT12 -modul og snakker med skreddersydd Android -applikasjon. Systemet drives av 2 x 18650, 3400mAh og 2 x 2400mA batterisett som hver holdes med borrelås under heksapoden. En strømbryter for både servo- og kontrollsystemene er gitt, i likhet med en grønn LED -indikatorlampe på hodet på sekskanten. Kommandoer gjentas til en 16x2 LCD -skjerm. Videostrøm, lysring og unngåelse av ultralyd hindringer er plassert i hodet.

MERK: For sunnhetens skyld anbefaler jeg på det sterkeste bruk av servoer av god kvalitet, jeg begynte med MG995 -servoer, 20 av dem, hvorav 11 enten brant ut, mistet evnen til å sentrere eller sluttet å jobbe.

www.youtube.com/embed/ejzGMVskKec

Trinn 1: UTSTYR

UTSTYR
UTSTYR
UTSTYR
UTSTYR
UTSTYR
UTSTYR
UTSTYR
UTSTYR

1. 20 x DS3218 servoer

2. 1x Hexapod -basesett

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensorskjerm v2

5. 1 x 2 bay 18650 batteriholder

6. 2 x to -polet strømbryter

7. Grønt LED -lys og 220kohm motstand

8. 2 x 6v 2800mAh batteripakker med borrelåsfeste

9. 2 x 18650 x 3400mAh batterier

10. 1x HC-SR04 Ekkoloddmodul

11. 1x BT12 Bluetooth -modul

12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT utviklingstavle

13. 1 x Arducam Mini Module Camera Shield med OV2640 2 megapiksler objektiv

14. 1 x Pixie Neon 16 LCD -lysring

15. 1 x 16x2 linje LCD -skjerm med vedlagt IIC -adapter.

16. 1 x 5v strømplugg for Arduino Mega

17. 1 x 5v mikro -USB -plugg for NodeMcu -modul.

18. 1 x DC til DC Buck omformermodul

19. 1 x 70 mm x 120 mm x 39 mm firkantet svart plastboks (kropp)

20. 1 x 70 mm x 50 mm x 70 mm svart plastboks (hode)

21. 4 x 40 mm messingstativ av M3 pluss 4 gummistøttestøtter

22. Ulike mannlige til mannlige startkabler, loddetinn, m3 skruer og bolter, og varmt lim

Bevegelse av ben ved hjelp av skreddersydd logikk. Kamerabevegelse via to uavhengige servoer som gir opp, ned, venstre, høyre og sentrert bevegelse. Kameraet styres av WIFI -tilkobling, og vises i WebView -visning i Android -applikasjonen.

Trinn 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Hver har maks 180 grader til

minst 0 graders bevegelse.

Hver servo identifisert med tre tallkombinasjon, LegCFT; hvor C er kroppen (COXA), F er låret (FEMUR), og T er albuen (TIBIA), så 410 vil referere til det fjerde benet og Tibia servo, på samme måte ville 411 referere til det fjerde benet og Tibia servo. Nummereringsrekkefølgen vil være 100 til 611. Hvert servoben har gummibasert fot for å dempe støt og gi bedre grep.

Ben 1: 100, 110, 111 Foran

Ben 2: 200, 210, 211 bein2-bein1

Ben 3: 300, 310, 311 bein4-bein3

Ben 4: 400, 410, 411 bein6-bein5

Ben 5: 500, 510, 511 Rygg

Ben 6: 600, 610, 611

Standardposisjonen for alle Coax Servoer er 90 grader.

Standardposisjonen for Femur Servos er 90 grader, 45 grader er hvileposisjonen.

Standardposisjon for Tibia Servoer for alle ben er 90 grader, ben 1, 3 og 5 bruker 175 grader som hvilestilling og ben 2, 4 og 6 bruker 5 grader.

Hals 1: 700 Begrenset til 75 til 105 grader for bevegelse opp og ned

Hals 2: 800 Begrenset til 45 til 135 grader for venstre og høyre bevegelse

Servobevægelse begrenset til tre "skriver" før en forsinkelse på 10 millisekunder er inkludert, før ytterligere "skriv" -kommandoer blir utstedt. Dette bidrar til å redusere belastningen på batteriene.

Trinn 3: KOMMANDOER

KOMMANDOER
KOMMANDOER
KOMMANDOER
KOMMANDOER
KOMMANDOER
KOMMANDOER

A = Stopp - Stå i standardposisjon.

B = fremover - gå_forover

C = revers - walk_backward

D = høyre - sving_høyre

E = venstre - sving_ venstre

F = venstre sideveis bevegelse - krabbe_ venstre

G = bevegelse til høyre sidelengs - crab_right

H = Rear_crouch (ben 1 og 2 maksimalt, 3 og 4 ben i nøytral stilling, ben 5 og 6 i minimumsposisjon)

I = Front_crouch (ben 1 og 2 i minimumsposisjon, 3 og 4 ben i nøytral posisjon, bein 5 og 6 i maksimal posisjon)

J = kamera galoppert - midt (hals 1 og hals 2 i midtposisjon, standardposisjon)

K = kamera venstre - pan_ venstre (Hals 1, midtstilling, Hals 2 servo minimumsposisjon)

L = kamera høyre - pan_right (Hals 1, midtstilling, hals 2 servo maksimal posisjon)

M = kamera opp - pan_up (nakke 1 maksimal posisjon, nakke 2 servo midtstilling)

N = kamera ned - pan_down (Hals 1 minimumsposisjon, Hals 2 servo midtposisjon)

O = Hvile (Hexapod) sitter på støtter.

P = Standing Up - Hexapod står opp til standardposisjonen.

Q = Lyser av

R = Grønt lys på Pixie Neon light ring.

S = Rødt lys på Pixie Neon light ring.

T = Blått lys på Pixie Neon light ring.

U = Hvitt lys på Pixie Neon light ring.

V = Forbena vinker.

W = Lydhorn.

X = Sveip hodet fra venstre til høyre.

Y = Play Tune.

Trinn 4: BEVEGELSE

BEVEGELSE
BEVEGELSE
BEVEGELSE
BEVEGELSE
BEVEGELSE
BEVEGELSE

Coax servoposisjonen er langsgående til kroppens akse, så rett frem er 0 grader og rett bak er 180 grader. Imidlertid vil denne Coax og alle andre servoer være begrenset til 45 til 135 grader.

Benbevegelse forover, bakover, venstre og høyre ville alle bli startet med løfting av beinet med Femur og Tibia servo, deretter fulgt av kroppsservo bevegelse, og til slutt senking av samme ben igjen med Femur og Tibia servoer.

Forover og bakover

For å bevege seg fremover eller bakover bena arbeide i par, 1 og 2, 3 og 4, 5 og 6. En enkel bevegelse forover består av ben 1 og 2 som beveger seg fra sin nåværende posisjon til så langt frem som mulig, deretter ben 3 og 4, og til slutt gjentar 5 og 6 bein den samme handlingen. Så flytter alle seks Coax -servoer fra denne forlengede posisjonen fremover tilbake til sin opprinnelige startposisjon. Baksiden av denne prosessen brukes til å bevege seg bakover. Som en del av fremoverbevegelsesprosessen vil ultralydsenheten HC_SR04 se etter hindringer foran deg, og hvis en blir funnet, vri Hexapod enten tilfeldig til venstre eller høyre.

Venstre og høyre

For å flytte venstre eller høyre benpar arbeider sammen, men i motsatte retninger. Så, for eksempel å svinge høyre ben 1, beveger seg fra gjeldende posisjon tilbake til 135 graders posisjon mens bein 2 beveger seg fremover til 45 graders posisjon. Dette gjentas for beinpar 3 og 4, og 5 og 6 bein. På det tidspunktet beveger Coax -servoene sin opprinnelige posisjon tilbake til sin nye posisjon ved å vri kroppen i bevegelsesretningen, dvs. Ikke sant. Denne prosessen fortsetter til den nødvendige rotasjonen til venstre er fullført. Baksiden av denne prosessen brukes til å svinge til venstre, så bein 1 beveger seg fra sin nåværende posisjon fremover til 45-graders posisjon, mens bein 2 beveger seg bakover til 135-graders posisjon.

Stå opp og hvile

Begge disse prosessene bruker ikke Coax -servoen på noen av beina, så for å stå opp, beveger Tibia -servoen seg fra sin nåværende posisjon til maksimum 45 grader, mens de samme Femur -servoene hviler til sitt laveste posisjon, 175 eller 5 grader. Den samme bevegelsen gjelder for Tibia -servoene som beveger seg til sitt maksimum på 45 grader, for stående og minimum, dvs. 175 eller 5 grader for hvile.

Crouch Forward og Crouch Backward

Også her er prosessene speilbilder av hverandre. For huking fremover er ben 1 og 2 i laveste posisjon, mens bein 5 og 6 er i høyeste posisjon. I begge tilfeller inntar ben 4 og 5 en nøytral posisjon som er i tråd med beinsettene 1 og 2 og 5 og 6. For hukende bakover er ben 1 og 2 i sin høyeste posisjon mens ben 5 og 6 er i sin laveste posisjon.

Trinn 5: HEAD CAMERA/SONAR

HOVEDKAMERA/SONAR
HOVEDKAMERA/SONAR
HOVEDKAMERA/SONAR
HOVEDKAMERA/SONAR
HOVEDKAMERA/SONAR
HOVEDKAMERA/SONAR

Hodet vil bestå av en firkantet plastboks 38mm x 38mm x 38mm med et avtagbart lokk. Boksen/hodet vil ha begrenset vertikal og horisontal bevegelse. Bevegelse oppnås ved bruk av to servoer, en festet til robotens kropp og en andre festet til den første servokroppen og armen festet til hodet. 7,4v levert av to 18650 batterier vil drive Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT utviklingskort DEVKIT, festet til et Arducam Mini Module Camera Shield med OV2640 2 megapiksler objektiv. Denne ordningen vil tillate roboten å oppdage hindringer og streame live video via innebygd Wi-Fi. Ekkolodd som bruker en HC-SR04 og mulig lysstyringsinformasjon vil strømme tilbake til Arduino Mega.

Takk til Dmainmun for hans Arducam Instructables -artikkel, som var til stor hjelp i min første forståelse av hvordan Arducam kunne brukes til å streame video.

Batteri

Det ble besluttet å bruke to batteripakker, en for hodets komponenter og Arduino Mega -kort, og en andre pakke for å levere strøm til alle servoene. Den første pakken besto av 2 x 18650 3400mAh batterier som leverer 7,4v. Den andre pakken besto av 2 x 6V 2800mAh batteripakker koblet parallelt, noe som gir en 6,4V forsyning, men økt kapasitet på 5600mAh festet til undersiden av Hexapod ved hjelp av borrelåsstrimler.

Trinn 6: BENBEVEGELSE

BENBEVEGELSE
BENBEVEGELSE
BENBEVEGELSE
BENBEVEGELSE
BENBEVEGELSE
BENBEVEGELSE

Armer kan enten fungere i par eller enkeltvis. Hver arm består av kroppsledd som kalles en koaks med 45 til 135 graders bevegelse, et lårledd som heter Femur, med 45 til 135 graders bevegelse, og til slutt et albueledd som kalles Tibia, eller endeffektor, med 45 til 135 graders bevegelse. Skreddersydd programvare ble skrevet for å gi bevegelse av beina.

Typer bevegelser:

For Coax er 45 grader vendt bakover fra hodet, 90 grader er nøytral posisjon og 135 grader vender fremover.

For lårbenet er 45 grader høyeste posisjon fra bakken, 90 grader er nøytral posisjon, og 135 grader er laveste posisjon fra bakken.

For Tibia er 45 grader den mest fjerne posisjonen fra kroppen, 90 grader er nøytral posisjon, og 135 grader er nærmeste posisjon til kroppen.

Anta at alle servoer er i nøytral posisjon, 90 grader.

Fremover: Ben 1 og 2, Femur løft til 135 grader, Coax beveger seg til 45 grader, Tibia beveger seg til 45 grader mest fjernt fra kroppen, Femur senkes til 45 grader. Dette gjentas for beinpar 3 og 4, og benpar 5 og 6. Alle 6 Coax -servoer beveger seg fra 45 grader bakover til 90 grader, nøytral posisjon, alle 6 Femur -servoer beveger seg fra 45 grader opp til 90 grader, nøytral posisjon. Til slutt beveger alle Tibia servoer seg opp fra 45 grader til 90 grader, nøytral posisjon.

Omvendt: Starter med bein 5 og 6, deretter 3 og 4, og til slutt ben 1 og 2, ellers er bevegelse den samme for Coax, Femur og Tibia.

Venstre: Ben 1, 3 og 5 beveger seg i motsatt retning, mens ben 2, 4 og 6 beveger seg fremover. Både bevegelse forover og bakover samsvarer med standard bevegelse forover og bakover. For å fullføre svingen, beveger du alle seks Coax -servoer 45 grader som snur kroppen.

Høyre: Ben 2, 4 og 6 beveger seg i motsatt retning, mens bein 1, 3 og 5 beveger seg i foroverretning. Både bevegelse forover og bakover samsvarer med standard bevegelse forover og bakover. Koaksbevegelse er lik den ovenfor, men i motsatt retning.

Hvile: Alle Coax- og Femur -servoer i nøytral posisjon, alle Tibia -servoer i laveste posisjon 45 grader, som effektivt huker seg foran, midt og bak.

Crouch bak, stå foran: Ben 1 og 2 i høyeste posisjon, ben 3 og 4 i nøytral, og bein 5 og 6 i laveste posisjon.

Stå bak, huk foran: Ben 1 og i laveste posisjon, bein 3 og 4 i nøytral, og bein 5 og 6 i høyeste posisjon.

Krabbe til venstre: Ben 1 og 5 løfter og strekker seg utover til venstre, samtidig som ben 2 og 6 løfter og trekker seg sammen under kroppen. Med alle disse fire beina på bakken går alle tibia tilbake til sin nøytrale posisjon. Til slutt gjentar ben 3 og 4 den samme prosessen.

Krabbe til høyre: Ben 2 og 6 løfter og strekker seg utover til høyre, samtidig som ben 1 og 5 løfter og trekker seg sammen under kroppen. Med alle disse fire beina på bakken går alle tibia tilbake til sin nøytrale posisjon. Til slutt gjentar ben 3 og 4 den samme prosessen.

Venstre hodebevegelse: nakke 1 servo 45 grader. Begge servoene går tilbake til 90 nøytral posisjon.

Høyre hodebevegelse: nakke 1 servo 135 grader

Opp hodebevegelse: nakke 2 servo 45 grader

Bevegelse nedover hodet: nakke 2 servo 135 grader

Panhodebevegelse: nakke 2 beveger seg fra 45 til 135 grader

SERVOS

Etter første testing av MG995 og MG996 servoer der alle ble erstattet. Alle 20 servoer ble erstattet med DS32228 20 kg servoer som ga mye forbedret sentrering og økt lastekapasitet.

Det er viktig å teste hver servo grundig med et egnet testprogram. Jeg endret det enkle "feie" eksempelprogrammet for å teste spesifikt for 0, 90 og 180 stillinger. Denne testrutinen ble kjørt i minst 5 minutter for hver servo og deretter gjentatt en dag senere.

MERK: Bruk av et standard Arduino Uno -kort som drives av en USB -kabel gir kanskje ikke nok spenning til å kjøre visse servoer. Jeg fant ut at 4,85v servoen som ble mottatt fra Uno forårsaket uregelmessig oppførsel med DS3218 -servoene, noe som økte denne spenningen til 5,05v kurert dette problemet. Så jeg bestemte meg for å kjøre servoene på 6v. Til slutt fant jeg ut at en spenning på 6,4v var nødvendig ettersom 6v forårsaket uregelmessig oppførsel av servoene.

Trinn 7: KONSTRUKSJON

KONSTRUKSJON
KONSTRUKSJON
KONSTRUKSJON
KONSTRUKSJON
KONSTRUKSJON
KONSTRUKSJON

BEN

Startet med å legge ut deler av Hexapod -settet. Alle servosirkulære horn krevde forstørrelse av mattehullet i begge ender av lårbenet og alle Coax -hull. Hvert servohorn ble festet til det tilhørende Coax og Femur med fire skruer og en femte skrue gjennom midten av servohodet. Alle servokropper var festet med fire bolter og muttere. Coax servofeste, for hvert av de seks benene, hadde et lager festet til bunnen av festet ved hjelp av en enkelt bolt og mutter. Hver Coax servomontasje ble festet, med fire bolter og muttere, til sin Femur servomontasje med denne monteringen rotert 90 grader. Hodet til Femur -servoen var festet til den ene enden av Femur -armen med den andre enden av Femur festet til Tibia -servohodet. De seks Tibia -servoene var festet til toppen av de seks bena med fire bolter og muttere. Hver beinend effektor var dekket med en myk gummistøvle for å gi ekstra grep. Det ble funnet at det medfølgende servohornet var for stort til å festes i koaksial-, femur- og tibia -tilkoblingene, slik at alle senterhullene ble forstørret til 9 mm. Min takk til “Toglefritz” for hans Capers II instruerbare om konstruksjonselementene i Hexapod -settet. Jeg avvek imidlertid fra konstruksjonen i ett område, nemlig festing av servohornene til begge ender av lårbenet. Jeg bestemte meg for å forstørre senterhullet på lårbenet slik at midten av servohornet kunne passere gjennom det, noe som ga servohornet ekstra styrke da det var nærmere servoen og disse to leddene opplevde maksimalt dreiemoment. Hvert servohorn ble festet til lårbenet ved hjelp av to M2.2 selvskruende skruer, hvor endene på disse skruene ble fjernet og lagret flatt. Alle M3 -bolter hadde låsestramme påført.

KROPP

Kroppen består av to plater hver med seks hull, hvert hull som brukes til å feste Coax servohornet. To 6V 2800mAh batterier ble festet til undersiden av bunnplaten ved hjelp av borrelås. Fire M3 stand -offs som strekker seg like forbi bunnen av batteriholderen ble festet, hver med en myk gummistøvel glidd på bunnen, dette gir en stabil base som Hexapod kan hvile på. Den øvre delen av bunnplaten har Arduino Mega og dens sensorskjerm festet ved hjelp av fire 5 mm stand -offs. På toppen av bunnplaten var det festet 4 x M3 stativ 6 cm i høyden, disse omgav Arduino Mega og ga støtte til topplaten. Topplaten hadde en 120 mm x 70 mm x 30 mm boks festet til den, denne vil huse den første av nakkeservoene og LCD -skjermen. En annen 2 rom, 2 x 18650 batteriholder ble festet på undersiden av topplaten på baksiden av Arduino Mega -kortet som vender mot forsiden av Hexapod.

Topplaten har seks servohorn hver festet med fire M2.2 -skruer. På toppen av platen er det installert en 70 mm x 120 mm x 30 mm boks som en 2 -roms 18650 batteriholder, to -polet bryter, grønn LED og en IC2 16 x 2 LCD -skjerm er installert i. I tillegg er den første halsen servoen også installert, strøm og den andre halsen servodatakabelen passerer gjennom et hull for å mate den andre servoen og Arduino V3 NodeMcu -modulen. En ytterligere datakabel passerer gjennom toppboksen og mater HC-SR04 ultralydsmodulen, igjen plassert i hodet. En annen data- og strømkabel er også forbi hodet for å drive pixie -ledningsringen.

De to servodatakablene og HC-SR04-datakabelen mates gjennom topplaten mens Bluetooth-modulen er festet til undersiden av platen ved hjelp av en neonformeplate og varmt lim. Kabelføring av de resterende 18 servodatakablene må være på plass før ethvert forsøk på å fikse topplaten til bunnplaten ved hjelp av 4 x M3 -skruer som passer inn i de 4 x M3 -stativene som ble festet til bunnplaten. Som en del av festingsprosessen for den øverste bunnplaten må alle seks Coax -servoer også plasseres i riktig posisjon med lagerbeslaget i bunnplatehullet og servohodebeslaget i topplathornet. Når de er montert, er toppene på de seks Coax -servoene festet med 6 M3 -skruer. På grunn av posisjonen til servohornene for de seks Coax -servoene, måtte de 4 x M3 -avstandene reduseres i høyden med 2 mm, slik at Coax -servolagrene satt riktig i bunnplaten.

HODE

Hodet består av to servoer 90 grader mot hverandre, en plassert i esken festet til topplaten, og den andre festet til den første via servohornet ved hjelp av en U-formet del av messingplate. Det andre servoens horn er festet til en L -formet messingbrakett som selv er festet til en 70 mm x 70 mm x 50 mm eske med to bolter og muttere. Boksen danner hodet, innsiden av som er installert Ardcam-kameraet, HC-SR04 ultralydmodul, og Arduino V3 NodeMcu-modulen, og strøm-LED. Både ultralydsmodulen sender og mottar sensorhoder stikker ut foran på esken, det samme gjør kameralinsen. Rundt linsen på utsiden av esken er en 16 LCD Nero pixie ring. NodeMcu -strøm -LED -en sees via et hull i bakplaten på hodet, strømkabelen, datakabelen til ultralydsmodulen og pixie Neon -datakraftkabler som kommer inn via et hull mellom bakplaten og hodeplaten.

ELEKTRONIKK

Følgende Fritzing -diagrammer viser kropp og hodeelektronikk. VCC- og GRD -linjene er ikke vist for de 20 servoene for å gjøre diagrammet mer oversiktlig. Bluetooth -modulen, via Android -appen., Styrer Hexapod -bevegelsen inkludert nakkeservoene. Den WIFI -baserte Arduino NodeMcu -modulen styrer Arducam -kameramodulen. Alle servoer er festet til Arduino sensorskjoldet via en enkelt blokk som inneholder VCC, GRD og signallinjer. Standard 20 cm DuPont-jumperkabler brukes til å koble Bluetooth BT12, HC-SR04 og IC2 LCD.

BENKALIBRERING

Dette er et av de vanskeligste forberedelsesområdene før arbeidet med bevegelsen av Hexapod. Den første ideen er å sette alle ben til følgende: Coax servoer 90 grader, Femur servoer til 90 grader og Tibia servoer satt til 90 med den fysiske benposisjonen satt til 105 grader for ben 2, 4 og 6 og 75 grader for bein 1, 3 og 5. Hexapod ble plassert på en plan overflate som hvilte på de fire støttene under batterihuset. Det er beina der de er plassert på like avstandspunkter mellom hvert ben og i samme avstand fra kroppen. Alle disse posisjonene var merket på den jevne overflaten. Under konstruksjonen av beina ble midtpunktet på hver servo funnet, dette bør være servoens 90-graders posisjon. Denne 90-graders standardposisjonen brukes med alle servoer.

Coax servoer 2 og 5 indre flater er parallelle med hverandre, dette gjelder servoer 1 og 6, og 3 og 4. Alle Femur og Coax servoer er festet sammen på 90 grader til hverandre under konstruksjonsfasen. Alle Femur-servoer har Femur-armen festet til seg i en 90-graders vinkel. Alle Tibia -servoer er festet til Tibia ved 90 grader. 2, 4 og 6 Tibia servoer er festet til femurarmen ved 105 grader, mens Tibia servos 1, 3 og 5 er festet til femurarmen ved 75 grader.

Det er viktig å merke seg at mens du tester, bør alle servoer overvåkes for temperatur, en varm servo betyr at servoen jobber for hardt og kan mislykkes, de fleste servoer blir varme å ta på.

Den første kalibreringen er å flytte Hexapod fra hvileposisjon, etter å ha blitt slått på, til en stående stilling som er både stabil, stabil, jevn og viktigst at ingen av servoene er overoppvarmet. For å opprettholde en stabil posisjon, er det nødvendig å skrive til hver servo med en forsinkelse på mindre enn 20 millisekunder, 10 millisekunder ble brukt. Alle servoer kan bare bevege seg fra 0 til 180 grader og fra 180 grader tilbake til 0, så for alle Femur -servoer er 0 og 180 grader vertikale og 90 grader er horisontale.

Før hver servo ble festet, ble det sendt en initialiseringsskriving til hver av de tidligere definerte servoene og ga den sin nåværende hvilevinkel, dvs. den nåværende posisjonen servoen er i mens han hviler. Dette var 90 grader for alle Coax servoer, 55 grader for Femur og Tibia servoer 1, 3 og 5, og 125 grader for Femur og Tibia servoer 2, 4 og 6.

Det er viktig å merke seg at batterier alltid bør være fulladet ved starten av kalibreringsøkten.

Hexapod starter alltid fra en hvilestilling, og hele kroppen støttes av de fire føttene. Fra denne posisjonen blir alle Femur og Tibia servoer syklet fra startposisjonene opp til ståposisjonen, da er alle servoer 90 grader. For å fullføre ståposisjonen utstedes “stå” -kommandoen. Denne kommandoen krever at alle ben løftes og settes ned igjen i to sett med tre beinbevegelser, ben 1, 5 og 4 og 2, 6 og 3.

Trinn 8: PROGRAMVARE

Programvaren består av tre deler, del en er Arduino -koden som kjører på Arduino Mega, del to er Arduino -koden som kjører på NodeMcu -modulen i hodet. Kommunikasjonen skjer via Bluetooth BT12 -enheten som mottar kommandoer fra Android -nettbrettet, nemlig en Samsung Tab 2, som kjører en tilpasset applikasjon for Android Studio. Det er denne applikasjonen som sender kommandoer til Hexapod. Den samme applikasjonen mottar også live videofeed fra NodeMcu -modulen via den innebygde WIFI -en.

ANDROID -KODE

Den skreddersydde Android -koden, utviklet ved hjelp av Android Studio, gir plattformen som toskjermsprogrammet kjøres på. Programmet har to skjermer, hovedskjermen lar brukeren utstede kommandoer til Hexapod og se videofeedet som kommer fra hexapodhodet. Den andre skjermen, som du får tilgang til via WIFI -knappen, lar brukeren koble til først hexapod Bluetooth og for det andre WIFI hot spot som genereres av NodeMCU Arduino -kortet i hexapodhodet. Programmet sender enkeltbokstavkommandoer, via en seriell 9600 Baud, fra nettbrettet via den innebygde Bluetooth til BT12 Bluetooth som er koblet til hexapoden.

ARDUINO -KODE

Kodeutvikling startet med utviklingen av et testprogram som var designet for å teste de grunnleggende funksjonene til Hexapod, det er hode og kropp. Siden hodet og dets drift er helt atskilt fra kroppen, ble programvareutviklingen testet parallelt med kroppsfunksjonskoden. Hodeoperasjonskoden var i stor grad basert på en tidligere utvikling med inkludering av servobevægelse. Koden inkluderte drift av en 16x2 LCD-skjerm, HC-SR04 ultralydsmodul og en 16 LED lysring. Ytterligere kodeutvikling var nødvendig for å gi WIFI -tilgang til livevideostrømmen fra hodet.

Kroppsfunksjonskoden ble opprinnelig utviklet for å gi første servofeste og utgangsposisjon mens du er i ro. Fra denne posisjonen ble Hexapod programmert til å bare stå. Utviklingen fortsatte deretter med ytterligere bevegelser av Hexapod og kombinasjonen av hode- og kroppskodeseksjoner med seriekommunikasjonen med Android -appen.

Test -servokoden tillot utvikling av bein- og kroppsbevegelser, nemlig:

1. InitLeg - Muliggjør hvileposisjon, stående benposisjon, krabbeinnledningsbenposisjon for enten venstre eller høyre gange, startposisjon for gåing forover eller bakover.

2. Wave - Lar frontbenene vinke fire ganger før de går tilbake til stående stilling.

3. TurnLeg- Lar Hexapod svinge til venstre eller høyre.

4. MoveLeg- Lar Hexapod gå fremover eller bakover.

5. CrouchLeg- Lar Hexapod enten huke seg nedover på forbenene eller bakover på bakbena.

Benbevegelse er basert på benpar som jobber sammen, så ben 1 og 2, 3 og 4, 5 og 6 fungerer som par. Bevegelse består av to grunnleggende handlinger, en rekkevidde og trekk forover og et trykk bakover. For å gå bakover er disse to bevegelsene reversert, så for eksempel å gå fremover, ben 1 og 2 trekker, mens bein 5 og 6 skyver, ben 3 og 4 gir stabilitet. Krabbevandring er ganske enkelt de samme handlingene, men satt på 90 grader til kroppen, i dette tilfellet beveger ben 3 og 4 seg på samme måte som de andre beina. Mens gående bein beveger seg vekselvis, men mens krabbe -ben 1 og 5 fungerer som et par mens bein 3 jobber på alternative skritt til bein 1 og 5.

Bevegelse Funksjonell beskrivelse følger for hver av de store bevegelsesfunksjonene som hver består av bevegelseselementer samlet og handlet i en bestemt sekvens.

HVILET: Fra en stående stilling beveger alle Femur -servoene seg oppover for å senke kroppen ned på de fire støttene. Samtidig beveger alle Tibia -servoene seg innover.

STÅENDE: Fra hvilestillingen beveger alle Tibia-servoer seg utover, når dette er fullført, beveger alle Femur-servoer seg til 90-graders stilling, til slutt beveger alle Tibia-servoer seg til 90-graders posisjon samtidig.

DREI VENSTRE: Ben 1, 3 og 5 beveger seg bakover vekk fra hodet med 45 grader, samtidig beina 2, 4 og 6 beveger seg fremover mot hodet. Når alle Coax-servoer er fullført, går de fra sin nåværende posisjon tilbake til standard 90-graders posisjon, og denne bevegelsen vil være mot klokken mot kroppen.

DREI HØYRE: Ben 1, 3 og 5 beveger seg 45 grader fremover mot hodet, samtidig som beina 2, 4 og 6 beveger seg bakover fra hodet hodet. Når alle Coax-servoer er fullført, går de fra sin nåværende posisjon tilbake til standard 90-graders posisjon, og denne bevegelsen vil være med urviseren til kroppen.

CROUCH FORWARD: Ben 1 og 2 senkes ved bruk av Femur og Tibia servoer, mens bein 5 og 6 er hevet med Femur og Tibia servo, ben 3 og 4 forblir i standardposisjon.

KROK BAKOM: Ben 1 og 2 er hevet ved bruk av Femur og Tibia servoer, mens bein 5 og 6 senkes ved bruk av Femur og Tibia servo, ben 3 og 4 forblir i standardposisjon.

WAVING: Denne rutinen bruker bare ben 1 og 2. Coax-servoene beveger seg i en 50-graders bue, mens femur og tibia også beveger seg i en 50-graders bue. Ben 3 og 4 beveger seg 20 grader fremover mot hodet, dette gir en mer stabil plattform.

FREMGANG: Ben 1 og 6, 2 og 5 og 3 og 4 må fungere sammen. Så mens bein 1 trekker i kroppen, må bein 6 skyve kroppen, så snart denne handlingen er fullført, må bein 2 og 5 utføre den samme handlingen, mens hver av disse handlingssyklusene skjer Ben 3 og 4 må utføre sine gå videre rutine.

De første testbenmodulfunksjonene tillot et design for hver av de tre beinbevegelsene. Tre beinbevegelser kreves ettersom de motsatte beina ganske enkelt utfører omvendte bevegelser. En ny kombinert ben 1, 3 og 6 modul ble utviklet, testet og kopiert for en andre omvendt etappe 2, 4 og 5 etappe modul. Testing av hexapodbeinbevegelsene ble oppnådd ved å plassere hexapoden på en hevet blokk, slik at beina kunne bevege seg fullt ut uten å berøre bakken. Målinger ble tatt mens beina beveget seg, og det ble funnet at alle beina beveger seg horisontalt en avstand på 80 mm mens de samtidig forble 10 mm fra bakken på sitt laveste punkt under bevegelse. Dette betyr at Hexapod rett og slett vil rocke fra side til side under bevegelse, og at alle ben vil ha samme trekkraft under bevegelse.

BAKGANG:

KRABBVANDRING VENSTRE: Første bevegelse starter med bein 1, 2, 5 og 6 som alle roterer 45 grader mot kjøreretningen. Dette plasserer alle beina på linje med kjøreretningen, bein 3 og 4 er allerede i riktig retning. Lårbenet og skinnebenet på hvert ben som starter i standard 90-graders posisjon. Denne gangen består av to sett med tre ben som arbeider med alternative skritt, bein 1, 5 og 4, og bein 3, 2 og 6. Hvert sett med tre ben fungerer ved å trekke med forbena, det vil si 1 og 5 og skyve med ben 4, blir denne bevegelsen reversert, så bein 3 trekker mens ben 2 og 6 skyver, ingen av Coax -servoene gjør noe arbeid under denne bevegelsen. Hvert sett med tre bein løfter det stasjonære andre settet med beina når det første settet beveger seg.

CRAB WALKING RIGHT:

MERK: Hodet vil snu i retning av krabbegangen enten til venstre eller høyre. Dette gjør at ultralyddeteksjonen HC-SR04 kan brukes mens du går.

BENINNSTILLING: For at Hexapod skal stå i vater, er det nødvendig for alle ben å stå med samme høyde. Plassering av Hexapod på blokker og deretter bruk av stativ- og hvilerutiner var det mulig å måle avstanden fra bakken til hver endeeffektor. Jeg la til gummistøvler til hver endeeffektor for først å legge til grep, men også for å tillate en liten justering av benlengden, med sikte på 5 mm eller mindre mellom alle bena. Det var enkelt å sette hver servo til 90 grader, men festingen av hvert servohorn til begge ender av lårbenet kan og forårsaket problemer, da svært små forskjeller i rotasjonsvinklene til hornets indre ryggrad forårsaker beinhøyder med 20 mm. Ved å bytte skruene til forskjellige festehull i servohornene korrigerte denne 20 mm høydeforskjellen. Jeg var fast bestemt på å fikse dette problemet ved å bruke denne metoden i stedet for å måtte kompensere for disse høydeforskjellene ved hjelp av programvare.

Anbefalt: