Sisällysluettelo:

Jasper Arduino Hexapod: 8 vaihetta (kuvilla)
Jasper Arduino Hexapod: 8 vaihetta (kuvilla)

Video: Jasper Arduino Hexapod: 8 vaihetta (kuvilla)

Video: Jasper Arduino Hexapod: 8 vaihetta (kuvilla)
Video: Jasper Arduino Hexapod Robot 2024, Heinäkuu
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

Hankkeen päivämäärä: marraskuu 2018

YLEISKATSAUS (JASPER)

Kuusi jalkaa, kolme servoa jalkaa kohden, 18 servoliikettä, jota ohjaa Arduino Mega. Servot yhdistetty Arduino Mega -anturikilven V2 kautta. Yhteys Hexapodin kanssa Bluetooth BT12 -moduulin kautta puhumalla räätälöityyn Android -sovellukseen. Järjestelmä saa virtaa 2 x 18650, 3400mAh ja 2 x 2400mA paristosarjasta, joissa kummassakin on tarrakiinnitys kuusijalkan rungon alla. Mukana toimitetaan virtakytkin sekä servo- että ohjausjärjestelmille, samoin kuin vihreä led -virran merkkivalo heksapodin päässä. Komennot toistetaan 16x2 LCD -näytölle. Videosyöttö, valorengas ja ultraääniesteiden välttäminen sijaitsevat päässä.

HUOMAUTUS: Järkevyyden vuoksi suosittelen lämpimästi laadukkaiden servojen käyttöä. Aloitin MG995 -servoilla, joista 20, joista 11 joko poltettiin, menetti keskityskyvyn tai lakkasi toimimasta.

www.youtube.com/embed/ejzGMVskKec

Vaihe 1: LAITTEET

LAITTEET
LAITTEET
LAITTEET
LAITTEET
LAITTEET
LAITTEET
LAITTEET
LAITTEET

1. 20 x DS3218 -servot

2. 1x Hexapod -pohjapakkaus

3. 1x Arduino Mega R3

4. 1x Arduino Mega -anturisuoja v2

5. 1 x 2 -paikkainen 18650 -paristopidike

6. 2 x kaksinapainen virtakytkin

7. Vihreä led -valo ja 220 khm: n vastus

8. 2 x 6v 2800mAh akkuja tarrakiinnityksellä

9. 2 x 18650 x 3400mAh akkua

10. 1x HC-SR04-luotainmoduuli

11. 1x BT12 Bluetooth -moduuli

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

13. 1 x Arducam Mini Module Camera Shield ja OV2640 2 megapikselin linssi

14. 1 x Pixie Neon 16 LCD -valorengas

15. 1 x 16 x 2 -rivinen LCD -näyttö ja IIC -sovitin.

16. 1 x 5V virtapistoke Arduino Megalle

17. 1 x 5v mikro -USB -pistoke NodeMcu -moduulille.

18. 1 x DC - DC Buck -muunninmoduuli

19. 1 x 70 mm x 120 mm x 39 mm neliö musta muovilaatikko (runko)

20. 1 x 70 mm x 50 mm x 70 mm musta muovilaatikko (pää)

21. 4 x 40 mm M3 -messinkitelinettä ja 4 kumitukea

22. Erilaisia uros -uros -hyppyjohtimia, juotetta, m3 ruuveja ja pultteja sekä kuumaa liimaa

Jalkojen liike räätälöidyn logiikan avulla. Kameran liike kahdella itsenäisellä servolla, jotka luopuvat, laskevat, vasemmalle, oikealle ja keskelle. WIFI -yhteyden ohjaama kamera, joka näkyy Android -sovelluksen WebView -näkymässä.

Vaihe 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Jokaisella on enintään 180 astetta

vähintään 0 asteen liike.

Jokainen servo tunnistetaan kolmella numeroyhdistelmällä, LegCFT; jossa C on vartalo (COXA), F on reisi (FEMUR) ja T on kyynärpää (TIBIA), joten 410 viittaisi neljään jalkaan ja sääriluun servoon, samoin 411 viittaisi neljään jalkaan ja säären servoon. Numerointijärjestys olisi 100-611. Jokaisessa servojalassa on kumipohjainen jalka iskunvaimennukseen ja paremman otteen aikaansaamiseksi.

Jalka 1: 100, 110, 111 Edestä

Jalka 2: 200, 210, 211 jalka2-jalka1

Jalka 3: 300, 310, 311 jalka4-jalka3

Jalka 4: 400, 410, 411 jalka6-jalka5

Jalka 5: 500, 510, 511 Takaisin

Jalka 6: 600, 610, 611

Kaikkien Coax Servojen oletusasento on 90 astetta.

Femur Servojen oletusasento on 90 astetta, 45 astetta lepoasento.

Tibia Servojen oletusasento kaikille jaloille on 90 astetta, jalat 1, 3 ja 5 käyttävät 175 astetta lepoasennossa ja jalat 2, 4 ja 6 käyttävät 5 astetta.

Kaula 1: 700 Rajoitettu 75--105 asteeseen ylös- ja alaspäin

Kaula 2: 800 Rajoitettu 45-135 asteeseen vasemmalle ja oikealle liikkeelle

Servoliike rajoittuu kolmeen "kirjoittamiseen" ennen 10 millisekunnin viiveen sisällyttämistä ennen uusien "kirjoitus" -komentojen antamista. Tämä auttaa vähentämään paristojen kuormitusta.

Vaihe 3: KOMENNOT

KOMENNOT
KOMENNOT
KOMENNOT
KOMENNOT
KOMENNOT
KOMENNOT

A = Pysäytä - Seiso oletusasennossa.

B = eteenpäin - kävele_ eteenpäin

C = taaksepäin - kävele_ taaksepäin

D = oikea - käänny oikealle

E = vasen - käänny vasemmalle

F = vasen sivuttaisliike - rapu_vasen

G = oikea sivuttaisliike - rapu_oikea

H = Takakäyrä (jalat 1 ja 2 enintään, 3 ja 4 jalkaa neutraalissa asennossa, jalat 5 ja 6 minimiasennossa)

I = Edessä_kärki (jalat 1 ja 2 minimiasennossa, 3 ja 4 jalkaa neutraaliasennossa, jalat 5 ja 6 maksimiasennossa)

J = kaareva - keskellä (kaula 1 ja kaula 2 keskiasennossa, oletusasento)

K = kamera vasemmalla - pan_left (kaula 1, keskiasento, kaulan 2 servo -minimiasento)

L = kamera oikea - pan_right (kaula 1, keskiasento, kaulan 2 servoasennon enimmäisasento)

M = kamera ylös - pan_up (kaulan 1 maksimiasento, kaulan 2 servo keskiasento)

N = kamera alas - pan_down (kaulan 1 minimiasento, kaulan 2 servo keskiasento)

O = Lepo (Hexapod) istuu tuilla.

P = Standing - Hexapod seisoo oletusasennossa.

Q = Valot pois päältä

R = Vihreä valo Pixie Neon -valorenkaassa.

S = Punainen valo Pixie Neon -valorenkaassa.

T = Sininen valo Pixie Neon -valorenkaassa.

U = Valkoinen valo Pixie Neon -valorenkaassa.

V = etujalat heiluvat.

W = Äänitorvi.

X = pyyhkäise pää vasemmalta oikealle.

Y = Play Tune.

Vaihe 4: LIIKKEET

LIIKKEET
LIIKKEET
LIIKKEET
LIIKKEET
LIIKKEET
LIIKKEET

Coax -servoasento on pituussuunnassa rungon akseliin nähden, joten suoraan eteenpäin on 0 astetta ja suoraan taaksepäin 180 astetta. Tämä Coax ja kaikki muut servot rajoittuisivat kuitenkin 45-135 asteeseen.

Jalkojen liike eteenpäin, taaksepäin, vasemmalle ja oikealle aloitettaisiin jalan nostamisesta reisiluun ja sääriluun servojen avulla, jota seurasi kehon servoliike ja lopuksi saman jalan laskeminen uudelleen käyttämällä reisiluun ja sääriluun servoja.

Eteenpäin ja taaksepäin

Jalkojen siirtäminen eteen- tai taaksepäin toimii pareittain, 1 ja 2, 3 ja 4, 5 ja 6. Yksinkertainen eteenpäin suuntautuva liike koostuu jaloista 1 ja 2, jotka liikkuvat nykyisestä asennostaan mahdollisimman pitkälle eteenpäin, sitten jalat 3 ja 4, ja lopuksi 5 ja 6 jalkaa toistavat saman toimenpiteen. Sitten kaikki kuusi Coax -servoa siirtyvät tästä laajennetusta eteenpäin -asennosta takaisin alkuperäiseen lähtöasentoonsa. Tämän prosessin käänteistä käännetään taaksepäin. Osana eteenpäin suuntautuvaa liikettä HC_SR04 -ultraäänilaite tarkistaa, onko edessä olevia esteitä, ja jos sellainen löytyy, käännä Hexapod joko satunnaisesti vasemmalle tai oikealle.

Vasen ja oikea

Voit liikuttaa vasenta tai oikeaa jalkaparia yhdessä, mutta vastakkaisiin suuntiin. Joten esimerkiksi oikean jalan kääntäminen 1 siirtyy nykyisestä asennosta takaisin 135 asteen asentoon, kun taas jalka 2 siirtyy eteenpäin 45 asteen asentoon. Tämä toistetaan jalkaparille 3 ja 4 sekä 5 ja 6 jalalle. Tuolloin Coax -servot siirtävät alkuperäisen asennonsa takaisin uuteen asentoonsa ja kiertävät kehon liikkeen suuntaan, ts. oikein. Tätä prosessia jatketaan, kunnes vaadittu kierto vasemmalle on suoritettu. Tämän prosessin käänteistä käännetään vasemmalle, joten jalka 1 siirtyy nykyisestä asennosta eteenpäin 45 asteen asentoon, kun taas jalka 2 siirtyy taaksepäin 135 asteen asentoon.

Nouse seisomaan ja lepää

Molemmat prosessit eivät käytä minkään jalan Coax -servoa, joten sääriluun servo nousemiseksi kaikille jaloille siirtyy nykyisestä asennostaan enintään 45 asteeseen, kun taas levon aikana samat reisiluun servot siirtyvät alimpaan asento, 175 tai 5 astetta. Sama liike koskee Tibia -servoja, jotka liikkuvat korkeintaan 45 asteen kulmassa seisoessaan ja minimissään, ts. 175 tai 5 astetta lepoa varten.

Kyyristy eteenpäin ja kumartuu taaksepäin

Tässäkin prosessit ovat toistensa peilikuvia. Etukäteen kallistumiseen jalat 1 ja 2 ovat alimmassa asennossaan, kun taas jalat 5 ja 6 ovat korkeimmassa asennossaan. Molemmissa tapauksissa jalat 4 ja 5 ovat neutraalissa asennossa, joka on jalkasarjojen 1 ja 2 ja 5 ja 6. linjassa. Taaksepäin kyykkyessä jalat 1 ja 2 ovat korkeimmassa asennossaan, kun taas jalat 5 ja 6 ovat alimmassa asennossaan.

Vaihe 5: PÄÄKAMERA/SONAR

PÄÄKAMERA/SONAR
PÄÄKAMERA/SONAR
PÄÄKAMERA/SONAR
PÄÄKAMERA/SONAR
PÄÄKAMERA/SONAR
PÄÄKAMERA/SONAR

Pää koostuu neliömäisestä muovilaatikosta 38 mm x 38 mm x 38 mm, jossa on irrotettava kansi. Laatikko/pää liikkuu rajoitetusti pysty- ja vaakasuunnassa. Liike saavutetaan käyttämällä kahta servoa, joista toinen on kiinnitetty robotin runkoon ja toinen ensimmäiseen servorunkoon ja sen varsi kiinni päähän. Kahdella 18650 -paristolla toimitetulla 7.4v -virralla syötetään Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT -kehityskortti DEVKIT, joka on liitetty Arducam Mini Module Camera Shield -laitteeseen, jossa on OV2640 2 megapikselin linssi. Tämän järjestelyn avulla robotti voi havaita esteitä ja suoratoistaa videota sisäisen Wi-Fi: n kautta. Kaiku, joka käyttää HC-SR04: tä ja mahdollisia valonhallintatietoja, virtaisi takaisin Arduino Megaan.

Kiitokset Dmainmunille hänen Arducam Instructables -artikkelistaan, josta oli paljon apua alkuperäisessä ymmärryksessäni siitä, miten Arducamia voitaisiin käyttää videoiden suoratoistoon.

Akku

Päätettiin käyttää kahta akkua, yksi pään osille ja Arduino Mega -levylle, ja toinen pakkaus kaikkien servojen virran saamiseksi. Ensimmäinen pakkaus koostui 2 x 18650 3400mAh akusta, jotka toimittavat 7,4 V: n jännitteen. Toinen pakkaus koostui 2 x 6 V 2800 mAh: n akusta, jotka oli kytketty rinnakkain, jolloin 6,4 V: n syöttö, mutta suurempi kapasiteetti 5600 mAh, kiinnitetty Hexapodin alapuolelle tarranauhoilla.

Vaihe 6: JALKALIIKKEET

JALKALIIKKEET
JALKALIIKKEET
JALKALIIKKEET
JALKALIIKKEET
JALKALIIKKEET
JALKALIIKKEET

Aseet voivat toimia joko pareittain tai yksin. Kukin käsivarsi koostuu runkoliitoksesta, jota kutsutaan koaksiaaliksi 45-135 asteen liikkeellä, reisiliitoksesta nimeltä Femur, jossa 45-135 asteen liike, ja lopulta kyynärliitoksesta nimeltä Sääriluu tai päätylaite 45-135 asteen liikkeellä. Räätälöity ohjelmisto on kirjoitettu tarjoamaan jalkojen liikettä.

Jalkojen liikkeen tyypit:

Coaxissa 45 astetta on taaksepäin päästä, 90 astetta neutraalista asennosta ja 135 astetta eteenpäin.

Reisiluun 45 astetta on korkein asento maasta, 90 astetta on neutraali ja 135 astetta on alin asento maasta.

Sääriluun kohdalla 45 astetta on kauimpana kehosta, 90 astetta on neutraalissa asennossa ja 135 astetta on lähimpänä kehoa.

Oletetaan, että kaikki servot ovat neutraaliasennossa, 90 astetta.

Eteenpäin: Jalat 1 ja 2, reisiluun nosto 135 asteeseen, koaksiaali 45 asteeseen, sääriluu 45 asteen etäisyyteen vartalosta, reisiluun lasku 45 asteeseen. Tämä toistetaan jalkapareille 3 ja 4 sekä jalkaparille 5 ja 6. Kaikki 6 Coax -servoa liikkuvat 45 astetta taaksepäin 90 asteeseen, neutraali asento, kaikki 6 reisiluun servoa liikkuvat 45 asteesta 90 asteeseen, neutraali asento. Lopuksi kaikki sääriluun servot nousevat 45 asteesta 90 asteeseen, neutraaliin asentoon.

Käänteinen: Aloitetaan jaloista 5 ja 6, sitten 3 ja 4 ja lopuksi jaloista 1 ja 2, muuten liike on sama koaksiaalille, reisiluulle ja säärille.

Vasen: Jalat 1, 3 ja 5 liikkuvat vastakkaiseen suuntaan, kun taas jalat 2, 4 ja 6 liikkuvat eteenpäin. Sekä eteen- että taaksepäin suuntautuva liike on normaalin eteen- ja taaksepäin suuntautuvan liikkeen mukainen. Suorita kaikki kuusi Coax -servoa kääntämällä 45 astetta, mikä kääntää vartalon.

Oikea: Jalat 2, 4 ja 6 liikkuvat vastakkaiseen suuntaan, kun taas jalat 1, 3 ja 5 liikkuvat eteenpäin. Sekä eteen- että taaksepäin suuntautuva liike on normaalin eteen- ja taaksepäin suuntautuvan liikkeen mukainen. Koaksiaalinen liike on samanlainen kuin edellä, mutta päinvastaiseen suuntaan.

Lepo: Kaikki Coax- ja Femur -servot neutraalissa asennossa, kaikki säären servot alimmassa asennossa 45 astetta, kyyristyvät tehokkaasti sekä etu-, keski- että takajalat.

Kyykisty takana, jalusta edessä: jalat 1 ja 2 korkeimmassa asennossa, jalat 3 ja 4 vapaa -asennossa ja jalat 5 ja 6 alimmassa asennossa.

Seiso takana, kumartuu edestä: jalat 1 ja alimmassa asennossa, jalat 3 ja 4 vapaa -asennossa ja jalat 5 ja 6 korkeimmassa asennossa.

Rapu vasemmalle: Jalat 1 ja 5 nostavat ja ulottuvat ulos vasemmalle, samalla jalat 2 ja 6 nostavat ja supistuvat kehon alle. Kun kaikki neljä jalkaa ovat maassa, kaikki sääriluut palaavat neutraaliin asentoonsa. Lopuksi jalat 3 ja 4 toistavat saman prosessin.

Rapu oikealla: Jalat 2 ja 6 nostavat ja ulottuvat oikealle, samalla jalat 1 ja 5 nostavat ja supistuvat kehon alle. Kun kaikki neljä jalkaa ovat maassa, kaikki sääriluut palaavat neutraaliin asentoonsa. Lopuksi jalat 3 ja 4 toistavat saman prosessin.

Vasen pään liike: niska 1 servo 45 astetta. Molemmat servot palaavat 90 -asentoon.

Oikea pään liike: niska 1 servo 135 astetta

Pään liike ylös: kaula 2 servo 45 astetta

Pään liike alaspäin: kaula 2 servo 135 astetta

Pan -pään liike: niska 2 liikkuu 45-135 astetta

SERVOS

Ensimmäisen testin jälkeen MG995- ja MG996 -servot vaihdettiin. Kaikki 20 servoa vaihdettiin DS32228 20 kg servoihin, mikä paransi huomattavasti keskitystä ja lisäsi kuormitusta.

On tärkeää testata jokainen servo perusteellisesti sopivalla testiohjelmalla. Muokkasin yksinkertaista "pyyhkäisy" -esimerkkiohjelmaa testaamaan erityisesti 0-, 90- ja 180 -asemat, tätä testirutiinia ajettiin vähintään 5 minuuttia kullekin servolle ja toistettiin sitten päivä myöhemmin.

HUOMAUTUS: USB -kaapelilla toimivan tavallisen Arduino Uno -levyn käyttäminen ei ehkä tarjoa tarpeeksi jännitettä tiettyjen servojen suorittamiseen. Huomasin, että Unolta vastaanotettu 4,85 voltin servo aiheutti epänormaalia käyttäytymistä DS3218 -servojen kanssa, mikä lisäsi tämän jännitteen 5,05 volttiin ja paransi tämän ongelman. Joten päätin käyttää servoja 6v: lla. Lopulta huomasin, että 6,4 voltin jännite oli tarpeen, koska 6v aiheutti servojen epäsäännöllistä käyttäytymistä.

Vaihe 7: RAKENTAMINEN

RAKENTAMINEN
RAKENTAMINEN
RAKENTAMINEN
RAKENTAMINEN
RAKENTAMINEN
RAKENTAMINEN

JALAT

Aloitettiin Hexapod -sarjan osien asettamisesta. Kaikki servopyöräiset sarvet vaativat mattoreiän suurentamista reisiluun molemmissa päissä ja kaikkia koaksiaalireikiä. Jokainen servosarvi kiinnitettiin vastaavaan koaksiaaliin ja reisiluun neljällä ruuvilla ja viidennessä ruuvissa servopään keskiosan läpi. Kaikki servorungot on kiinnitetty neljällä pultilla ja mutterilla. Kummankin kuuden jalan koaksiaalisessa servokiinnikkeessä oli laakeri kiinnitetty kiinnityksen pohjaan yhdellä pultilla ja mutterilla. Jokainen koaksiaalinen servokiinnike kiinnitettiin neljällä pultilla ja mutterilla reisiluun servokiinnikkeeseen tätä kiinnitystä käännettäessä 90 astetta. Femur -servon pää oli kiinnitetty reisiluun toiselle puolelle, ja toinen reisilihaksen pää oli kiinnitetty sääriluun servopäähän. Kuusi sääriluun servoa kiinnitettiin kuuden jalan yläosaan neljällä pultilla ja mutterilla. Jokainen jalkapäätevaikuttaja oli peitetty pehmeällä kumisaappaalla, joka antoi lisäpidon. Havaittiin, että toimitettu servosarvi oli liian suuri kiinnitettäväksi koaksiaali-, reisiluun- ja sääriluun liitoksiin, joten kaikki keskireiät suurennettiin 9 mm: ksi. Kiitän “Toglefritzia” hänen Capers II -ohjeistaan Hexapod -sarjan rakennuselementtien suhteen. Poikkesin kuitenkin yhden alueen rakenteesta eli servosarvien kiinnittämisestä reisiluun molempiin päihin. Päätin suurentaa reisiluun keskireikää, jotta servosarven keskikohta pääsee läpi sen kautta, jolloin servosarvi saa lisää voimaa, koska se oli lähempänä servoa ja nämä kaksi niveliä kokivat suurimman vääntömomentin. Jokainen servosarvi kiinnitettiin reisiluun kahdella M2.2 -itsekierteittävällä ruuvilla, joiden ruuvien päät poistettiin ja viilataan tasaisesti. Kaikki M3 -pultit oli lukittu tiukasti.

BODY

Runko koostuu kahdesta levystä, joissa kummassakin on kuusi reikää, joista jokainen reikä käytetään koaksiaalisen servosarven kiinnittämiseen. Kaksi 6V 2800mAh akkua kiinnitettiin pohjalevyn alapuolelle tarranauhalla. Kiinnitettiin neljä M3 -seisokkia, jotka ulottuvat paristopidikkeen pohjan ohi, ja kummassakin on pehmeä kumisaapas, joka liukui pohjaan, mikä tarjoaa vakaan alustan, jolle Hexapod voi levätä. Pohjalevyn yläosassa on Arduino Mega ja sen anturisuoja kiinnitetty neljällä 5 mm: n jalustalla. Pohjalevyn yläosaan kiinnitettiin 4 x M3 -tasoa, joiden korkeus oli 6 cm ja jotka ympäröivät Arduino Megaa ja tukivat ylälevyä. Ylälevyyn oli kiinnitetty 120 mm x 70 mm x 30 mm laatikko, johon mahtuu ensimmäinen niska -servo ja LCD -näyttö. Toinen 2 -paikkainen, 2 x 18650 -paristopidike kiinnitettiin ylälevyn alapuolelle Arduino Mega -levyn takaosaan Hexapodin etuosaa kohti.

Ylälevyssä on kuusi servosarvea, joista jokainen on kiinnitetty neljällä M2.2 -ruuvilla. Levyn yläosaan on asennettu 70 mm x 120 mm x 30 mm laatikko, johon on asennettu 2 -paikkainen 18650 -paristopidike, kaksinapainen kytkin, vihreä LED ja IC2 16 x 2 -LCD -näyttö. Lisäksi ensimmäinen niskaservo on asennettu, virta ja toisen kaulan servokaapeli kulkevat reiän läpi toisen servon ja Arduino V3 NodeMcu -moduulin syöttämiseksi. Toinen datakaapeli kulkee ylälaatikon läpi ja syöttää HC-SR04-ultraäänimoduulin, joka sijaitsee jälleen päässä. Toinen data- ja virtakaapeli on myös pään päällä pikseli -led -renkaan syöttämiseksi.

Kaksi servodatakaapelia ja HC-SR04-datakaapeli syötetään ylälevyn läpi, kun taas Bluetooth-moduuli on kiinnitetty levyn alapuolelle neonmuotoisen tyynyn ja kuumaliiman avulla. Jäljellä olevien 18 servodatakaapelin kaapelinhallinnan on oltava paikallaan, ennen kuin yrität kiinnittää ylälevyn pohjalevyyn käyttämällä 4 x M3 -ruuvia, jotka sopivat pohjalevyyn kiinnitettyihin 4 x M3 -tasolevyihin. Osana ylemmän pohjalevyn kiinnitysprosessia kaikki kuusi Coax -servoa on myös sijoitettava oikeaan paikkaansa laakeriliitin pohjalevyn reikään ja servopään sovitus ylälevyn sarveen. Asennuksen jälkeen kuuden Coax -servon yläosat on kiinnitetty 6 M3 -ruuvilla. Kuuden Coax -servon servosarvien asennon vuoksi 4 x M3 -seisokkien korkeutta oli pienennettävä 2 mm, jotta koaksiaaliset servolaakerit istuivat kunnolla pohjalevyssä.

PÄÄ

Pää koostuu kahdesta 90 asteen kulmassa toisiinsa nähden olevasta servosta, joista toinen on ylälevyyn kiinnitetyssä laatikossa ja toinen kiinnitetty ensimmäiseen servosarven kautta U-muotoista messinkilevyä käyttäen. Toinen servosarvi on kiinnitetty L -muotoiseen messinkikiinnikkeeseen, joka on itse kiinnitetty 70 mm x 70 mm x 50 mm laatikkoon kahdella pultilla ja mutterilla. Laatikko muodostaa pään, jonka sisään on asennettu Ardcam-kamera, ultraäänimoduuli HC-SR04 ja Arduino V3 NodeMcu -moduuli sekä virran merkkivalo. Molemmat ultraäänimoduulit lähettävät ja vastaanottavat anturipäät ulkonevat laatikon etupuolen läpi samoin kuin kameran linssi. Laatikon ulkopuolella linssiä ympäröi 16 LCD Nero pixie -rengas. NodeMcu -virran merkkivalo näkyy pään takalevyssä olevan reiän, virtakaapelin, ultraäänimoduulin datakaapelin ja pixie Neon -virtajohtojen kautta takalevyn ja päälevyn välisen reiän kautta.

ELEKTRONIIKKA

Seuraavat Fritzing -kaaviot esittävät kehon ja pään elektroniikkaa. VCC- ja GRD -viivoja ei näytetä 20 servolle kaavion selkeyden vuoksi. Bluetooth -moduuli Android -sovelluksen kautta ohjaa Hexapod -liikettä, mukaan lukien kaulan servot. WIFI -pohjainen Arduino NodeMcu -moduuli ohjaa Arducam -kameramoduulia. Kaikki servot on liitetty Arduino -anturisuojaan yhden lohkon kautta, joka sisältää VCC-, GRD- ja signaalilinjat. Bluetooth BT12-, HC-SR04- ja IC2-nestekidenäytön liittämiseen käytetään tavallisia 20 cm: n DuPont-hyppyjohtoja.

JALKOKALIBROINTI

Tämä on yksi vaikeimmista valmistelualueista ennen Hexapodin liikkumista. Alkuperäinen ajatus on asettaa kaikki jalat seuraavaan, koaksiaaliset servot 90 astetta, reisiluun servot 90 astetta ja sääriluu servot asetettu 90 asentoon, kun jalkojen fyysinen asento on 105 astetta jaloille 2, 4 ja 6 ja 75 astetta jaloille 1, 3 ja 5. Hexapod asetettiin tasaiselle pinnalle, joka lepää paristokotelon alla olevien neljän tuen päällä. Se on jalat, jotka on sijoitettu yhtä kaukaisiin pisteisiin kunkin jalan välillä ja yhtä kaukana kehosta. Kaikki nämä paikat on merkitty tasaiselle pinnalle. Jalkojen rakentamisen aikana löydettiin jokaisen servon keskipiste, tämän pitäisi olla servojen 90 asteen asento. Tätä 90 asteen oletusasentoa käytetään kaikkien servojen kanssa.

Koaksiaaliset servot 2 ja 5 sisäpinnat ovat yhdensuuntaiset toistensa kanssa, tämä koskee servoja 1 ja 6 sekä 3 ja 4. Kaikki reisiluun ja koaksiaaliset servot on kiinnitetty yhteen 90 asteen kulmassa toisiinsa rakennusvaiheen aikana. Kaikissa reisiluun servoissa on reisiluun varsi kiinnitettynä 90 asteen kulmassa. Kaikki sääriluun servot on kiinnitetty sääriluun 90 asteen kulmassa. 2, 4 ja 6 Sääriluun servot on kiinnitetty reisiluun varteen 105 asteen kulmassa, kun taas säären servot 1, 3 ja 5 on kiinnitetty reisiluun varteen 75 asteen kulmassa.

On tärkeää huomata, että testauksen aikana kaikkien servojen lämpötilaa on seurattava.

Ensimmäinen kalibrointi on siirtää Hexapod lepotilasta, kun se on kytketty päälle, seisovaan asentoon, joka on sekä vakaa, vakaa, tasainen että mikä tärkeintä, mikään servoista ei ylikuumene. Vakaan asennon säilyttämiseksi on tarpeen kirjoittaa jokaiselle servolle viiveellä alle 20 millisekuntia, 10 millisekuntia. Kaikki servot voivat liikkua vain 0--180 astetta ja 180 astetta takaisin 0 -asentoon, joten kaikissa reisiluun servoissa 0 ja 180 astetta on pystysuoraan ja 90 astetta vaakasuoraan.

Ennen jokaisen servon kiinnittämistä jokaiselle aiemmin määritellylle servolle lähetettiin alustuskirjoitus, joka antoi sille sen nykyisen lepokulman, ts. servo on lepoasennossa. Tämä oli 90 astetta kaikille Coax -servoille, 55 astetta reisiluun ja säären servoille 1, 3 ja 5 ja 125 astetta reisiluun ja säären servoille 2, 4 ja 6.

On tärkeää huomata, että akut on aina ladattava täyteen kalibroinnin alussa.

Hexapod alkaa aina lepoasennosta, ja koko kehoa tuetaan neljällä jalalla. Tästä asennosta kaikki reisiluun ja sääriluun servot pyöräytetään lähtöasennosta seisonta -asentoon, jolloin kaikki servot ovat 90 asteen kulmassa. Pysyvän asennon suorittamiseksi "seiso" -komento annetaan tällä komennolla, joka vaatii kaikkien jalkojen nousevan ja laskeutuvan uudelleen kahdella kolmen jalan liikkeen sarjalla, jalat 1, 5 ja 4 ja 2, 6 ja 3.

Vaihe 8: OHJELMISTOT

Ohjelmisto koostuu kolmesta osasta, ensimmäinen osa on Arduino -koodi, joka toimii Arduino Mega -laitteessa, toinen osa on Arduino -koodi, joka toimii pään NodeMcu -moduulissa. Yhteys tapahtuu Bluetooth BT12 -yksikön kautta, joka vastaanottaa komentoja Android -tabletilta, nimittäin Samsung Tab 2: lta, jossa on Android Studion rakennettu mukautettu sovellus. Tämä sovellus lähettää komentoja Hexapodille. Sama sovellus vastaanottaa myös live -videosyötteen NodeMcu -moduulista sisäänrakennetun WIFI -yhteyden kautta.

ANDROID -KOODI

Räätälöity Android -koodi, joka on kehitetty Android Studion avulla, tarjoaa alustan, jolla kahden näytön sovellus ajetaan. Sovelluksessa on kaksi näyttöä, päänäytön avulla käyttäjä voi antaa komentoja Hexapodille ja tarkastella heksapodin päästä tulevaa videosyötettä. Toisessa näytössä, johon pääsee WIFI -painikkeella, käyttäjä voi muodostaa yhteyden ensin hexapod Bluetooth -laitteeseen ja toiseksi WIFI -hot spot -kohtaan, jonka NodeMCU Arduino -kortti luo hexapod -päähän. Sovellus lähettää yhden kirjaimen komentoja sarjamuotoisen 9600 Baudin kautta tabletilta sisäänrakennetun Bluetoothin kautta heksapodiin liitettyyn BT12 Bluetoothiin.

ARDUINO -KOODI

Koodin kehittäminen alkoi kehittämällä testiohjelma, joka oli suunniteltu testaamaan Hexapodin, sen pään ja kehon perustoimintoja. Koska pää ja sen toiminta ovat täysin erillään kehosta, sen ohjelmistokehitystä testattiin rungon toimintokoodin rinnalla. Pääkäyttökoodi perustui suurelta osin aiempaan kehitykseen, johon sisältyi servoliike. Koodi sisälsi 16x2 LCD-näytön, HC-SR04-ultraäänimoduulin ja 16 LED-valorenkaan käytön. Edelleenkoodin kehittämistä vaadittiin, jotta WIFI -pääsy live -videosyöteeseen päästäisiin.

Kehon toimintokoodi kehitettiin alun perin tarjoamaan ensimmäinen servokiinnitys ja alkuasento levossa. Tästä asennosta Hexapod oli ohjelmoitu seisomaan. Kehitys eteni sitten Hexapodin lisäliikkeillä ja pään ja kehon koodiosien yhdistämisellä sarjaviestintään Android -sovelluksen kanssa.

Testiservokoodi mahdollisti jalkojen ja kehon liikkeiden kehittämisen, nimittäin:

1. InitLeg - Mahdollistaa jalkojen lepoasennon, seisovan jalan asennon, taskurapun alkuasennon joko vasemmalle tai oikealle kävelylle, jalan alkuasennon eteen- tai taaksepäin kävelylle.

2. Aalto - Antaa etujalkojen heiluttaa neljä kertaa ennen paluuta seisomaan.

3. TurnLeg- Antaa Hexapodin kääntyä vasemmalle tai oikealle.

4. MoveLeg- Antaa Hexapodin kävellä eteen- tai taaksepäin.

5. CrouchLeg- Antaa Hexapodin kumartua eteen alas etujalkoihin tai taakse taakse.

Jalkojen liike perustuu jalkaparien työskentelyyn yhdessä, joten jalat 1 ja 2, 3 ja 4, 5 ja 6 toimivat pareina. Liike koostuu kahdesta perustoiminnasta, eteenpäin ulottumisesta ja vetämisestä sekä työntöstä taaksepäin. Taaksepäin kävelemiseksi nämä kaksi liikettä käännetään, joten esimerkiksi eteenpäin kävellessä jalat 1 ja 2 vetävät, kun taas jalat 5 ja 6 työntävät, jalat 3 ja 4 tarjoavat vakautta. Rapujen kävely on yksinkertaisesti näitä samoja toimintoja, mutta ne on asetettu 90 astetta vartaloon nähden, tässä tapauksessa myös jalat 3 ja 4 liikkuvat samalla tavalla kuin muut jalat. Käveltävien jalkojen parit liikkuvat vuorotellen, kun taas taskurapujen kävelyjalat 1 ja 5 toimivat parina, kun taas jalka 3 toimii vaihtoehtoisilla askeleilla jalkoihin 1 ja 5.

Liike Toiminnallinen kuvaus seuraa kutakin pääliiketoimintoa, joista jokainen koostuu liike -elementeistä, jotka on koottu yhteen ja joita käytetään tietyssä järjestyksessä.

LEPO: Seisomasta asennosta alkaen kaikki reisiluun servot liikkuvat ylöspäin laskeakseen vartalon neljän tuen päälle. Samaan aikaan kaikki Tibia -servot liikkuvat sisäänpäin.

SEISONTA: Lepoasennosta alkaen kaikki säären servot siirtyvät ulospäin, kun tämä on tehty, kaikki reisiluun servot siirtyvät 90 asteen asentoon ja lopuksi kaikki sääriosan servot siirtyvät 90 asteen asentoon samanaikaisesti.

KÄÄNTÖ VASEMMALLE: Jalat 1, 3 ja 5 liikkuvat 45 astetta taaksepäin päästä, samalla kun jalat 2, 4 ja 6 siirtyvät eteenpäin kohti päätä. Kun kaikki Coax-servot on suoritettu, ne siirtyvät nykyisestä asennostaan takaisin 90 asteen vakioasentoon, tämä liike olisi vastapäivään runkoon.

KÄÄNTÖOIKEUS: Jalat 1, 3 ja 5 liikkuvat eteenpäin kohti päätä 45 astetta, samaan aikaan jalat 2, 4 ja 6 siirtyvät taaksepäin pään päästä. Kun kaikki Coax-servot on suoritettu, ne siirtyvät nykyisestä asennostaan takaisin 90 asteen vakioasentoon, tämä liike tapahtuisi myötäpäivään runkoon.

KIINNITYS ETEENPÄIN: Jalat 1 ja 2 lasketaan alas reisiluu- ja sääriluu -servoja käyttäen, kun taas jalat 5 ja 6 nostetaan käyttämällä reisiluu- ja sääriluu -servoja, jalat 3 ja 4 pysyvät vakioasennossa.

CROUCH BACKWARD: Jalat 1 ja 2 nostetaan reisiluun ja sääriluun servoilla, kun taas jalat 5 ja 6 lasketaan reisiluun ja sääriluun servoilla, jalat 3 ja 4 pysyvät vakioasennossa.

WAVING: Tämä rutiini käyttää vain jalkoja 1 ja 2. Coax-servot liikkuvat 50 asteen kaaressa, kun taas reisiluut ja sääriluut liikkuvat myös 50 asteen kaaressa. Jalat 3 ja 4 liikkuvat eteenpäin kohti päätä 20 astetta, mikä tarjoaa vakaamman alustan.

ETEENKÄYTTÄMINEN: Jalkojen 1 ja 6, 2 ja 5 sekä 3 ja 4 on toimittava yhdessä. Joten kun jalka 1 vetää kehoa, jalan 6 täytyy työntää kehoa, heti kun tämä toiminto on suoritettu, jalkojen 2 ja 5 on suoritettava sama toiminto, kun taas jokainen näistä toimintajaksoista on suoritettava jalat 3 ja 4 rutiinia eteenpäin.

Ensimmäiset testijalkamoduulitoiminnot mahdollistivat suunnittelun jokaiselle kolmelle jalan liikkeelle. Kolme jalan liikettä tarvitaan, koska vastakkaiset jalat yksinkertaisesti suorittavat käänteiset liikkeet. Uusi yhdistetty jalka 1, 3 ja 6 -moduuli kehitettiin, testattiin ja kopioitiin toista käännetyn jalan 2, 4 ja 5 jalan moduulia varten. Kuusijalkaisten jalkojen liikkeiden testaaminen saavutettiin asettamalla kuusijalkainen korotettuun lohkoon niin, että jalat saivat täyden liikkeen koskematta maahan. Mittaukset tehtiin, kun jalat liikkuivat, ja havaittiin, että kaikki jalat liikkuvat vaakasuunnassa 80 mm: n etäisyydellä ja pysyivät samalla 10 mm: n päässä maasta alimmassa kohdassaan liikkeen aikana. Tämä tarkoittaa, että Hexapod keinuu yksinkertaisesti puolelta toiselle liikkeen aikana ja että kaikilla jaloilla on yhtä suuri vetovoima liikkeen aikana.

KÄÄNTÄMINEN:

RAUHANKÄYNTI VASEN: Ensimmäinen liike alkaa jaloilla 1, 2, 5 ja 6, jotka kaikki pyörivät 45 astetta ajosuuntaan. Tämä asettaa kaikki jalat ajosuunnan mukaisesti, jalat 3 ja 4 ovat jo oikeassa suunnassa. Kummankin jalan reisiluut ja sääri alkavat 90 asteen oletusasennosta. Tämä kävely koostuu kahdesta kolmen jalan sarjasta, jotka työskentelevät vuorotellen, jalat 1, 5 ja 4 sekä jalat 3, 2 ja 6. Kukin kolmen jalan sarja toimii vetämällä etujalkoilla eli Ie 1 ja 5 ja työntämällä jalka 4, tämä liike käännetään sitten niin, että jalka 3 vetää, kun jalat 2 ja 6 työntyvät, mikään Coax -servoista ei tee mitään tämän liikkeen aikana. Jokainen kolmen jalan sarja nostaa paikallaan olevia muita jalkasarjoja ensimmäisen sarjan liikkuessa.

RAUHAN KÄvelee OIKEA:

HUOMAUTUS: Pää kääntyy taskurapujen suuntaan joko vasemmalle tai oikealle. Tämä mahdollistaa HC-SR04 ultraäänitunnistuksen käytön kävelyn aikana.

JALKA -ASETUS: Jotta Hexapod pysyy pystyssä, kaikkien jalkojen on oltava samalla korkeudella. Hexapodin asettaminen lohkoille ja sen jälkeen jalusta- ja lepo -rutiinien käyttäminen oli mahdollista mitata kunkin päätelaitteen etäisyys maasta. Lisäsin kumisaappaita kumpaankin päätevahvistimeen lisätäkseni ensin pitoa, mutta myös salliakseni pienen säätämisen jalkojen pituuteen siten, että kaikkien jalkojen välissä on enintään 5 mm. Kunkin servon asettaminen 90 asteeseen oli helppoa, mutta jokaisen servosarven kiinnitys reisiluun molempiin päihin voi ja aiheutti ongelmia, koska hyvin pienet erot sarvien sisäisten piikkien kiertokulmissa aiheuttavat jalkojen korkeuksien vaihtelun 20 mm. Ruuvien vaihtaminen eri kiinnitysreikiin servosarveissa korjasi tämän 20 mm: n korkeuseron. Olin päättänyt korjata tämän ongelman tällä menetelmällä sen sijaan, että joutuisin korvaamaan nämä korkeuserot ohjelmiston avulla.

Suositeltava: