Sommario:
- Passaggio 1: strumenti e materiali
- Passaggio 2: costruiscilo
- Passaggio 3: preparare il software
- Passaggio 4: risolvi un cubo di Rubik
- Passaggio 5: Il codice sorgente
Video: Progetto BricKuber: un robot per risolvere il cubo di Rubik Raspberry Pi: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Il BricKuber può risolvere un cubo di Rubik in meno di 2 minuti.
Il BricKuber è un robot per la risoluzione del cubo di Rubik open source che puoi costruire da solo
Volevamo costruire un robot per la risoluzione del cubo di Rubik con il Raspberry Pi. Piuttosto che andare per la velocità, siamo andati con semplicità: se hai un Raspberry Pi, un kit BrickPi e un kit LEGO Mindstorms EV3 o NXT standard, dovresti essere in grado di seguire facilmente le nostre orme. Il software è scritto nel linguaggio di programmazione Python. Puoi vedere tutto il codice sorgente su Github qui.
Contesto Il cubo di Rubik ha recentemente iniziato a fare ritorno. Inventato nel 1974, è il giocattolo più venduto al mondo. Ma risolverli richiede pensiero, sforzo e abilità… quindi perché non lasciare che un robot lo faccia? In questo progetto, prendiamo un Raspberry Pi, un BrickPi e un set di LEGO Mindstorms e costruiamo un robot per risolvere il cubo di Rubik. Posiziona semplicemente un cubo di Rubik irrisolto nel risolutore, esegui il programma Python e il tuo cubo di Rubik è risolto! Il progetto utilizza il Pi per risolvere direttamente il cubo di Rubik. Il BrickPi3 prende il cubo di Rubik irrisolto e il Raspberry Pi scatta una foto di ciascun lato del cubo di Rubik con la fotocamera Raspberry Pi. Il Pi crea una mappa di testo dei quadrati colorati che mostra dove si trovano sul cubo. Quando ha mappato completamente il cubo, il Pi usa la libreria Python "kociemba" per mappare le mosse necessarie per risolvere il cubo di Rubik. Queste informazioni vengono prese da Pi e BrickPi3 per risolvere il cubo di Rubik utilizzando i motori LEGO. Il risultato: un cubo di Rubik risolto.
Passaggio 1: strumenti e materiali
- BrickPi3 – Useremo il BrickPi per controllare i motori LEGO che risolvono il risolutore del cubo di Rubik.
- Raspberry Pi: il Pi eseguirà l'elaborazione, scatterà foto e comanderà il BrickPi.
- Fotocamera Raspberry Pi: la fotocamera Pi scatterà una foto del cubo di Rubik irrisolto.
- Cavo Ethernet: è necessario che la macchina sia connessa a Internet. Se vuoi farlo tramite Wi-Fi, va bene anche questo!
- Scheda SD Raspbian for Robots: il software che esegue il Raspberry Pi. Questo viene fornito con la maggior parte del software necessario per questo tutorial. Puoi anche scaricare il software gratuitamente.
- Kit LEGO Mindstorms EV3 (31313) – Avrai bisogno di una pila di LEGO e due grandi motori, un servomotore e il sensore a ultrasuoni.
- Un cubo di Rubik – Ne abbiamo trovato uno che gira abbastanza liberamente qui. Tuttavia, puoi usare praticamente qualsiasi cubo di Rubik 9x9x9.
Passaggio 2: costruiscilo
Costruire il Risolutore
Questo design è stato ispirato dal design MindCub3r per LEGO EV3. Per creare BricKuber, inizia con la creazione di MindCub3r. Le istruzioni complete per la costruzione LEGO sono disponibili qui.
Il design del risolutore del cubo di Rubik ha tre parti mobili principali. La prima è una culla per contenere il cubo di Rubik. Il secondo è lo shuffler, un braccio che viene utilizzato per capovolgere il cubo di Rubik.
Infine, aggiungiamo un braccio della fotocamera. Nel design originale di MindCubr, questo teneva il sensore di colore EV3 sopra il cubo di Rubik. Nel nostro design modificato, tiene una fotocamera Raspberry Pi sul cubo di Rubik. Usiamo due motori LEGO Mindstorms per manipolare il cubo: il primo si trova sotto la culla per ruotare il cubo, e il secondo muove il braccio del mescolatore per far girare il cubo su un asse opposto.
Assemblare il BrickPi3
Puoi trovare le istruzioni di montaggio per BrickPi3 qui. Avremo bisogno di assemblare la custodia, collegare il BrickPi3, il Raspberry Pi, la fotocamera Raspberry Pi, aggiungere una scheda SD e aggiungere le batterie. Per semplificare la configurazione del software, Raspbian for Robots viene fornito con la maggior parte del software di cui avrai bisogno già configurato. Avrai bisogno di almeno una scheda SD da 8 GB e vorrai espandere il disco per adattarlo all'intera dimensione della scheda SD.
Attacca il BrickPi3
Aggiungiamo il BrickPi3 all'assieme LEGO. Abbiamo usato le "ali" LEGO EV3 per supportare il BrickPi3 e renderlo a livello con il corpo del BricKuber. Questo è un buon passo per aggiungere batterie 8XAA all'alimentatore e collegare l'alimentatore BrickPi3 all'assieme LEGO. Per la programmazione è possibile alimentare il BrickPi3 tramite alimentazione USB al Raspberry Pi, tuttavia per spostare i motori sarà necessario fornire alimentazione con il Power Pack.
Collega i motori al BrickPi3
Collegare il motore Shuffler alla porta del motore "MD". Collega il motore della culla alla porta “MA” del BrickPi3. Collegare il motore del sensore della fotocamera alla porta "MC" (questo è il motore più piccolo simile a un servo). Anche se non sposteremo la videocamera, potresti voler regolare la posizione della videocamera utilizzando i motori.
Collega la fotocamera Raspberry Pi
Utilizzando il supporto per fotocamera LEGO, collega la fotocamera. La piccola lente nera della fotocamera dovrebbe adattarsi tra i due supporti del raggio LEGO. Fissa la fotocamera in posizione ai supporti LEGO con del nastro isolante. Questo è un buon momento per assicurarti che la telecamera sia in posizione per poter catturare l'intero cubo di Rubik. Puoi fare una foto di prova con il comando raspistill
raspistill -o cam.jpg
Controlla che il cubo sia ben centrato al centro dell'immagine.
Passaggio 3: preparare il software
Puoi utilizzare qualsiasi versione di Raspbian o Raspbian for Robots, la nostra immagine personalizzata fornita con BrickPi3 già installato. Se utilizzi una versione standard di Raspbian, puoi installare le librerie BrickPi3 utilizzando il comando
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Questo passaggio installerà tutte le librerie necessarie per eseguire BrickPi3 sulla tua immagine Raspbian. Salta questo passaggio se stai utilizzando Raspbian for Robots: BrickPi3 è già installato.
Infine, installa tutte le dipendenze del progetto usando il comando:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Per questo passaggio il tuo BrickPi3 dovrà essere connesso a Internet. Ci sono un certo numero di librerie da cui dipende il progetto, incluse alcune cruciali di Daniel Walton (@dwalton76) su Github, che vengono utilizzate per risolvere il cubo di Rubik.
Passaggio 4: risolvi un cubo di Rubik
Metti un cubo di Rubik irrisolto nella culla. Esegui il comando
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Il robot girerà il cubo su ogni faccia e la fotocamera scatterà 6 foto, una per ogni lato del cubo. Il Raspberry Pi determinerà la configurazione del cubo dalle sei immagini. La configurazione di Cube verrà passata alla libreria Python di kociemba per trovare una soluzione efficiente. Infine, il robot eseguirà le mosse per risolvere il cubo di Rubik!
Passaggio 5: Il codice sorgente
Tutto il codice sorgente per BricKuber può essere trovato nel nostro repository github open source qui.
Questo progetto utilizza i seguenti pacchetti software installati dal comando
Consigliato:
Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)
Arduino | Robot Maze Solving (MicroMouse) Robot Wall Following: Benvenuto Sono Isaac e questo è il mio primo robot "Striker v1.0".Questo Robot è stato progettato per risolvere un semplice Labirinto.Nella competizione avevamo due labirinti e il robot è stato in grado di identificarli. Qualsiasi altro cambiamento nel labirinto potrebbe richiedere un cambiamento nel
Lampada cubo di Rubik wireless con facile inclinazione e cambio colore: 10 passaggi (con immagini)
Lampada cubo di Rubik senza fili che cambia facilmente colore con inclinazione: oggi costruiremo questa fantastica lampada a cubo di Rubik che cambia colore in base a quale lato è rivolto verso l'alto. Il cubo funziona con una piccola batteria LiPo, caricata da un cavo micro-usb standard e, nei miei test, ha una durata della batteria di diversi giorni. Questo
Cubo di Rubik dell'unità flash USB funzionale: 7 passaggi (con immagini)
Chiavetta USB Funzionale Cubo di Rubik: In questo tutorial ti mostrerò come creare la tua chiavetta USB Rubik Puoi vedere il prodotto finito nel seguente video:
Cubo magico o cubo con microcontrollore: 7 passaggi (con immagini)
Cubo magico o cubo microcontrollore: in questo Instructables, ti mostrerò come creare un cubo magico da un microcontrollore difettoso. Questa idea è venuta da quando ho preso il microcontrollore ATmega2560 difettoso da Arduino Mega 2560 e ho creato un cubo .Riguardo all'hardware Magic Cube, ho fatto come
Come risolvere un progetto PCB?: 8 passaggi (con immagini)
Come risolvere un PCB Design?: Ogni volta che progetto un PCB voglio spingere un po' i miei limiti e provare qualcosa che non ho mai provato prima, questa volta volevo aggiungere la possibilità di programmare questa scheda senza programmatore esterno. Ho trovato alcuni convertitori da USB a UART economici chiamati CH