Cuprins:

Walking Strandbeest, Java / Python și aplicație controlată: 4 pași (cu imagini)
Walking Strandbeest, Java / Python și aplicație controlată: 4 pași (cu imagini)

Video: Walking Strandbeest, Java / Python și aplicație controlată: 4 pași (cu imagini)

Video: Walking Strandbeest, Java / Python și aplicație controlată: 4 pași (cu imagini)
Video: Forex Robot #programming #coding #like #learning #educationmatters #technology #instavideo 2024, Noiembrie
Anonim

De arrowlike Urmărește mai multe de la autor:

Studiu experimental al mișcării armonice simple
Studiu experimental al mișcării armonice simple
Studiu experimental al mișcării armonice simple
Studiu experimental al mișcării armonice simple

Acest kit Strandbeest este o lucrare DIY bazată pe Strandbeest inventat de Theo Jansen. Uimit de designul mecanic genial, vreau să-l dotez cu o manevrabilitate completă, iar apoi, cu inteligența computerului. În acest instructable, lucrăm la prima parte, manevrabilitatea. De asemenea, acoperim structura mecanică pentru computerul cu dimensiunea cardului de credit, astfel încât să ne putem juca cu viziunea computerizată și procesarea AI. Pentru a simplifica lucrările de construcție și eance, nu am folosit arduino sau un computer programabil similar, în schimb, am construit un controler hardware bluetooth. Acest controler, care funcționează ca terminal care interacționează cu hardware-ul robotizat, este controlat de un sistem mai puternic, cum ar fi o aplicație pentru telefon Android sau RaspberryPi, etc. Controlul poate fi fie controlul UI al telefonului mobil, fie control programabil în limbaj Python sau Java. Un SDK pentru fiecare limbaj de programare este open-source furnizat în

Deoarece manualul de utilizare mini-Strandbeest este destul de clar în explicarea etapelor construcției, în acest instructable, ne vom concentra pe informațiile care nu sunt acoperite în mod obișnuit în manualul de utilizare și pe componentele electrice / electronice.

Dacă avem nevoie de o idee mai intuitivă despre asamblarea mecanică a acestui kit, sunt disponibile câteva videoclipuri bune despre subiectul asamblării, cum ar fi

Provizii

Pentru a construi partea mecanică și pentru a realiza toate conexiunile electrice ale acestui Strandbeest, ar trebui să dureze mai puțin de 1 oră dacă timpul de așteptare pentru imprimarea 3D nu este contorizat. Necesită următoarele părți:

(1) 1x kit standard Strandbeest (https://webshop.strandbeest.com/ordis-parvus)

(2) Motor 2x DC cu cutie de viteze (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x controler Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x baterie LiPo (3,7 V, capacitatea la alegere în mAh)

(5) șuruburi pentru lemn 12x M2x5.6mm

(6) Tijă de carbon sau bambus de 2 mm diametru

Imprimați 3D următoarele părți:

(1) 1x corpul principal al roboticii

(Descărcare fișier de proiectare tipărire 3D cu controler Bluetooth)

(Fișier de proiectare cu imprimare 3D cu descărcare suplimentară OrangePi Nano)

(2) 2x flanșă a arborelui de antrenare (descărcare fișier de proiectare tipărire 3D)

(3) 2x corp de sistem de alimentare (descărcare fișier de proiectare tipărire 3D)

Alții:

Telefon mobil Android. Accesați Google Playstore, căutați M2ROBOTS și instalați aplicația de control.

În cazul în care este dificil să accesați Google Playstore, accesați pagina mea de pornire personală pentru metoda alternativă de descărcare a aplicației

Pasul 1: Organizarea pieselor

Organizarea pieselor
Organizarea pieselor
Organizarea pieselor
Organizarea pieselor
Organizarea pieselor
Organizarea pieselor
Organizarea pieselor
Organizarea pieselor

În acest pas, vom organiza toate piesele de asamblat. Fig.1. prezintă toate piesele din plastic scoase din cutie pe care le folosim pentru a construi modelul Strandbeest. Acestea sunt realizate prin turnare prin injecție, care este foarte eficientă, în comparație cu alte metode de fabricare a prelucrării, cum ar fi imprimarea 3D sau frezarea. De aceea, dorim să profităm cel mai mult de produsul produs în serie și să personalizăm doar cea mai mică cantitate de piese.

Așa cum se arată în Fig.2, fiecare bucată de placă de plastic are un alfabet etichetat, fiecare parte nu are etichetă. Odată demontate, nu mai există etichetare. Pentru a rezolva această problemă, putem pune părți de același tip în cutii diferite sau pur și simplu să marcăm mai multe zone într-o bucată de hârtie și să punem un fel de piese într-o zonă, vezi Fig.3.

Pentru a tăia partea de plastic de pe placa de plastic de asamblare mai mare, foarfecele și cuțitul pot să nu fie la fel de eficiente și la fel de sigure ca și cleștele prezentat în figurile 4 și 5.

Totul aici este fabricat din plastic, cu excepția materialului degetelor de la picioare sunt din cauciuc, vezi Fig.6. Putem tăia în funcție de tăieturile prefabricate. Natura moale a materialului din cauciuc oferă o performanță mai bună de prindere a celui mai strandbeest. Este deosebit de adevărat atunci când urcați o pantă. În subiectele ulterioare, îi putem testa capacitatea de a urca la un unghi de pantă diferit, cu și fără degetele de la cauciuc. Când nu există alunecare, se numește frecare statică. Odată ce își pierde aderența, devine frecare cinetică. Coeficientul de frecare depinde de materialele folosite, de aceea avem degetele de la cauciuc. Cum să proiectezi un experiment, să ridici mâna și să vorbești.

Ultima figură conține „ECU”, „Power train” și șasiu al acestui model Strandbeest.

Pasul 2: Puncte demne de atenție în timpul asamblării mecanice

Puncte demne de atenție în timpul asamblării mecanice
Puncte demne de atenție în timpul asamblării mecanice
Puncte demne de atenție în timpul asamblării mecanice
Puncte demne de atenție în timpul asamblării mecanice
Puncte demne de atenție în timpul asamblării mecanice
Puncte demne de atenție în timpul asamblării mecanice

Mini-Strandbeest are un manual de utilizare destul de bun. Ar trebui să fie o treabă ușoară să urmezi manualul și să finalizezi asamblarea. Voi sări peste acest conținut și voi evidenția câteva puncte interesante demne de atenția noastră.

În Fig.1, o parte a slotului care ține degetele de la cauciuc are un colț de 90 de grade, în timp ce cealaltă parte are o pantă de 45 de grade, care se numește oficial șanț. O astfel de pantă ghidează vârful de cauciuc pentru a se potrivi în piciorul din plastic. Încercați să instalați degetele de la picioare din lateral cu șanț, vezi Fig.2, apoi încercați cealaltă parte. Diferența este foarte vizibilă. Partea dreaptă a Fig.3 este manivela în Stranbeest. Este foarte asemănător cu manivela unui motor, motor de mașină, motor de motocicletă, toate au aceeași structură. Într-un Strandbeest, când manivela se rotește, conduce picioarele să se miște. Pentru un motor, este mișcarea pistonului care conduce manivela să se întoarcă. O astfel de separare de 120 grade într-un cerc conduce, de asemenea, la un motor trifazat sau la un generator, puterea electrică fiind separată la 120 grade, prezentată în Fig.4. Odată ce avem toate piesele mecanice pentru corpurile laterale stânga și dreapta asamblate, începem acum să lucrăm la piesele pe care le adăugăm la Strandbeest, vezi Fig.5. Fig.6 este pasul prin care folosim clema de imprimare 3-D pentru a fixa motorul pe șasiul imprimat 3-D. În acest pas, trucul este că nici unul dintre șuruburi nu trebuie strâns înainte ca poziția motorului să fie reglată, astfel încât suprafața laterală a șasiului să fie aceeași cu suprafața motorului. Odată ce suntem mulțumiți de aliniere, putem strânge toate șuruburile. Treceți la Fig.7, lucrăm la instalarea cuplajului cu flanșă, conectând ieșirea motorului la manivelă. Partea motorului este mai dificil de instalat decât conexiunea laterală a manivelei, vezi Fig.8. Prin urmare, conectăm mai întâi flanșa laterală a motorului. Odată ce cuplajul cu flanșă pentru ambele motoare este instalat, așa cum se arată în Fig.9, folosim două bucăți de tije de carbon cu diametrul de 2 mm pentru a conecta șasiul și structura de mers stânga / dreapta. Asta se întâmplă în FIg.10. În total, folosim 3 bucăți de tije de carbon pentru a conecta aceste entități. Dar în acest pas, conectăm doar două dintre acestea, deoarece trebuie să rotim manivela și să potrivim conexiunea dintre flanșă și manivelă. Dacă au fost amplasate 3 bucăți de tije de carbon, va fi mai greu să reglați poziția relativă și să le conectați. În cele din urmă, avem sistemul mecanic final asamblat, în Fig.11. Pasul următor, să lucrăm la electronică.

Pasul 3: Conexiune electrică

Conexiune electrica
Conexiune electrica
Conexiune electrica
Conexiune electrica
Conexiune electrica
Conexiune electrica

Toate sistemele electronice au nevoie de alimentare. Putem pune o baterie cu 1 celulă undeva convenabil, de exemplu, sub placa de circuite din Fig.1. Polaritatea sursei de alimentare este atât de critică încât merită o figură dedicată de discutat. Fig.2 evidențiază conexiunea bateriei. În placa controlerului, polaritatea este marcată cu „+” și „GND”, vezi Fig.3. Când bateria rămâne fără suc, un cablu USB este utilizat pentru a reîncărca bateria, vezi Fig.4. LED-ul care indică „reîncărcare în proces” se va stinge automat când bateria se umple din nou. Ultimul pas este conectarea prizelor motorului la conectorii motorului de pe placa controlerului. Există 3 conectori de motor, etichetați cu numărul 16 în Fig.3. În Fig.5, motorul din stânga este conectat la conectorul din stânga marcat cu PWM12, iar motorul din dreapta este conectat la conectorul din mijloc. În prezent, întoarcerea unui rezervor (vehicul cu diferențial) la stânga este codificată ca o scădere a puterii de intrare a motorului conectată la portul motorului PWM12. Prin urmare, motorul conectat la portul PWM12 ar trebui să conducă picioarele stângi. Ulterior voi converti toate funcțiile de amestecare pentru a fi configurabile de utilizator. ca Prin schimbarea alegerii conectorului motorului sau inversarea direcției conectorului motorului, putem rezolva problema, cum ar fi Strandbeest care se mișcă înapoi când i se pornește să meargă înainte, rotind direcția greșită, amintiți-vă că motorul de curent continuu își schimbă direcția de rotire dacă firul de intrare este conectat la puterea de comandă în ordine inversă.

Pasul 4: Setări și funcționare a aplicației

Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației
Setări și funcționare a aplicației

Mai întâi descărcăm o aplicație Android din Google Play Store, vezi Fig.1. Această aplicație are o mulțime de alte funcționalități pe care nu le putem acoperi în acest instructable, ne vom concentra doar pe subiectele direct legate de Strandbeest.

Porniți controlerul hardware Bluetooth, acesta va apărea în lista dispozitivelor de descoperire. Un clic lung ne va duce la funcția de descărcare over-the-air pentru a fi „instruiți” ulterior. Înainte de a face clic și de a începe controlul, să facem mai întâi câteva configurații făcând clic pe colțul din dreapta sus „Setări”. În Fig.2, este ascuns sub pictograma … Fig.3 prezintă mai multe categorii de setări. Aceste setări, configurate în aplicație, sunt puse în acțiune în trei moduri: 1) unele setări afectează doar funcționarea aplicației, cum ar fi aritmetica pentru a obține comanda de control al puterii fiecărui motor din comanda de direcție și accelerație. Locuiesc în aplicație. În unele instrumente ulterioare, vom arăta cum le înlocuim cu programele noastre Python / Java. 2) o anumită setare este trimisă hardware-ului ca parte a protocolului de control în aer, cum ar fi comutarea între controlul direct (servo transformă exact unghiul comandat) și zboară prin controlul prin sârmă (modulul funcțional al controlerului autonom operează servo canal în funcție de comanda utilizatorului și atitudinea curentă) 3) o anumită setare va fi trimisă la memoria non-volatilă din controlerul hardware. Prin urmare, hardware-ul va urma aceste setări de fiecare dată când este pornit fără a fi configurat. Un exemplu va fi numele de difuzare bluetooth al dispozitivului. Acest tip de setări necesită un ciclu de alimentare pentru a avea efect. Prima categorie în care ne scufundăm este „Setările generale” din Fig.4. „Funcția de control al aplicației” din Fig.5 definește ce rol joacă această aplicație, un controler pentru dispozitivul hardware prin conexiune Bluetooth directă; o punte peste intranet / internet pentru controlul telepresenței; Și etc. În continuare, pagina „Tip HW” din Fig.6 arată aplicația pe care lucrați cu un vehicul cu conducere diferențială, deci trebuie selectat modul „rezervor”. Avem 6 ieșiri PWM disponibile în total. Pentru Strandbeest, trebuie să configurăm canalul 1 la 4 conform Fig.7. Fiecare canal PWM este operat într-unul din următoarele moduri: 1) servo normal: servo RC controlat de 1 până la 2ms semnal PWM 2) servo invers: controlerul va inversa controlul utilizatorului pentru ieșirea sa 3) ciclu de funcționare a motorului DC: un DC motorul sau un dispozitiv electric de putere, poate fi acționat în modul ciclu de funcționare, 0% este oprit, 100% este întotdeauna pornit. 4) Inversarea ciclului de funcționare a motorului DC: din nou controlerul va inversa controlul utilizatorului pentru ieșirea sa Deoarece folosim motorul DC și avem grijă de direcția de rotație a motorului prin ordinea cablării hardware, vom alege „ciclul de funcționare a motorului DC” pentru canalul 1 la 4, vezi Fig.8. De asemenea, trebuie să fuzionăm 2 canale PWM cu 1 pod H, pentru a permite controlul bidirecțional. Acest pas este prezentat în Fig.9. În modul „2 canale PWM la 1 H-bridge”, canalele 1, 3 și 5 sunt utilizate pentru a controla ambele canale asociate. Introduce necesitatea remapării controlului clapetei de accelerație, controlul sus-jos al joystick-ului de la canalul implicit 2 la canalul 3. Se realizează în setările din Fig.10. Așa cum se arată în Fig.11, fiecare canal este configurat pentru a lua o sursă de intrare arbitrară.

Bingo, acum am finalizat configurația minimă necesară și putem reveni la pagina care afișează dispozitivul Bluetooth vizibil și îl putem conecta. În Fig.12, încercați să jucați joystick-ul și ne putem distra cu acest Strandbeest. Încercați să urcați o pantă, amintiți-vă de analiza fricțiunii dintre tipurile de material și citiți atitudinea estimată a controlerului de zbor, care este afișată în rândul etichetat cu „RPY (deg)”, cele patru intrări din acest rând sunt rola, pasul, unghiul de fală estimat de giroscop și accelerometru la bord; ultima intrare este ieșirea busolei compensată prin înclinare.

Lucrări viitoare: în următoarele instructabile, îi vom acoperi treptat interfața de programare, vom alege limbajul preferat Java sau Python pentru a interacționa cu Strandbeest și nu vom mai citi starea cel mai strand de pe ecranul telefonului mobil. Vom începe, de asemenea, programarea în computerul Linux de tip RaspberryPi pentru subiecte de programare mai avansate, a se vedea ultima figură. Verificați https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ pentru piesele mecanice de imprimare 3D și https://github.com/xiapeiqing/m2robots.git pentru SDK și cod de exemplu dacă doriți să începeți imediat. Spuneți-mi care este limbajul de programare dorit dacă nu Java sau Python, pot adăuga o nouă versiune a SDK-ului.

Distrează-te cu hacking-ul și rămâi la curent cu următoarele instructabile.

Recomandat: