Kazalo:

Šesteronožnik Arduino Jasper: 8 korakov (s slikami)
Šesteronožnik Arduino Jasper: 8 korakov (s slikami)

Video: Šesteronožnik Arduino Jasper: 8 korakov (s slikami)

Video: Šesteronožnik Arduino Jasper: 8 korakov (s slikami)
Video: SKR 1.3 - TMC2130 SPI v3.0 2024, Julij
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

Datum projekta: november 2018

PREGLED (JASPER)

Šest nog, tri servo na nogo, 18 servo sistem premikanja, ki ga upravlja Arduino Mega. Servomotorji povezani preko Arduino Mega senzorskega ščita V2. Komunikacija s Hexapodom prek modula Bluetooth BT12 se pogovarja z aplikacijo Android po meri. Sistem napaja 2 x 18650, 3400mAh in 2 x 2400mA baterija, vsaka je pritrjena z Velcro pod ohišjem šesteronožca. Na voljo je stikalo za vklop za servo in krmilni sistem ter zelena LED lučka za vklop na glavi šesteronožca. Ukazi se ponovijo na 16x2 LCD zaslonu. Video dovod, svetlobni obroč in izogibanje ultrazvočnim oviram se nahajajo v glavi.

OPOMBA: Zaradi zdravja toplo priporočam uporabo kakovostnih servomotorjev, začel sem s servomotorji MG995, od tega 20, od katerih jih je 11 zgorelo, izgubilo sposobnost centriranja ali preprosto prenehalo delovati.

www.youtube.com/embed/ejzGMVskKec

1. korak: OPREMA

OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA

1. 20 x servomotorjev DS3218

2. 1x osnovni komplet za šestkotnik

3. 1x Arduino Mega R3

4. 1x Arduino Mega senzorski ščit v2

5. Držalo za baterije 1 x 2 ležišča 18650

6. 2 x dvopolno stikalo za vklop

7. Zelena led luč in 220kohm upor

8. 2 x 6v 2800mAh baterije s pritrditvijo na Velcro

9. 2 x 18650 x 3400mAh baterije

10. 1x HC-SR04 Sonarni modul

11. 1x modul Bluetooth BT12

12. 1 x razvojna plošča Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT

13. 1 x ščitnik za kamero z mini modulom Arducam z objektivom 2 megapikslov OV2640

14. 1 x Pixie Neon 16 LCD svetlobni obroč

15. 1 x 16 -kanalni LCD zaslon s priloženim adapterjem IIC.

16. 1 x 5v vtič za Arduino Mega

17. 1 x 5v mikro USB vtič za modul NodeMcu.

18. 1 x pretvorniški modul DC v DC Buck

19. 1 x 70 mm x 120 mm x 39 mm kvadratna črna plastična škatla (ohišje)

20. 1 x 70 mm x 50 mm x 70 mm črna plastična škatla (glava)

21. 4 x 40 mm medeninastih stojal M3 plus 4 gumijaste opore

22. Različni moški kabli za spajanje, spajkanje, vijaki in vijaki m3 ter vroče lepilo

Gibanje nog po prilagojeni logiki. Premikanje kamere prek dveh neodvisnih servomotorjev, ki omogočata premikanje navzgor, navzdol, levo, desno in centrirano. Kamera, ki jo upravlja povezava WIFI, je prikazana v pogledu WebView v aplikaciji Android.

2. korak: SERVOS

STORITVE
STORITVE
STORITVE
STORITVE
STORITVE
STORITVE

Vsak ima največ 180 stopinj

premik najmanj 0 stopinj.

Vsak servo, označen s kombinacijo treh številk, LegCFT; kjer je C telo (COXA), F stegno (FEMUR), T pa komolec (TIBIA), zato bi se 410 nanašalo na četrto nogo in servo za golenico, podobno 411 bi se nanašalo na četrto nogo in servo za golenico. Številčenje bi bilo od 100 do 611. Vsaka servo noga mora imeti stopalko na osnovi gume za blaženje udarca in boljši oprijem.

Noga 1: 100, 110, 111 spredaj

Leg 2: 200, 210, 211 leg2-leg1

Leg 3: 300, 310, 311 leg4-leg3

Leg 4: 400, 410, 411 leg6-leg5

Noga 5: 500, 510, 511 Nazaj

Noga 6: 600, 610, 611

Privzeti položaj za vse koaksialne servomotorje je 90 stopinj.

Privzeti položaj za servo krmiljenje stegnenice je 90 stopinj, 45 stopinj je položaj mirovanja.

Privzeti položaj za tibijske servomobile za vse noge je 90 stopinj, noge 1, 3 in 5 uporabljajo 175 stopinj, položaj za počitek in noge 2, 4 in 6 uporabljajo 5 stopinj.

Vrat 1: 700 Omejen na 75 do 105 stopinj za gibanje navzgor in navzdol

Vrat 2: 800 Omejen na 45 do 135 stopinj za gibanje v levo in desno

Premik servomotorja je omejen na tri zapise pred vključitvijo 10-milisekundne zamude, preden se izdajo nadaljnji ukazi za pisanje. To pomaga zmanjšati obremenitev baterij.

3. korak: UKAZI

UKAZI
UKAZI
UKAZI
UKAZI
UKAZI
UKAZI

A = Stop - Stojte v privzetem položaju.

B = naprej - hoja_naprej

C = vzvratno - hodite nazaj

D = desno - zavijte_desno

E = levo - zavijte_levo

F = bočno gibanje levo - crab_left

G = desno bočno gibanje - crab_right

H = hrbet zadaj (noge 1 in 2 maksimalno, noge 3 in 4 v nevtralnem položaju, noge 5 in 6 v minimalnem položaju)

I = Sprednji sklep (noge 1 in 2 v minimalnem položaju, 3 in 4 noge v nevtralnem položaju, noge 5 in 6 v največjem položaju)

J = nagnjena kamera - na sredini (vrat 1 in vrat 2 v srednjem položaju, privzeti položaj)

K = leva kamera - pan_left (vrat 1, srednji položaj, najmanjši položaj servo vrat 2)

L = kamera desno - pan_right (vrat 1, srednji položaj, največji položaj servo vrat 2)

M = fotoaparat navzgor - pan_up (največji položaj vratu 1, srednji položaj servo vrat 2)

N = fotoaparat navzdol - pan_down (najnižji položaj vratu 1, srednji položaj servo vratu 2)

O = Počivalnik (Hexapod) sedi na nosilcih.

P = Stoječi - Hexapod stoji do privzetega položaja.

Q = Luči ugasnjene

R = Zelena luč na obroču Pixie Neon Light.

S = Rdeča luč na obroču Pixie Neon Light.

T = Modra svetloba na obroču Pixie Neon Light.

U = Bela svetloba na obroču Pixie Neon Light.

V = mahanje sprednjih nog.

W = Zvočni rog.

X = Pometanje glave od leve proti desni.

Y = Predvajaj melodijo.

4. korak: GIBANJE

PREMIKANJE
PREMIKANJE
PREMIKANJE
PREMIKANJE
PREMIKANJE
PREMIKANJE

Položaj servomotorja Coax je vzdolžen glede na os telesa, zato je naravnost 0 stopinj in neposredno zadaj 180 stopinj. Vendar bi bil ta Coax in vsi drugi servomotorji omejeni na 45 do 135 stopinj.

Premikanje nog naprej, nazaj, levo in desno bi se začelo z dvigom noge z uporabo servomotorjev za stegnenico in golenico, nato bi sledil premik telesa za servo in nazadnje ponovno spuščanje iste noge s pomočjo servomogov za stegnenico in golenico.

Naprej in nazaj

Za premikanje naprej ali nazaj noge delujte v parih, 1 in 2, 3 in 4, 5 in 6. Preprost premik naprej je sestavljen iz nog 1 in 2, ki se premaknejo iz trenutnega položaja čim bolj naprej, nato pa noge 3 in 4, in na koncu 5 in 6 nog ponovita isto dejanje. Nato se vseh šest Coax servomotorjev premakne iz tega podaljšanega položaja naprej v prvotni začetni položaj. Obratno se ta postopek uporablja za premikanje nazaj. Kot del procesa premikanja naprej bo ultrazvočna enota HC_SR04 preverila, ali so pred nami ovire, in če bi jo našli, naključno obrnite Hexapod levo ali desno.

Leva in desna

Za premikanje leve ali desne pare nog delajte skupaj, vendar v nasprotnih smereh. Tako se na primer za desno nogo 1 premakne iz trenutnega položaja nazaj v položaj 135 stopinj, medtem ko se noga 2 premakne naprej v položaj 45 stopinj. To se ponovi za pare nog 3 in 4 ter 5 in 6 nog. Takrat se Coax servomotorji premaknejo v prvotni položaj nazaj v nov položaj, pri čemer se telo obrne v smer gibanja, tj. prav. Ta postopek se nadaljuje, dokler ni dokončana zahtevana rotacija v levo. Obrat tega procesa se uporablja za zavijanje levo, tako da se noga 1 premakne iz trenutnega položaja naprej v položaj 45 stopinj, medtem ko se noga 2 premakne nazaj v položaj 135 stopinj.

Vstani in počivaj

Oba postopka ne uporabljata Coax servo na nobeni nogi, zato se za dvig tibijskega servomotorja za vse noge premakne iz trenutnega položaja na največ 45 stopinj, medtem ko se ti isti stegnenični servomotorji premaknejo na najnižjo položaj, 175 ali 5 stopinj. Enako gibanje velja za servo krmilnike Tibia, ki se premikajo največ 45 stopinj za stoje in njihov minimum, tj. 175 ali 5 stopinj za počitek.

Crowch Forward in Crouch Back

Tudi tu so procesi zrcalne podobe drug drugega. Za počep naprej sta nogi 1 in 2 v najnižjem položaju, nogi 5 in 6 pa v najvišjem položaju. V obeh primerih nogi 4 in 5 zavzameta nevtralen položaj, ki je v skladu z naboroma nog 1 in 2 ter 5 in 6. Za skrite noge nazaj sta nogi 1 in 2 v najvišjem položaju, medtem ko sta nogi 5 in 6 v najnižjem položaju.

5. korak: GLAVNA KAMERA/SONAR

GLAVNA KAMERA/SONAR
GLAVNA KAMERA/SONAR
GLAVNA KAMERA/SONAR
GLAVNA KAMERA/SONAR
GLAVNA KAMERA/SONAR
GLAVNA KAMERA/SONAR

Glava bo sestavljena iz kvadratne plastične škatle 38 mm x 38 mm x 38 mm z odstranljivim pokrovom. Škatla/glava bo imela omejeno navpično in vodoravno gibanje. Gibanje bo doseženo z uporabo dveh servomotorjev, enega pritrjenega na telo robota, drugega pa na prvo telo servomotorja in njegove roke pritrjene na glavo. 7,4 V, ki ga dobavljata dve bateriji 18650, bo napajalo razvojno ploščo Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT DEVKIT, pritrjeno na ščitnik kamere z mini modulom Arducam z objektivom OV2640 z 2 milijoni slikovnih pik. Ta ureditev bo robotu omogočila odkrivanje ovir in pretakanje videa v živo prek vmesnika Wi-Fi. Sonar z uporabo HC-SR04 in morebitne informacije o upravljanju svetlobe bi tekel nazaj v Arduino Mega.

Zahvaljujem se Dmainmunu za članek Arducam Instructables, ki mi je bil v veliko pomoč pri prvem razumevanju, kako bi lahko Arducam uporabili za video tok.

Baterija

Odločeno je bilo, da se uporabijo dve bateriji, ena za komponente glave in plošča Arduino Mega, druga pa za napajanje vseh servomotorjev. Prvi paket je bil sestavljen iz 2 x 18650 3400mAh baterij, ki napajajo 7,4V. Drugi paket je bil sestavljen iz 2 x 6V 2800mAh baterij, ki so vzporedno povezane, kar daje napajanje 6,4 V, vendar povečano kapaciteto 5600 mAh, pritrjeno na spodnjo stran Hexapoda s pomočjo Velcro trakov.

6. korak: GIBANJE NOG

GIBANJE NOG
GIBANJE NOG
GIBANJE NOG
GIBANJE NOG
GIBANJE NOG
GIBANJE NOG

Roke lahko delujejo v paru ali posamično. Vsaka roka je sestavljena iz telesnega sklepa, imenovanega koaks, s premikom od 45 do 135 stopinj, stegenskega sklepa, imenovanega stegnenica, z gibanjem od 45 do 135 stopinj, in na koncu komolca, imenovanega golenica, ali končnega efektorja, s premikom od 45 do 135 stopinj.. Programska oprema po meri je bila napisana za zagotavljanje gibanja nog.

Vrste gibanja nog:

Za Coax je 45 stopinj obrnjeno nazaj od glave, 90 stopinj je nevtralno, 135 stopinj pa naprej.

Za stegnenico je 45 stopinj najvišji položaj od tal, 90 stopinj je nevtralen položaj, 135 stopinj pa najnižji položaj od tal.

Za golenico je 45 stopinj najbolj oddaljen položaj od telesa, 90 stopinj je nevtralen položaj, 135 stopinj pa najbližji položaj telesa.

Predpostavimo, da so vsi servomotorji v nevtralnem položaju, 90 stopinj.

Naprej: nogi 1 in 2, stegnenica se dvigne na 135 stopinj, koksa se premakne na 45 stopinj, golenica se premakne na 45 stopinj najbolj oddaljeno od telesa, stegnenica se spusti na 45 stopinj. To se ponovi pri parih nog 3 in 4 ter parih nog 5 in 6. Vseh 6 servomotorjev Coax se premakne od 45 stopinj nazaj na 90 stopinj, nevtralni položaj, vseh 6 krmilnikov stegnenice se premakne od 45 stopinj do 90 stopinj, nevtralni položaj. Končno se vsi servokrmilci Tibia premaknejo navzgor od 45 stopinj do 90 stopinj, nevtralni položaj.

Obratno: Začenši z nogami 5 in 6, nato 3 in 4 ter na koncu nogami 1 in 2, sicer je gibanje enako za Coax, stegnenico in golenico.

Levo: Noge 1, 3 in 5 se premikajo v obratni smeri, noge 2, 4 in 6 pa v smeri naprej. Premikanje naprej in nazaj je v skladu s standardnim gibanjem naprej in nazaj. Za dokončanje zavoja vseh šest servomotorjev Coax se premaknite za 45 stopinj, kar obrne telo.

Desno: Nogi 2, 4 in 6 se premikata v obratni smeri, noge 1, 3 in 5 pa v smeri naprej. Premikanje naprej in nazaj je v skladu s standardnim gibanjem naprej in nazaj. Vrtenje premikanja je podobno kot zgoraj, vendar v obratni smeri.

Počitek: Vsi servomotorji Coax in Femur v nevtralnem položaju, vsi Tibia servomotorji v najnižjem položaju 45 stopinj, učinkovito pokleknejo sprednje, srednje in zadnje noge.

Sklonite se zadaj, stojte spredaj: Nogi 1 in 2 v najvišjem položaju, nogi 3 in 4 v nevtralnem položaju, nogi 5 in 6 pa v najnižjem položaju.

Stojte zadaj, počepnite spredaj: Nogi 1 in v najnižjem položaju, nogi 3 in 4 v nevtralnem položaju, nogi 5 in 6 pa v najvišjem položaju.

Rak levo: Nogi 1 in 5 se dvigneta in iztegneta navzven v levo, hkrati pa se nogi 2 in 6 dvigneta in skrčita pod telesom. Z vsemi štirimi nogami na tleh se vse Tibije vrnejo v nevtralni položaj. Na koncu noge 3 in 4 ponovita isti postopek.

Desni rak: Nogi 2 in 6 se dvigneta in iztegneta navzven v desno, hkrati pa se nogi 1 in 5 dvigneta in skrčita pod telesom. Z vsemi štirimi nogami na tleh se vse Tibije vrnejo v nevtralni položaj. Na koncu noge 3 in 4 ponovita isti postopek.

Gibanje leve glave: vrat 1 servo 45 stopinj. Oba servomotorja se vrneta v nevtralni položaj 90.

Gibanje desne glave: vrat 1 servo 135 stopinj

Gibanje glave navzgor: vrat 2 servo 45 stopinj

Gibanje navzdol po glavi: vrat 2 servo 135 stopinj

Premikanje glave glave: vrat 2 se premakne od 45 do 135 stopinj

STORITVE

Po začetnem testiranju so bili zamenjani servomotorji MG995 in MG996. Vseh 20 servomotorjev je bilo zamenjanih z 20 -kilogramskimi servomotorji DS32228, ki so zagotovili znatno izboljšano centriranje in povečali nosilnost.

Pomembno je, da vsak servo natančno preizkusite z ustreznim preskusnim programom. Spremenil sem preprost primer programa "sweep", tako da je bil posebej preizkušen za 0, 90 in 180 položajev, ta testna rutina je potekala najmanj 5 minut za vsak servo in se nato ponovila dan kasneje.

OPOMBA: Uporaba standardne plošče Arduino Uno, ki jo napaja kabel USB, morda ne bo zagotovila dovolj napetosti za zagon določenih servomotorjev. Ugotovil sem, da je 4,85 V, ki ga je servo sprejel od Uno, povzročilo napačno vedenje pri servomotorjih DS3218, kar je povečalo to napetost na 5,05 V, ki je rešilo to težavo. Zato sem se odločil, da zaženem servomotorje na 6v. Na koncu sem ugotovil, da je napetost 6,4V potrebna, saj je 6v povzročilo napačno obnašanje servomotorjev.

7. korak: GRADNJA

GRADNJA
GRADNJA
GRADNJA
GRADNJA
GRADNJA
GRADNJA

NOGE

Začelo se je z postavitvijo delov kompleta Hexapod. Vsi servo krožni rogovi so zahtevali povečanje matirne luknje na obeh koncih stegnenice in vseh odprtin za koaksiranje. Vsak servo rog je bil pritrjen na ustrezen priključek in stegnenico s štirimi vijaki in petim vijakom skozi sredino servo glave. Vsa servo ohišja so pritrjena s štirimi vijaki in maticami. Servo nosilec Coax za vsako od šestih nog je imel na dnu pritrditve pritrjen ležaj z enim vijakom in matico. Vsak servo nosilec Coax je bil s štirimi vijaki in maticami pritrjen na servo nosilec stegnenice, pri čemer je ta nosilec zasukan za 90 stopinj. Glava servo upravljalca stegnenice je bila pritrjena na en konec stegnenice, drugi konec stegnenice pa na glavo tibije. Šest servo krmilnikov Tibia je bilo pritrjenih na vrh šestih nog s štirimi vijaki in maticami. Vsak efektor na koncu noge je bil prekrit z mehkim gumijastim čevljem za dodaten oprijem. Ugotovljeno je bilo, da je priloženi servo rog prevelik, da bi ga lahko pritrdili v povezave Coax, Femur in Tibia, zato so bile vse osrednje luknje povečane na 9 mm. Zahvaljujem se "Toglefritzu" za njegove Capers II, ki jih je mogel poučiti glede konstrukcijskih elementov kompleta Hexapod. Vendar sem odstopil od konstrukcije na enem področju, in sicer pritrditve servorogov na oba konca stegnenice. Odločil sem se, da bom povečal osrednjo luknjo stegnenice, da bo omogočil prehod središča servo roga skozi to, kar bo servo rogu dalo dodatno moč, saj je bilo bližje servo, ta dva sklepa pa sta doživela največji navor. Vsak servo rog je bil pritrjen na stegnenico z dvema samoreznima vijakoma M2.2, pri čemer sta se konca teh vijakov odstranila in položila. Vsi vijaki M3 so bili pritrjeni.

TELO

Telo je sestavljeno iz dveh plošč, vsaka s šestimi luknjami, vsaka luknja se uporablja za pritrditev servo roga Coax. Dve bateriji 6V 2800mAh sta bili pritrjeni na spodnjo stran spodnje plošče s pomočjo Velcro. Štiri opornice M3, ki segajo tik ob spodnji del nosilca baterije, so imele vsaka z mehkim gumijastim čevljem, ki je zdrsnil na dno, kar zagotavlja stabilno podlago, na katero lahko leži Hexapod. Zgornji del spodnje plošče ima Arduino Mega in senzorski ščit, pritrjen s štirimi 5 mm stojali. Na zgornji del spodnje plošče so bile pritrjene 4 x stojala M3, višine 6 cm, ki so obdajali Arduino Mega in zagotavljali podporo zgornji plošči. Na zgornji plošči je bila pritrjena škatla 120 mm x 70 mm x 30 mm, v kateri bo prvi od vratnih servomotorjev in LCD zaslon. Drugo držalo za baterije z 2 ležiščema, 2 x 18650 je bilo pritrjeno na spodnjo stran zgornje plošče na zadnji strani plošče Arduino Mega, obrnjeno proti sprednjemu delu šesteronožca.

Zgornja plošča ima šest servorogov, vsaka pritrjena s štirimi vijaki M2.2. Na vrhu plošče je nameščena škatla 70 mm x 120 mm x 30 mm, v katero so nameščeni držalo za baterijo 2 ležišča 18650, dvopolno stikalo, zelena LED in LCD zaslon 16 x 2 IC2. Poleg tega je nameščen tudi prvi servo servo, napajalni in drugi podatkovni kabel servo vratu prehajata skozi luknjo, da napajata drugi servo in modul Arduino V3 NodeMcu. Nadaljnji podatkovni kabel poteka skozi zgornjo škatlo in napaja ultrazvočni modul HC-SR04, ki je spet v glavi. Drugi podatkovni in napajalni kabel je prav tako mimo glave za napajanje pixie LED obroča.

Dva servo podatkovna kabla in podatkovni kabel HC-SR04 se napajata skozi zgornjo ploščo, medtem ko je modul Bluetooth pritrjen na spodnjo stran plošče z neonsko blazinico in vročim lepilom. Pred vsakim poskusom pritrditve zgornje plošče na spodnjo ploščo s pomočjo vijakov 4 x M3, ki se prilegajo v stojala 4 x M3, pritrjena na spodnjo ploščo, mora biti vzpostavljeno vodenje preostalih 18 servo -podatkovnih kablov. Kot del postopka pritrditve zgornje spodnje plošče je treba vseh šest Coax servomotorjev namestiti v pravilen položaj tako, da ležaj pritrdi v luknjo spodnje plošče, servo glava pa v rog zgornje plošče. Po namestitvi so vrhovi šestih Coax servomotorjev pritrjeni s 6 vijaki M3. Zaradi položaja servorogov za šest servomotorjev Coax je bilo treba stojala 4 x M3 zmanjšati po višini za 2 mm, tako da so ležaji servo krmiljenja pravilno sedeli na spodnji plošči.

GLAVA

Glava je sestavljena iz dveh servomotorjev 90 stopinj drug od drugega, enega v škatli, pritrjenega na zgornjo ploščo, in drugega, pritrjenega na prvega preko servo roga z uporabo medeninaste plošče v obliki črke U. Drugi servo rog je pritrjen na medeninasti nosilec v obliki črke L, ki je sam pritrjen na škatlo 70 mm x 70 mm x 50 mm z dvema vijakoma in maticami. Škatla tvori glavo, znotraj katere je nameščena kamera Ardcam, ultrazvočni modul HC-SR04 in modul Arduino V3 NodeMcu ter LED za napajanje. Tako ultrazvočni modul oddajne in sprejemne senzorske glave štrlijo skozi sprednji del škatle, prav tako leča kamere. Objektiv na zunanji strani škatle obdaja 16 LCD Nero pixie prstan. LED za napajanje NodeMcu je viden skozi luknjo na zadnji plošči glave, napajalni kabel, podatkovni kabel ultrazvočnega modula in pixie neonske napajalne kable za podatke vstopajo skozi luknjo med zadnjo ploščo in glavno ploščo.

ELEKTRONIKA

Naslednji Fritzing diagrami prikazujejo elektroniko telesa in glave. Linije VCC in GRD niso prikazane za 20 servomotorjev, da bi olajšali jasnost diagrama. Modul Bluetooth prek aplikacije Android nadzoruje gibanje Hexapoda, vključno s servomotorji za vrat. Modul Arduino NodeMcu, ki temelji na WIFI, nadzoruje modul kamere Arducam. Vsi servomotorji so pritrjeni na ščit senzorja Arduino prek enega samega bloka, ki vsebuje VCC, GRD in signalne linije. Standardni 20-palčni mostični kabli DuPont se uporabljajo za povezavo Bluetooth BT12, HC-SR04 in IC2 LCD.

KALIBRACIJA NOG

To je eno najtežjih področij priprave pred delom na gibanju šesteronožca. Začetna zamisel je, da se vse noge postavijo na naslednje, Coax servos za 90 stopinj, servo za stegnenico za 90 stopinj in servo za golenico za 90 s fizičnim položajem nog na 105 stopinj za noge 2, 4 in 6 in 75 stopinj za noge 1, 3 in 5. Hexapod je bil postavljen na ravno površino, ki je ležala na štirih nosilcih pod ohišjem baterije. Noge so nameščene na enaki razdalji med vsako nogo in na enaki razdalji od telesa. Vsi ti položaji so označeni na ravni površini. Med konstrukcijo nog je bila ugotovljena srednja točka vsakega servomotorja, to naj bo položaj servomotorjev 90 stopinj. Ta privzeti položaj 90 stopinj se uporablja z vsemi servomotorji.

Notranji ploskvi pogonskih pogonov 2 in 5 sta vzporedni, to velja za servomotorje 1 in 6 ter 3 in 4. Vsi servo krmilniki stegnenice in koaksa so med fazo gradnje pritrjeni skupaj pod kotom 90 stopinj. Vsi servomotorji stegnenice imajo roko stegnenice pritrjeno na njih pod kotom 90 stopinj. Vsi tibijski servomotorji so pritrjeni na golenico pri 90 stopinjah. 2, 4 in 6 tibijski servomotorji so pritrjeni na stegnenično roko pri 105 stopinjah, medtem ko so tibijski servomotorji 1, 3 in 5 pritrjeni na roko stegnenice pri 75 stopinjah.

Pomembno je omeniti, da je treba med preskušanjem spremljati temperaturo vseh servomotorjev, vroč servo pomeni, da servo deluje preveč in bi lahko odpovedal, večina servomotorjev bo na dotik topla.

Začetna kalibracija je, da Hexapod po vklopu premaknete iz ležečega položaja v stoječi položaj, ki je stabilen, stabilen, raven in kar je najpomembneje, noben od servomotorjev ni pregret. Da bi ohranili stabilen položaj, je treba v vsak servo zapisati z zamudo manj kot 20 milisekund, uporabljenih je bilo 10 milisekund. Vsi servomotorji se lahko premikajo le od 0 do 180 stopinj in od 180 stopinj nazaj do 0, zato sta pri vseh servomotorjih stegnenice 0 in 180 stopinj navpična, 90 stopinj pa vodoravna.

Pred priklopom vsakega servomotorja je bil vsakemu od predhodno definiranih servomotorjev poslan inicializacijski zapis, ki mu daje trenutni kot mirovanja, tj. trenutni položaj, v katerem je servomotor med počitkom. To je bilo 90 stopinj za vse Coax servomotorje, 55 stopinj za servomotive za stegnenico in golenico 1, 3 in 5 ter 125 stopinj za servomotive 2, 4 in 6 za stegnenico in golenico.

Pomembno je vedeti, da je treba baterije na začetku kalibracijske seje vedno popolnoma napolniti.

Hexapod vedno začenja iz počivajočega položaja, celotno telo pa podpirajo štiri noge. S tega položaja se vsi servo motorji stegnenice in golenice premikajo od začetnega položaja do stoječega položaja, nato pa so vsi servomotorji pod kotom 90 stopinj. Za dokončanje stoječega položaja se izda ukaz "stoj". Ta ukaz zahteva, da se vse noge dvignejo in spet spustijo v dveh nizih s tremi gibi nog, noge 1, 5 in 4 ter 2, 6 in 3.

8. korak: PROGRAMSKA OPREMA

Programska oprema je sestavljena iz treh delov, prvi del je koda Arduino, ki deluje na Arduino Mega, drugi del je koda Arduino, ki deluje na modulu NodeMcu v glavi. Komunikacija poteka prek enote Bluetooth BT12, ki sprejema ukaze iz tabličnega računalnika Android, in sicer Samsung Tab 2, ki poganja aplikacijo po meri, zgrajeno v Android Studiu. Ta aplikacija pošilja ukaze Hexapodu. Ista aplikacija prejema tudi video vir v živo iz modula NodeMcu prek vgrajenega WIFI.

KODA ANDROID

Koda Android po meri, razvita s programom Android Studio, ponuja platformo, na kateri se izvaja aplikacija na dveh zaslonih. Aplikacija ima dva zaslona, glavni zaslon omogoča uporabniku, da izda ukaze za Hexapod in si ogleda video vir, ki prihaja iz glave šesteronožca. Drugi zaslon, do katerega dostopate prek gumba WIFI, omogoča uporabniku, da se najprej poveže s šestkotnim Bluetooth -om in drugič z vročo točko WIFI, ki jo ustvari kartica NodeMCU Arduino v glavi šesteronožca. Aplikacija pošilja ukaze z eno črko, prek serijske številke 9600 Baud, iz tabličnega računalnika prek vgrajenega Bluetootha na Bluetooth BT12, priključen na šesteronožnik.

KODA ARDUINO

Razvoj kode se je začel z razvojem testnega programa, ki je bil zasnovan za testiranje osnovnih funkcij Hexapoda, njegove glave in telesa. Ker sta glava in njeno delovanje popolnoma ločena od telesa, je bil razvoj programske opreme preizkušen vzporedno s kodo telesne funkcije. Koda delovanja glave je v veliki meri temeljila na prejšnjem razvoju z vključitvijo servo gibanja. Koda je vključevala delovanje LCD zaslona 16x2, ultrazvočnega modula HC-SR04 in obroča s 16 LED lučmi. Za zagotovitev dostopa WIFI do video vira v živo z glave je bil potreben nadaljnji razvoj kode.

Koda karoserijske funkcije je bila sprva razvita za zagotavljanje začetne pritrditve servo in začetnega položaja v mirovanju. S tega položaja je bil Hexapod programiran tako, da preprosto stoji. Razvoj se je nato nadaljeval z dodatnimi premiki Hexapoda in združevanjem razdelkov kode glave in telesa s serijsko komunikacijo z aplikacijo Android.

Preskusna servo koda je omogočala razvoj gibov nog in telesa, in sicer:

1. InitLeg - Omogoča položaj nog v mirovanju, položaj stoječih nog, začetni položaj rakov za hojo levo ali desno, začetni položaj nog za hojo naprej ali nazaj.

2. Wave - omogoča, da se sprednje noge štirikrat pomahajo, preden se vrnejo v stoječi položaj.

3. TurnLeg- Omogoča, da Hexapod zavije levo ali desno.

4. MoveLeg- Omogoča šesteronožcu hojo naprej ali nazaj.

5. CrouchLeg- Omogoča šesteronožcu, da se počepne naprej na sprednje noge ali nazaj na zadnje noge.

Gibanje nog temelji na parih nog, ki delujejo skupaj, zato noge 1 in 2, 3 in 4, 5 in 6 delujejo kot pari. Gibanje je sestavljeno iz dveh osnovnih dejanj, premika naprej in vlečenja ter potiskanja nazaj. Za hojo nazaj sta ti dve gibi obrnjeni, na primer hoja naprej, nogi 1 in 2 potegneta, nogi 5 in 6 pa potiskata, nogi 3 in 4 zagotavljata stabilnost. Rakova hoja je preprosto isto dejanje, vendar nastavljeno na 90 stopinj glede na telo, v tem primeru se nogi 3 in 4 premikata enako kot druge noge. Med hojo se pari nog premikata izmenično, medtem ko nogi 1 in 5 pri hoji rakov delata kot par, medtem ko noga 3 deluje z izmeničnimi koraki do nog 1 in 5.

Opis funkcij gibanja sledi za vsako od glavnih funkcij gibanja, od katerih je vsaka sestavljena iz elementov gibanja, ki so združeni in delujejo v določenem zaporedju.

POČITAJ: Od stoječega položaja se vsi servomotorji stegnenice premaknejo navzgor, da telo spustijo na štiri nosilce. Hkrati se vsi servokrmilci Tibia premikajo navznoter.

STOJANJE: Od položaja mirovanja se vsi servokrmilci Tibia premaknejo navzven, ko je to končano, se vsi servomotorji stegnenice premaknejo v položaj 90 stopinj, nazadnje pa se vsi tibijski servomotorji hkrati premaknejo v položaj 90 stopinj.

OBRAT LEVO: Noge 1, 3 in 5 se odmaknejo od glave za 45 stopinj, hkrati pa se noge 2, 4 in 6 premaknejo naprej proti glavi. Ko se vsi servomotorji Coax premaknejo iz trenutnega položaja nazaj v standardni položaj 90 stopinj, bi bilo to gibanje proti telesu v smeri urinega kazalca.

OBRAT DESNO: Noge 1, 3 in 5 se premaknejo naprej proti glavi za 45 stopinj, hkrati pa se noge 2, 4 in 6 odmaknejo od glave nazaj. Ko se vsi servomotorji Coax premaknejo iz trenutnega položaja nazaj v standardni položaj 90 stopinj, bi bilo to gibanje v smeri urinega kazalca proti telesu.

SKLEČI NAPREJ: Nogi 1 in 2 se spustita s servomotorji za stegnenico in golenico, medtem ko se nogi 5 in 6 dvigneta s pomočjo servomotorjev za stegnenico in golenico, nogi 3 in 4 ostaneta v standardnem položaju.

NAGRADNJA: Nogi 1 in 2 se dvigneta s servomotorji za stegnenico in golenico, medtem ko se nogi 5 in 6 spustita s pomočjo servomotorjev za stegnenico in golenico, nogi 3 in 4 ostaneta v standardnem položaju.

WAVING: Ta rutina uporablja samo nogi 1 in 2. Coax servomotorji se premikajo v loku 50 stopinj, stegnenica in golenica pa se premikata tudi v loku 50 stopinj. Nogi 3 in 4 se premakneta naprej za glavo za 20 stopinj, kar zagotavlja stabilnejšo platformo.

NAPREJ HODANJE: Nogi 1 in 6, 2 in 5 ter 3 in 4 morata delovati skupaj. Torej, medtem ko noga 1 vleče telo, mora noga 6 potiskati telo, takoj ko je to dejanje končano, morata nogi 2 in 5 izvesti isto dejanje, medtem ko se pojavljata vsaka od teh ciklov nog 3 in 4 morata opraviti svoje delo. rutina naprej.

Začetne funkcije modula preskusne noge so omogočale zasnovo vsakega od treh gibov nog. Potrebni so trije premiki nog, saj nasprotne noge preprosto izvajajo obratne gibe. Razvit je bil novi kombinirani modul krakov 1, 3 in 6, preizkušen in kopiran za drugi obrnjeni modul nog 2, 4 in 5. Preizkus gibanja nog šesteronožcev je bil dosežen z namestitvijo šesteronožca na dvignjen blok, tako da se noge lahko popolnoma premikajo, ne da bi se dotaknile tal. Meritve so bile izvedene med premikanjem nog in ugotovljeno je bilo, da se vse noge premikajo vodoravno na razdalji 80 mm, hkrati pa so med gibanjem ostale 10 mm od tal na najnižji točki. To pomeni, da bo Hexapod med gibanjem preprosto nihal z ene strani na drugo in da bodo imele vse noge med gibanjem enako vlečno silo.

Obrnjeno hojo:

RAVNIK, KI HODI LEVO: Začetno gibanje se začne z nogami 1, 2, 5 in 6, ki se vse vrtijo 45 stopinj v smeri vožnje. S tem so vse noge v skladu s smerjo vožnje, nogi 3 in 4 sta že pravilno usmerjeni. Stegna in golenica vsake noge se začneta v privzetem položaju 90 stopinj. Ta hoja je sestavljena iz dveh sklopov treh nog, ki delata z izmeničnimi koraki, nog 1, 5 in 4 ter nog 3, 2 in 6. Vsak sklop treh nog deluje tako, da potegne s sprednjima nogama, tj. 1 in 5 ter pritisne z nogi 4, se to gibanje nato obrne, tako da noga 3 potegne, medtem ko nogi 2 in 6 pritisneta, noben od Coax servomotorjev med tem gibanjem ne opravi nobenega dela. Vsak sklop treh nog dvigne stacionarni drugi sklop nog, ko se prvi niz premakne.

RAKOV, KI HODA DESNO:

OPOMBA: Glava se bo obrnila v smeri hoje rakovice levo ali desno. To omogoča uporabo ultrazvočnega zaznavanja HC-SR04 med hojo.

NASTAVITVA NOG: Da bi šesteronožni stojalo lahko stalo, morajo vse noge stati z enako višino. Če položite Hexapod na bloke, nato pa s pomočjo stojala in počivalnih rutin lahko izmerite razdaljo od tal vsakega končnega efektorja. Vsakemu končnemu efektorju sem dodal gumijaste škornje, da sem najprej dodal oprijem, pa tudi omogočil majhno prilagoditev dolžine nog, s ciljem 5 mm ali manj med vsemi nogami. Nastavitev vsakega servomotorja na 90 stopinj je bila enostavna, vendar lahko pritrditev vsakega servo roga na oba konca stegnenice povzroči in je povzročila težave, saj zelo majhne razlike v kotih vrtenja notranjih bodic rogov povzročijo razliko v višini nog za 20 mm. Zamenjava vijakov na različne pritrdilne luknje v servo rogovih je popravila to višinsko razliko 20 mm. Odločil sem se, da bom to težavo odpravil s to metodo, namesto da bi te razlike v višini nadomestil s programsko opremo.

Priporočena: