Tabla de contenido:
- Paso 1: herramientas y materiales
- Paso 2: Constrúyelo
- Paso 3: preparar el software
- Paso 4: resuelve un cubo de Rubik
- Paso 5: el código fuente
Video: Proyecto BricKuber: un robot de resolución de cubos Rubiks de Raspberry Pi: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
El BricKuber puede resolver un cubo de Rubik en menos de 2 minutos.
El BricKuber es un robot de resolución de cubos de Rubik de código abierto que puede construir usted mismo
Queríamos construir un robot de resolución de cubos Rubiks con la Raspberry Pi. En lugar de apostar por la velocidad, optamos por la simplicidad: si tiene una Raspberry Pi, un kit BrickPi y un kit LEGO Mindstorms EV3 o NXT estándar, debería poder seguir fácilmente nuestros pasos. El software está escrito en el lenguaje de programación Python. Puedes ver todo el código fuente en Github aquí.
Antecedentes El cubo de Rubik ha comenzado a reaparecer recientemente. Inventado en 1974, es el juguete más vendido del mundo. Pero resolverlos requiere pensamiento, esfuerzo y habilidad… Entonces, ¿por qué no dejar que lo haga un robot? En este proyecto, tomamos una Raspberry Pi, un BrickPi y un conjunto de LEGO Mindstorms y construimos un robot de resolución de cubos de Rubik. Simplemente coloque un cubo de Rubik sin resolver en el solucionador, ejecute el programa Python y su cubo de Rubik estará resuelto. El proyecto utiliza Pi para resolver directamente el cubo de Rubik. El BrickPi3 toma el cubo de Rubik sin resolver y la Raspberry Pi toma una fotografía de cada lado del cubo de Rubik con la cámara Raspberry Pi. El Pi crea un mapa de texto de los cuadrados de colores que muestra dónde están ubicados en el cubo. Cuando ha mapeado completamente el cubo, Pi usa la biblioteca de python "kociemba" para mapear los movimientos necesarios para resolver el cubo de Rubik. Esta información es tomada por Pi y BrickPi3 para resolver el cubo de Rubik usando los motores LEGO. El resultado: un cubo de Rubik resuelto.
Paso 1: herramientas y materiales
- BrickPi3: usaremos BrickPi para controlar los motores LEGO que resuelven el solucionador de cubos de Rubik.
- Raspberry Pi: el Pi realizará el procesamiento, tomará fotografías y controlará el BrickPi.
- Cámara Raspberry Pi: la cámara Pi tomará una foto del cubo de Rubiks sin resolver.
- Cable Ethernet: necesitará que su máquina esté conectada a Internet. Si quieres hacer esto a través de wifi, ¡también está bien!
- Tarjeta SD Raspbian for Robots: el software que ejecuta Raspberry Pi. Esto viene con la mayor parte del software necesario para este tutorial. También puede descargar el software de forma gratuita.
- Kit LEGO Mindstorms EV3 (31313): necesitarás un montón de LEGO y dos motores grandes, un servomotor y el sensor ultrasónico.
- Un cubo de Rubik: encontramos uno que gira con bastante libertad aquí. Sin embargo, puedes usar casi cualquier cubo de Rubik de 9x9x9.
Paso 2: Constrúyelo
Construyendo el Solver
Este diseño se inspiró en el diseño MindCub3r para LEGO EV3. Para construir BricKuber, comience por construir MindCub3r. Las instrucciones de construcción completas de LEGO se pueden encontrar aquí.
El diseño del solucionador de cubos de Rubiks tiene tres partes móviles principales. El primero es una cuna para sostener el cubo de Rubik. El segundo es el barajador, un brazo que se usa para darle la vuelta al cubo de Rubik.
Finalmente, agregamos un brazo de cámara. En el diseño original de MindCubr, esto sostenía el sensor de color EV3 sobre el cubo de Rubik. En nuestro diseño modificado, sostiene una cámara Raspberry Pi sobre el cubo de Rubik. Usamos dos motores LEGO Mindstorms para manipular el cubo: el primero se coloca debajo de la base para rotar el cubo, y el segundo mueve el brazo barajador para girar el cubo en un eje opuesto.
Ensamble el BrickPi3
Puede encontrar las instrucciones de montaje para BrickPi3 aquí. Necesitaremos armar la carcasa, conectar el BrickPi3, la Raspberry Pi, la cámara Raspberry Pi, agregar una tarjeta SD y agregar baterías. Para que el software sea más fácil de configurar, Raspbian for Robots viene con la mayor parte del software que necesitará ya configurado. Necesitará al menos una tarjeta SD de 8 GB y querrá expandir el disco para que se ajuste al tamaño completo de la tarjeta SD.
Conecte el BrickPi3
Agregamos el BrickPi3 al ensamblaje de LEGO. Usamos las "alas" LEGO EV3 para sostener el BrickPi3 y nivelarlo con el cuerpo de BricKuber. Este es un buen paso para agregar baterías 8XAA al paquete de energía y conectar el paquete de energía BrickPi3 al ensamblaje LEGO. Para la programación, puede alimentar el BrickPi3 a través de la alimentación USB a la Raspberry Pi, sin embargo, para mover los motores, deberá suministrar energía con el Power Pack.
Conecte los motores al BrickPi3
Conecte el motor Shuffler al puerto del motor “MD”. Conecte el motor de la base al puerto "MA" en el BrickPi3. Conecte el motor del sensor de la cámara al puerto "MC" (este es el motor más pequeño similar a un servo). Aunque no moviremos la cámara, es posible que desee ajustar la ubicación de la cámara con los motores.
Conecte la cámara Raspberry Pi
Utilizando el soporte de la cámara LEGO, conecte la cámara. La pequeña lente negra de la cámara debe encajar entre los dos soportes de haz LEGO. Asegure la cámara en su lugar a los soportes LEGO con cinta aislante. Este es un buen momento para asegurarse de que la cámara esté en posición para poder capturar todo el cubo de Rubik. Puede tomar una foto de prueba con el comando raspistill
raspistill -o cam.jpg
Comprueba que el cubo esté bien centrado en el medio de la imagen.
Paso 3: preparar el software
Puede usar cualquier versión de Raspbian o Raspbian for Robots, nuestra imagen personalizada que viene con BrickPi3 ya instalado. Si usa una versión estándar de Raspbian, puede instalar las bibliotecas BrickPi3 usando el comando
sudo curl -kL dexterindustries.com/update_brickpi3 | intento
Este paso instalará todas las bibliotecas necesarias para ejecutar BrickPi3 en su imagen Raspbian. Omita este paso si está utilizando Raspbian for Robots: BrickPi3 ya está instalado.
Finalmente, instale todas las dependencias del proyecto usando el comando:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | intento
Para este paso, su BrickPi3 deberá estar conectado a Internet. Hay una serie de bibliotecas de las que depende el proyecto, incluidas algunas cruciales de Daniel Walton (@ dwalton76) en Github, que se utilizan para resolver el cubo de Rubik.
Paso 4: resuelve un cubo de Rubik
Coloque un cubo de Rubik sin resolver en la base. Ejecuta el comando
sudo python ~ / Dexter / BrickPi3 / Proyectos / BricKuber / BricKuber.py
El robot girará el cubo a cada cara y la cámara tomará 6 fotografías, una de cada lado del Cubo. La Raspberry Pi determinará la configuración del cubo a partir de las seis imágenes. La configuración del cubo se pasará a la biblioteca de Python de kociemba para encontrar una solución eficiente. ¡Finalmente, el robot ejecutará los movimientos para resolver el Cubo de Rubik!
Paso 5: el código fuente
Todo el código fuente de BricKuber se puede encontrar en nuestro repositorio github de código abierto aquí.
Este proyecto utiliza los siguientes paquetes de software instalados por el comando
Recomendado:
Arduino - Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: 6 pasos (con imágenes)
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: Bienvenido, soy Isaac y este es mi primer robot " Striker v1.0 ".Este robot fue diseñado para resolver un laberinto simple.En la competencia teníamos dos laberintos y el robot fue capaz de identificarlos. Cualquier otro cambio en el laberinto puede requerir un cambio en el
Contador de frecuencia de alta resolución: 5 pasos (con imágenes)
Contador de frecuencia de alta resolución: este instructable muestra un contador de frecuencia recíproco capaz de medir frecuencias rápidamente y con una precisión razonable. Está hecho con componentes estándar y se puede hacer en un fin de semana (me tomó un poco más de tiempo :-)) EDITAR: El código ahora está disponible
Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)
Q-Bot: el solucionador de cubos de Rubik de código abierto: imagina que tienes un cubo de Rubik revuelto, conoces ese rompecabezas de los 80 que todo el mundo tiene pero nadie sabe realmente cómo resolverlo y quieres devolverlo a su patrón original. Afortunadamente en estos días es muy fácil encontrar instrucciones de resolución
Arduino Mega Stepper Shield para un solucionador de cubos de Rubiks: 4 pasos
Arduino Mega Stepper Shield para un solucionador de cubos de Rubiks: Hace un tiempo estaba trabajando en una máquina que resuelve automáticamente cualquier cubo de Rubiks 3x3 codificado. Puedes ver mis instrucciones sobre eso aquí. En el proyecto, se utilizaron controladores paso a paso de polulu para impulsar seis motores. Para hacer dos, conectar estos d
Cubos de cartón y formas 1: 4 pasos (con imágenes)
Cubos de cartón y formas 1: mientras experimentaba con algunas brochetas de madera y cartón, encontré algunas formas de hacer cubos y otras formas con materiales simples. Al publicarlos como Instructables, espero promover el juego y el aprendizaje constructivo. Variaciones de esta instrucción