Cuprins:

Jasper Arduino Hexapod: 8 pași (cu imagini)
Jasper Arduino Hexapod: 8 pași (cu imagini)

Video: Jasper Arduino Hexapod: 8 pași (cu imagini)

Video: Jasper Arduino Hexapod: 8 pași (cu imagini)
Video: Jasper Arduino Hexapod Robot 2024, Iulie
Anonim
Jasper Hexapodul Arduino
Jasper Hexapodul Arduino
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Hexapodul Arduino
Jasper Hexapodul Arduino

Data proiectului: noiembrie 2018

PREZENTARE GENERALĂ (JASPER)

Șase picioare, trei servo pe picior, 18 servo sistem de mișcare controlat de un Arduino Mega. Servo-uri conectate prin intermediul ecranului senzor Arduino Mega V2. Comunicare cu Hexapod prin modulul Bluetooth BT12 vorbind cu aplicația Android personalizată. Sistem alimentat de 2 x 18650, 3400mAh și 2 x 2400mA set de baterii ținut fiecare cu Velcro sub corpul hexapodului. Este furnizat un comutator de comutare atât pentru sistemele Servo, cât și pentru Control, la fel ca și un indicator verde de alimentare cu LED-uri de pe capul hexapodului. Comenzile sunt repetate pe un ecran LCD de 16x2. Alimentarea video, inelul luminos și evitarea obstacolelor cu ultrasunete sunt situate în cap.

NOTĂ: Din motive de sănătate, recomand cu tărie utilizarea unor servouri de bună calitate, am început cu servere MG995, dintre care 20, dintre care 11 au ars, au pierdut capacitatea de centru sau pur și simplu nu mai funcționează.

www.youtube.com/embed/ejzGMVskKec

Pasul 1: ECHIPAMENT

ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE
ECHIPAMENTE

1. 20 x servo DS3218

2. 1x kit de bază hexapod

3. 1x Arduino Mega R3

4. 1x scut senzor Arduino Mega v2

5. Suport baterie 1 x 2 compartimente 18650

6. 2 x comutator de alimentare cu doi poli

7. Lumină cu LED verde și rezistor de 220kohm

8. 2 baterii de 6 x 2800mAh cu fixare Velcro

9. 2 baterii 18650 x 3400mAh

10. 1x modul sonar HC-SR04

11. 1x modul Bluetooth BT12

12. 1 x placa de dezvoltare Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT

13. 1 x Ecran de cameră Mini Modul Arducam cu obiectiv OV2640 de 2 megapixeli

14. 1 x inel de lumină LCD Pixie Neon 16

15. Afișaj LCD 1 x 16x2 linii cu adaptor IIC atașat.

16. 1 x priză 5v pentru Arduino Mega

17. 1 mufa micro USB de 5v pentru modulul NodeMcu.

18. 1 x modul convertor DC-DC Buck

19. 1 x 70mm x 120mm x 39mm cutie de plastic pătrată neagră (corp)

20. 1 x 70mm x 50mm x 70mm cutie din plastic negru (cap)

21. 4 x 40mm suporturi din alamă M3 plus 4 suporturi din cauciuc

22. Diverse cabluri jumper de la mascul la mascul, lipit, șuruburi și șuruburi m3 și, lipici fierbinte

Mișcarea picioarelor folosind logica personalizată. Mișcarea camerei prin două servouri independente care renunță, jos, stânga, dreapta și mișcarea centrată. Camera controlată prin conexiune WIFI, fiind afișată în vizualizarea WebView în aplicația Android.

Pasul 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Fiecare are maximum 180 de grade până la

mișcare minimă de 0 grade.

Fiecare servo identificat cu trei combinații de numere, LegCFT; unde C este corpul (COXA), F este coapsa (FEMUR) și T este cotul (TIBIA), deci 410 s-ar referi la al patrulea picior și Tibia servo, în mod similar 411 s-ar referi la al patrulea picior și Tibia servo. Secvența de numerotare ar fi de la 100 până la 611. Fiecare picior servo ar trebui să aibă piciorul pe bază de cauciuc pentru a amortiza impactul și pentru a oferi o aderență mai bună.

Piciorul 1: 100, 110, 111 Față

Etapa 2: 200, 210, 211 etapa2-etapa1

Leg 3: 300, 310, 311 leg4-leg3

Etapa 4: 400, 410, 411 leg6-leg5

Piciorul 5: 500, 510, 511 Spate

Piciorul 6: 600, 610, 611

Poziția implicită pentru toate serviciile coaxiale este de 90 de grade.

Poziția implicită pentru Servoarele femurale este de 90 de grade, 45 de grade este poziția de repaus.

Poziția implicită pentru Tibia Servos pentru toate picioarele este de 90 de grade, picioarele 1, 3 și 5 folosesc 175 de grade ca poziție de odihnă, iar picioarele 2, 4 și 6 folosesc 5 grade.

Gâtul 1: 700 Limitat la 75 până la 105 grade pentru mișcare în sus și în jos

Gâtul 2: 800 Limitat la 45 până la 135 de grade pentru mișcarea la stânga și la dreapta

Mișcarea servo limitată la trei „scrieri” înainte de includerea unei întârzieri de 10 milisecunde, înainte de a fi lansate alte comenzi de „scriere”. Acest lucru ajută la reducerea încărcării bateriilor.

Pasul 3: COMANDĂ

COMANDE
COMANDE
COMANDE
COMANDE
COMANDE
COMANDE

A = Stop - Stai în poziția implicită.

B = înainte - walk_forward

C = invers - walk_backward

D = dreapta - viraj_dreapta

E = stânga - viraj_stânga

F = mișcare laterală stângă - crab_stânga

G = mișcare laterală dreaptă - crab_right

H = Crouch spate (picioarele 1 și 2 la maxim, 3 și 4 picioare în poziție neutră, picioarele 5 și 6 la poziția minimă)

I = Acoperire frontală (picioarele 1 și 2 în poziția minimă, 3 și 4 picioare în poziție neutră, picioarele 5 și 6 în poziția maximă)

J = camera înclinată - centru (gâtul 1 și gâtul 2 în poziția mijlocie, poziția implicită)

K = camera stânga - pan_stânga (gâtul 1, poziția de mijloc, poziția servo a gâtului 2)

L = camera dreapta - pan_right (gât 1, poziție mijlocie, gât 2 servo poziție maximă)

M = camera sus - pan_up (poziția maximă a gâtului 1, poziția mijlocie a gâtului 2)

N = camera în jos - pan_down (poziția minimă a gâtului 1, poziția mijlocie a gâtului 2)

O = Odihna (Hexapod) stă pe suporturi.

P = În picioare - Hexapod se ridică în poziția implicită.

Q = Lumini stinse

R = Lumină verde pe inelul de lumină Neon Pixie.

S = lumină roșie pe inelul de lumină neon Pixie.

T = Lumina albastră pe inelul de lumină Neon Pixie.

U = Lumina albă pe inelul de lumină neon Pixie.

V = picioarele din față fluturând.

W = Sunet.

X = Mătură capul de la stânga la dreapta.

Y = Play Tune.

Pasul 4: MISCARE

CIRCULAŢIE
CIRCULAŢIE
CIRCULAŢIE
CIRCULAŢIE
CIRCULAŢIE
CIRCULAŢIE

Poziția servo Coax este longitudinală față de axa corpului, astfel încât drept înainte este 0 grade și direct în spate este 180 grade. Cu toate acestea, acest dispozitiv coaxial și toate celelalte servouri ar fi limitate la 45 până la 135 de grade.

Mișcarea picioarelor înainte, invers, stânga și dreapta ar fi începută cu ridicarea piciorului folosind servurile Femur și Tibia, apoi urmată de mișcarea servo a corpului și, în cele din urmă, coborârea aceluiași picior din nou folosind servurile Femur și Tibia..

Înainte și invers

Pentru a vă deplasa înainte sau înapoi picioarele lucrați în perechi, 1 și 2, 3 și 4, 5 și 6. O mișcare simplă înainte constă în picioarele 1 și 2 care se deplasează din poziția lor actuală cât mai departe posibil, apoi picioarele 3 și 4, și în cele din urmă 5 și 6 picioare repetă aceeași acțiune. Apoi, toate cele șase servo-uri Coax se deplasează din această poziție extinsă înainte înapoi la poziția inițială inițială. Reversul acestui proces este folosit pentru a vă deplasa înapoi. Ca parte a procesului de mișcare înainte, unitatea cu ultrasunete HC_SR04 va verifica obstacolele din față și, dacă se găsește unul, rotiți Hexapodul la stânga sau la dreapta aleatoriu.

Stânga și dreapta

Pentru a vă deplasa, perechile de picioare stânga sau dreapta lucrează împreună, dar în direcții opuse. Deci, de exemplu, pentru a roti piciorul drept 1 se deplasează din poziția curentă înapoi în poziția de 135 de grade, în timp ce piciorul 2 se deplasează înainte în poziția de 45 de grade. Acest lucru se repetă pentru perechile de picioare 3 și 4 și 5 și 6 picioare. Moment în care servomotoarele Coax își mută poziția originală înapoi la noua lor poziție, răsucind astfel corpul în direcția mișcării, adică. dreapta. Acest proces este continuat până când rotația necesară spre stânga a fost finalizată. Reversul acestui proces este folosit pentru a vira la stânga, astfel încât piciorul 1 se deplasează din poziția sa actuală înainte în poziția de 45 de grade, în timp ce piciorul 2 se deplasează înapoi în poziția de 135 de grade.

Ridică-te și odihnește-te

Ambele procese nu folosesc servo-ul coaxial al oricărui picioruș, așa că pentru a ridica servo Tibia, pentru toate picioarele, se deplasează de la poziția sa actuală la maximul de 45 de grade, în timp ce pentru a se odihni, aceleași servouri femurale se deplasează la cele mai mici poziție, 175 sau 5 grade. Aceeași mișcare se aplică și servilor Tibia care se deplasează la maximul lor de 45 de grade, pentru a sta în picioare și minimul lor, adică 175 sau 5 grade pentru odihnă.

Crouch Forward și Crouch Backward

Din nou, procesele sunt imagini în oglindă. Pentru ghemuit înainte, picioarele 1 și 2 sunt în poziția lor cea mai joasă, în timp ce picioarele 5 și 6 sunt în poziția cea mai înaltă. În ambele cazuri picioarele 4 și 5 își asumă o poziție neutră, care este în linie cu seturile de picioare 1 și 2 și 5 și 6. Pentru ghemuit picioarele 1 și 2 sunt în poziția lor cea mai înaltă, în timp ce picioarele 5 și 6 sunt în poziția cea mai joasă.

Pasul 5: FOTOCAMBRĂ / SONAR

FOTO CAMERA / SONAR
FOTO CAMERA / SONAR
FOTO CAMERA / SONAR
FOTO CAMERA / SONAR
FOTO CAMERA / SONAR
FOTO CAMERA / SONAR

Capul va fi format dintr-o cutie de plastic pătrată de 38 mm x 38 mm x 38 mm cu capac detașabil. Cutia / capul va avea mișcări verticale și orizontale limitate. Mișcarea va fi realizată prin utilizarea a două servo-uri, unul atașat la corpul robotului și al doilea atașat la primul servos-corp și brațul acestuia atașat la cap. 7.4v furnizat de două baterii 18650 va alimenta placa de dezvoltare Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT DEVKIT, atașată la un ecran de cameră Mini Module Arducam cu obiectiv OV2640 de 2 megapixeli. Acest aranjament va permite robotului să detecteze obstacolele și să transmită video live prin intermediul Wi-Fi-ului de la bord. Sonarul care utilizează un HC-SR04 și posibilele informații de gestionare a luminii ar reveni la Arduino Mega.

Mulțumesc lui Dmainmun pentru articolul său Arducam Instructables, care a fost de mare ajutor în înțelegerea mea inițială despre modul în care Arducam ar putea fi folosit pentru a transmite fluxuri video.

Baterie

S-a decis să se utilizeze două pachete de baterii, unul pentru componentele capului și placa Arduino Mega și un al doilea pachet pentru a alimenta toate servo-urile. Primul pachet consta din 2 baterii 18650 3400mAh care alimentează 7.4v. Al doilea pachet consta din 2 x 6V 2800mAh acumulatori conectați în paralel, oferind astfel o sursă de 6,4V, dar o capacitate crescută de 5600mAh atașată la partea inferioară a Hexapodului folosind benzi Velcro.

Pasul 6: MIȘCAREA PICIOARELOR

MIȘCAREA PICIOARELOR
MIȘCAREA PICIOARELOR
MIȘCAREA PICIOARELOR
MIȘCAREA PICIOARELOR
MIȘCAREA PICIOARELOR
MIȘCAREA PICIOARELOR

Brațele pot lucra fie în perechi, fie singure. Fiecare braț constă dintr-o articulație a corpului numită Coax cu mișcare de 45 până la 135 de grade, o articulație a coapsei numită femur, cu mișcare de 45 până la 135 de grade și, în cele din urmă, o articulație a cotului numită Tibia sau efector final, cu mișcare de 45 până la 135 de grade.. Software-ul personalizat a fost scris pentru a oferi mișcarea picioarelor.

Tipuri de mișcare a picioarelor:

Pentru Coax, 45 de grade este orientat înapoi de la cap, 90 de grade este poziția neutră și 135 de grade este orientat înainte.

Pentru femur, 45 de grade este cea mai înaltă poziție de la sol, 90 de grade este poziția neutră și 135 de grade este cea mai mică poziție de la sol.

Pentru Tibia, 45 de grade este poziția cea mai îndepărtată de corp, 90 de grade este poziția neutră și 135 de grade este cea mai apropiată poziție de corp.

Să presupunem că toate servo-urile sunt în poziție neutră, 90 de grade.

Înainte: piciorul 1 și 2, femurul se ridică la 135 de grade, Coax se deplasează la 45 de grade, Tibia se deplasează la 45 de grade cel mai îndepărtat de corp, femurul scade la 45 de grade. Acest lucru se repetă pentru perechile de picioare 3 și 4 și perechea de picioare 5 și 6. Toate cele 6 servouri Coax se deplasează de la 45 de grade înapoi la 90 de grade, poziție neutră, toate cele 6 servouri de femur se deplasează de la 45 de grade până la 90 de grade, poziție neutră. În cele din urmă, toate servo-urile Tibia se deplasează de la 45 de grade la 90 de grade, poziție neutră.

Reverse: Începând cu picioarele 5 și 6, apoi 3 și 4 și, în final, picioarele 1 și 2, altfel mișcarea este aceeași pentru Coax, Femur și Tibia.

Stânga: picioarele 1, 3 și 5 se mișcă în direcție inversă, în timp ce picioarele 2, 4 și 6 se deplasează în direcție înainte. Atât mișcarea înainte cât și cea inversă sunt conforme cu mișcarea standard înainte și înapoi. Pentru a finaliza întoarcerea tuturor celor șase servo-uri Coax, mișcați 45 de grade, ceea ce întoarce corpul.

Dreapta: picioarele 2, 4 și 6 se mișcă în direcție inversă, în timp ce picioarele 1, 3 și 5 se deplasează în direcție înainte. Atât mișcarea înainte cât și cea inversă sunt conforme cu mișcarea standard înainte și înapoi. Mișcarea coaxială este similară cu cea de mai sus, dar în direcția inversă.

Odihnă: Toate servo-urile Coax și Femur în poziție neutră, toate serv-urile Tibia în poziția cea mai scăzută la 45 de grade, ghemuit în mod eficient atât la picioarele din față, la mijloc și la spate.

Crowch spate, stand în față: picioarele 1 și 2 în poziția cea mai înaltă, picioarele 3 și 4 în poziția neutră și picioarele 5 și 6 în poziția cea mai joasă.

Stați în spate, ghemuiți-vă în față: picioarele 1 și în poziția cea mai joasă, picioarele 3 și 4 în poziția neutră și picioarele 5 și 6 în poziția cea mai înaltă.

Crab stâng: picioarele 1 și 5 se ridică și se extind spre exterior spre stânga, în același timp picioarele 2 și 6 se ridică și se contractă sub corp. Cu toate aceste patru picioare pe pământ, toate Tibia se întorc în poziția lor neutră. În cele din urmă picioarele 3 și 4 repetă același proces.

Crab dreapta: picioarele 2 și 6 se ridică și se extind spre exterior spre dreapta, în același timp picioarele 1 și 5 se ridică și se contractă sub corp. Cu toate aceste patru picioare pe pământ, toate Tibia se întorc în poziția lor neutră. În cele din urmă picioarele 3 și 4 repetă același proces.

Mișcarea capului stâng: gâtul 1 servo la 45 de grade. Ambele servere revin la poziția neutră 90.

Mișcarea capului drept: gâtul 1 servo de 135 de grade

Mișcarea capului în sus: gâtul 2 servo la 45 de grade

Mișcarea capului în jos: gâtul 2 servo de 135 de grade

Mișcarea capului panului: gâtul 2 se deplasează de la 45 la 135 de grade

SERVOS

După testarea inițială, servomotoarele MG995 și MG996 au fost înlocuite. Toate cele 20 de servo-uri au fost înlocuite cu DS32228-Servo-uri de 20 kg, care au oferit o centrare mult îmbunătățită și o capacitate de încărcare crescută.

Este important să testați temeinic fiecare servo folosind un program de testare adecvat. Am modificat programul de exemplu „măturare” simplu pentru a testa în mod specific pentru pozițiile 0, 90 și 180, această rutină de testare a fost rulată timp de minimum 5 minute pentru fiecare servo și apoi repetată o zi mai târziu.

NOTĂ: Utilizarea unei plăci standard Arduino Uno alimentată de un cablu USB poate să nu furnizeze suficientă tensiune pentru a rula anumite servome. Am constatat că 4,85v pe care i-a primit servo-ul de la Uno a provocat un comportament neregulat cu servomotoarele DS3218, creșterea acestei tensiuni la 5,05v a remediat această problemă. Deci, am decis să rulez servo-urile la 6v. În cele din urmă, am constatat că o tensiune de 6,4v era necesară, deoarece 6v provoca un comportament neregulat al servomotoarelor.

Pasul 7: CONSTRUCȚIE

CONSTRUCTIE
CONSTRUCTIE
CONSTRUCTIE
CONSTRUCTIE
CONSTRUCTIE
CONSTRUCTIE

PICIURI

A început cu așezarea pieselor kitului Hexapod. Toate coarnele servo circulare au necesitat mărirea găurii de mată de la ambele capete ale femurului și a tuturor găurilor coaxiale. Fiecare claxon servo a fost atașat la coaxial și femur corespunzător cu patru șuruburi și un al cincilea șurub prin centrul capului servo. Toate corpurile servo au fost atașate folosind patru șuruburi și piulițe. Suportul servo coaxial, pentru fiecare dintre cele șase picioare, avea un rulment atașat la partea inferioară a montajului folosind un singur șurub și piuliță. Fiecare montare servo Coax a fost atașată, utilizând patru șuruburi și piulițe, la montajul său servo Femur, această montare fiind rotită cu 90 de grade. Capul servo femural a fost atașat la un capăt al brațului femurului cu celălalt capăt al femurului atașat la capul servo Tibia. Cele șase servos Tibia erau atașate la vârful celor șase picioare cu patru șuruburi și piulițe. Fiecare efector de capăt al piciorului a fost acoperit cu o cizmă moale din cauciuc pentru a asigura o aderență suplimentară. S-a constatat că servo-cornul furnizat era prea mare pentru a fi fixat în conexiunile Coax, Femur și Tibia, astfel încât toate găurile centrale au fost mărite la 9 mm. Mulțumesc lui „Toglefritz” pentru Capers II care poate fi instruit cu privire la elementele de construcție ale kitului Hexapod. Cu toate acestea, m-am abătut de la construcția într-o zonă și anume atașarea coarnelor servo la ambele capete ale femurului. Am decis să măresc orificiul central al femurului pentru a permite centrului claxonului servo să treacă prin el, oferindu-i claxonului servo o forță suplimentară, deoarece era mai aproape de servo și aceste două articulații au experimentat cuplul maxim. Fiecare claxon servo a fost atașat la femur folosind două șuruburi autofiletante M2.2, capetele acestor șuruburi fiind îndepărtate și așezate plat. Toate șuruburile M3 au fost blocate bine.

CORP

Corpul este format din două plăci fiecare cu șase găuri, fiecare gaură utilizată pentru a atașa claxonul servo coaxial. Două baterii de 6V 2800mAh au fost atașate pe partea inferioară a plăcii inferioare folosind Velcro. Au fost atașate patru suporturi M3 care se întindeau chiar dincolo de partea inferioară a suportului bateriei, fiecare având un portbagaj din cauciuc moale glisat pe fund, acesta asigurând o bază stabilă pe care se poate sprijini Hexapodul. Secțiunea superioară a plăcii inferioare are Arduino Mega și scutul său senzor atașat folosind patru standuri de 5 mm. Pe partea superioară a plăcii inferioare a fost atașat 4 x M3 stand offs 6cm înălțime, acestea au înconjurat Arduino Mega și au oferit suport pentru placa superioară. Placa superioară avea atașată o cutie de 120 mm x 70 mm x 30 mm, aceasta va găzdui primul servomotoare și ecran LCD. Un al doilea suport pentru baterie cu 2 compartimente, 2 x 18650 a fost atașat la partea inferioară a plăcii superioare în partea din spate a plăcii Arduino Mega orientată spre partea din față a Hexapodului.

Placa superioară are șase coarne servo atașate fiecare cu patru șuruburi M2.2. Pe partea superioară a plăcii este instalată o cutie de 70 mm x 120 mm x 30 mm în care sunt instalate un suport de baterie 18650 cu 2 compartimente, comutator cu doi poli, LED verde și un afișaj LCD IC2 16 x 2. În plus, este instalat și primul servo de gât, alimentarea și al doilea cablu de date servo de gât trec printr-o gaură pentru a alimenta al doilea servo și modulul Arduino V3 NodeMcu. Un alt cablu de date trece prin cutia superioară și alimentează modulul cu ultrasunete HC-SR04, amplasat din nou în cap. Un al doilea cablu de date și alimentare este, de asemenea, trecut la cap pentru a alimenta inelul led pixie.

Cele două cabluri de date servo și cablul de date HC-SR04 sunt alimentate prin placa superioară în timp ce modulul Bluetooth este atașat la partea inferioară a plăcii folosind un tampon pentru neon și lipici fierbinte. Gestionarea cablurilor celor 18 cabluri de date de serviciu rămase trebuie să fie la locul lor înainte de orice încercare de fixare a plăcii superioare pe placa inferioară folosind 4 șuruburi M3 care se încadrează în suporturile 4 x M3 care au fost atașate la placa inferioară. Ca parte a procesului de atașare a plăcii inferioare superioare, toate cele șase servo coaxiale trebuie, de asemenea, plasate în poziția lor corectă, cu montarea rulmentului în orificiul plăcii inferioare și cu capul servo în claxonul plăcii superioare. Odată montate, vârfurile celor șase servo coaxiale sunt fixate cu 6 șuruburi M3. Datorită poziției claxoanelor servo pentru cele șase servo-uri Coax, suporturile de 4 x M3 trebuie reduse în înălțime cu 2 mm, astfel încât rulmenții servo-coaxiali să stea corect în placa inferioară.

CAP

Capul este format din două servouri la 90 de grade unul față de altul, unul adăpostit în cutia atașată la placa superioară, iar al doilea atașat la primul prin intermediul claxonului servo folosind o secțiune în formă de U a plăcii de alamă. Al doilea claxon al servo-ului este atașat la un suport de alamă în formă de L care este el însuși atașat la o cutie de 70 mm x 70 mm x 50 mm cu două șuruburi și piulițe. Cutia formează capul, în interiorul căruia este instalată camera Ardcam, modulul ultrasonic HC-SR04 și modulul Arduino V3 NodeMcu și LED-ul de alimentare. Atât modulul cu ultrasunete transmite și recepționează capetele senzorului ies din partea din față a cutiei, la fel ca și obiectivul camerei. În jurul obiectivului din exteriorul cutiei este un inel de 16 pixeli Nero LCD. LED-ul de alimentare NodeMcu este văzut printr-o gaură în placa posterioară a capului, cablul de alimentare, cablul de date al modulului cu ultrasunete și cablurile de alimentare pixie Neon intră printr-o gaură între placa posterioară și placa de cap.

ELECTRONICĂ

Următoarele diagrame Fritzing arată electronica corpului și a capului. Liniile VCC și GRD nu sunt afișate pentru cele 20 de servouri pentru a ajuta la claritatea diagramei. Modulul Bluetooth, prin intermediul aplicației Android, controlează mișcarea Hexapod, inclusiv serviciile sale pentru gât. Modulul Arduino NodeMcu bazat pe WIFI controlează modulul camerei Arducam. Toate servoanele sunt atașate la ecranul senzorului Arduino printr-un singur bloc care conține VCC, GRD și linii de semnal. Cablurile jumper standard DuPont de 20 cm sunt utilizate pentru conectarea Bluetooth BT12, HC-SR04 și IC2 LCD.

CALIBRAREA PICIORILOR

Aceasta este una dintre cele mai dificile zone de pregătire înainte de a lucra la mișcarea hexapodului. Ideea inițială este setarea tuturor picioarelor la următoarele, Servo-uri coaxiale la 90 de grade, Servo-femur la 90 de grade și Servo-tibia setate la 90 cu poziția fizică a picioarelor setată la 105 grade pentru picioarele 2, 4 și 6 și 75 de grade pentru picioarele 1, 3 și 5. Hexapodul a fost așezat pe o suprafață plană sprijinită pe cele patru suporturi de sub carcasa bateriei. Picioarele sunt poziționate la distanțe egale între fiecare picior și la distanță egală de corp. Toate aceste poziții au fost marcate pe suprafața plană. În timpul construcției picioarelor a fost găsit punctul de mijloc al fiecărui servo, aceasta ar trebui să fie poziția de 90 de grade. Această poziție implicită de 90 de grade este utilizată cu toate servo-urile.

Servo-urile coaxiale 2 și 5 fețe interioare sunt paralele una cu cealaltă, acest lucru este valabil pentru servo-urile 1 și 6 și 3 și 4. Toate servurile Femur și Coax sunt fixate împreună la 90 de grade între ele în timpul fazei de construcție. Toate servourile Femur au brațul Femur atașat la un unghi de 90 de grade. Toate servosele Tibia sunt atașate de Tibia la 90 de grade. Servoarele 2, 4 și 6 Tibia sunt atașate la brațul Femur la 105 grade, în timp ce servele Tibia 1, 3 și 5 sunt atașate la brațul Femur la 75 de grade.

Este important să rețineți că în timpul testării, toate servo-urile ar trebui să fie monitorizate în funcție de temperatură, un servo fierbinte înseamnă că servo-ul funcționează prea mult și ar putea eșua, majoritatea serv-urilor vor fi calde la atingere.

Calibrarea inițială este de a muta Hexapodul din poziția sa de repaus, după ce a fost pornit, într-o poziție în picioare care este atât constantă, stabilă, de nivel și cu cea mai mare importanță, niciunul dintre servo-uri nu este supraîncălzit. Pentru a menține o poziție constantă, este necesar să scrieți la fiecare servo cu o întârziere mai mică de 20 milisecunde, au fost utilizate 10 milisecunde. Toate servomotoarele se pot deplasa doar de la 0 la 180 de grade și de la 180 de grade înapoi la 0, astfel încât pentru toate servomilurile femurale 0 și 180 de grade este verticală și 90 de grade este orizontală.

Înainte de atașarea fiecărui servo, a fost trimisă o scriere de inițializare către fiecare dintre servo-urile definite anterior, oferindu-i unghiul său actual de repaus, adică poziția curentă în care se află servo în timp ce se odihnește. Aceasta a fost de 90 de grade pentru toate servo-urile Coax, 55 de grade pentru servurile Femur și Tibia 1, 3 și 5 și de 125 de grade pentru servurile Femur și Tibia 2, 4 și 6.

Este important să rețineți că bateriile trebuie să fie întotdeauna încărcate complet la începutul sesiunii de calibrare.

Hexapodul începe întotdeauna dintr-o poziție de repaus, întregul corp fiind sprijinit de cele patru picioare. Din această poziție, toate servourile Femur și Tibia sunt ciclate de la pozițiile lor de pornire până la poziția lor în picioare, moment în care toate servourile sunt la 90 de grade. Pentru a finaliza poziția în picioare, comanda „stand” este emisă, această comandă necesită ca toate picioarele să se ridice și să se așeze din nou în două seturi de trei mișcări ale picioarelor, picioarele 1, 5 și 4 și 2, 6 și 3.

Pasul 8: SOFTWARE

Software-ul este format din trei părți, prima parte este codul Arduino care rulează pe Arduino Mega, partea a doua este codul Arduino care rulează pe modulul NodeMcu din cap. Comunicarea se face prin unitatea Bluetooth BT12 care primește comenzi de pe tableta Android, și anume un Samsung Tab 2, care rulează o aplicație personalizată construită de Android Studio. Această aplicație trimite comenzile către Hexapod. Aceeași aplicație primește, de asemenea, flux video live de la modulul NodeMcu prin WIFI încorporat.

CODUL ANDROID

Codul Android personalizat, dezvoltat folosind Android Studio, oferă platforma pe care este rulată aplicația cu două ecrane. Aplicația are două ecrane, ecranul principal permite utilizatorului să emită comenzi către Hexapod și să vizualizeze fluxul video provenit din capul hexapod. Al doilea ecran, accesat prin intermediul butonului WIFI, permite utilizatorului să se conecteze mai întâi la hexapodul Bluetooth și, în al doilea rând, la punctul fierbinte WIFI generat de cardul NodeMCU Arduino din capul hexapod. Aplicația trimite comenzi dintr-o singură literă, printr-un serial 9600 Baud, de pe tabletă prin Bluetooth încorporat la Bluetooth BT12 atașat la hexapod.

CODUL ARDUINO

Dezvoltarea codului a început cu dezvoltarea unui program de testare care a fost conceput pentru a testa funcțiile de bază ale Hexapodului, capului și corpului. Deoarece capul și funcționarea acestuia sunt complet separate de corp, dezvoltarea software-ului a fost testată în paralel cu codul funcției corpului. Codul de funcționare a capului s-a bazat în mare parte pe o dezvoltare anterioară cu includerea mișcării servo. Codul a inclus funcționarea unui afișaj LCD de 16x2, a unui modul cu ultrasunete HC-SR04 și a unui inel cu 16 LED-uri. A fost necesară dezvoltarea de coduri suplimentare pentru a oferi acces WIFI la fluxul video live din cap.

Codul funcției corpului a fost inițial dezvoltat pentru a oferi atașarea servo inițială și poziția inițială în timp ce era în repaus. Din această poziție, Hexapodul a fost programat să stea simplu. Dezvoltarea a continuat apoi cu mișcări suplimentare ale Hexapodului și combinarea secțiunilor codului capului și corpului cu comunicațiile seriale cu aplicația Android.

Codul servo de testare a permis dezvoltarea mișcărilor picioarelor și ale corpului, și anume:

1. InitLeg - Permite poziția piciorului de odihnă, poziția piciorului în picioare, poziția inițială a piciorului crabului pentru mersul stânga sau dreapta, poziția inițială a piciorului pentru mersul înainte sau înapoi.

2. Wave - Permite picioarelor din față să fluture, de patru ori, înainte de a reveni în poziția în picioare.

3. TurnLeg- Permite Hexapodului să se întoarcă la stânga sau la dreapta.

4. MoveLeg- Permite Hexapodului să meargă înainte sau înapoi.

5. CrouchLeg- Permite Hexapodului să se ghemuiască înainte în jos pe picioarele din față sau înapoi pe picioarele din spate.

Mișcarea picioarelor se bazează pe perechile de picioare care lucrează împreună, astfel încât picioarele 1 și 2, 3 și 4, 5 și 6 funcționează ca perechi. Mișcarea constă din două acțiuni de bază, o atingere și tragere înainte și o împingere înapoi. Pentru a merge înapoi aceste două mișcări sunt inversate, astfel încât, de exemplu, mersul înainte, picioarele 1 și 2 trag, în timp ce picioarele 5 și 6 împing, picioarele 3 și 4 oferă stabilitate. Mersul la crab este pur și simplu aceleași acțiuni, dar setat la 90 de grade față de corp, în acest caz picioarele 3 și 4 se mișcă, de asemenea, în același mod ca și celelalte picioare. În timpul mersului, perechile de picioare se mișcă alternativ, totuși, în timp ce picioarele 1 și 5 merg pe crab, funcționează ca o pereche, în timp ce piciorul 3 funcționează pe pași alternativi până la picioarele 1 și 5.

Miscare Descrierea funcțională urmează pentru fiecare dintre funcțiile majore de mișcare, fiecare dintre ele constând din elemente de mișcare reunite și acționate într-o secvență stabilită.

REPOZIT: Plecând dintr-o poziție în picioare, toate servomotoarele femurale se deplasează în sus pentru a coborî corpul pe cele patru suporturi. În același timp, toate servo-urile Tibia se deplasează spre interior.

STANDING: Pornind de la poziția de repaus, toate servoanele Tibia se deplasează spre exterior, când aceasta este completă, toate servurile Femur se deplasează în poziția de 90 de grade, în cele din urmă, toate servurile Tibia se deplasează în poziția de 90 de grade în același timp.

Întoarcerea la stânga: picioarele 1, 3 și 5 se deplasează înapoi de la cap cu 45 de grade, în același timp picioarele 2, 4 și 6 se deplasează înainte spre cap. Odată finalizate toate servomecile Coax se deplasează din poziția lor actuală înapoi la poziția standard de 90 de grade, această mișcare va fi în sens antiorar spre corp.

Întoarcerea spre dreapta: picioarele 1, 3 și 5 se deplasează înainte spre cap cu 45 de grade, în același timp picioarele 2, 4 și 6 se deplasează înapoi, îndepărtându-se de cap. Odată finalizate toate servomecile Coax se deplasează din poziția lor curentă înapoi în poziția standard de 90 de grade, această mișcare va fi în sensul acelor de ceasornic către corp.

CROUCH FORWARD: Picioarele 1 și 2 coborâți folosind servos Femur și Tibia, în timp ce picioarele 5 și 6 sunt ridicate folosind servos Femur și Tibia, picioarele 3 și 4 rămân în poziția standard.

CROUCH BACKWARD: Picioarele 1 și 2 sunt ridicate folosind servos Femur și Tibia, în timp ce picioarele 5 și 6 sunt coborâte folosind servos Femur și Tibia, picioarele 3 și 4 rămân în poziția standard.

WAVING: Această rutină folosește numai picioarele 1 și 2. Servo-urile Coax se mișcă într-un arc de 50 de grade, în timp ce Femurul și Tibia se mișcă și într-un arc de 50 de grade. Picioarele 3 și 4 se deplasează înainte spre cap cu 20 de grade, aceasta asigurând o platformă mai stabilă.

Mersul înainte: picioarele 1 și 6, 2 și 5 și 3 și 4 trebuie să lucreze împreună. Deci, în timp ce piciorul 1 trage corpul, piciorul 6 trebuie să împingă corpul, de îndată ce această acțiune este finalizată, picioarele 2 și 5 trebuie să efectueze aceeași acțiune, în timp ce fiecare dintre aceste cicluri de acțiune are loc picioarele 3 și 4 trebuie să efectueze rutina înainte.

Funcțiile inițiale ale modulului piciorului de testare au permis un design pentru fiecare dintre cele trei mișcări ale piciorului. Sunt necesare trei mișcări ale picioarelor, deoarece picioarele opuse efectuează pur și simplu mișcările inversate. A fost dezvoltat, testat și copiat un nou modul de picior 1, 3 și 6 combinat pentru un al doilea modul de picior 2, 4 și 5 picior inversat. Testarea mișcărilor piciorului hexapod a fost realizată prin plasarea hexapodului pe un bloc ridicat, permițând astfel mișcarea completă a picioarelor fără a atinge solul. Măsurătorile au fost luate în timp ce picioarele se mișcau și s-a constatat că toate picioarele se mișcă orizontal la o distanță de 80 mm, în timp ce în același timp au rămas la 10 mm de sol în punctul cel mai de jos în timpul mișcării. Aceasta înseamnă că Hexapodul se va legăna pur și simplu dintr-o parte în alta în timpul mișcării și că toate picioarele vor avea o forță de tragere egală în timpul mișcării.

Mers pe jos invers:

CRAB WALKING STANK: Mișcarea inițială începe cu picioarele 1, 2, 5 și 6, toate rotindu-se cu 45 de grade spre direcția de deplasare. Acest lucru pune toate picioarele în linie cu direcția de deplasare, picioarele 3 și 4 sunt deja în orientarea corectă. Femurul și tibia fiecărui picior începând în poziția implicită de 90 de grade. Acest mers constă din două seturi de trei picioare care lucrează pe pași alternativi, picioarele 1, 5 și 4 și picioarele 3, 2 și 6. Fiecare set de trei picioare funcționează trăgând cu picioarele din față, adică 1 și 5 și împingând cu piciorul 4, această mișcare este apoi inversată, astfel încât piciorul 3 trage în timp ce picioarele 2 și 6 împing, niciunul dintre servo-urile Coax nu face nicio lucrare în timpul acestei mișcări. Fiecare set de trei picioare ridică celălalt set de picioare staționare pe măsură ce primul set se mișcă.

CRAB WALKING DREPT:

NOTĂ: Capul se va întoarce în direcția mersului crabului, fie la stânga, fie la dreapta. Acest lucru permite detectarea ultra sonică HC-SR04 să fie utilizată în timpul mersului.

REGLAREA PICIILOR: Pentru ca Hexapodul să rămână la nivel, este necesar ca toate picioarele să stea cu aceeași înălțime. Plasând Hexapodul pe blocuri și apoi folosind standul și rutinele de repaus, a fost posibil să se măsoare distanța de la sol a fiecărui efector final. Am adăugat cizme de cauciuc la fiecare efector de capăt pentru a adăuga mai întâi aderența, dar și pentru a permite o mică ajustare a lungimii piciorului, cu scopul de 5 mm sau mai puțin între toate picioarele. Setarea fiecărui servo la 90 de grade a fost ușoară, totuși atașarea fiecărui servo corn la ambele capete ale femurului poate provoca probleme, deoarece diferențele foarte mici în unghiurile de rotație ale coarnelor coloanelor vertebrale interne determină înălțimea piciorului să difere cu 20 mm. Schimbarea șuruburilor la diferite găuri de fixare din coarnele servo a corectat această diferență de înălțime de 20 mm. Am fost hotărât să rezolv această problemă folosind această metodă, mai degrabă decât să compensez aceste diferențe de înălțime folosind software.

Recomandat: