Taula de continguts:

Projecte BricKuber: un robot de resolució de cubs Raspberry Pi Rubiks: 5 passos (amb imatges)
Projecte BricKuber: un robot de resolució de cubs Raspberry Pi Rubiks: 5 passos (amb imatges)

Vídeo: Projecte BricKuber: un robot de resolució de cubs Raspberry Pi Rubiks: 5 passos (amb imatges)

Vídeo: Projecte BricKuber: un robot de resolució de cubs Raspberry Pi Rubiks: 5 passos (amb imatges)
Vídeo: Max's Rubik's Cube Robot 2024, De novembre
Anonim
Image
Image

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

Construeix-ho
Construeix-ho
  • 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

Construeix-ho
Construeix-ho
Construeix-ho
Construeix-ho

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

Resol un cub de Rubik
Resol un cub de Rubik
Resol un cub de Rubik
Resol un cub de Rubik
Resol un cub de Rubik
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: