Taula de continguts:
- Pas 1: eines i materials
- Pas 2: construïu-lo
- Pas 3: prepareu el programari
- Pas 4: resol un cub de Rubik
- Pas 5: el codi font
Vídeo: Projecte BricKuber: un robot de resolució de cubs Raspberry Pi Rubiks: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
El BricKuber pot resoldre un cub de Rubik en menys de 2 minuts.
El BricKuber és un robot de resolució de cubs de font obert de Rubik que podeu construir vosaltres mateixos
Volíem construir un robot de resolució de cubs de Rubiks amb el Raspberry Pi. En lloc d’anar a la velocitat, hem anat amb simplicitat: si teniu un Raspberry Pi, un kit BrickPi i un kit LEGO Mindstorms EV3 o NXT estàndard, hauríeu de poder seguir els nostres passos fàcilment. El programari està escrit en el llenguatge de programació Python. Podeu veure tot el codi font a Github aquí.
Antecedents El cub de Rubik ha començat recentment a tornar. Inventat el 1974, és la joguina més venuda al món. Però solucionar-los requereix pensament, esforç i habilitat… Llavors, per què no deixar que un robot ho faci? En aquest projecte, agafem un Raspberry Pi, un BrickPi i un conjunt de LEGO Mindstorms i construïm un robot de resolució de cubs de Rubik. Simplement col·loqueu un cub de Rubik sense resoldre al solucionador, executeu el programa Python i el cub de Rubik estigui resolt. El projecte utilitza el Pi per resoldre directament el cub de Rubik. El BrickPi3 pren el cub de Rubik sense resoldre i el Raspberry Pi fa una foto de cada costat del cub de Rubik amb la càmera Raspberry Pi. El Pi crea un mapa de text dels quadrats de colors que mostra on es troben al cub. Quan ha mapat completament el cub, el Pi utilitza la biblioteca python "kociemba" per traçar els moviments necessaris per resoldre el cub de Rubik. Aquesta informació la prenen Pi i BrickPi3 per resoldre el cub de Rubik mitjançant els motors LEGO. El resultat: un cub de Rubik resolt.
Pas 1: eines i materials
- BrickPi3: farem servir el BrickPi per controlar els motors LEGO que resolen el solucionador de cubs de Rubik.
- Raspberry Pi: el Pi farà el processament, farà fotografies i manarà el BrickPi.
- Càmera Raspberry Pi: la càmera Pi farà una foto del cub Rubiks no resolt.
- Cable Ethernet: necessitareu que el vostre equip estigui connectat a Internet. Si voleu fer-ho per wifi, també està bé.
- Raspbian for Robots SD Card: el programari que executa el Raspberry Pi. Això inclou la majoria del programari necessari per a aquest tutorial. També podeu descarregar el programari de forma gratuïta.
- Kit LEGO Mindstorms EV3 (31313): necessitareu una pila de LEGO, dos motors grans, un servomotor i el sensor d’ultrasons.
- Un cub de Rubik: en vam trobar un que gira amb força llibertat aquí. Podeu utilitzar gairebé qualsevol cub de Rubik de 9x9x9.
Pas 2: construïu-lo
Construint el solucionador
Aquest disseny es va inspirar en el disseny MindCub3r de LEGO EV3. Per construir el BricKuber, comenceu per construir el MindCub3r. Les instruccions de construcció completes de LEGO es poden trobar aquí.
El disseny de solucions de cubs de Rubiks té tres parts mòbils principals. El primer és un bressol per contenir el cub de Rubik. El segon és el shuffler, un braç que s’utilitza per capgirar el cub de Rubik.
Finalment, afegim un braç de càmera. Al disseny original de MindCubr, aquest contenia el sensor de color EV3 sobre el cub de Rubik. En el nostre disseny modificat, té una càmera Raspberry Pi sobre el cub de Rubik. Utilitzem dos motors LEGO Mindstorms per manipular el cub: el primer es troba a sota del bressol per girar el cub i el segon mou el braç de mescla per fer girar el cub en un eix oposat.
Munteu el BrickPi3
Podeu trobar les instruccions de muntatge del BrickPi3 aquí. Haurem de muntar la caixa, connectar el BrickPi3, el Raspberry Pi, la càmera Raspberry Pi, afegir una targeta SD i afegir bateries. Per facilitar la configuració del programari, Raspbian for Robots inclou la majoria del programari que ja necessiteu configurar. Necessitareu almenys una targeta SD de 8 GB i voldreu ampliar el disc perquè s’adapti a la mida completa de la targeta SD.
Connecteu el BrickPi3
Afegim el BrickPi3 al conjunt LEGO. Hem utilitzat les "ales" de LEGO EV3 per donar suport al BrickPi3 i posar-lo al nivell del cos de BricKuber. Aquest és un bon pas per afegir bateries de 8XAA a la bateria i connectar la bateria BrickPi3 al conjunt LEGO. Per programar, podeu alimentar el BrickPi3 mitjançant alimentació USB al Raspberry Pi, però, per moure els motors, haureu de subministrar energia amb el Power Pack.
Connecteu els motors al BrickPi3
Connecteu el motor aleatori al port del motor "MD". Connecteu el motor del bressol al port “MA” del BrickPi3. Connecteu el motor del sensor de la càmera al port “MC” (aquest és el motor més semblant al servo). Tot i que no mourem la càmera, és possible que vulgueu ajustar la ubicació de la càmera mitjançant els motors.
Connecteu la càmera Raspberry Pi
Connecteu la càmera mitjançant el suport de la càmera LEGO. El petit objecte negre de la càmera hauria de cabre entre els dos suports de feix LEGO. Assegureu la càmera al lloc dels suports LEGO amb una mica de cinta elèctrica. Aquest és un bon moment per assegurar-se que la càmera estigui en posició per poder capturar tot el cub de Rubik. Podeu fer una foto de prova amb l'ordre raspistill
raspistill -o cam.jpg
Comproveu que el cub estigui ben centrat al centre de la imatge.
Pas 3: prepareu el programari
Podeu utilitzar qualsevol versió de Raspbian o Raspbian for Robots, la nostra imatge personalitzada que inclou el BrickPi3 ja instal·lat. Si utilitzeu una versió estàndard de Raspbian, podeu instal·lar les biblioteques BrickPi3 mitjançant l'ordre
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Aquest pas instal·larà totes les biblioteques necessàries per executar el BrickPi3 a la vostra imatge Raspbian. Omet aquest pas si fas servir Raspbian per a robots: el BrickPi3 ja està instal·lat.
Finalment, instal·leu totes les dependències del projecte mitjançant l'ordre:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Per a aquest pas, el vostre BrickPi3 haurà d'estar connectat a Internet. Hi ha diverses biblioteques de què depèn el projecte, incloses algunes de crucials de Daniel Walton (@ dwalton76) a Github, que s’utilitzen per resoldre el cub de Rubik.
Pas 4: resol un cub de Rubik
Col·loqueu un cub de Rubik sense resoldre al bressol. Executeu l'ordre
sudo python ~ / Dexter / BrickPi3 / Projects / BricKuber / BricKuber.py
El robot girarà el cub cap a cada cara i la càmera farà 6 fotografies, una de cada costat del cub. El Raspberry Pi determinarà la configuració del cub a partir de les sis imatges. La configuració del cub es passarà a la biblioteca kociemba Python per trobar una solució eficient. Finalment, el robot executarà els moviments per resoldre el cub de Rubik.
Pas 5: el codi font
Podeu trobar tot el codi font del BricKuber al nostre repositori github de codi obert aquí.
Aquest projecte utilitza els següents paquets de programari instal·lats per l'ordre
Recomanat:
Comptador de freqüències d'alta resolució: 5 passos (amb imatges)
Comptador de freqüències d'alta resolució: aquest instructiu mostra un comptador de freqüències recíproc capaç de mesurar freqüències ràpides i amb una precisió raonable. Es fabrica amb components estàndard i es pot fer en un cap de setmana (he trigat una mica més :-)) EDITAR: El codi ja està disponible
Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)
Q-Bot: el solucionador de cubs de codi obert de Rubik: imagineu-vos que teniu un cub de Rubik remenat, ja sabeu que el trencaclosques dels anys 80 té tothom, però ningú no sap resoldre-ho i voleu tornar-lo al patró original. Per sort, avui en dia és molt fàcil trobar instruccions per resoldre
Escut Mega Stepper Arduino per a un solucionador de cubs de Rubiks: 4 passos
Arduino Mega Stepper Shield per a un solucionador de cubs Rubiks: Fa un temps treballava en una màquina que resolia automàticament qualsevol cub Rubiks 3x3 remenat. Podeu veure els meus instructius aquí. En el projecte, es van utilitzar controladors pas a pas de Polulu per conduir sis motors. Per tal de fer dos connectar aquests d
Cubs i formes de cartró 1: 4 passos (amb imatges)
Cubs i formes de cartró 1: mentre experimentava amb alguns pinxos i cartró de fusta, vaig trobar algunes maneres de fer cubs i altres formes a partir de materials senzills. En publicar-los com a Instructables, espero promoure un joc i un aprenentatge constructius. Variacions en aquesta instrucció
Pantalla LED de cubs: 9 passos (amb imatges)
Pantalla de cubs LED: en aquest projecte, construireu un cub LED de 8x8x8 com a pantalla. Després de construir el cub i aprendre els conceptes bàsics del codi, podreu escriure les vostres pròpies animacions de visualització. És un gran visual amb finalitats científiques i serà un bonic decoratiu