Sadržaj:

Jasper, Arduino Hexapod: 8 koraka (sa slikama)
Jasper, Arduino Hexapod: 8 koraka (sa slikama)

Video: Jasper, Arduino Hexapod: 8 koraka (sa slikama)

Video: Jasper, Arduino Hexapod: 8 koraka (sa slikama)
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

Datum projekta: Novembar 2018

PREGLED (JASPER)

Šesterokraki, tri servo po nozi, 18 servo sistem pokreta koji kontrolira Arduino Mega. Servo uređaji povezani preko Arduino Mega senzorskog štita V2. Komunikacija s Hexapodom putem Bluetooth BT12 modula razgovara s Android aplikacijom po mjeri. Sistem se napaja sa 2 x 18650, 3400mAh i 2 x 2400mA baterijskim kompletom od kojih svaki drži čičak ispod tijela šesteronožca. Prekidač za napajanje za servo i kontrolne sisteme je obezbeđen, kao i zelena LED lampica za uključivanje napajanja na glavi heksapoda. Komande se ponavljaju na LCD ekranu veličine 16x2. Video feed, svjetlosni prsten i izbjegavanje ultrazvučnih prepreka nalaze se u glavi.

NAPOMENA: Radi razuma, toplo preporučujem upotrebu servo servera dobre kvalitete, počeo sam sa servo pogonima MG995, od kojih je 20 bilo 11, od kojih je 11 izgorjelo, izgubilo sposobnost centriranja ili jednostavno prestalo raditi.

www.youtube.com/embed/ejzGMVskKec

Korak 1: OPREMA

OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA
OPREMA

1. 20 x DS3218 servo upravljača

2. 1x Hexapod osnovni komplet

3. 1x Arduino Mega R3

4. 1x Arduino Mega štitnik senzora v2

5. 1 x 2 ležište 18650 držač baterije

6. 2 x dvopolni prekidač za napajanje

7. Zeleno LED svjetlo i otpornik od 220 kohma

8. 2 x 6v baterije 2800mAh sa čičak pričvršćivanjem

9. 2 x 18650 x 3400mAh baterije

10. 1x HC-SR04 Sonarni modul

11. 1x Bluetooth modul BT12

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

13. 1 x Arducam mini modul štitnik kamere sa objektivom 2 megapiksela OV2640

14. 1 x Pixie Neon 16 LCD svjetlosni prsten

15. 1 x 16x2 linijski LCD ekran sa priključenim IIC adapterom.

16. 1 x 5v utikač za Arduino Mega

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

18. 1 x DC -DC Buck pretvarački modul

19. 1 x 70 mm x 120 mm x 39 mm kvadratna crna plastična kutija (tijelo)

20. 1 x 70 mm x 50 mm x 70 mm crna plastična kutija (glava)

21. 4 x 40 mm postolja od mesinga M3 plus 4 gumena oslonca za naslone

22. Različiti kratkospojni kablovi od muškog do muškog spoja, lemljenje, m3 vijci i vijci i vruće ljepilo

Pokret nogu korištenjem prilagođene logike. Kretanje kamere putem dva nezavisna servo upravljača koji se kreću gore, dolje, lijevo, desno i centrirano. Kamera kontrolirana putem WIFI veze, prikazana u WebView prikazu u Android aplikaciji.

Korak 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Svaki ima maksimalno 180 stepeni do

pokret od najmanje 0 stepeni.

Svaki servo identifikovan sa tri kombinacije brojeva, LegCFT; gdje je C tijelo (COXA), F je bedro (FEMUR), a T je lakat (TIBIA), pa bi se 410 odnosilo na četvrtu nogu i servo upravljač Tibije, slično 411 odnosilo bi se na četvrtu nogu i tibiju servo. Numeracija će biti od 100 do 611. Svaka servo noga mora imati nogu na bazi gume za ublažavanje udara i bolje prianjanje.

Noga 1: 100, 110, 111 sprijeda

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 Nazad

Noga 6: 600, 610, 611

Zadani položaj za sve koaksijalne servomotore je 90 stepeni.

Zadani položaj servo upravljača za bedrene kosti je 90 stepeni, 45 stepeni je položaj mirovanja.

Zadani položaj za Tibia Servos za sve noge je 90 stepeni, noge 1, 3 i 5 koriste 175 stepeni kao položaj za odmor, a noge 2, 4 i 6 koriste 5 stepeni.

Vrat 1: 700 Ograničeno na 75 do 105 stepeni za kretanje gore i dolje

Vrat 2: 800 Ograničeno na 45 do 135 stepeni za kretanje ulijevo i udesno

Servo kretanje ograničeno na tri "pisanja" prije nego što se uključi kašnjenje od 10 milisekundi, prije nego što se izdaju daljnje naredbe "pisanja". To pomaže u smanjenju opterećenja baterija.

Korak 3: KOMANDE

KOMANDE
KOMANDE
KOMANDE
KOMANDE
KOMANDE
KOMANDE

A = Stop - Stanite u zadani položaj.

B = naprijed - hod_naprijed

C = unatrag - hodanje unatrag

D = desno - skrenite_desno

E = lijevo - skrenite_lijevo

F = bočno kretanje lijevo - crab_left

G = bočno kretanje desno - crab_right

H = Stražnji kuk (noge 1 i 2 u maksimalnom položaju, 3 i 4 noge u neutralnom položaju, noge 5 i 6 u minimalnom položaju)

I = Prednji -čučanj (noge 1 i 2 u minimalnom položaju, 3 i 4 noge u neutralnom položaju, noge 5 i 6 u maksimalnom položaju)

J = okrenuta kamera - centar (Vrat 1 i Vrat 2 u srednjem položaju, zadani položaj)

K = kamera lijevo - pan_left (Vrat 1, srednji položaj, Vrat 2 servo minimalni položaj)

L = kamera desno - pan_right (Vrat 1, srednji položaj, Vrat 2 servo maksimalni položaj)

M = kamera gore - pan_up (vrat 1 maksimalna pozicija, vrat 2 servo srednji položaj)

N = kamera dolje - pan_down (Vrat 1 minimalna pozicija, Vrat 2 servo srednji položaj)

O = Odmaranje (Hexapod) sjedi na nosačima.

P = Uspravan - Hexapod stoji do zadane pozicije.

Q = Ugašeno svjetlo

R = Zeleno svjetlo na Pixie Neonskom prstenu.

S = Crveno svjetlo na prstenu od neonskog svjetla Pixie.

T = Plavo svjetlo na Pixie neonskom prstenu.

U = Bijelo svjetlo na Pixie neonskom prstenu.

V = Mahanje prednjim nogama.

W = Zvučna sirena.

X = Pometite glavu s lijeva na desno.

Y = Pustite melodiju.

Korak 4: KRETANJE

KRETANJE
KRETANJE
KRETANJE
KRETANJE
KRETANJE
KRETANJE

Coax servo položaj je uzdužan u odnosu na os tijela, tako da je pravo ispred 0 stepeni, a direktno iza 180 stepeni. Međutim, ovaj koaksijalni i svi drugi servo pogoni bili bi ograničeni na 45 do 135 stepeni.

Kretanje nogu prema naprijed, natrag, ulijevo i udesno započelo bi podizanjem noge pomoću servo upravljača za femur i tibiju, zatim bi slijedilo kretanje servo tijela, i na kraju ponovno spuštanje iste noge pomoću servo za femur i tibia.

Napred i nazad

Za pomicanje naprijed ili natrag noge rade u parovima, 1 i 2, 3 i 4, 5 i 6. Jednostavno kretanje prema naprijed sastoji se od nogu 1 i 2 koje se kreću iz trenutnog položaja u što je moguće dalje, zatim noge 3 i 4, i na kraju 5 i 6 nogu ponavljaju istu radnju. Zatim se svih šest koaksijalnih servomotora pomiče iz ovog produženog položaja prema natrag u prvobitni početni položaj. Obrnuta strana ovog procesa koristi se za pomicanje unatrag. Kao dio procesa kretanja prema naprijed, ultrazvučna jedinica HC_SR04 će provjeriti ima li prepreka ispred sebe i ako se pronađe, nasumično okrenite Hexapod bilo ulijevo ili udesno.

Lijevo i desno

Za kretanje lijevo ili desno parovi nogu rade zajedno, ali u suprotnim smjerovima. Tako se, na primjer, za okretanje desne noge 1 pomiče iz trenutnog položaja natrag u položaj od 135 stupnjeva, dok se noga 2 pomiče prema naprijed u položaj od 45 stupnjeva. Ovo se ponavlja za parove nogu 3 i 4, te 5 i 6 nogu. U to vrijeme Coax servo pogoni pomiču svoj prvobitni položaj natrag u svoj novi položaj, čineći tako izvrtanje tijela u smjeru kretanja, tj. desno. Ovaj proces se nastavlja sve dok se ne završi potrebna rotacija ulijevo. Obrnuti postupak se koristi za skretanje ulijevo, pa se noga 1 pomiče iz trenutnog položaja prema naprijed u položaj od 45 stepeni, dok se noga 2 pomiče unatrag u položaj od 135 stepeni.

Ustanite i odmorite se

Oba ova procesa ne koriste Coax servo na bilo kojoj nozi, pa se za uspravljanje Tibia servo, za sve noge, pomiče iz trenutnog položaja na maksimalnih 45 stepeni, dok se za odmor ti isti servo pogoni femura pomiču na najniži nivo položaj, 175 ili 5 stepeni. Isti se pokret odnosi na servo upravljače Tibia koji se kreću do maksimalnih 45 stupnjeva, za stajanje, a njihov minimum, tj. 175 ili 5 stepeni za odmor.

Čučni napred i čuči unazad

I ovdje su procesi zrcalne slike jedan drugog. Za čučanje naprijed, noge 1 i 2 su u svom najnižem položaju, dok su noge 5 i 6 u svom najvišem položaju. U oba slučaja noge 4 i 5 zauzimaju neutralni položaj koji je u skladu sa skupovima nogu 1 i 2 i 5 i 6. Za čučanje unatrag noge 1 i 2 su u svom najvišem položaju, dok su noge 5 i 6 u najnižem položaju.

Korak 5: GLAVNA KAMERA/SONAR

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

Glava će se sastojati od kvadratne plastične kutije 38 mm x 38 mm x 38 mm sa poklopcem koji se može ukloniti. Kutija/glava će imati ograničeno okomito i vodoravno kretanje. Kretanje će se postići korištenjem dva serva, jedan pričvršćen na tijelo robota, a drugi pričvršćen na prvo tijelo servomotora, a ruka mu je pričvršćena na glavu. 7.4v koje dobivaju dvije baterije 18650 napajat će Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT razvojnu ploču DEVKIT, pričvršćenu na Arducam mini modul štitnik kamere sa objektivom OV2640 od 2 megapiksela. Ovaj aranžman omogućit će robotu da otkrije prepreke i struji video uživo putem ugrađenog Wi-Fi-ja. Sonar koji koristi HC-SR04 i moguće informacije o upravljanju svjetlom vraćale bi se na Arduino Mega.

Zahvaljujem Dmainmunu na članku Arducam Instructables, koji mi je bio od velike pomoći u početnom razumijevanju načina na koji se Arducam može koristiti za video stream.

Baterija

Odlučeno je da se koriste dvije baterije, jedna za komponente glave i Arduino Mega ploča, a druga za napajanje svih servo pogona. Prvo pakovanje sastojalo se od 2 x 18650 3400mAh baterija koje napajaju 7,4V. Drugo pakovanje sastojalo se od 2 x 6V 2800mAh baterija povezanih paralelno, dajući tako napajanje od 6.4V, ali povećanog kapaciteta od 5600mAh, pričvršćenog na donju stranu Hexapoda pomoću čičak traka.

Korak 6: KRETANJE NOGA

KRETANJE NOGA
KRETANJE NOGA
KRETANJE NOGA
KRETANJE NOGA
KRETANJE NOGA
KRETANJE NOGA

Ruke mogu raditi u paru ili pojedinačno. Svaka ruka sastoji se od zgloba tijela nazvanog Coax sa pokretom od 45 do 135 stepeni, butnog zgloba zvanog Femur, sa pokretom od 45 do 135 stepeni, i na kraju zgloba lakta koji se naziva Tibia, ili krajnji efektor, sa pokretom od 45 do 135 stepeni. Softver po mjeri napisan je za kretanje nogu.

Vrste kretanja nogu:

Za Coax, 45 stepeni je okrenuto unazad od glave, 90 stepeni je neutralno, a 135 stepeni je okrenuto napred.

Za butnu kost, 45 stepeni je najviši položaj od tla, 90 stepeni je neutralan položaj, a 135 stepeni je najniži položaj od tla.

Za Tibiju, 45 stepeni je najudaljeniji položaj od tijela, 90 stepeni je neutralni položaj, a 135 stepeni je najbliži položaj tijela.

Pretpostavimo da su svi servo upravljači u neutralnom položaju, 90 stupnjeva.

Naprijed: noge 1 i 2, butna kost se podiže do 135 stepeni, nagib se pomiče na 45 stepeni, tibija se pomiče na 45 stepeni najudaljenije od tijela, butna kost se spušta na 45 stepeni. Ovo se ponavlja za parove nogu 3 i 4, i par nogu 5 i 6. Svih 6 koaksijalnih servo pogona pomiče se od 45 stupnjeva unatrag do 90 stupnjeva, neutralni položaj, svih 6 servo upravljača femura pomiču se od 45 stupnjeva do 90 stupnjeva, neutralni položaj. Konačno, svi servo upravljači Tibia pomiču se s 45 stupnjeva na 90 stupnjeva, neutralni položaj.

Obrnuto: Počevši s nogama 5 i 6, zatim 3 i 4, i na kraju nogama 1 i 2, inače je kretanje isto za koaksijalnu, femur i tibiju.

Lijevo: Noge 1, 3 i 5 se kreću u obrnutom smjeru, dok se noge 2, 4 i 6 kreću u smjeru prema naprijed. Kretanje naprijed i natrag u skladu je sa standardnim kretanjem naprijed i nazad. Da biste dovršili skretanje svih šest koaksijalnih servomotora, pomaknite se za 45 stepeni što okreće tijelo.

Desno: Noge 2, 4 i 6 se kreću u obrnutom smjeru, dok se noge 1, 3 i 5 kreću prema naprijed. Kretanje naprijed i natrag u skladu je sa standardnim kretanjem naprijed i nazad. Kretanje navoja slično je gore navedenom, ali u obrnutom smjeru.

Odmor: Svi servo pogoni sa nagibom i femurom u neutralnom položaju, svi servo upravljači s tibijom u najnižem položaju od 45 stepeni, efikasno čučeći i prednje, srednje i stražnje noge.

Čučnite straga, stanite sprijeda: Noge 1 i 2 u najvišoj poziciji, noge 3 i 4 u neutralnom položaju, a noge 5 i 6 u najnižoj poziciji.

Stanite pozadi, čučite napred: Noge 1 i u najnižem položaju, noge 3 i 4 u neutralnom položaju, a noge 5 i 6 u najvišem položaju.

Rak lijevo: Noge 1 i 5 se podižu i pružaju prema van ulijevo, istovremeno se noge 2 i 6 podižu i skupljaju ispod tijela. Sa sve četiri noge na tlu, sve Tibije se vraćaju u neutralni položaj. Konačno, noge 3 i 4 ponavljaju isti postupak.

Rak desno: Noge 2 i 6 se podižu i pružaju prema van udesno, istovremeno se noge 1 i 5 podižu i skupljaju ispod tijela. Sa sve četiri noge na tlu, sve Tibije se vraćaju u neutralni položaj. Konačno, noge 3 i 4 ponavljaju isti postupak.

Pokret lijeve glave: vrat 1 servo 45 stupnjeva. Oba servo motora se vraćaju u neutralni položaj 90.

Kretanje desnom glavom: vrat 1 servo 135 stepeni

Pokret prema gore: vrat 2 servo 45 stepeni

Pokret prema dolje: vrat 2 servo 135 stepeni

Pokret glave Pan: vrat 2 se pomiče od 45 do 135 stepeni

SERVOS

Nakon početnog testiranja, servo motori MG995 i MG996 su zamijenjeni. Svih 20 servo motora zamijenjeno je DS32228 servo motorima od 20 kg koji su omogućili znatno poboljšano centriranje i povećali nosivost.

Važno je temeljito testirati svaki servo pomoću odgovarajućeg programa za testiranje. Modificirao sam jednostavni primjer programa "sweep" tako da posebno testira 0, 90 i 180 pozicija, ova rutina testa je pokrenuta najmanje 5 minuta za svaki servo, a zatim ponovljena dan kasnije.

NAPOMENA: Korištenje standardne Arduino Uno ploče napajane USB kabelom možda neće osigurati dovoljan napon za pokretanje određenih servo pogona. Otkrio sam da je 4,85 V koje je servo prijemnik primio od Uno -a uzrokovalo nepravilan rad sa DS3218 servo -ovima, povećavajući ovaj napon na 5,05 V, koji je riješio ovaj problem. Odlučio sam pokrenuti servo na 6v. Na kraju sam otkrio da je napon od 6,4v neophodan jer je 6v uzrokovalo neispravno ponašanje servomotora.

Korak 7: IZGRADNJA

GRAĐEVINARSTVO
GRAĐEVINARSTVO
GRAĐEVINARSTVO
GRAĐEVINARSTVO
GRAĐEVINARSTVO
GRAĐEVINARSTVO

NOGE

Počelo je s polaganjem dijelova kompleta Hexapod. Sve servo kružne sirene zahtijevale su povećanje rupe za matiranje na oba kraja butne kosti i svih otvora za navoje. Svaki servo trup je pričvršćen na odgovarajući koaksijalni i butni but pomoću četiri vijka i petim vijkom kroz središte servo glave. Sva servo kućišta su pričvršćena pomoću četiri vijka i matice. Coax servo nosač, za svaku od šest nogu, imao je ležaj pričvršćen na dno montaže pomoću jednog vijka i matice. Svaka Coax servo montaža bila je pričvršćena, pomoću četiri vijka i matice, na servo montažu femura, pri čemu je ova montaža rotirana za 90 stepeni. Glava servo upravljača bedrene kosti bila je pričvršćena za jedan kraj kraka bedrene kosti, a drugi kraj femura za servo glavu tibije. Šest servo upravljača Tibia pričvršćeno je na vrh šest nogu s četiri vijka i matice. Svaki efekt na krajevima nogu bio je prekriven mekom gumenom čizmom radi dodatnog prianjanja. Utvrđeno je da je isporučeni servo trup prevelik za pričvršćivanje na priključke navoja, femura i tibije, pa su sve središnje rupe povećane na 9 mm. Zahvaljujem se “Toglefritzu” na njegovim Capers II uputstvima za konstrukcijske elemente kompleta Hexapod. Međutim, odstupio sam od izgradnje u jednom području, odnosno pričvršćivanja servo trupa na oba kraja bedrene kosti. Odlučio sam povećati središnju rupu femura kako bi središnji dio servo trube mogao proći kroz nju čime je servo truba dobila dodatnu snagu jer je bila bliže servo -u, a ova dva zgloba su doživjela najveći okretni moment. Svaki servo trup je pričvršćen na butnu kost pomoću dva samorezna vijka M2.2, pri čemu su im krajevi uklonjeni i položeni. Svi vijci M3 su pričvršćeni čvrsto.

BODY

Kućište se sastoji od dvije ploče sa po šest rupa, svaka rupa se koristi za pričvršćivanje Coax servo trube. Dvije baterije 6V 2800mAh pričvršćene su na donju stranu donje ploče pomoću čičak trake. Četiri stakla M3 koja se protežu tik uz dno držača baterije su pričvršćena, a svaka ima mekanu gumenu čizmu koja je kliznula na dno, što pruža stabilnu podlogu na koju Hexapod može počivati. Gornji dio donje ploče ima Arduino Mega i njegov senzorski štit pričvršćen pomoću četiri stalka od 5 mm. Na vrh donje ploče pričvršćene su 4 x M3 stalke visine 6 cm, koje su okruživale Arduino Mega i pružale podršku za gornju ploču. Na gornjoj ploči je bila pričvršćena kutija 120 mm x 70 mm x 30 mm, na kojoj će se nalaziti prvi od servo servera i LCD ekran. Drugi držač baterije sa 2 ležišta, 2 x 18650 pričvršćen je na donju stranu gornje ploče sa stražnje strane Arduino Mega ploče okrenute prema prednjoj strani Hexapoda.

Gornja ploča ima šest servo sirena, svaka pričvršćena s četiri vijka M2.2. Na vrh ploče ugrađena je kutija 70 mm x 120 mm x 30 mm u koju su ugrađeni 2 ležišta 18650 držač baterije, dvopolni prekidač, zelena LED dioda i IC2 16 x 2 LCD ekran. Osim toga, instaliran je i prvi servo servo, napajanje i drugi vrat servo podatkovni kabel prolaze kroz rupu za napajanje drugog servo i Arduino V3 NodeMcu modula. Dodatni podatkovni kabel prolazi kroz gornju kutiju i napaja ultrazvučni modul HC-SR04, koji se ponovo nalazi u glavi. Drugi kabel za prijenos podataka i napajanje je također prošao do glave za napajanje pixie LED prstena.

Dva servo podatkovna kabela i podatkovni kabel HC-SR04 prolaze kroz gornju ploču, dok je Bluetooth modul pričvršćen na donju stranu ploče pomoću neonske podloge i vrućeg ljepila. Upravljanje kabelima preostalih 18 servo kablova za prijenos podataka mora biti uspostavljeno prije bilo kakvog pokušaja pričvršćivanja gornje ploče na donju ploču pomoću 4 x M3 vijka koji se uklapaju u stalke 4 x M3 pričvršćene na donju ploču. Kao dio procesa pričvršćivanja gornje donje ploče, svih šest koaksijalnih servo servo motora također mora biti postavljeno u pravilan položaj s ležajem koji se uklapa u otvor na donjoj ploči, a glava servo pogona u trubu gornje ploče. Nakon postavljanja, vrhovi šest koaksijalnih servomotora pričvršćeni su sa 6 vijaka M3. Zbog položaja servo sirena za šest Coax servo -a, 4 x M3 stative je trebalo smanjiti po visini za 2 mm, tako da su Coax servo ležajevi pravilno sjeli na donju ploču.

HEAD

Glava se sastoji od dva servo pogona međusobno postavljena pod uglom od 90 stepeni, jedan je smešten u kutiji pričvršćenoj za gornju ploču, a drugi pričvršćen na prvu preko servo trube pomoću mesingane ploče u obliku slova U. Drugi servo trup pričvršćen je na mjedeni držač u obliku slova L koji je sam pričvršćen na kutiju dimenzija 70 mm x 70 mm x 50 mm s dva vijka i matice. Kutija čini glavu, unutar koje je instalirana Ardcam kamera, HC-SR04 ultrazvučni modul, i Arduino V3 NodeMcu modul, i LED za napajanje. I ultrazvučni modul odašiljačke i prijemne glave štrče kroz prednju stranu kutije, kao i objektiv kamere. Oko leće sa vanjske strane kutije nalazi se 16 LCD Nero pixie prsten. NodeMcu LED dioda za napajanje vidi se kroz otvor na stražnjoj ploči glave, kabel za napajanje, podatkovni kabel ultrazvučnog modula i pixie Neonski kabeli za napajanje podataka ulaze kroz rupu između stražnje ploče i gornje ploče.

ELEKTRONIKA

Sljedeći Fritzing dijagrami prikazuju elektroniku tijela i glave. Linije VCC i GRD nisu prikazane za 20 servomotora kako bi se pojasnio dijagram. Bluetooth modul, putem Android aplikacije., Kontrolira kretanje Hexapoda, uključujući i njegove servo upravljače. Arduino NodeMcu modul zasnovan na WIFI -u kontrolira modul kamere Arducam. Svi servo pogoni su spojeni na Arduino senzorski štit preko jednog bloka koji sadrži VCC, GRD i signalne linije. Standardni DuPont kratkospojni kablovi od 20 cm koriste se za povezivanje Bluetooth BT12, HC-SR04 i IC2 LCD-a.

KALIBRACIJA NOGA

Ovo je jedno od najtežih područja pripreme prije rada na kretanju heksapoda. Početna ideja je postaviti sve noge na sljedeće, Coax servos za 90 stepeni, servo za femur na 90 stepeni i servo za tibiju na 90 sa fizičkim položajem nogu na 105 stepeni za noge 2, 4 i 6 i 75 stepeni za noge 1, 3 i 5. Hexapod je postavljen na ravnu površinu oslonjenu na četiri nosača ispod kućišta baterije. Noge su mu postavljene na jednakim udaljenostima između svake noge i na jednakoj udaljenosti od tijela. Svi su ti položaji označeni na ravnoj površini. Tijekom konstrukcije nogu pronađena je srednja točka svakog servo-a, to bi trebao biti položaj servosa 90 stupnjeva. Ovaj zadani položaj od 90 stepeni koristi se sa svim servo pogonima.

Unutrašnji poklopci servo pogona 2 i 5 paralelni su međusobno, to vrijedi za servo pogone 1 i 6, te 3 i 4. Svi femur i koaksijalni servo pogoni fiksirani su zajedno na 90 stupnjeva jedan u drugom u fazi izgradnje. Svi servo pogoni femura imaju krak femura pričvršćen na njih pod uglom od 90 stepeni. Svi servo upravljači za Tibiju su pričvršćeni za Tibiju pod uglom od 90 stepeni. 2, 4 i 6 servo pogona za tibiju pričvršćeni su na kraku femura na 105 stepeni, dok su servo za tibije 1, 3 i 5 pričvršćeni za krak femura na 75 stepeni.

Važno je napomenuti da tokom testiranja treba provjeriti temperaturu svih servo pogona, jer vrući servo znači da servo radi prejako i mogao bi otkazati, većina servo servera će biti topla na dodir.

Početna kalibracija je premještanje Hexapoda iz njegovog stanja mirovanja, nakon uključivanja, u stojeći položaj koji je i stabilan, stabilan, u ravnini i što je najvažnije nijedan od servo pogona se ne zagrijava. Da bi se održao stabilan položaj, potrebno je pisati u svaki servo sa zakašnjenjem manjim od 20 milisekundi, korišteno je 10 milisekundi. Svi servomotori se mogu pomicati samo od 0 do 180 stupnjeva i od 180 stupnjeva natrag na 0, tako da su za sve servo upravljače femura 0 i 180 stupnjeva okomiti, a 90 stupnjeva vodoravni.

Prije priključivanja svakog servo -a, inicijalizacijski zapis je poslan svakom od prethodno definiranih servo -a dajući mu trenutni kut mirovanja, tj. trenutni položaj u kojem se nalazi servo tokom odmora. Ovo je bilo 90 stepeni za sve koaksijalne servomotore, 55 stepeni za femozne i tibijske servomotore 1, 3 i 5, a 125 stepeni za femozne i tibijske servose 2, 4 i 6.

Važno je napomenuti da se baterije uvijek trebaju potpuno napuniti na početku kalibracijske sesije.

Heksapod uvijek počinje iz mirovanja, cijelo tijelo je poduprto sa četiri stope. S ove pozicije se svi servo pogoni femura i tibije premještaju iz početnih položaja u njihov stojeći položaj, pri čemu su svi servo pogoni pod 90 stupnjeva. Da bi se dovršio stojeći položaj, izdaje se naredba „stoji“. Ova naredba zahtijeva da se sve noge podignu i ponovo spuste u dva seta od tri pokreta nogama, noge 1, 5 i 4, te 2, 6 i 3.

Korak 8: SOFTVER

Softver se sastoji od tri dijela, prvi dio je Arduino kôd koji radi na Arduino Mega, drugi dio je Arduino kôd koji se izvodi na NodeMcu modulu u glavi. Komunikacija se vrši putem Bluetooth BT12 jedinice koja prima naredbe sa Android tableta, naime Samsung Tab 2, koji pokreće prilagođenu aplikaciju napravljenu u Android Studiju. Ova aplikacija šalje naredbe Hexapodu. Ista aplikacija također prima video feed uživo iz NodeMcu modula putem ugrađenog WIFI -ja.

ANDROID KOD

Android kod po mjeri, razvijen pomoću Android Studija, pruža platformu na kojoj se pokreće aplikacija na dva ekrana. Aplikacija ima dva ekrana, a glavni ekran omogućava korisniku da izdaje naredbe Hexapodu i pregledava video feed koji dolazi s glave heksapoda. Drugi ekran, kojem se pristupa putem WIFI gumba, omogućava korisniku da se prvo poveže sa heksapod Bluetooth -om, a zatim sa WIFI žarišnom tačkom koju generira NodeMCU Arduino kartica u glavi heksapoda. Aplikacija šalje naredbe od jednog slova, putem serijskog protoka od 9600 Baud, sa tableta putem ugrađenog Bluetooth -a na Bluetooth BT12 priključen na heksapod.

ARDUINO KOD

Razvoj koda započeo je razvojem testnog programa koji je dizajniran za testiranje osnovnih funkcija Hexapoda, njegove glave i tijela. Budući da su glava i njen rad potpuno odvojeni od tijela, razvoj softvera testiran je paralelno sa kodom funkcije tijela. Kôd operacije glave uglavnom se temeljio na prethodnom razvoju s uključivanjem servo pokreta. Kôd je uključivao rad 16x2 LCD ekrana, HC-SR04 ultrazvučnog modula i 16 LED svjetlosnog prstena. Daljnji razvoj koda bio je potreban kako bi se WIFI -ju omogućio pristup video feedu uživo s glave.

Kôd funkcije karoserije je u početku razvijen kako bi omogućio početno servo pričvršćivanje i početni položaj u mirovanju. S ovog položaja Hexapod je programiran da jednostavno stoji. Razvoj je zatim nastavljen dodatnim pokretima Hexapoda i kombiniranjem odjeljaka koda glave i tijela sa serijskom komunikacijom s Android aplikacijom.

Servo kôd za testiranje omogućio je razvoj pokreta nogu i tijela, i to:

1. InitLeg - Omogućava mirovanje nogu, stojeći položaj nogu, početni položaj nogu rakova za hodanje lijevo ili desno, početni položaj nogu za hodanje naprijed ili nazad.

2. Wave - Omogućava prednjim nogama da mašu četiri puta prije nego što se vrate u stojeći položaj.

3. TurnLeg- Omogućuje heksapodu skretanje lijevo ili desno.

4. MoveLeg- Omogućava šestonošcu da hoda naprijed ili nazad.

5. CrouchLeg- Omogućava Hexapodu da čuči napred prema dole na prednje noge ili nazad na zadnje noge.

Kretanje nogu temelji se na parovima nogu koji rade zajedno, pa noge 1 i 2, 3 i 4, 5 i 6 rade u paru. Kretanje se sastoji od dvije osnovne radnje, dometa i povlačenja prema naprijed, te guranja prema natrag. Da bi se hodalo unatrag ova dva pokreta su obrnuta, pa na primjer hodanje naprijed, noge 1 i 2 vuku, dok noge 5 i 6 guraju, noge 3 i 4 pružaju stabilnost. Hodanje rakovima jednostavno su iste radnje, ali postavljene na 90 stupnjeva prema tijelu, u ovom slučaju se noge 3 i 4 također kreću na isti način kao i ostale noge. Parovi nogu se hodaju naizmjenično, međutim dok noge za hodanje rakova 1 i 5 rade kao par, dok noga 3 radi naizmjeničnim koracima do nogu 1 i 5.

Opis kretanja slijedi za svaku od glavnih funkcija kretanja od kojih se svaka sastoji od elemenata kretanja koji su spojeni zajedno i djeluju u zadanom slijedu.

ODMOR: Polazeći iz stojećeg položaja, svi servo pogoni femura kreću se prema gore kako bi spustili tijelo na četiri nosača. U isto vrijeme svi servo upravljači Tibia pomiču se prema unutra.

STOJANJE: Počevši od položaja mirovanja, svi servo upravljači Tibia se pomiču prema van, kada se ovo završi, svi servo pogoni femura prelaze u položaj od 90 stepeni, na kraju se svi servo upravljači Tibije pomiču u položaj od 90 stupnjeva u isto vrijeme.

Okretanje ulijevo: Noge 1, 3 i 5 se odmiču unatrag od glave za 45 stepeni, u isto vrijeme noge 2, 4 i 6 se pomiču prema naprijed prema glavi. Nakon što se završe, svi koaksijalni servomotori pomaknu se sa svog trenutnog položaja na standardni položaj od 90 stepeni, ovo bi kretanje bilo u smjeru suprotnom od kazaljke na satu prema tijelu.

Okretanje udesno: Noge 1, 3 i 5 se pomiču prema naprijed prema glavi za 45 stepeni, u isto vrijeme noge 2, 4 i 6 se pomiču unatrag od glave. Nakon što se završe, svi koaksijalni servomotori pomaknu se sa svog trenutnog položaja natrag u standardni položaj od 90 stepeni, ovo bi kretanje bilo u smjeru kazaljke na satu prema tijelu.

SPUŠTITE NAPRIJED: Noge 1 i 2 spustite pomoću servo upravljača za bedrene i tibije, dok se noge 5 i 6 podižu pomoću servo upravljača za bedrene i tibije, noge 3 i 4 ostaju u standardnom položaju.

SKUČITE NAZAD: Noge 1 i 2 se podižu pomoću servo upravljača za femur i tibiju, dok se noge 5 i 6 spuštaju pomoću servo servera za femur i tibia, noge 3 i 4 ostaju u standardnom položaju.

TALANJE: Ova rutina koristi samo noge 1 i 2. Coax servo motori se kreću u luku od 50 stepeni, dok se butna i tibija takođe kreću u luku od 50 stepeni. Noge 3 i 4 pomiču se prema naprijed prema glavi za 20 stupnjeva, što pruža stabilniju platformu.

NAPRED HODANJE: Noge 1 i 6, 2 i 5 i 3 i 4 moraju raditi zajedno. Dakle, dok noga 1 vuče tijelo, noga 6 mora gurati tijelo, čim se ova radnja završi, noge 2 i 5 moraju izvesti istu radnju, dok se svaki od ovih ciklusa djelovanja događa, noge 3 i 4 moraju izvesti svoje rutina naprijed.

Inicijalne funkcije modula testnih nogu omogućile su dizajn za svako od tri kretanja nogu. Potrebna su tri pokreta nogama jer suprotne noge jednostavno izvode obrnute pokrete. Razvijen je, testiran i kopiran novi kombinirani modul nogu 1, 3 i 6 za drugi obrnuti modul nogu 2, 4 i 5 nogu. Testiranje pokreta nogu šesteronožca postignuto je postavljanjem šesteronožca na podignuti blok tako da se nogama omogućuje potpuno kretanje bez dodirivanja tla. Mjerenja su vršena dok su se noge kretale i otkriveno je da se sve noge kreću vodoravno na udaljenosti od 80 mm, dok su istovremeno ostale 10 mm od tla na najnižoj točki tijekom kretanja. To znači da će se Hexapod jednostavno ljuljati s jedne na drugu stranu tokom kretanja i da će sve noge imati jednaku vučnu silu tokom kretanja.

Obrnuto hodanje:

RAKOVI KOJI HODAJU LIJEVO: Početno kretanje počinje sa nogama 1, 2, 5 i 6 koje se sve okreću za 45 stepeni prema smjeru vožnje. Ovo postavlja sve noge u skladu sa smjerom kretanja, noge 3 i 4 su već u ispravnoj orijentaciji. Femur i Tibia svake noge počinju u zadanom položaju od 90 stepeni. Ovaj hod se sastoji od dva seta od tri noge koje rade naizmjeničnim koracima, nogu 1, 5 i 4 i nogu 3, 2 i 6. Svaki niz od tri noge radi povlačenjem s prednjim nogama, tj. 1 i 5 i pritiskom na noga 4, ovaj pokret se zatim obrće pa se noga 3 povlači dok se noge 2 i 6 guraju, niti jedan od koaksijalnih servomotora ne radi ništa tokom ovog pokreta. Svaki set od tri noge podiže nepomični drugi set nogu dok se prvi set pomiče.

RAKOVI HODAJU DESNO:

NAPOMENA: Glava će se okrenuti u smjeru hoda rakova lijevo ili desno. To omogućava upotrebu ultrazvučne detekcije HC-SR04 tokom hodanja.

POSTAVLJANJE NOGA: Da bi Hexapod stajao ravno potrebno je da sve noge stoje s istom visinom. Postavljanjem Hexapoda na blokove, a zatim korištenjem stalka i rutine za odmaranje bilo je moguće izmjeriti udaljenost od tla svakog krajnjeg efektora. Dodao sam gumene čizme svakom krajnjem efektoru kako bih prvo dodao prianjanje, ali i omogućio malu prilagodbu dužine nogu, s ciljem da 5 mm ili manje bude između svih nogu. Postavljanje svakog servoa na 90 stupnjeva bilo je jednostavno, međutim, pričvršćivanje svakog servo truba na oba kraja bedrene kosti moglo je izazvati probleme jer vrlo male razlike u kutovima rotacije unutarnjih bodlji uzrokuju razliku visina nogu za 20 mm. Promjenom vijaka na različite rupe za pričvršćivanje u servo trupcima korigovana je ova razlika u visini od 20 mm. Bio sam odlučan u namjeri da ovaj problem riješim ovom metodom, a ne da moram kompenzirati ove razlike u visini pomoću softvera.

Preporučuje se: