Sisukord:

Jasper Arduino kuusnurk: 8 sammu (piltidega)
Jasper Arduino kuusnurk: 8 sammu (piltidega)

Video: Jasper Arduino kuusnurk: 8 sammu (piltidega)

Video: Jasper Arduino kuusnurk: 8 sammu (piltidega)
Video: Java: как исправить ошибку: java.lang.UnsupportedClassVersionError 2024, Juuli
Anonim
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk
Jasper Arduino kuusnurk

Projekti kuupäev: november 2018

ÜLEVAADE (JASPER)

Kuus jalg, kolm servot jala kohta, 18 servoliigutussüsteemi, mida juhib Arduino Mega. Servod on ühendatud Arduino Mega andurikilbi V2 kaudu. Suhtlus Hexapodiga Bluetooth BT12 mooduli kaudu, rääkides eritellimusel Androidi rakendusega. Süsteemi toiteallikaks on 2 x 18650, 3400mAh ja 2 x 2400mA patareikomplekti, millest igaüks on Velcroga kinnitatud kuuskantkorpuse korpuse alla. Komplektis on nii servo- kui ka juhtimissüsteemi toitelüliti, samuti roheline LED -toite sisselülitamise märgutuli heksapoodi peas. 16x2 LCD -ekraanile korratakse käske. Videovoog, valgusrõngas ja ultraheli takistuste vältimine asuvad peas.

MÄRKUS. Mõistlikkuse huvides soovitan soojalt kasutada kvaliteetseid servosid, alustasin MG995 servodega, neist 20, millest 11 kas põles läbi, kaotas tsentreerimisvõime või lakkas lihtsalt töötamast.

www.youtube.com/embed/ejzGMVskKec

1. samm: SEADMED

SEADMED
SEADMED
SEADMED
SEADMED
SEADMED
SEADMED
SEADMED
SEADMED

1. 20 x DS3218 servod

2. 1x Hexapodi aluskomplekt

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensor kilp v2

5. 1 x 2 lahtriga 18650 akuhoidik

6. 2 x kahepooluselist toitelülitit

7. Roheline led tuli ja 220kohm takisti

8. 2 x 6v 2800mAh akusid koos takjakinnitusega

9. 2 x 18650 x 3400mAh akut

10. 1x HC-SR04 sonarimoodul

11. 1x BT12 Bluetooth moodul

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

13. 1 x Arducami minimooduliga kaamera kilp koos OV2640 2 -megapikslise objektiiviga

14. 1 x Pixie Neon 16 LCD valgusrõngas

15. 1 x 16x2 rea LCD -ekraan koos lisatud IIC -adapteriga.

16. 1 x 5v toitepistik Arduino Mega jaoks

17. 1 x 5v mikro -USB pistik NodeMcu mooduli jaoks.

18. 1 x DC to DC Buck muunduri moodul

19. 1 x 70 mm x 120 mm x 39 mm ruudukujuline must plastkarp (korpus)

20. 1 x 70mm x 50mm x 70mm must plastkarp (pea)

21. 4 x 40 mm M3 messingist tugipostid pluss 4 kummituge

22. Erinevad isased ja isased hüppajakaablid, joodis, m3 kruvid ja poldid ning kuumliim

Jalgade liigutamine kohandatud loogika abil. Kaamera liikumine kahe sõltumatu servo kaudu, loobudes, alla, vasakule, paremale ja tsentreeritud liikumist. Kaamera, mida juhib WIFI -ühendus, kuvatakse Androidi rakenduse WebView vaates.

2. samm: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Igal neist on maksimaalselt 180 kraadi

liikumine vähemalt 0 kraadi.

Iga servo on tähistatud kolme numbrikombinatsiooniga, LegCFT; kus C on keha (COXA), F on reie (FEMUR) ja T on küünarnukk (TIBIA), nii et 410 viitaks neljandale jalale ja sääreluu servole, sarnaselt 411 neljandale jalale ja sääreluu servole. Nummerdamisjärjestus oleks 100 kuni 611. Igal servojalal peab olema kummist jalg, mis pehmendab lööke ja tagab parema haarde.

Jalg 1: 100, 110, 111 Ees

Jalg 2: 200, 210, 211 jalg2-jalg1

Jalg 3: 300, 310, 311 jalg4-jalg3

Jalg 4: 400, 410, 411 jalg6-jalg5

Jalg 5: 500, 510, 511 Tagasi

Jalg 6: 600, 610, 611

Kõigi Coax Servode vaikeasend on 90 kraadi.

Reieluu servode vaikeasend on 90 kraadi, puhkeasend 45 kraadi.

Kõigi jalgade sääreosa servade vaikeasend on 90 kraadi, jalad 1, 3 ja 5 kasutavad puhkeasendina 175 kraadi ning jalad 2, 4 ja 6 kasutavad 5 kraadi.

Kael 1: 700 Üles ja alla liikumiseks piiratud 75 kuni 105 kraadi

Kael 2: 800 Vasakule ja paremale liikumiseks piiratud 45 kuni 135 kraadi

Servo liikumine piirdub kolme „kirjutamisega” enne 10-millisekundilise viivituse lisamist, enne täiendavate „kirjutamise” käskluste väljastamist. See aitab vähendada patareide koormust.

3. samm: KÄSKUD

KÄSKUD
KÄSKUD
KÄSKUD
KÄSKUD
KÄSKUD
KÄSKUD

A = Stopp - seisa vaikeasendis.

B = edasi - kõndima_ edasi

C = tagurpidi - tagasikäik

D = paremale - pööre paremale

E = vasak - pööre vasakule

F = vasakpoolne liikumine - krabi_vasak

G = parempoolne liikumine - krabi_parem

H = tagumine ripp (jalad 1 ja 2 maksimaalselt, 3 ja 4 jalga neutraalses asendis, jalad 5 ja 6 minimaalses asendis)

I = eesmine rihm (jalad 1 ja 2 minimaalses asendis, 3 ja 4 jalga neutraalasendis, jalad 5 ja 6 maksimaalses asendis)

J = kaamera lõigatud - keskel (kael 1 ja kael 2 keskmises asendis, vaikeasend)

K = kaamera vasak - pan_left (kael 1, keskmine asend, kaela 2 servo minimaalne asend)

L = kaamera paremal - pan_right (kael 1, keskmine asend, kaela 2 servo maksimaalne asend)

M = kaamera üles - pan_up (kaela 1 maksimaalne asend, kaela 2 servo keskmine asend)

N = kaamera maas - pan_down (kael 1 minimaalne asend, kael 2 servo keskel)

O = puhkeasend (kuuskant) istub tugede peal.

P = püsti tõusmine - Hexapod seisab vaikeasendis.

Q = tuled välja

R = roheline tuli Pixie neoonvalgusrõngal.

S = Punane tuli Pixie neoonvalgusrõngal.

T = Sinine tuli Pixie neoonvalgusrõngal.

U = valge tuli Pixie neoonvalgusrõngal.

V = esijalad lehvitavad.

W = helisignaal.

X = pühkige pead vasakult paremale.

Y = Play Tune.

4. samm: LIIKUMINE

LIIKUMINE
LIIKUMINE
LIIKUMINE
LIIKUMINE
LIIKUMINE
LIIKUMINE

Coax servoasend on keha telje suhtes pikisuunaline, nii et otse edasi on 0 kraadi ja otse taga 180 kraadi. Kuid see Coax ja kõik muud servod oleksid piiratud 45 kuni 135 kraadi.

Jalaliigutust ette, taha, vasakule ja paremale alustatakse jala tõstmisega, kasutades reie- ja sääreluu servosid, seejärel keha servoliigutust ja lõpuks sama jala uuesti langetamist, kasutades reie- ja sääreluu servot..

Edasi ja tagasi

Jalgade edasi- või tahapoole liikumiseks tehke paarikaupa 1, 2, 3 ja 4, 5 ja 6. Lihtne ettepoole liigutamine koosneb jalgadest 1 ja 2, mis liiguvad oma praegusest asendist võimalikult kaugele, seejärel jalad 3 ja 4, ja lõpuks kordavad 5 ja 6 jalga sama toimingut. Seejärel liiguvad kõik kuus Coax -servot sellest pikendatud edasi -tagasi asendist tagasi algasendisse. Selle protsessi tagurpidi kasutatakse tagurpidi liikumiseks. Edasiliikumise käigus kontrollib ultraheliüksus HC_SR04, kas ees ootavad takistused, ja kui see leitakse, pöörake Hexapodi juhuslikult vasakule või paremale.

Vasakule ja paremale

Vasaku või parema jalapaaride liigutamiseks toimige koos, kuid vastupidises suunas. Nii liigub näiteks parema jala pööramine 1 praegusest asendist tagasi 135 -kraadisesse asendisse, jalg 2 liigub aga edasi 45 -kraadisesse asendisse. Seda korratakse jalapaaride 3 ja 4 ning 5 ja 6 jala puhul. Sel ajal liigutavad Coax servod oma algset asendit tagasi oma uude asendisse, keerates seda keha liikumissuunda, s.t. õige. Seda protsessi jätkatakse seni, kuni vajalik pööramine vasakule on lõpetatud. Selle protsessi tagurpidi kasutatakse vasakule pööramiseks, nii et jalg 1 liigub oma praegusest asendist edasi 45-kraadisesse asendisse, teine jalg liigub aga tagasi 135-kraadisesse asendisse.

Tõuse püsti ja puhka

Mõlemad protsessid ei kasuta ühegi jala Coax -servot, nii et sääreluu servo püstitamiseks liigub kõigi jalgade jaoks oma praegusest asendist maksimaalse 45 kraadini, samal ajal kui puhata, liiguvad samad reieluu servod madalaimale asend, 175 või 5 kraadi. Sama liigutus kehtib ka sääreluu servode kohta, mis liiguvad seistes maksimaalselt 45 kraadini ja minimaalselt, s.t. 175 või 5 kraadi puhkamiseks.

Kükita ette ja kükita tahapoole

Ka siin on protsessid üksteise peegelpildid. Edasi kükitades on jalad 1 ja 2 kõige madalamal, jalad 5 ja 6 kõige kõrgemal. Mõlemal juhul on jalad 4 ja 5 neutraalses asendis, mis on kooskõlas jalakomplektidega 1 ja 2 ning 5 ja 6. Tagurpidi kükitades on jalad 1 ja 2 kõige kõrgemal, jalad 5 ja 6 aga kõige madalamal.

Samm: PEAKAMERA/SONAR

PEAKAAMER/SONAR
PEAKAAMER/SONAR
PEAKAAMER/SONAR
PEAKAAMER/SONAR
PEAKAAMER/SONAR
PEAKAAMER/SONAR

Pea koosneb neljakandilisest plastikust karbist 38 mm x 38 mm x 38 mm koos eemaldatava kaanega. Kast/pea liigub piiratud vertikaalselt ja horisontaalselt. Liikumine saavutatakse kahe servo abil, millest üks on kinnitatud roboti korpuse külge ja teine on kinnitatud esimese servo kere külge ja käsi on kinnitatud pea külge. Kahe 18650 patareiga varustatud 7.4v toidab Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT arendusplaati DEVKIT, mis on kinnitatud Arducami minimooduli kaamera kilbile, millel on OV2640 2 -megapiksline objektiiv. See paigutus võimaldab robotil avastada takistusi ja edastada otsevideot pardal oleva WiFi kaudu. Sonar, mis kasutab HC-SR04 ja võimalikku valguse juhtimise teavet, voolab tagasi Arduino Megasse.

Tänan Dmainmuni tema artikli Arducam Instructables eest, millest oli palju abi minu esialgsel arusaamisel sellest, kuidas Arducami saaks video voogesituseks kasutada.

Aku

Otsustati kasutada kahte akupaketti, ühte pea komponentide ja Arduino Mega plaadi jaoks ning teist komplekti kõigi servode toiteks. Esimene pakk sisaldas 2 x 18650 3400mAh akut, mis toidavad 7,4 voldist. Teine pakett koosnes 2 x 6V 2800mAh akupakettidest, mis olid ühendatud paralleelselt, andes seega 6,4 V toite, kuid suurema mahutavusega 5600 mAh, mis oli kinnitatud Hexapodi alumisele küljele, kasutades takjaribasid.

6. samm: JALGADE LIIKUMINE

JALGADE LIIKUMINE
JALGADE LIIKUMINE
JALGADE LIIKUMINE
JALGADE LIIKUMINE
JALGADE LIIKUMINE
JALGADE LIIKUMINE

Käed võivad töötada paaris või ükshaaval. Iga käsi koosneb kehaliigesest, mida nimetatakse koaksiaalseks 45–135-kraadise liigutusega, reieliigesest, mida nimetatakse reieluuks, 45–135-kraadise liigutusega, ja lõpuks küünarliigesest, mida nimetatakse sääreluuks ehk otsaefektoriks, liigutusega 45–135 kraadi.. Jalade liikumise tagamiseks kirjutati eritellimusel tarkvara.

Jalgade liikumise tüübid:

Coaxi puhul on 45 kraadi suunatud peast tahapoole, 90 kraadi neutraalsesse asendisse ja 135 kraadi ettepoole.

Reieluu puhul on 45 kraadi kõrgeim asend maapinnast, 90 kraadi on neutraalne asend ja 135 kraadi on madalaim asend maapinnast.

Sääreluu puhul on 45 kraadi kehast kõige kaugemal, 90 kraadi on neutraalne ja 135 kraadi on kehale kõige lähemal.

Oletame, et kõik servod on neutraalasendis, 90 kraadi.

Edasi: jalg 1 ja 2, reieluu tõstmine 135 kraadini, koaksiaal liigub 45 kraadini, sääreluu liigub 45 kraadini kehast kõige kaugemal, reieluu langeb 45 kraadini. Seda korratakse jalapaaride 3 ja 4 ning jalapaaride 5 ja 6. Kõik 6 Coax servot liiguvad 45 kraadist tahapoole 90 kraadini, neutraalne asend, kõik 6 reieluu servot liiguvad 45 kraadist kuni 90 kraadini, neutraalne asend. Lõpuks liiguvad kõik sääreluu servod 45 kraadilt 90 kraadini, neutraalsesse asendisse.

Tagurpidi: alustades jalgadest 5 ja 6, siis 3 ja 4 ning lõpuks jalad 1 ja 2, vastasel juhul on liikumine Coax, reieluu ja sääreluu puhul sama.

Vasakul: jalad 1, 3 ja 5 liiguvad vastupidises suunas, samal ajal kui jalad 2, 4 ja 6 liiguvad edasi. Nii edasi- kui ka tagasikäik vastavad standardsele edasi- ja tagasiliikumisele. Pöörde lõpuleviimiseks kõik kuus Coax servot liigutage 45 kraadi, mis pöörab keha.

Paremal: jalad 2, 4 ja 6 liiguvad vastupidises suunas, samal ajal kui jalad 1, 3 ja 5 liiguvad edasi. Nii edasi- kui ka tagasikäik vastavad standardsele edasi- ja tagasiliikumisele. Koaksiaalne liikumine on sarnane ülaltooduga, kuid vastupidises suunas.

Puhkus: kõik koaksiaal- ja reieluu servod neutraalses asendis, kõik sääreluu servad madalaimas asendis 45 kraadi, kükitades tõhusalt nii esi-, kesk- kui ka tagajalad.

Kükita taga, seista ees: jalad 1 ja 2 kõrgeimas asendis, jalad 3 ja 4 neutraalasendis ning jalad 5 ja 6 madalaimas asendis.

Seiske taga, kükk ees: jalad 1 ja madalaimas asendis, jalad 3 ja 4 neutraalasendis ning jalad 5 ja 6 kõrgeimas asendis.

Krabi vasakule: jalad 1 ja 5 tõstavad ja ulatuvad vasakule välja, samal ajal tõstavad jalad 2 ja 6 keha alla ja tõmbuvad kokku. Kui kõik need neli jalga on maas, naasevad kõik sääreluud oma neutraalsesse asendisse. Lõpuks kordavad jalad 3 ja 4 sama protsessi.

Krabi paremal: jalad 2 ja 6 tõstavad ja ulatuvad paremale välja, samal ajal tõstavad jalad 1 ja 5 keha alla ja tõmbuvad kokku. Kui kõik need neli jalga on maas, naasevad kõik sääreluud oma neutraalsesse asendisse. Lõpuks kordavad jalad 3 ja 4 sama protsessi.

Pea vasak liikumine: kael 1 servo 45 kraadi. Mõlemad servod naasevad 90 neutraalasendisse.

Pea parempoolne liikumine: kael 1 servo 135 kraadi

Pea liigutamine: kael 2 servo 45 kraadi

Pea alla liigutamine: kael 2 servo 135 kraadi

Panni pea liikumine: kael 2 liigub 45-135 kraadi

SERVOS

Pärast esmast katsetamist vahetati servod MG995 ja MG996 välja. Kõik 20 servot asendati DS32228 20 kg servoga, mis pakkus palju paremat tsentreerimist ja suuremat kandevõimet.

Oluline on iga servot põhjalikult testida sobiva testimisprogrammi abil. Muutsin lihtsat "pühkimise" näidisprogrammi, et testida spetsiaalselt 0, 90 ja 180 positsiooni, seda testimisrežiimi tehti iga servo jaoks vähemalt 5 minutit ja seejärel korrati päev hiljem.

MÄRKUS. USB -kaabli toitega tavalise Arduino Uno plaadi kasutamine ei pruugi teatud servode käitamiseks piisavalt pinget pakkuda. Leidsin, et Unolt saadud 4.85v servo põhjustas DS3218 servodega ebaregulaarset käitumist, suurendades seda pinget 5,05v -le, parandas selle probleemi. Niisiis, otsustasin käivitada servod 6v juures. Lõpuks leidsin, et pinge 6,4v on vajalik, kuna 6v põhjustas servode ebaregulaarset käitumist.

7. samm: EHITUS

EHITUS
EHITUS
EHITUS
EHITUS
EHITUS
EHITUS

JALAD

Alustati Hexapodi komplekti osade paigaldamisega. Kõik servo ümmargused sarved nõudsid reieluu mõlemas otsas ja kõikides koaksiaalsetes aukudes suuremat mattimist. Iga servosarv kinnitati vastavate koaksiaal- ja reieluu külge nelja kruvi ja viienda kruviga servopea keskelt. Kõik servo kehad on kinnitatud nelja poldi ja mutriga. Coaxi servokinnituse iga kuue jala jaoks oli kinnituspõhja külge kinnitatud laager ühe poldi ja mutri abil. Iga Coax servo kinnitus kinnitati nelja poldi ja mutri abil reieluu servo kinnitusseadme külge, pöörates seda kinnitust 90 kraadi. Reieluu servo pea kinnitati reieluu käe ühe otsa külge ja teine reieluu ots oli kinnitatud sääreluu servo pea külge. Kuus sääreluu servot kinnitati kuue jala ülaossa nelja poldi ja mutriga. Iga jalaotsa efektor oli kaetud pehme kummist saapaga, et tagada täiendav haarduvus. Leiti, et kaasasolev servosarv oli koaksiaal-, reie- ja sääreluuühenduste kinnitamiseks liiga suur, nii et kõik keskmised avad suurendati 9 mm -ni. Tänan “Toglefritzit” tema Capers II juhendamise eest Hexapodi komplekti konstruktsioonielementide osas. Siiski kaldusin ühe piirkonna ehitamisest kõrvale, nimelt servosarvikute kinnitamisest reieluu mõlemasse otsa. Otsustasin suurendada reieluu keskmist auku, et servosarve keskosa saaks sellest läbi minna, andes servosarvele täiendava tugevuse, kuna see oli servole lähemal ja need kaks liigendit kogesid maksimaalset pöördemomenti. Iga servosarv kinnitati reieluu külge, kasutades kahte M2.2 isekeermestavat kruvi, nende kruvide otsad eemaldati ja viiliti tasaseks. Kõik M3 poldid olid lukustuskindlalt kinnitatud.

KEHA

Kere koosneb kahest plaadist, millest igaühel on kuus auku, millest igaüks on mõeldud Coaxi servosarve kinnitamiseks. Kaks 6V 2800mAh akut kinnitati velcro abil põhjaplaadi alumisele küljele. Kinnitati neli patareipesa põhjast mööda ulatuvat M3 tugipunkti, millest igaühel oli põhjale libistatud pehme kummist saabas, mis tagab stabiilse aluse, millele Hexapod saab toetuda. Alumise plaadi ülemises osas on Arduino Mega ja selle andurikilp, mis on kinnitatud nelja 5 mm aluse abil. Alumise plaadi ülaosale kinnitati 4 x 6 cm kõrgune M3 statiiv, mis ümbritsesid Arduino Megat ja toetasid ülemist plaati. Ülemise plaadi külge oli kinnitatud 120 mm x 70 mm x 30 mm karp, see sisaldab esimest kaela servot ja LCD -ekraani. Teine 2 lahtriga 2 x 18650 akuhoidik kinnitati ülemise plaadi alumisele küljele Arduino Mega plaadi tagaküljele, mis on suunatud Hexapodi esiosa poole.

Ülemisel plaadil on kuus servosarve, millest igaüks on kinnitatud nelja M2.2 kruviga. Plaadi ülaosale on paigaldatud 70 mm x 120 mm x 30 mm karp, millesse on paigaldatud 2 lahtriga 18650 patareihoidik, kahepooluseline lüliti, roheline LED ja IC2 16 x 2 LCD -ekraan. Lisaks on paigaldatud ka esimene kaela servo, toide ja teise kaela servo andmekaabel läbivad auku, et toita teist servot ja Arduino V3 NodeMcu moodulit. Edasine andmekaabel läbib ülemise kasti ja toidab ultraheli moodulit HC-SR04, mis asub jälle peas. Teine andmeside- ja toitekaabel on ka pea ees, et toita pixie led -rõngast.

Kaks servoandmesidekaablit ja HC-SR04 andmekaabel juhitakse läbi ülemise plaadi, samal ajal kui Bluetooth-moodul on neoonvormi ja kuuma liimi abil plaadi alumise külje külge kinnitatud. Ülejäänud 18 servoandmesidekaabli kaablihaldus peab olema paigas enne, kui proovite ülemist plaati alumise plaadi külge kinnitada, kasutades 4 x M3 kruvi, mis sobivad alumise plaadi külge kinnitatud 4 x M3 alusega. Ülemise põhjaplaadi kinnitusprotsessi osana tuleb ka kõik kuus Coax -servot paigutada õigesse asendisse, laagri liitmik põhjaplaadi auku ja servopea liitmik ülemise plaadi sarvesse. Pärast paigaldamist on kuue Coax servo ülemine osa kinnitatud 6 M3 kruviga. Kuue Coax -servo servosarvede asendist tingituna tuli 4 x M3 seiskamiskõrgust vähendada 2 mm võrra, nii et Coaxi servolaagrid istusid põhjaplaadil õigesti.

PEA

Pea koosneb kahest servast, mis on üksteise suhtes 90 kraadi nurga all, millest üks asub ülemise plaadi külge kinnitatud karbis ja teine on servosarve kaudu esimese külge kinnitatud, kasutades U-kujulist messingplaati. Teine servosarv on kinnitatud L -kujulise messingkonsooli külge, mis on kinnitatud kahe poldi ja mutriga 70 mm x 70 mm x 50 mm kasti külge. Karp moodustab pea, mille sisse on paigaldatud Ardcam kaamera, ultraheli moodul HC-SR04 ja Arduino V3 NodeMcu moodul ning toite LED. Mõlemad ultraheli moodulid edastavad ja võtavad vastu anduri pead, mis ulatuvad läbi karbi esiosa, nagu ka kaamera objektiiv. Karbi välisküljel olevat objektiivi ümbritseb 16 LCD Nero pixie rõngas. NodeMcu toite LED -i saab näha pea tagaplaadil oleva ava, toitekaabli, ultrahelimooduli andmekaabli ja pixie Neon andmesidekaablite kaudu tagaplaadi ja peaplaadi vahel.

ELEKTROONIKA

Järgmised Fritzingi diagrammid näitavad keha ja pea elektroonikat. Diagrammi selguse huvides ei ole 20 servo jaoks näidatud VCC ja GRD jooni. Bluetooth -moodul juhib Androidi rakenduse kaudu Hexapodi liikumist, sealhulgas kaela servosid. WIFI -põhine Arduino NodeMcu moodul juhib Arducami kaameramoodulit. Kõik servod on Arduino andurikilbi külge kinnitatud ühe ploki kaudu, mis sisaldab VCC, GRD ja signaaliliine. Bluetooth BT12, HC-SR04 ja IC2 LCD ühendamiseks kasutatakse standardseid 20 cm DuPonti hüppajakaableid.

JALGADE KALIBREERIMINE

See on üks kõige raskemaid ettevalmistusvaldkondi enne Hexapodi liikumist. Esialgne idee on seada kõik jalad järgmisele: Coax servod 90 kraadi, reieluu servad 90 kraadi ja sääreluu servod 90, füüsilise jala asend 105, 2, 4 ja 6 ja 75 kraadi jalgade 1, 3 ja 5. jaoks. Hexapod asetati tasasele pinnale, mis toetus aku korpuse all asuvale neljale toele. Need jalad on paigutatud võrdsetesse kaugustesse iga jala vahel ja võrdsel kaugusel kehast. Kõik need positsioonid olid tasasele pinnale märgitud. Jalade ehitamise käigus leiti iga servo keskpunkt, see peaks olema servo 90-kraadine asend. Seda 90-kraadist vaikeasendit kasutatakse kõigi servodega.

Coax servod 2 ja 5 sisemised küljed on üksteisega paralleelsed, see kehtib servode 1 ja 6 ning 3 ja 4. Kõik reie- ja koaksuservod on ehitusetapis fikseeritud üksteise suhtes 90 kraadi. Kõik reieluu servod on reieluu käe külge kinnitatud 90-kraadise nurga all. Kõik sääreluu servod on kinnitatud sääreluu külge 90 kraadi juures. 2, 4 ja 6 sääreluu servad on reieluu käe külge kinnitatud 105 kraadi juures, samas kui sääreluu servad 1, 3 ja 5 on reieluu külge kinnitatud 75 kraadi juures.

Oluline on märkida, et testimise ajal tuleks kõigi servode temperatuuri jälgida, kuum servo tähendab, et servo töötab liiga kõvasti ja võib ebaõnnestuda, enamik servosid on puudutamisel soe.

Esialgne kalibreerimine on viia Hexapod pärast sisselülitamist puhkeasendist seisvasse asendisse, mis on ühtlane, stabiilne, tasane ja mis kõige tähtsam - ükski servo ei kuumene üle. Püsiva positsiooni säilitamiseks on vaja kirjutada igale servole viivitusega alla 20 millisekundi, kasutati 10 millisekundit. Kõik servod võivad liikuda ainult 0-180 kraadi ja 180 kraadi tagasi 0 -ni, seega on kõigi reieluu servode 0 ja 180 kraadi vertikaalne ja 90 kraadi horisontaalne.

Enne iga servo kinnitamist saadeti igale eelnevalt määratletud servole initsialiseerimiskirjutis, andes sellele praeguse puhke nurga, s.t. servo praegune asend puhkeolekus. See oli kõigi Coax servode puhul 90 kraadi, reie- ja sääreluu servade 1, 3 ja 5 puhul 55 kraadi ning reieluu ja sääreluu servade 2, 4 ja 6 puhul 125 kraadi.

Oluline on märkida, et kalibreerimisseansi alguses peaksid akud olema alati täielikult laetud.

Hexapod algab alati puhkeasendist, kogu keha toetab neli jalga. Sellest asendist liiguvad kõik reie- ja sääreluu servod alguspunktist kuni püstiasendini, kusjuures kõik servod on 90 kraadi. Püstiasendi täitmiseks väljastatakse käsklus „seista“. Selle käsu kohaselt peavad kõik jalad üles tõusma ja uuesti alla laskuma kahes kolmest jalaliigutusest koosnevas jalas 1, 5 ja 4 ning 2, 6 ja 3.

8. samm: TARKVARA

Tarkvara koosneb kolmest osast, esimene osa on Arduino kood, mis töötab Arduino Mega, teine osa on Arduino kood, mis töötab peas oleval NodeMcu moodulil. Suhtlemine toimub Bluetooth BT12 seadme kaudu, mis võtab vastu käske Android -tahvelarvutilt, nimelt Samsung Tab 2 -lt, millel töötab Android Studio ehitatud kohandatud rakendus. See rakendus saadab käsud Hexapodile. Sama rakendus saab ka otsevideo voogu NodeMcu moodulilt sisseehitatud WIFI kaudu.

ANDROIDI KOOD

Eritellimusel valmistatud Android -kood, mis on välja töötatud Android Studio abil, pakub platvormi, millel kahe ekraani rakendus käivitatakse. Rakendusel on kaks ekraani, põhiekraan võimaldab kasutajal anda Hexapodile käske ja vaadata hexapodi peast tulevat videovoogu. Teine ekraan, millele pääseb juurde WIFI -nupu kaudu, võimaldab kasutajal esmalt ühenduda hexapod Bluetoothiga ja teiseks WIFI hot spot'iga, mis on loodud NodeMCU Arduino kaardi poolt hexapodi peas. Rakendus saadab tahvelarvutist sisseehitatud Bluetoothi kaudu ühe tähega käske 9600 Baudi jada kaudu kuuevõrgule ühendatud BT12 Bluetooth -i.

ARDUINO KOOD

Koodide väljatöötamine algas testprogrammi väljatöötamisega, mille eesmärk oli testida Hexapodi põhifunktsioone, see on pea ja keha. Kuna pea ja selle töö on kehast täiesti eraldiseisvad, testiti tarkvaraarendust paralleelselt keha funktsioonikoodiga. Pea töökood põhines suures osas varasemal arendusel, mis sisaldas servoliikumist. Kood hõlmas 16x2 LCD-ekraani, ultraheli mooduli HC-SR04 ja 16 LED-valgusrõnga kasutamist. Edasine koodiarendus oli vajalik, et pakkuda WIFI -le juurdepääsu otseülekandele peast.

Kerefunktsiooni kood töötati algselt välja, et pakkuda esmast servo kinnitust ja esialgset asendit puhkeolekus. Sellest asendist programmeeriti Hexapod lihtsalt seisma. Seejärel jätkus arendamine Hexapodi täiendavate liigutustega ning pea- ja kehakoodi sektsioonide ühendamine jadaühendusega Android -rakendusega.

Test -servokood võimaldas arendada jalgade ja keha liigutusi, nimelt:

1. InitLeg - võimaldab puhata jalgade asendit, seista jalas, krabi esialgset asendit kas vasakul või paremal kõndimisel, esialgset jalaasendit edasi- või tahapoole kõndimisel.

2. Laine - võimaldab esijalgadel neli korda lehvitada, enne kui nad seisvasse asendisse naasevad.

3. TurnLeg- võimaldab kuusnurgal pöörata vasakule või paremale.

4. MoveLeg- võimaldab Hexapodil edasi või tagasi liikuda.

5. CrouchLeg- võimaldab Hexapodil kas kükitada ettepoole oma esijalgadele või tagurpidi jalgadele.

Jalgade liikumine põhineb jalgade paaridel, mis töötavad koos, nii et jalad 1 ja 2, 3 ja 4, 5 ja 6 töötavad paaridena. Liikumine koosneb kahest põhitoimingust, ettepoole sirutamisest ja tõmbamisest ning surumisest tahapoole. Tagasi kõndimiseks on need kaks liigutust vastupidised, näiteks näiteks edasi kõndides tõmbavad jalad 1 ja 2, jalad 5 ja 6 lükkavad, jalad 3 ja 4 tagavad stabiilsuse. Krabi kõndimine on lihtsalt samad toimingud, kuid seatud keha suhtes 90 kraadi, sel juhul liiguvad ka jalad 3 ja 4 samamoodi nagu teised jalad. Kõndivate jalgade paarid liiguvad vaheldumisi, kuid kui krabis käivad jalad 1 ja 5 töötavad paarina, siis jalg 3 töötab vaheldumisi jalgadele 1 ja 5.

Liikumine Funktsionaalne kirjeldus järgneb igale põhilisele liikumisfunktsioonile, millest igaüks koosneb liikumiselementidest, mis on kokku pandud ja mida kasutatakse teatud järjestuses.

PUHKUS: Alates püstiasendist liiguvad kõik reieluu servad ülespoole, et langetada keha neljale toele. Samal ajal liiguvad kõik sääreluu servod sissepoole.

SEISUMINE: Alles puhkeasendist liiguvad kõik sääreluu servad väljapoole, kui see on lõpule jõudnud, liiguvad kõik reieluu servad 90-kraadisesse asendisse, lõpuks liiguvad kõik sääreluu servod samal ajal 90-kraadisesse asendisse.

Pööramine vasakule: jalad 1, 3 ja 5 liiguvad peast 45 kraadi tagasi, samal ajal liiguvad jalad 2, 4 ja 6 edasi pea poole. Kui kõik Coax-servod on lõpetatud, liiguvad nad oma praegusest asendist tagasi 90-kraadisesse standardasendisse, oleks see liigutus keha vastupäeva.

Pööramine paremale: jalad 1, 3 ja 5 liiguvad pea suunas 45 kraadi võrra ettepoole, samal ajal liiguvad jalad 2, 4 ja 6 peast tahapoole. Kui kõik Coaxi servod on lõpule viidud, liiguvad nad oma praegusest asendist tagasi 90-kraadisesse standardasendisse, liigutaks see keha päripäeva.

KÕRGEMINE EDASI: jalad 1 ja 2 langetatakse reie- ja sääreluu servade abil, jalad 5 ja 6 tõstetakse üles reie- ja sääreluu servade abil, jalad 3 ja 4 jäävad standardasendisse.

KÕRGUS TAGASI: Jalad 1 ja 2 tõstetakse reie- ja sääreluu servade abil üles, jalad 5 ja 6 langetatakse reie- ja sääreluu servade abil, jalad 3 ja 4 jäävad standardasendisse.

LEPUTAMINE: See rutiin kasutab ainult 1. ja 2. jalga. Coax servod liiguvad 50-kraadise kaarega, samal ajal kui reieluu ja sääreluu liiguvad samuti 50-kraadise kaarega. Jalad 3 ja 4 liiguvad pea suunas 20 kraadi ettepoole, see tagab stabiilsema platvormi.

ETTEKÕNNE: Jalad 1 ja 6, 2 ja 5 ning 3 ja 4 peavad töötama koos. Nii et kui jalg 1 tõmbab keha, peab jalg 6 keha suruma, niipea kui see toiming on lõpule viidud, peavad jalad 2 ja 5 sooritama sama toimingu, samal ajal kui kõik need toimingutsüklid toimuvad, jalad 3 ja 4 peavad oma rutiin edasi.

Esialgsed jalamooduli funktsioonid võimaldasid kujundada iga kolme jala liigutust. Vaja on kolme jalaliigutust, kuna vastasjalad sooritavad lihtsalt vastupidiseid liigutusi. Uus kombineeritud 1., 3. ja 6. moodul töötati välja, testiti ja kopeeriti teise tagurpidi 2., 4. ja 5. jala mooduli jaoks. Kuusnurksete jalgade liigutuste testimine saavutati kuuejalgade asetamisega ülestõstetud plokile, võimaldades jalgadel täielikku liikumist ilma maad puudutamata. Mõõtmised tehti jalgade liikumise ajal ja leiti, et kõik jalad liiguvad horisontaalselt 80 mm kaugusel, jäädes samal ajal liikumise ajal madalaimast kohast maapinnast 10 mm kaugusele. See tähendab, et Hexapod liigub liikumise ajal lihtsalt küljelt küljele ja et kõigil jalgadel on liikumise ajal võrdne tõmbejõud.

TAGASI KÕNNE:

KRABI KÄNG VASAKUL: Esialgne liikumine algab jalgadega 1, 2, 5 ja 6, mis kõik pöörlevad 45 kraadi sõidusuuna suunas. See asetab kõik jalad sõidusuunaga ühele joonele, jalad 3 ja 4 on juba õiges suunas. Mõlema jala reieluu ja sääreosa algavad vaikimisi 90-kraadises asendis. See kõnnak koosneb kahest kolmest jalast koosnevast sammust, jalad 1, 5 ja 4 ning jalad 3, 2 ja 6. Iga kolmest jalast koosnev komplekt töötab esijalgadega, st 1 ja 5, tõmmates ja vajutades jalg 4, see liigutus pööratakse ümber, nii et jalg 3 tõmbab, samal ajal kui jalad 2 ja 6 tõukavad, ükski Coax servo ei tee selle liikumise ajal mingit tööd. Iga kolmest jalast koosnev komplekt tõstab statsionaarselt asetsevat teist jalgade komplekti esimese komplekti liigutamisel.

KRABI JALUTAMISÕIGUS:

MÄRKUS. Pea pöördub krabi kõndimise suunas kas vasakule või paremale. See võimaldab kõndimisel kasutada ultrahelituvastust HC-SR04.

JALGADE SEADISTAMINE: Hexapodi püsimiseks tasasel kohal peavad kõik jalad seisma sama kõrgusega. Hexapodi paigutamine plokkidele ning seejärel statiivi ja puhkerežiimi abil oli võimalik mõõta kaugust iga otsatõmbejõu maapinnast. Lisasin kummalegi otsaefektorile kummisaapad, et esmalt haaret lisada, aga ka sääre pikkust veidi reguleerida, eesmärgiga, et kõigi jalgade vahel oleks 5 mm või vähem. Iga servo seadistamine 90 kraadini oli lihtne, kuid iga servosarve kinnitamine reieluu mõlemale otsale võib ja tekitas probleeme, kuna väga väikesed erinevused sarvede sisemiste lülide pöördenurkades põhjustavad jalgade kõrguste erinevusi 20 mm. Kruvide muutmine servosarvikute erinevatele kinnitusavadele parandas selle 20 mm kõrguse erinevuse. Olin otsustanud selle probleemi selle meetodi abil lahendada, selle asemel et neid kõrguse erinevusi tarkvara abil kompenseerida.

Soovitan: