Cuprins:
- Pasul 1: Instrumente și materiale
- Pasul 2: Construiește-l
- Pasul 3: Pregătiți software-ul
- Pasul 4: rezolvați un cub Rubik
- Pasul 5: Codul sursă
Video: Proiectul BricKuber - un robot de rezolvare a cubului Raspberry Pi Rubiks: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
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
- 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
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
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:
Arduino - Robot de rezolvare labirint (MicroMouse) Robot următor de perete: 6 pași (cu imagini)
Arduino | Robot de rezolvare labirint (MicroMouse) Robot de perete: Bine ați venit, sunt Isaac și acesta este primul meu robot "Striker v1.0". Acest robot a fost conceput pentru a rezolva un labirint simplu. În competiție am avut două labirinturi și robotul a reușit să le identifice. Orice alte schimbări în labirint pot necesita o schimbare în
Cum să adăugați un afișaj cu cerneală electronică la proiectul dvs.: 12 pași (cu imagini)
Cum să adăugați un afișaj cu cerneală electronică la proiectul dvs.: o mulțime de proiecte implică monitorizarea unui anumit tip de date, cum ar fi datele de mediu, folosind adesea un Arduino pentru control. În cazul meu, am vrut să monitorizez nivelul sării din dedurizatorul meu de apă. Poate doriți să accesați datele prin rețeaua dvs. de domiciliu
Masă de capăt a cubului infinit reactiv cu sunet LED: 6 pași (cu imagini)
Sunet LED reactiv Infinity Cube Tabel final: Uau! Vai! Ce efect mișto! - Acestea sunt câteva dintre lucrurile pe care le veți auzi la finalizarea ghidului. Un cub infinit complet minunat, frumos, hipnotic, reactiv la sunet. Acesta este un proiect de lipire modest avansat, mi-a luat aproximativ 12 oameni
Robot de rezolvare a labirintului intuitiv: 3 pași
Robot de rezolvare a labirintului intuitiv: în acest instructiv veți învăța cum să creați un robot de rezolvare a labirintelor care rezolvă labirintele trase de oameni. În timp ce majoritatea roboților rezolvă primul tip de labirinturi trase (trebuie să urmați liniile, acestea sunt căi), oameni normali tind să atragă al doilea fel de labirint
Faceți o pedală pentru rotirea cubului Linux: 11 pași
Faceți o pedală pentru rotirea cubului Linux: recent am postat un instructable despre un footswitch pentru a ascunde toate ferestrele din Windows XP, dar îmi petrec cea mai mare parte a timpului în Linux programând site-uri web drupal, așa că am făcut ca acesta să fie folosit " lucrează și " = P Zilele trecute am găsit un vechi unus