Sadržaj:

Šesteronožac Arduino Jasper: 8 koraka (sa slikama)
Šesteronožac Arduino Jasper: 8 koraka (sa slikama)

Video: Šesteronožac Arduino Jasper: 8 koraka (sa slikama)

Video: Šesteronožac Arduino Jasper: 8 koraka (sa slikama)
Video: SKR 1.3 - TMC2130 SPI v3.0 2024, Studeni
Anonim
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac
Jasper, Arduino šesteronožac

Datum projekta: studeni 2018

PREGLED (JASPER)

Šesterokraki, tri servo po nozi, 18 servo sustav 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. Sustav se napaja 2 x 18650, 3400mAh i 2 x 2400mA baterijskim setovima, svaki držeći čičak ispod tijela šesteronožca. Prekidač za napajanje i za servo i za upravljački sustav je osiguran, kao i zelena LED lampica za uključivanje napajanja na glavi šesteronožca. Naredbe se ponavljaju na 16x2 LCD zaslonu. Video feed, svjetlosni prsten i izbjegavanje ultrazvučnih prepreka nalaze se u glavi.

NAPOMENA: Radi razuma, toplo preporučujem korištenje 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 senzorski štit 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 2800mAh baterije s pričvršćivanjem na čičak

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 s objektivom 2 megapiksela OV2640

14. 1 x Pixie Neon 16 LCD svjetlosni prsten

15. 1 x 16x2 linijski LCD zaslon s priključenim IIC adapterom.

16. 1 x 5v utikač za napajanje za Arduino Mega

17. 1 x 5v mikro USB utikač 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 muški kabeli za spajanje, lemljenje, m3 vijci i vijci te vruće ljepilo

Kretanje nogu korištenjem prilagođene logike. Kretanje kamere pomoću dva neovisna servo upravljača koji se kreću gore, dolje, lijevo, desno i centrirano. Kamera upravlja WIFI vezom, prikazuje se u prikazu WebView u aplikaciji Android.

Korak 2: SERVOS

SERVOSI
SERVOSI
SERVOSI
SERVOSI
SERVOSI
SERVOSI

Svaki ima maksimalno 180 stupnjeva do

kretanje minimalno 0 stupnjeva.

Svaki servo identificiran s 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. Numeriranje bi bilo 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

Noga 2: 200, 210, 211 noga2-noga1

Noga 3: 300, 310, 311 noga4-noga3

Noga 4: 400, 410, 411 noga6-noga5

Noga 5: 500, 510, 511 Leđa

Noga 6: 600, 610, 611

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

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

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

Vrat 1: 700 Ograničeno na 75 do 105 stupnjeva za kretanje gore -dolje

Vrat 2: 800 Ograničeno na 45 do 135 stupnjeva 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 smanjiti opterećenje baterija.

Korak 3: ZAPOVIJEDI

ZAPOVIJEDI
ZAPOVIJEDI
ZAPOVIJEDI
ZAPOVIJEDI
ZAPOVIJEDI
ZAPOVIJEDI

A = Stop - Stanite u zadani položaj.

B = naprijed - hodaj_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 maksimalno, 3 i 4 noge u neutralnom položaju, noge 5 i 6 u minimalnom položaju)

I = Prednji zgib (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 - u sredini (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 maksimalni položaj, vrat 2 servo srednji položaj)

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

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

P = Uspravan - Hexapod stoji do zadanog položaja.

Q = Svjetla ugašena

R = Zeleno svjetlo na neonskom svjetlosnom prstenu Pixie.

S = Crveno svjetlo na prstenu od neonskog svjetla Pixie.

T = Plavo svjetlo na neonskom svjetlosnom prstenu Pixie.

U = Bijelo svjetlo na neonskom svjetlosnom prstenu Pixie.

V = Prednje noge mašu.

W = Zvučna sirena.

X = Pomaknite glavu slijeva nadesno.

Y = Reproduciraj melodiju.

Korak 4: KRETANJE

POKRET
POKRET
POKRET
POKRET
POKRET
POKRET

Coax servo položaj uzdužan je prema osi tijela pa je ravno ispred 0 stupnjeva, a izravno iza 180 stupnjeva. Međutim, ovaj Coax i svi drugi servomotori bili bi ograničeni na 45 do 135 stupnjeva.

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

Naprijed i natrag

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 više naprijed, zatim noge 3 i 4, i na kraju 5 i 6 nogu ponavljaju istu radnju. Zatim se svih šest Coax servo pogona 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, a 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. To se ponavlja za parove nogu 3 i 4, te 5 i 6 nogu. U to vrijeme servo pogoni Coax pomiču svoj izvorni položaj natrag u svoj novi položaj, izvrćući tako tijelo u smjeru kretanja, tj. pravo. Taj se proces 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 stupnjeva, dok se noga 2 pomiče unatrag u položaj od 135 stupnjeva.

Ustani i odmori 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 stupnjeva, dok se za odmor ti isti servomoti femura pomiču na najniži nivo položaj, 175 ili 5 stupnjeva. 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 stupnjeva za odmor.

Čučnite naprijed i čučite unatrag

Ovdje su opet 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 s 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 svom 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 s poklopcem koji se može ukloniti. Kutija/glava imat će 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 servo tijelo, 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 s objektivom OV2640 od 2 megapiksela. Ovakav raspored omogućit će robotu otkrivanje prepreka i strujanje videozapisa 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. Prvi paket sastojao se od 2 x 18650 3400mAh baterija koje napajaju 7,4V. Drugo pakiranje sastojalo se od 2 x 6V baterija od 2800mAh povezanih paralelno, dajući tako napajanje od 6,4 V, ali povećanog kapaciteta od 5600 mAh, pričvršćeno 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 se ruka sastoji od zgloba tijela nazvanog Coax s pokretom od 45 do 135 stupnjeva, bedrenog zgloba zvanog Femur, s pokretom od 45 do 135 stupnjeva, i na kraju zgloba lakta koji se naziva Tibia, ili krajnji efektor, s pokretom od 45 do 135 stupnjeva. Softver po mjeri napisan je za kretanje nogu.

Vrste kretanja nogu:

Za Coax, 45 stupnjeva je okrenuto unatrag od glave, 90 stupnjeva je neutralno, a 135 stupnjeva je okrenuto prema naprijed.

Za bedrenu kost, 45 stupnjeva je najviši položaj od tla, 90 stupnjeva je neutralni položaj, a 135 stupnjeva najniži položaj od tla.

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

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

Naprijed: Noge 1 i 2, Femur se podiže do 135 stupnjeva, Coax se pomiče do 45 stupnjeva, Tibija se pomiče do 45 stupnjeva najudaljenije od tijela, Femur se spušta do 45 stupnjeva. To 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 stupnjeva š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 u smjeru prema naprijed. Kretanje naprijed i natrag u skladu je sa standardnim kretanjem naprijed i natrag. Kretanje navoja slično je gore navedenom, ali u obrnutom smjeru.

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

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

Stanite straga, čučite sprijeda: 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.

Rakovi 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 se Tibije 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 se Tibije vraćaju u neutralni položaj. Konačno, noge 3 i 4 ponavljaju isti postupak.

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

Kretanje desnom glavom: vrat 1 servo 135 stupnjeva

Pokret prema gore: vrat 2 servo 45 stupnjeva

Pokret prema dolje: vrat 2 servo 135 stupnjeva

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

SERVOSI

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

Važno je temeljito testirati svaki servo pomoću odgovarajućeg programa ispitivanja. Izmijenio sam jednostavni primjer programa "sweep" tako da posebno testiram 0, 90 i 180 pozicija, ova rutina testiranja se izvodila najmanje 5 minuta za svaki servo, a zatim se ponovila 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 pogrešno ponašanje s DS3218 servo -ovima, povećavajući ovaj napon na 5,05 V, izliječio je ovaj problem. Pa sam odlučio 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

IZGRADNJA
IZGRADNJA
IZGRADNJA
IZGRADNJA
IZGRADNJA
IZGRADNJA

NOGE

Počelo je s polaganjem dijelova kompleta Hexapod. Svi servo kružni rogovi zahtijevali su povećanje rupe za matiranje na oba kraja bedrene kosti i svih rupa za navoj. Svaki servo trub bio je pričvršćen na odgovarajući koaksijalni i femur s četiri vijka i petim vijkom kroz središte servo glave. Sva su servo tijela 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 okrenuta za 90 stupnjeva. Glava servo upravljača bedrene kosti bila je pričvršćena na jedan kraj kraka femura, a drugi kraj femura pričvršćen na servo glavu tibije. Šest servo upravljača Tibia pričvršćeno je na vrh šest nogu s četiri vijka i matice. Svaki efekt kraka nogu bio je prekriven mekom gumenom čizmom radi dodatnog prianjanja. Utvrđeno je da je isporučeni servo trub prevelik za pričvršćivanje u priključke navoja, femura i tibije pa su sve središnje rupe povećane na 9 mm. Zahvaljujem “Toglefritzu” na njegovim Capers II uputama u vezi s elementima konstrukcije Hexapod kompleta. Ipak sam odstupio od izgradnje na jednom području, naime 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 dajući time servo trupu dodatnu snagu jer je bio bliže servo -u, a ta dva zgloba doživjela su najveći zakretni moment. Svaki servo trup pričvršćen je na bedrenu kostur pomoću dva samorezna vijka M2.2, pri čemu su im krajevi uklonjeni i položeni. Svi vijci M3 pričvršćeni su čvrsto.

TIJELO

Tijelo se sastoji od dvije ploče sa po šest rupa, od kojih se svaka 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 stalka 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 gornjoj ploči. Na gornjoj ploči bila je pričvršćena kutija 120 mm x 70 mm x 30 mm, u koju će se smjestiti prvi od servo vrata i LCD zaslon. Drugi držač baterije, 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 truba, 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 zaslon. Osim toga, instaliran je i prvi servo servo, napajanje i drugi servo podatkovni kabel s grlom prolaze kroz rupu za napajanje drugog servo i Arduino V3 NodeMcu modula. Daljnji podatkovni kabel prolazi kroz gornji okvir i napaja ultrazvučni modul HC-SR04, koji se opet nalazi u glavi. Drugi podatkovni i napojni kabel također je 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 podatkovnih kabela 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 4 x M3 stalke pričvršćene na donju ploču. Kao dio procesa pričvršćivanja gornje donje ploče, svih šest Coax servo servo motora također mora biti postavljeno u pravilan položaj tako da ležaj leži u rupi donje ploče, a servo glava u rog gornje ploče. Nakon postavljanja, vrhovi šest koaksijalnih servo servo učvršćeni su s 6 vijaka M3. Zbog položaja servo sirena za šest Coax servo servera, 4 x M3 stative je potrebno smanjiti po visini za 2 mm, tako da su Coax servo ležajevi pravilno sjeli na donju ploču.

GLAVA

Glava se sastoji od dva servo upravljača međusobno 90 stupnjeva, jedan je smješten u kutiji pričvršćenoj na gornju ploču, a drugi pričvršćen na prvu putem servo trube pomoću presjeka od mesinga 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 70 mm x 70 mm x 50 mm s dva vijka i matice. Kutija čini glavu, unutar koje je ugrađena Ardcam kamera, HC-SR04 ultrazvučni modul i Arduino V3 NodeMcu modul te LED za napajanje. I ultrazvučni modul odašilje i prima senzorske glave vire kroz prednju stranu kutije, kao i objektiv kamere. Oko leće s 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 podatkovni kabeli za prijenos podataka ulaze kroz rupu između stražnje ploče i ploče glave.

ELEKTRONIKA

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

KALIBRACIJA NOGA

Ovo je jedno od najtežih područja pripreme prije rada na kretanju šesteronošca. Početna ideja je postaviti sve noge na sljedeće, Coax servos za 90 stupnjeva, servo za femur na 90 stupnjeva i servo za tibiju na 90 s fizičkim položajem nogu na 105 stupnjeva za noge 2, 4 i 6 i 75 stupnjeva za noge 1, 3 i 5. Hexapod je postavljen na ravnu površinu oslonjenu na četiri nosača ispod kućišta baterije. To su noge koje su 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 izgradnje 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 stupnjeva koristi se sa svim servo pogonima.

Unutarnja lica koaksijalnih servosa 2 i 5 međusobno su paralelna, to vrijedi za servomote 1 i 6, te 3 i 4. Svi femur i koaksijalni servo pogoni međusobno su pričvršćeni na 90 stupnjeva jedan u drugom tijekom faze izgradnje. Svi servo upravljači femura imaju ručicu bedrene kosti pričvršćenu na njih pod kutom od 90 stupnjeva. Svi servo upravljači Tibia pričvršćeni su na Tibiju pod kutom od 90 stupnjeva. 2, 4 i 6 servo pogona za tibiju pričvršćeni su na krak femura pod 105 stupnjeva, dok su serbia serbia 1, 3 i 5 pričvršćeni za krak femura na 75 stupnjeva.

Važno je napomenuti da tijekom testiranja treba provjeriti temperaturu svih servo pogona, jer vrući servo znači da servo radi prejako i da može zakazati, većina servo servera bit će 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. Kako bi se zadrž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 pogone femura 0 i 180 stupnjeva okomiti, a 90 stupnjeva vodoravni.

Prije priključivanja svakog servo servera, inicijalizacijski zapis je poslan svakom od prethodno definiranih servomotora dajući mu trenutni kut mirovanja, tj. trenutni položaj u kojem se nalazi servo tijekom odmora. To je bilo 90 stupnjeva za sve koaksijalne servo pogone, 55 stupnjeva za servo pogone femura i tibije 1, 3 i 5, te 125 stupnjeva za servo 2, 4 i 6 femura i tibije.

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 ovog položaja, svi servo upravljači femura i tibije prelaze iz početnog položaja u njihov stojeći položaj, pri čemu su svi servo pogoni pod 90 stupnjeva. Za dovršetak stojećeg položaja 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 modulu NodeMcu u glavi. Komunikacija se odvija putem Bluetooth BT12 jedinice koja prima naredbe s Android tableta, naime Samsung Tab 2, koji pokreće prilagođenu aplikaciju izgrađenu 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 zaslona. Aplikacija ima dva zaslona, a glavni zaslon omogućuje korisniku da daje naredbe Hexapodu i pregledava video feed koji dolazi s glave šesteronožca. Drugi zaslon, kojem se pristupa putem gumba WIFI, omogućuje korisniku da se prvo poveže s heksapod Bluetooth -om, a zatim sa WIFI žarišnom točkom koju generira NodeMCU Arduino kartica u glavi šesteronožca. Aplikacija šalje naredbe s jednim slovom, putem serijskog protoka od 9600 Baud, s tableta putem ugrađenog Bluetootha na Bluetooth BT12 priključen na heksapod.

ARDUINO KOD

Razvoj koda započeo je razvojem testnog programa koji je osmišljen za testiranje osnovnih funkcija Hexapoda, njegove glave i tijela. Budući da su glava i njezin rad potpuno odvojeni od tijela, razvoj softvera testiran je paralelno s 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 zaslona, HC-SR04 ultrazvučnog modula i 16 LED svjetlosnog prstena. Potreban je daljnji razvoj koda kako bi se WIFI -u omogućio pristup video feedu uživo s glave.

Kôd funkcije karoserije je u početku razvijen kako bi osigurao 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 ispitivanje omogućio je razvoj pokreta nogu i tijela, i to:

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

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

3. TurnLeg- Omogućuje heksapodu skretanje ulijevo ili udesno.

4. MoveLeg- Omogućuje šestonošcu hodanje naprijed ili natrag.

5. CrouchLeg- Omogućuje šesteronožcu da sagne naprijed na prednje noge ili natrag na stražnje noge.

Kretanje nogu temelji se na parovima nogu koji rade zajedno, pa noge 1 i 2, 3 i 4, 5 i 6 rade kao parovi. Kretanje se sastoji od dvije osnovne radnje, dometa i povlačenja prema naprijed, te guranja prema natrag. Kako bi hodali unatrag ta su dva pokreta 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 u odnosu na tijelo, 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 i djeluju u zadanom slijedu.

ODMOR: Počevši od stojećeg položaja, svi servo pogoni femura pomiču se prema gore kako bi tijelo spustili 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 pomiču se prema van, kada se to završi, svi servo pogoni femura prelaze u položaj od 90 stupnjeva, 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 odmiču se unatrag od glave za 45 stupnjeva, istovremeno se noge 2, 4 i 6 pomiču prema naprijed prema glavi. Nakon što se završe, svi koaksijalni servomotori pomaknu se iz trenutnog položaja natrag u standardni položaj od 90 stupnjeva, ovo bi kretanje bilo u smjeru suprotnom od kazaljke na satu prema tijelu.

Okretanje udesno: Noge 1, 3 i 5 pomiču se prema naprijed prema glavi za 45 stupnjeva, u isto vrijeme noge 2, 4 i 6 se odmič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 stupnjeva, to bi kretanje bilo u smjeru kazaljke na satu prema tijelu.

NAGLASITE NAPRIJED: Noge 1 i 2 spustite pomoću servo upravljača za femuru i tibiju, 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.

SUGNUTI 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 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 kreću se u luku od 50 stupnjeva, dok se femur i tibija također kreću u luku od 50 stupnjeva. Noge 3 i 4 pomiču se prema naprijed prema glavi za 20 stupnjeva, što pruža stabilniju platformu.

HODANJE NAPRIJED: 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 ta radnja dovrš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 testne noge dopuštale su dizajn za svako od tri kretanja nogu. Potrebna su tri pokreta nogama jer suprotne noge jednostavno izvode obrnute pokrete. Novi kombinirani modul nogu 1, 3 i 6 razvijen je, testiran i kopiran za drugi obrnuti modul nogu 2, 4 i 5 nogu. Testiranje kretanja 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 utvrđeno 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 tijekom kretanja i da će sve noge imati jednaku vučnu silu tijekom kretanja.

Obrnuto hodanje:

RAKOVI KOJI HODAJU LIJEVO: Početno kretanje počinje s nogama 1, 2, 5 i 6 koje se sve okreću za 45 stupnjeva prema smjeru vožnje. Time su 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 stupnjeva. 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 guranjem noga 4, ovaj se pokret tada obrće pa se noga 3 povuče, dok se noge 2 i 6 guraju, niti jedan od koaksijalnih servomotora ne radi tijekom tog pokreta. Svaki set od tri noge podiže nepomični drugi skup nogu dok se prvi skup pomiče.

RAKOVI HODAJU DESNO:

NAPOMENA: Glava će se okrenuti u smjeru hoda rakova lijevo ili desno. To omogućuje korištenje ultrazvučne detekcije HC-SR04 tijekom hodanja.

POSTAVLJANJE NOGA: Da bi Hexapod mogao stajati ravno, potrebno je da sve noge stoje s istom visinom. Postavljanjem Hexapoda na blokove, a zatim pomoću rutina postolja i odmora bilo je moguće izmjeriti udaljenost od tla svakog krajnjeg efektora. Dodao sam gumene čizme na svaki krajnji efektor kako bih prvo dodao prianjanje, ali i omogućio malu prilagodbu duljine nogu, s ciljem od 5 mm ili manje između svih nogu. Postavljanje svakog servoa na 90 stupnjeva bilo je jednostavno, no pričvršćivanje svakog servo truba na oba kraja bedrene kosti može i jest uzrokovati 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 korigirana je razlika u visini od 20 mm. Odlučio sam riješiti ovaj problem ovom metodom, a ne morati kompenzirati ove visinske razlike pomoću softvera.

Preporučeni: