Sadržaj:

Walking Strandbeest, Java/Python i aplikacija kontrolirana: 4 koraka (sa slikama)
Walking Strandbeest, Java/Python i aplikacija kontrolirana: 4 koraka (sa slikama)

Video: Walking Strandbeest, Java/Python i aplikacija kontrolirana: 4 koraka (sa slikama)

Video: Walking Strandbeest, Java/Python i aplikacija kontrolirana: 4 koraka (sa slikama)
Video: TrotBot, Klann, Strandbeest, & Strider Linkages in Motion 2024, Novembar
Anonim

Autor arrowlikeFollow Više od autora:

Eksperimentalna studija jednostavnog harmonijskog kretanja
Eksperimentalna studija jednostavnog harmonijskog kretanja
Eksperimentalna studija jednostavnog harmonijskog kretanja
Eksperimentalna studija jednostavnog harmonijskog kretanja

Ovaj Strandbeest komplet je DIY rad zasnovan na Strandbeestu koji je izumio Theo Jansen. Zadivljen genijalnim mehaničkim dizajnom, želim ga opremiti punom upravljivošću, a zatim i računarskom inteligencijom. U ovom uputstvu radimo na prvom dijelu, upravljivosti. Pokrivamo i mehaničku strukturu računara veličine kreditne kartice, tako da se možemo igrati s računarskim vidom i AI obradom. Kako bih pojednostavio građevinske radove, nisam koristio arduino ili sličan programabilni računar, već sam izgradio bluetooth hardverski kontroler. Ovaj kontroler, koji radi kao terminal u interakciji s robotskim hardverom, kontrolira snažniji sistem, poput aplikacije za Android telefon ili RaspberryPi, itd. Kontrola može biti ili UI kontrola mobilnog telefona, ili programibilna kontrola na jeziku python ili Java. Jedan SDK za svaki programski jezik je otvorenog koda koji se nalazi na

Budući da je korisnički priručnik za mini-Strandbeest prilično jasan u objašnjavanju koraka izgradnje, u ovom uputstvu ćemo se usredotočiti na informacije koje obično nisu obuhvaćene korisničkim priručnikom, te na električne/elektroničke dijelove.

Ako nam treba intuitivnija ideja o mehaničkom sastavljanju ovog kompleta, dostupno je nekoliko dobrih videa na temu montaže, poput

Supplies

Da biste konstruirali mehanički dio i izvršili svu električnu vezu ovog Strandbeesta, trebalo bi proći manje od 1 sata da se dovrši ako se vrijeme čekanja za 3D ispis ne računa. Zahteva sledeće delove:

(1) 1x standardni Strandbeest komplet (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x istosmjerni motor s mjenjačem (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

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

(4) 1x LiPo baterija (3,7 V, vaš izbor kapaciteta u mAh)

(5) 12x vijci za drvo M2x5,6 mm

(6) Karbonska ili bambusova šipka promjera 2 mm

3D štampa sledeće delove:

(1) 1x glavno tijelo robotike

(Preuzmite samo datoteku za dizajn 3D ispisa sa bluetooth kontrolerom)

(Datoteka za dizajn 3D ispisa s dodatnim preuzimanjem OrangePi Nano)

(2) 2x prirubnica pogonskog vratila (preuzimanje datoteke za dizajn 3D štampanja)

(3) 2x učvršćenje sistema napajanja (preuzimanje datoteke za dizajn 3D štampe)

Ostali:

Android mobilni telefon. Idite na Google playstore, pretražite M2ROBOTS i instalirajte aplikaciju za kontrolu.

U slučaju da vam je teško pristupiti Google playstore -u, posjetite moju ličnu početnu stranicu za alternativni način preuzimanja aplikacije

Korak 1: Organizacija dijelova

Organizacija delova
Organizacija delova
Organizacija delova
Organizacija delova
Organizacija delova
Organizacija delova
Organizacija delova
Organizacija delova

U ovom koraku ćemo organizirati sve dijelove za sastavljanje. Sl.1. prikazuje sve plastične dijelove koji se ne nalaze u kutiji i koristimo ih za izradu modela Strandbeest. Izrađuju se brizganjem, što je vrlo visoko efikasno u poređenju sa drugim proizvodnim metodama mašinske obrade, poput 3D štampe ili glodanja. Zato želimo maksimalno iskoristiti proizvode masovne proizvodnje i prilagoditi samo najmanju količinu dijelova.

Kao što je prikazano na slici 2, svaki komad plastične ploče ima označenu abecedu, pojedinačni dio nema oznaku. Nakon što se odvoje, više nema označavanja. Da bismo riješili ovaj problem, možemo staviti dijelove iste vrste u različite kutije ili jednostavno označiti više područja u komadu papira i staviti jednu vrstu dijelova u jednu oblast, vidi sliku 3.

Za odsijecanje plastičnog dijela s veće montažne plastične ploče, škare i nož možda neće biti toliko efikasni i sigurni kao kliješte prikazano na slikama 4 i 5.

Ovdje je sve napravljeno od plastike, osim materijala za nožne prste guma, vidi sliku 6. Možemo rezati prema već napravljenim rezovima. Mekana priroda gumenog materijala osigurava bolje prianjanje pramena. To je posebno istinito pri penjanju na padinu. U kasnijim temama možemo testirati njegovu sposobnost penjanja pod različitim kutom nagiba, sa i bez gumenih prstiju. Kad nema klizanja, to se naziva statičko trenje. Kada izgubi stisak, postaje kinetičko trenje. Koeficijent trenja ovisi o upotrijebljenim materijalima, zato imamo gumene prste. Kako osmisliti eksperiment, podignite ruku i progovorite.

Posljednja slika sadrži "ECU", "Pogonski sklop" i šasiju ovog modela Strandbeest.

Korak 2: Tačke vrijedne pažnje tokom mehaničkog sastavljanja

Tačke vredne pažnje tokom mehaničkog sastavljanja
Tačke vredne pažnje tokom mehaničkog sastavljanja
Tačke vredne pažnje tokom mehaničkog sastavljanja
Tačke vredne pažnje tokom mehaničkog sastavljanja
Tačke vredne pažnje tokom mehaničkog sastavljanja
Tačke vredne pažnje tokom mehaničkog sastavljanja

Mini-Strandbeest ima prilično dobar korisnički priručnik. Slijediti priručnik i dovršiti montažu trebao bi biti lak posao. Preskočit ću ove sadržaje i istaknuti nekoliko zanimljivih točaka vrijednih naše pažnje.

Na slici 1, jedna strana utora koja drži gumene prste je ugao od 90 stepeni, dok druga strana ima nagib od 45 stepeni, koji se službeno naziva skošenje. Takav nagib vodi gumeni prst da se uklopi u plastično stopalo. Pokušajte ugraditi nožne prste sa strane sa skošenjem, pogledajte sliku 2, a zatim s druge strane. Razlika je vrlo uočljiva. Desna strana slike 3 je ručica u našoj Stranbeest -u. Vrlo je sličan ručici motora, motora automobila, motora motocikla, svi imaju istu strukturu. U Strandbeestu, kada se ručica okreće, pokreće stopala u pokretu. Za motor, to je pokret klipa koji pokreće ručicu do okretanja. Takvo razdvajanje od 120 stepeni u krug dovodi i do trofaznog motora ili generatora, električna snaga je udaljena 120 stepeni, prikazana na slici 4. Nakon što smo sastavili mehaničke dijelove za lijevo i desno bočno tijelo, sada počinjemo raditi na dijelovima koje dodajemo Strandbeestu, vidi sliku 5. Slika 6 je korak kojim koristimo 3-D štampanu stezaljku motora za pričvršćivanje motora na 3-D štampanu šasiju. U ovom koraku, trik je u tome da nijedan vijak ne smije biti zategnut prije podešavanja položaja motora tako da bočna površina šasije bude ista kao i površina motora. Nakon što smo zadovoljni poravnanjem, možemo pritegnuti sve vijke. Pređite na sliku 7, radimo na ugradnji prirubničke spojnice, povezujući izlaz motora s radilicom. Strana motora je teže instalirana od spoja na strani radilice, pogledajte Sl.8. Stoga prvo povezujemo prirubnicu sa strane motora. Nakon što se spoji prirubnica za oba motora, kao što je prikazano na slici 9, koristimo dva komada karbonskih šipki promjera 2 mm za povezivanje šasije i lijeve/desne hodne konstrukcije. To se dešava u FIg.10. Ukupno koristimo 3 komada karbonskih šipki za povezivanje ovih entiteta. Ali u ovom koraku spajamo samo dva od ovih, jer moramo okrenuti ručicu i postaviti vezu između prirubnice i radilice. Ako su postavljena 3 komada karbonskih šipki, bit će teže prilagoditi relativni položaj i spojiti ih. Konačno, imamo konačno sastavljen mehanički sistem, na slici 11. Sljedeći korak, poradimo na elektronici.

Korak 3: Električna veza

Električni priključak
Električni priključak
Električni priključak
Električni priključak
Električni priključak
Električni priključak

Svi elektronički sistemi trebaju napajanje. Možemo staviti 1-ćelijsku bateriju negdje prikladno, na primjer, ispod ploče na slici 1. Polaritet napajanja je toliko kritičan da zaslužuje posebnu brojku za raspravu. Na slici 2 je prikazana veza baterije. Na upravljačkoj ploči polaritet je označen s "+" i "GND", vidi sliku 3. Kad se baterija isprazni, USB kabel se koristi za punjenje baterije, pogledajte Sliku 4. LED lampica koja pokazuje "punjenje u toku" će se automatski isključiti kada se baterija ponovo napuni. Posljednji korak je spajanje utičnica motora na konektore motora na upravljačkoj ploči. Postoje 3 konektora za motor, označena brojem 16 na slici 3. Na slici 5, lijevi motor spojen je na krajnji lijevi konektor označen sa PWM12, a desni motor na srednji konektor. Trenutno je okretanje spremnika (vozila s diferencijalnim upravljanjem) lijevo strogo kodirano kao smanjenje ulazne snage motora spojenog na priključak motora PWM12. Stoga bi motor spojen na PWM12 port trebao voziti lijevim stopalima. Kasnije ću sve funkcije miješanja pretvoriti u korisnički podesive. kao Zamjenom izbora konektora motora ili obrnutim smjerom konektora motora možemo riješiti problem, primjerice da se Strandbeest pomiče unatrag kada mu se naredi da krene naprijed, okrećući u pogrešnom smjeru, imajte na umu da DC motor mijenja smjer okretanja ako je ulazna žica priključeno na upravljačko napajanje obrnutim redoslijedom.

Korak 4: Postavke aplikacije i rad

Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad
Postavke aplikacije i rad

Prvo preuzimamo android aplikaciju iz Google Play trgovine, vidi sliku 1. Ova aplikacija ima mnogo drugih funkcija koje ne možemo pokriti u ovom uputstvu, fokusirat ćemo se samo na izravno povezane teme za Strandbeest.

Uključite hardverski Bluetooth kontroler, on će se pojaviti na popisu uređaja za otkrivanje. Dugim klikom dolazimo do mogućnosti preuzimanja bežičnim putem koju ćemo kasnije "uputiti". Prije nego što kliknemo i pokrenemo kontrolu, napravimo prvo neke konfiguracije klikom na gornji desni kut "Postavke". Na slici 2, skriveno je ispod… ikone. Slika 3 prikazuje više kategorija postavki. Ove postavke, konfigurirane u aplikaciji, provode se u djelo na tri načina: 1) neke postavke utječu samo na rad aplikacije, poput aritmetike za dobivanje naredbe za kontrolu snage svakog motora iz naredbe za upravljanje i gas. Oni žive u aplikaciji. U nekim kasnijim uputstvima pokazat ćemo kako ih zamjenjujemo našim programima Python/Java. 2) neke postavke se šalju hardveru kao dio kontrolnog protokola u zraku, kao što je prebacivanje između direktne kontrole (servo okreće tačno zadati kut) i let preko žičane kontrole (ugrađeni autonomni funkcijski modul kontrolera upravlja servo upravljačem kanal prema korisničkoj naredbi i trenutnom stavu) 3) neke postavke će biti poslane u trajnu memoriju u hardverskom kontroleru. Stoga će hardver slijediti ove postavke svaki put kada se uključi bez konfiguriranja. Primjer će biti naziv Bluetooth emitiranja uređaja. Ovakvim postavkama je potreban ciklus napajanja da bi stupile na snagu. Prva kategorija u koju zaranjamo su "Opće postavke" na slici 4. “Funkcija kontrole aplikacije” na slici 5 definira koju ulogu ima ova aplikacija, kontroler hardverskog uređaja preko direktne bluetooth veze; most preko intraneta/interneta za kontrolu teleprisutnosti; itd. Zatim, stranica „HW type“na slici 6 govori aplikaciji da radite s vozilom s diferencijalnom vožnjom, pa je potrebno odabrati način „rezervoar“. Imamo ukupno 6 dostupnih PWM izlaza. Za Strandbeest moramo konfigurirati kanal 1 do 4 prema slici 7. Svaki PWM kanal radi na jedan od sljedećih načina: 1) servo normalan: RC servo kontroliran 1 do 2 ms PWM signal 2) servo reverz: kontroler će preokrenuti korisničku kontrolu za svoj izlaz 3) radni ciklus istosmjernog motora: DC motora ili nekog električnog uređaja sa snagom, može raditi u režimu radnog ciklusa, 0% je isključeno, 100% je uvijek uključeno. 4) Obrnuti radni ciklus istosmjernog motora: opet će kontroler obrnuti korisničku kontrolu za njegov izlaz Budući da koristimo istosmjerni motor i vodimo računa o smjeru okretanja motora prema hardverskom redoslijedu ožičenja, odabrat ćemo "Radni ciklus istosmjernog motora" za kanal 1 do 4, vidi sliku 8. Također moramo spojiti 2 PWM kanala na 1 H-most, kako bismo omogućili dvosmjernu kontrolu. Ovaj korak je prikazan na slici 9. U načinu rada "2 PWM kanala na 1 H-most", kanali 1, 3 i 5 se koriste za kontrolu oba povezana kanala. To uvodi potrebu za promjenom kontrole gasa, kontrole gore-dolje joystick-a sa njegovog zadanog kanala 2 u kanal 3. To je postignuto u postavkama Sl.10. Kao što je prikazano na slici 11, svaki kanal je konfiguriran da preuzme jedan proizvoljan ulazni izvor.

Bingo, sada smo završili minimalno potrebnu konfiguraciju i možemo se vratiti na stranicu koja prikazuje vidljivi Bluetooth uređaj i povezati ga. Na slici 12 pokušajte igrati džojstik i možemo se zabaviti sa ovim Strandbeestom. Pokušajte se popeti na neki nagib, sjetite se analize trenja između vrsta materijala i pročitajte procijenjeni stav kontrolora leta, koji je prikazan u redu označenom s "RPY (stepeni)", četiri unosa u ovom redu su kotrljanje, nagib, kut zakretanja procijenjeno pomoću žiroskopa i akcelerometra na brodu; zadnji unos je izlaz kompasa kompenziran nagibom.

Budući posao: u sljedećim uputstvima postepeno ćemo obraditi njegovo programsko sučelje, odabrati vaš omiljeni jezik Java ili Python za interakciju sa Strandbeestom i nećemo više čitati status strandbeesta sa ekrana mobilnog telefona. Takođe ćemo započeti programiranje na linux računaru tipa RaspberryPi za naprednije teme programiranja, pogledajte zadnju sliku. Nabavite https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ za mehaničke dijelove 3D ispisa i https://github.com/xiapeiqing/m2robots.git za SDK i primjer koda ako želite odmah početi. Javite mi koji je vaš željeni programski jezik ako ne Java ili Python, mogu dodati novu verziju SDK -a.

Zabavite se s hakiranjem i pratite sljedeće upute.

Preporučuje se: