Kazalo:
- Korak: Orodja in materiali
- 2. korak: Zgradite ga
- 3. korak: Pripravite programsko opremo
- 4. korak: Rešite Rubikovo kocko
- 5. korak: izvorna koda
Video: Projekt BricKuber - robot za reševanje kock Raspberry Pi Rubiks: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
BricKuber lahko reši Rubikovo kocko v približno 2 minutah.
BricKuber je odprtokodni Robikov robot za reševanje kock, ki ga lahko zgradite sami
Želeli smo z Raspberry Pi zgraditi robota za reševanje kock Rubiksa. Namesto hitrosti smo se lotili preprostosti: če imate Raspberry Pi, komplet BrickPi in standardni komplet LEGO Mindstorms EV3 ali NXT, bi morali zlahka slediti našim stopinjam. Programska oprema je napisana v programskem jeziku Python. Vse izvorne kode na Githubu si lahko ogledate tukaj.
Ozadje Rubikova kocka se je pred kratkim začela vračati. Izumljena leta 1974, je najbolje prodajana igrača na svetu. Toda njihovo reševanje zahteva razmišljanje, trud in spretnost… zakaj torej ne bi dovolili robotu? V tem projektu jemljemo Raspberry Pi, BrickPi in niz LEGO Mindstorms ter izdelamo robota za reševanje Rubikove kocke. Preprosto postavite nerešeno Rubikovo kocko v reševalnik, zaženite program python in vaša Rubikova kocka je rešena! Projekt uporablja Pi za neposredno reševanje Rubikove kocke. BrickPi3 posname nerešeno Rubikovo kocko, Raspberry Pi pa fotografira vsako stran Rubikove kocke s kamero Raspberry Pi. Pi ustvari besedilni zemljevid barvnih kvadratov, ki prikazuje, kje se nahajajo na kocki. Ko v celoti preslika kocko, Pi uporablja knjižnico python "kociemba" za preslikavo potez, potrebnih za reševanje Rubikove kocke. Te podatke vzamejo Pi in BrickPi3 za reševanje Rubikove kocke z motorji LEGO. Rezultat: rešena Rubikova kocka.
Korak: Orodja in materiali
- BrickPi3 - BrickPi bomo uporabili za krmiljenje motorjev LEGO, ki rešujejo Rubikovo reševalno kocko.
- Raspberry Pi - Pi bo obdelal, fotografiral in poveljeval BrickPi.
- Raspberry Pi Camera - Pi Camera bo posnela nerešeno kocko Rubiks.
- Ethernetni kabel - naprava mora biti povezana z internetom. Če želite to narediti prek wifija, je tudi to v redu!
- Kartica SD Raspbian za robote - programska oprema, ki poganja Raspberry Pi. To vključuje večino programske opreme, potrebne za to vadnico. Prav tako lahko brezplačno prenesete programsko opremo.
- Komplet LEGO Mindstorms EV3 (31313) - Potrebovali boste kup LEGO in dva velika motorja ter en servo motor in ultrazvočni senzor.
- Rubikova kocka - našli smo takšno, ki se tukaj vrti precej svobodno. Lahko pa uporabite skoraj vsako Rubikovo kocko 9x9x9.
2. korak: Zgradite ga
Izdelava reševalca
Ta zasnova je bila navdihnjena z zasnovo MindCub3r za LEGO EV3. Če želite zgraditi BricKuber, začnite z izgradnjo MindCub3r. Celotna navodila za gradnjo LEGO najdete tukaj.
Zasnova rešilca kocke Rubiks ima tri glavne premične dele. Prva je zibelka za držanje Rubikove kocke. Drugi je mešalnik, roka, ki se uporablja za obračanje Rubikove kocke.
Na koncu dodamo roko kamere. V prvotni zasnovi podjetja MindCubr je to držalo barvni senzor EV3 nad Rubikovo kocko. V naši spremenjeni zasnovi drži kamero Raspberry Pi nad Rubikovo kocko. Za manipulacijo s kocko uporabljamo dva motorja LEGO Mindstorms: prvi sedi pod zibelko za vrtenje kocke, drugi pa premakne roko za mešanje, da kocko zavrti na nasprotni osi.
Sestavite BrickPi3
Navodila za montažo BrickPi3 najdete tukaj. Ohišje bomo morali sestaviti, pritrditi BrickPi3, Raspberry Pi, kamero Raspberry Pi, dodati kartico SD in dodati baterije. Za lažjo nastavitev programske opreme je Raspbian for Robots opremljen z večino programske opreme, ki jo potrebujete. Potrebovali boste vsaj 8 GB kartico SD in želeli boste razširiti disk, da bo ustrezal polni velikosti kartice SD.
Pritrdite BrickPi3
V sklop LEGO dodamo BrickPi3. Uporabili smo "krila" LEGO EV3 za podporo BrickPi3 in ga poravnali s telesom BricKuber. To je dober korak, da v napajalnik dodate baterije 8XAA in napajalnik BrickPi3 pritrdite na sklop LEGO. Za programiranje lahko napajate BrickPi3 prek napajanja USB na Raspberry Pi, vendar za premikanje motorjev boste morali napajati z napajalnikom.
Motorje priključite na BrickPi3
Motor mešalnika pritrdite na vrata motorja "MD". Motor zibelke pritrdite na vrata “MA” na BrickPi3. Motor senzorja kamere pritrdite na vrata "MC" (to je manjši servo podoben motor). Čeprav kamere ne bomo premaknili, boste morda želeli prilagoditi lokacijo kamere z motorji.
Pritrdite kamero Raspberry Pi
S podporo za kamero LEGO pritrdite kamero. Majhna črna leča fotoaparata mora stati med dvema nosilcema LEGO žarkov. Kamero pritrdite na nosilce LEGO z nekaj električnega traku. To je pravi čas, da se prepričate, da je kamera v položaju, da lahko zajame celotno Rubikovo kocko. Z ukazom raspistill lahko posnamete preskusno sliko
raspistill -o cam.jpg
Preverite, ali je kocka dobro centrirana na sredini slike.
3. korak: Pripravite programsko opremo
Uporabite lahko katero koli različico Raspbiana ali Raspbiana za robote, naše slike po meri, ki prihaja z že nameščenim BrickPi3. Če uporabljate standardno različico Raspbiana, lahko knjižnice BrickPi3 namestite z ukazom
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Ta korak bo namestil vse knjižnice, potrebne za zagon programa BrickPi3 na vaši podobi Raspbian. Ta korak preskočite, če uporabljate Raspbian za robote: BrickPi3 je že nameščen.
Končno namestite vse odvisnosti projekta z ukazom:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Za ta korak bo treba vaš BrickPi3 povezati z internetom. Projekt je odvisen od številnih knjižnic, vključno z nekaterimi ključnimi od Daniel Walton (@dwalton76) na Githubu, ki se uporabljajo za reševanje Rubikove kocke.
4. korak: Rešite Rubikovo kocko
Nerazrešeno Rubikovo kocko položite v zibelko. Zaženite ukaz
sudo python ~/Dexter/BrickPi3/Projekti/BricKuber/BricKuber.py
Robot bo obrnil kocko na vsak obraz in kamera bo posnela 6 slik, po eno z vsake strani kocke. Raspberry Pi bo iz šestih slik določil konfiguracijo kocke. Konfiguracija kocke bo posredovana knjižnici kociemba Python, da bi našli učinkovito rešitev. Končno bo robot izvedel poteze za rešitev Rubikove kocke!
5. korak: izvorna koda
Vso izvorno kodo za BricKuber najdete v našem odprtokodnem repoju github tukaj.
Ta projekt uporablja naslednje programske pakete, ki jih namesti ukaz
Priporočena:
Popolnoma IR prilagodljiv elektronski komplet osmih kock: 14 korakov (s slikami)
Popolnoma IR prilagodljiv elektronski komplet osmih kock: V sodelovanju z J. Arturo Espejel Báez.Zdaj lahko imate do 8 kock od 2 do 999 obrazov v ohišju s premerom 42 mm in višino 16 mm! Igrajte svoje najljubše družabne igre s tem nastavljivim žepnim elektronskim kompletom kock! Ta projekt je sestavljen iz
E -kocke - Arduino kocke/kocke 1 do 6 kock + D4, D5, D8, D10, D12, D20, D24 in D30: 6 korakov (s slikami)
E -kocke - Arduino Die/kocke 1 do 6 Kocke + D4, D5, D8, D10, D12, D20, D24 in D30: To je preprost projekt arduino za izdelavo elektronske matrice. Možno je izbrati za 1 do 6 kock ali 1 od 8 posebnih kock. Izbira je preprosta z obračanjem vrtljivega dajalnika. To so lastnosti: 1 matrica: prikaz velikih pik 2-6 kock: prikaz pik
Mega koračni ščit Arduino za reševalec kock Rubiks: 4 koraki
Arduino Mega koračni ščit za reševalca kock Rubiks: Pred časom sem delal na stroju, ki samodejno reši vse umešane kocke Rubiks 3x3 3x3. Moje napotke o tem si lahko ogledate tukaj. V projektu so bili koračni gonilniki iz polulu uporabljeni za pogon šestih motorjev. Če želite dva povezati ta d
Projekt kock maline PI: 6 korakov
Projekt Raspberry PI Dice: Lep mali spajkalni projekt, ki je bil nekoč zaključen z vajo programiranja Raspberry PI. Zaradi koronavirusa smo zaprti, zato je to poskus domačega šolanja in zaposlovanja mojega 10 -letnega sina. To je lep majhen projekt
Generator kock: 12 korakov (s slikami)
Generator kock: Ta navodila so za moj večji projekt, ki sem ga zaključil v okviru svojega tečaja o sistemih in kontrolah IGCSE. Prejel je oceno A* in vodil vas bom skozi to, kako to narediti v tem navodilu. Dostojno znanje o elektroniki in pričakovanja