Cuprins:

Proiectul BricKuber - un robot de rezolvare a cubului Raspberry Pi Rubiks: 5 pași (cu imagini)
Proiectul BricKuber - un robot de rezolvare a cubului Raspberry Pi Rubiks: 5 pași (cu imagini)

Video: Proiectul BricKuber - un robot de rezolvare a cubului Raspberry Pi Rubiks: 5 pași (cu imagini)

Video: Proiectul BricKuber - un robot de rezolvare a cubului Raspberry Pi Rubiks: 5 pași (cu imagini)
Video: RubiKON HCC 2024, Decembrie
Anonim
Image
Image

BricKuber poate rezolva un cub Rubik în aproximativ mai puțin de 2 minute.

BricKuber este un robot open source Rubik de rezolvare a cuburilor pe care îl poți construi singur

Am vrut să construim un robot Rubiks de rezolvare a cuburilor cu Raspberry Pi. În loc să mergem pentru viteză, am mers cu simplitate: dacă aveți un Raspberry Pi, un kit BrickPi și un kit standard LEGO Mindstorms EV3 sau NXT, ar trebui să puteți urmări cu ușurință urmele noastre. Software-ul este scris în limbajul de programare Python. Puteți vedea tot codul sursă pe Github aici.

Fundal Cubul Rubik a început recent să revină. Inventată în 1974, este cea mai bine vândută jucărie din lume. Dar rezolvarea lor necesită gând, efort și abilitate… deci de ce să nu lăsați un robot să o facă? În acest proiect, luăm un Raspberry Pi, un BrickPi și un set de LEGO Mindstorms și construim un robot de rezolvare a cubului Rubik. Pur și simplu așezați un cub Rubik nerezolvat în rezolvator, rulați programul Python, iar cubul dvs. Rubik este rezolvat! Proiectul utilizează Pi pentru a rezolva direct cubul Rubik. BrickPi3 preia cubul Rubik nerezolvat, iar Raspberry Pi face o poză cu fiecare parte a cubului Rubik cu camera Raspberry Pi. Pi creează o hartă text a pătratelor de culoare care arată unde sunt situate pe cub. Când a cartografiat complet cubul, Pi utilizează biblioteca python „kociemba” pentru a cartografia mișcările necesare pentru rezolvarea cubului Rubik. Aceste informații sunt preluate de Pi și BrickPi3 pentru a rezolva cubul Rubik folosind motoarele LEGO. Rezultatul: un cub Rubik rezolvat.

Pasul 1: Instrumente și materiale

Construieste
Construieste
  • BrickPi3 - Vom folosi BrickPi pentru a controla motoarele LEGO care rezolvă soluția cubului Rubik.
  • Raspberry Pi - Pi va face procesarea, va face fotografii și va comanda BrickPi.
  • Camera Raspberry Pi - Camera Pi va face o fotografie a cubului Rubiks nerezolvat.
  • Cablu Ethernet - Veți avea nevoie ca aparatul dvs. să fie conectat la internet. Dacă doriți să faceți acest lucru prin Wi-Fi, este bine și!
  • Card SD Raspbian for Robots - Software-ul care rulează Raspberry Pi. Aceasta vine cu majoritatea software-ului necesar acestui tutorial. De asemenea, puteți descărca software-ul gratuit.
  • Set LEGO Mindstorms EV3 (31313) - Veți avea nevoie de o grămadă de LEGO și două motoare mari, un servomotor și senzorul cu ultrasunete.
  • Un cub Rubik - Am găsit unul care se învârte destul de liber aici. Cu toate acestea, puteți utiliza aproape orice cub Rubik’s de 9x9x9.

Pasul 2: Construiește-l

Construieste
Construieste
Construieste
Construieste

Construirea Solverului

Acest design a fost inspirat de designul MindCub3r pentru LEGO EV3. Pentru a construi BricKuber, începeți prin a construi MindCub3r. Instrucțiunile complete de construcție LEGO pot fi găsite aici.

Designul de rezolvare a cubului Rubiks are trei părți mobile majore. Primul este un leagăn pentru a ține cubul Rubik. Al doilea este shuffler, un braț care este folosit pentru a răsturna cubul Rubik.

În cele din urmă, adăugăm un braț pentru cameră. În designul original de MindCubr, acesta a ținut senzorul de culoare EV3 peste cubul Rubik. În designul nostru modificat, acesta deține o cameră Raspberry Pi deasupra cubului Rubik. Folosim două motoare LEGO Mindstorms pentru a manipula cubul: primul se află sub leagăn pentru a roti cubul, iar al doilea mișcă brațul shuffler pentru a roti cubul pe o axă opusă.

Asamblați BrickPi3

Puteți găsi instrucțiuni de asamblare pentru BrickPi3 aici. Va trebui să asamblăm carcasa, să atașăm BrickPi3, Raspberry Pi, camera Raspberry Pi, adăugăm un card SD și adăugăm baterii. Pentru a facilita configurarea software-ului, Raspbian for Robots vine cu majoritatea software-ului de care veți avea nevoie deja de configurare. Veți avea nevoie de cel puțin un card SD de 8 GB și veți dori să extindeți discul pentru a se potrivi cu dimensiunea completă a cardului SD.

Atașați BrickPi3

Adăugăm BrickPi3 la ansamblul LEGO. Am folosit „aripile” LEGO EV3 pentru a sprijini BrickPi3 și a-l aduce la nivelul corpului BricKuber. Acesta este un pas bun pentru a adăuga baterii 8XAA la pachetul de alimentare și a atașa pachetul de alimentare BrickPi3 la ansamblul LEGO. Pentru programare, puteți alimenta BrickPi3 prin USB pe Raspberry Pi, cu toate acestea, pentru a muta motoarele, va trebui să alimentați cu Power Pack.

Conectați motoarele la BrickPi3

Atașați motorul Shuffler la portul motorului „MD”. Atașați motorul suportului la portul „MA” de pe BrickPi3. Atașați motorul senzorului camerei la portul „MC” (acesta este motorul mai mic de tip servo). Chiar dacă nu vom muta camera, poate doriți să reglați locația camerei folosind motoarele.

Atașați camera Raspberry Pi

Folosind suportul LEGO Camera, atașați camera. Micul obiectiv negru al camerei ar trebui să se încadreze între cele două suporturi pentru fascicul LEGO. Asigurați camera în poziție pe suporturile LEGO cu niște benzi electrice. Acesta este un moment bun pentru a vă asigura că camera este poziționată pentru a putea captura întregul cub Rubik. Puteți face o fotografie de test cu comanda raspistill

raspistill -o cam.jpg

Verificați dacă cubul este bine centrat în mijlocul imaginii.

Pasul 3: Pregătiți software-ul

Puteți utiliza orice versiune de Raspbian sau Raspbian pentru roboți, imaginea noastră personalizată care vine cu BrickPi3 deja instalat. Dacă utilizați o versiune standard a Raspbian, puteți instala bibliotecile BrickPi3 folosind comanda

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Acest pas va instala toate bibliotecile necesare pentru a rula BrickPi3 pe Raspbian Image. Omiteți acest pas dacă utilizați Raspbian pentru roboți: BrickPi3 este deja instalat.

În cele din urmă, instalați toate dependențele de proiect utilizând comanda:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash

Pentru acest pas, BrickPi3 va trebui să fie conectat la internet. Există o serie de biblioteci de care depinde proiectul, inclusiv unele esențiale de Daniel Walton (@ dwalton76) pe Github, care sunt folosite pentru a rezolva cubul Rubik.

Pasul 4: rezolvați un cub Rubik

Rezolvă un cub Rubik
Rezolvă un cub Rubik
Rezolvă un cub Rubik
Rezolvă un cub Rubik
Rezolvă un cub Rubik
Rezolvă un cub Rubik

Așezați un cub Rubik nerezolvat în leagăn. Rulați comanda

sudo python ~ / Dexter / BrickPi3 / Projects / BricKuber / BricKuber.py

Robotul va întoarce cubul pe fiecare față și camera va face 6 fotografii, una din fiecare parte a cubului. Raspberry Pi va determina configurația cubului din cele șase imagini. Configurația Cube va fi transmisă bibliotecii kociemba Python pentru a găsi o soluție eficientă. În cele din urmă, robotul va executa mișcările pentru a rezolva Cubul Rubik!

Pasul 5: Codul sursă

Tot codul sursă pentru BricKuber poate fi găsit în repoitul nostru github open source aici.

Acest proiect folosește următoarele pachete software instalate de comandă

Recomandat: