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, Studeni
Anonim

Autor arrowlikeFollow Više od autora:

Eksperimentalno proučavanje jednostavnog harmonijskog gibanja
Eksperimentalno proučavanje jednostavnog harmonijskog gibanja
Eksperimentalno proučavanje jednostavnog harmonijskog gibanja
Eksperimentalno proučavanje jednostavnog harmonijskog gibanja

Ovaj Strandbeest komplet je DIY djelo zasnovano na Strandbeestu koji je izumio Theo Jansen. Zadivljen genijalnim mehaničkim dizajnom, želim ga opremiti punom upravljivošću, a zatim i računalnom inteligencijom. U ovom uputstvu radimo na prvom dijelu, upravljivosti. Također pokrivamo mehaničku strukturu računala veličine kreditne kartice, tako da se možemo igrati s računalnim vidom i AI obradom. Kako bih pojednostavio građevinske radove, nisam koristio arduino ili slično programirano računalo, već sam izgradio bluetooth hardverski kontroler. Ovaj kontroler, koji radi kao terminal u interakciji s robotskim hardverom, kontrolira snažniji sustav, 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 ćemo se uputstvu usredotočiti na podatke koji obično nisu obuhvaćeni 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

Pribor

Za izradu mehaničkog dijela i ostvarivanje svih električnih veza ovog Strandbeesta trebalo bi proći manje od 1 sata da se dovrši ako se vrijeme čekanja za 3D ispis ne računa. Zahtijeva sljedeće dijelove:

(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 ispis sljedećih dijelova:

(1) 1x glavno tijelo robotike

(Datoteka za dizajn 3D ispisa s preuzimanjem samo Bluetooth kontrolera)

(Datoteka dizajna 3D ispisa s dodatnim preuzimanjem OrangePi Nano)

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

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

Drugi:

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

U slučaju da je teško pristupiti Google playstoreu, posjetite moju osobnu početnu stranicu za alternativni način preuzimanja aplikacije

Korak 1: Organizacija dijelova

Organizacija dijelova
Organizacija dijelova
Organizacija dijelova
Organizacija dijelova
Organizacija dijelova
Organizacija dijelova
Organizacija dijelova
Organizacija dijelova

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 učinkovito, u usporedbi s drugim proizvodnim metodama strojne obrade, poput 3D ispisa ili glodanja. Zato želimo maksimalno iskoristiti masovno proizvedene proizvode 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 jedno područje, 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 učinkoviti i sigurni kao kliješte prikazano na slikama 4 i 5.

Ovdje je sve izrađeno od plastike, osim materijala nožnih prstiju su guma, vidi sliku 6. Možemo rezati prema unaprijed napravljenim rezovima. Mekana priroda gumenog materijala pruža bolje prianjanje strandbeestra. To je osobito 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. Nakon što 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: Točke vrijedne pažnje tijekom mehaničkog sastavljanja

Točke vrijedne pažnje tijekom mehaničkog sastavljanja
Točke vrijedne pažnje tijekom mehaničkog sastavljanja
Točke vrijedne pažnje tijekom mehaničkog sastavljanja
Točke vrijedne pažnje tijekom mehaničkog sastavljanja
Točke vrijedne pažnje tijekom mehaničkog sastavljanja
Točke vrijedne pažnje tijekom 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 kut od 90 stupnjeva, dok druga strana ima nagib od 45 stupnjeva, koji se službeno naziva skošenje. Takav nagib vodi gumeni prst da stane u plastično stopalo. Pokušajte nožne prste ugraditi 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. Vrlo je sličan ručici u motoru, motoru automobila, motoru motocikla, svi imaju istu strukturu. U Strandbeestu, kad se ručica okrene, pokreće stopala u pokretu. Za motor je to pokret klipa koji pokreće ručicu do okretanja. Takvo razdvajanje od 120 stupnjeva u krug dovodi i do trofaznog motora ili generatora, električna snaga je udaljena 120 stupnjeva, 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 tiskanu stezaljku motora za pričvršćivanje motora na 3-D tiskanu šasiju. U ovom koraku, trik je u tome da se niti jedan vijak ne smije zategnuti prije nego se položaj motora podesi tako da bočna površina šasije bude ista kao površina motora. Nakon što smo zadovoljni poravnanjem, možemo pritegnuti sve vijke. Prijeđ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, vidi sliku 8. Stoga prvo povezujemo bočnu prirubnicu motora. Nakon što se spoji prirubnica za oba motora, kao što je prikazano na slici 9, koristimo dva komada ugljikovih šipki promjera 2 mm za povezivanje šasije i lijeve/desne hodne konstrukcije. To se događa u FIg.10. Za povezivanje ovih cjelina koristimo ukupno 3 komada karbonskih šipki. Ali u ovom koraku spajamo samo dva od ovih, jer moramo okrenuti ručicu i postaviti spoj između prirubnice i ručice. Ako su postavljena 3 komada karbonskih šipki, bit će teže podesiti relativni položaj i spojiti ih. Konačno, imamo konačno sastavljeni mehanički sustav, na slici 11. Sljedeći korak, poradimo na elektronici.

Korak 3: Električna veza

Električna veza
Električna veza
Električna veza
Električna veza
Električna veza
Električna veza

Svi elektronički sustavi trebaju napajanje. 1-ćelijsku bateriju možemo staviti negdje prikladno, na primjer, ispod ploče na slici 1. Polaritet napajanja toliko je kritičan da zaslužuje posebnu brojku za raspravu. Slika 2 prikazuje priključak 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 dioda koja prikazuje "ponovno punjenje u tijeku" automatski će se isključiti kada se baterija ponovno 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 s PWM12, a desni motor na srednji konektor. Trenutno je okretanje spremnika (vozila s diferencijalnim upravljanjem) ulijevo strogo kodirano kao smanjenje ulazne snage motora spojenog na priključak motora PWM12. Stoga bi motor spojen na priključak PWM12 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, Strandbeest se pomiče prema natrag kada mu se naredi da se kreće prema naprijed, okrećući pogrešan smjer, imajte na umu da istosmjerni motor mijenja smjer okretanja ako je ulazna žica spojeno 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

Najprije preuzimamo android aplikaciju iz trgovine Google Play, pogledajte sliku 1. Ova aplikacija ima mnogo drugih funkcija koje ne možemo pokriti u ovom uputstvu, usredotočit ć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. Žive u aplikaciji. U nekim kasnijim uputama pokazat ćemo kako ih zamjenjujemo našim programima Python/Java. 2) neka se postavka šalje hardveru kao dio kontrolnog protokola u zraku, poput prebacivanja između izravne kontrole (servo okreće točno zadani kut) i let preko žičane kontrole (ugrađeni autonomni funkcijski modul upravljača upravlja servo kanal prema korisničkoj naredbi i trenutnom stavu) 3) neke će postavke biti poslane u trajnu memoriju u hardverskom kontroleru. Stoga će hardver slijediti ove postavke svaki put kad se uključi bez da je konfiguriran. Primjer će biti naziv Bluetooth emitiranja uređaja. Za ovakve postavke potreban je ciklus napajanja da bi stupio na snagu. Prva kategorija u koju smo zaronili su "Opće postavke" na slici 4. "Funkcija kontrole aplikacije" na slici 5 definira kakvu ulogu ima ova aplikacija, kontroler hardverskog uređaja putem izravne 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 “spremnik”. Imamo ukupno 6 izlaza PWM na raspolaganju. 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: istosmjerni motora ili nekog drugog električnog uređaja, može raditi u radnom ciklusu, 0% je isključeno, 100% 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 brinemo se 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 koriste se za upravljanje oba povezana kanala. Uvodi se potreba za ponovnim preslikavanjem kontrole gasa, kontrole gore-dolje upravljačke palice sa zadanog kanala 2 u kanal 3. To se postiže u postavkama Sl.10. Kao što je prikazano na slici 11, svaki kanal je konfiguriran da uzima jedan proizvoljan ulazni izvor.

Bingo, sada smo dovrš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 joystick i možemo se zabaviti s 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 retku označenom s "RPY (deg)", četiri unosa u ovom retku 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 uputama postupno ćemo obraditi njegovo programsko sučelje, izabrati vaš omiljeni jezik Java ili Python za interakciju sa Strandbeestom i više nećemo čitati status strandbeesta s ekrana mobilnog telefona. Također ćemo započeti programiranje na linux računalu tipa RaspberryPi za naprednije teme programiranja, pogledajte posljednju 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 započ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čeni: