Índice:
- Etapa 1: Ferramentas e materiais
- Etapa 2: Construa
- Etapa 3: preparar o software
- Etapa 4: Resolva um Cubo de Rubik
- Etapa 5: o código-fonte
Vídeo: Projeto BricKuber - um robô resolvedor de cubos de Raspberry Pi Rubiks: 5 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
O BricKuber pode resolver um cubo de Rubik em cerca de 2 minutos.
O BricKuber é um robô de resolução de cubos de Rubik de código aberto que você mesmo pode construir
Queríamos construir um robô de resolução de cubos Rubiks com o Raspberry Pi. Em vez de ir para a velocidade, optamos pela simplicidade: se você tem um Raspberry Pi, um kit BrickPi e um kit LEGO Mindstorms EV3 ou NXT padrão, você deve ser capaz de seguir facilmente nossos passos. O software é escrito na linguagem de programação Python. Você pode ver todo o código-fonte no Github aqui.
Histórico O cubo de Rubik começou recentemente a fazer um retorno. Inventado em 1974, é o brinquedo mais vendido do mundo. Mas resolvê-los exige pensamento, esforço e habilidade… então por que não deixar um robô fazer isso? Neste projeto, pegamos um Raspberry Pi, um BrickPi e um conjunto de LEGO Mindstorms e construímos um robô de resolução de cubos de Rubik. Basta colocar um cubo de Rubik não resolvido no solucionador, executar o programa python e seu cubo de Rubik estará resolvido! O projeto usa o Pi para resolver diretamente o cubo de Rubik. O BrickPi3 pega o cubo de Rubik não resolvido e o Raspberry Pi tira uma foto de cada lado do cubo de Rubik com a câmera Raspberry Pi. O Pi cria um mapa de texto dos quadrados coloridos que mostra onde eles estão localizados no cubo. Quando tiver mapeado totalmente o cubo, o Pi usa a biblioteca python “kociemba” para mapear os movimentos necessários para resolver o cubo de Rubik. Esta informação é obtida pelo Pi e BrickPi3 para resolver o cubo de Rubik usando os motores LEGO. O resultado: um cubo de Rubik resolvido.
Etapa 1: Ferramentas e materiais
- BrickPi3 - Usaremos o BrickPi para controlar os motores LEGO que resolvem o solucionador de cubos de Rubik.
- Raspberry Pi - O Pi estará fazendo o processamento, tirando fotos e comandando o BrickPi.
- Câmera Raspberry Pi - A câmera Pi irá tirar uma foto do cubo Rubiks não resolvido.
- Cabo Ethernet - você precisará que seu equipamento esteja conectado à Internet. Se você quiser fazer isso por wi-fi, tudo bem também!
- Raspbian for Robots SD Card - O software que executa o Raspberry Pi. Isso vem com a maior parte do software necessário para este tutorial. Você também pode baixar o software gratuitamente.
- Kit LEGO Mindstorms EV3 (31313) - Você precisará de uma pilha de LEGO e dois motores grandes, um servo motor e o sensor ultrassônico.
- Um cubo de Rubik - encontramos um que gira livremente aqui. No entanto, você pode usar praticamente qualquer cubo de Rubik 9x9x9.
Etapa 2: Construa
Construindo o Solver
Este design foi inspirado no design MindCub3r para LEGO EV3. Para construir o BricKuber, comece construindo o MindCub3r. Instruções completas de construção de LEGO podem ser encontradas aqui.
O projeto do solucionador de cubos Rubiks tem três partes móveis principais. O primeiro é um berço para segurar o cubo de Rubik. O segundo é o shuffler, um braço que é usado para virar o cubo de Rubik.
Finalmente, adicionamos um braço para câmera. No design original da MindCubr, ele segurava o sensor de cor EV3 sobre o cubo de Rubik. Em nosso design modificado, ele segura uma câmera Raspberry Pi sobre o cubo de Rubik. Usamos dois motores LEGO Mindstorms para manipular o cubo: o primeiro fica abaixo do berço para girar o cubo e o segundo move o braço do shuffler para girar o cubo em um eixo oposto.
Monte o BrickPi3
Você pode encontrar as instruções de montagem do BrickPi3 aqui. Precisaremos montar a caixa, conectar o BrickPi3, o Raspberry Pi, a câmera Raspberry Pi, adicionar um cartão SD e adicionar baterias. Para tornar o software mais fácil de configurar, Raspbian for Robots vem com a maioria dos softwares que você já precisa configurar. Você precisará de pelo menos um cartão SD de 8 GB e deseja expandir o disco para caber no tamanho total do cartão SD.
Anexe o BrickPi3
Adicionamos o BrickPi3 à montagem do LEGO. Usamos as “asas” do LEGO EV3 para apoiar o BrickPi3 e torná-lo nivelado com o corpo do BricKuber. Este é um bom passo para adicionar baterias 8XAA ao pacote de força e acoplar o bloco de força BrickPi3 ao conjunto LEGO. Para a programação, você pode alimentar o BrickPi3 via USB para o Raspberry Pi, no entanto, para mover os motores, você precisará fornecer energia com o Power Pack.
Conecte os motores ao BrickPi3
Conecte o motor do Shuffler à porta do motor “MD”. Conecte o motor do berço à porta “MA” no BrickPi3. Conecte o motor do sensor da câmera à porta “MC” (este é o menor motor servo). Mesmo que não movamos a câmera, você pode querer ajustar a localização da câmera usando os motores.
Anexe a câmera Raspberry Pi
Usando o suporte da câmera LEGO, conecte a câmera. A pequena lente preta da câmera deve caber entre os dois suportes de feixe LEGO. Prenda a câmera no lugar aos suportes LEGO com um pouco de fita isolante. Este é um bom momento para se certificar de que a câmera está em posição para capturar todo o cubo de Rubik. Você pode tirar uma foto de teste com o comando raspistill
raspistill -o cam.jpg
Verifique se o cubo está bem centrado no meio da imagem.
Etapa 3: preparar o software
Você pode usar qualquer versão do Raspbian ou Raspbian for Robots, nossa imagem personalizada que vem com o BrickPi3 já instalado. Se você usar uma versão padrão do Raspbian, você pode instalar as bibliotecas BrickPi3 usando o comando
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Esta etapa instalará todas as bibliotecas necessárias para executar o BrickPi3 em sua imagem Raspbian. Pule esta etapa se você estiver usando Raspbian for Robots: o BrickPi3 já está instalado.
Por fim, instale todas as dependências do projeto usando o comando:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Para esta etapa, seu BrickPi3 precisará estar conectado à Internet. Há uma série de bibliotecas das quais o projeto depende, incluindo algumas cruciais de Daniel Walton (@ dwalton76) no Github, que são usadas para resolver o cubo de Rubik.
Etapa 4: Resolva um Cubo de Rubik
Coloque um cubo de Rubik não resolvido no berço. Execute o comando
sudo python ~ / Dexter / BrickPi3 / Projects / BricKuber / BricKuber.py
O robô girará o cubo para cada face e a câmera tirará 6 fotos, uma de cada lado do cubo. O Raspberry Pi determinará a configuração do cubo a partir das seis imagens. A configuração do cubo será passada para a biblioteca kociemba Python para encontrar uma solução eficiente. Finalmente, o robô executará os movimentos para resolver o Cubo de Rubik!
Etapa 5: o código-fonte
Todo o código-fonte do BricKuber pode ser encontrado em nosso repositório github de código aberto aqui.
Este projeto usa os seguintes pacotes de software instalados pelo comando
Recomendado:
Cubos de temperatura e umidade em: 5 etapas
Temperatura e umidade Cubesat: Como podemos projetar, construir e programar um modelo de um orbitador de Marte, que irá coletar dados e nos informar sobre aspectos específicos do planeta? Por: Abe, Mason, Jackson e Wyatt
Cubos e formas de papelão 1: 4 etapas (com imagens)
Cubos e formas de papelão 1: Ao experimentar alguns espetos de madeira e papelão, descobri algumas maneiras de fazer cubos e outras formas com materiais simples. Ao publicá-los como Instructables, espero promover a aprendizagem e brincadeiras construtivas. Variações sobre este instruc
Robô de equilíbrio / Robô de 3 rodas / Robô STEM: 8 etapas
Robô de balanceamento / Robô de 3 rodas / Robô STEM: Construímos um robô de balanceamento combinado e de 3 rodas para uso educacional em escolas e programas educacionais após as aulas. O robô é baseado em um Arduino Uno, um escudo personalizado (todos os detalhes de construção fornecidos), um pacote de bateria Li Ion (todos constr
Cubos de LED empilháveis (RGB): 11 etapas
Stack-Able LED Cubes (RGB): Fiz este projeto para o concurso make it glow 2018. A ideia é que seria uma base onde você poderia colocar pequenos cubos de LED em cima e eles acenderiam. Eles iriam ficar juntos com o uso de ímãs
Obtenha o circuito LED RBG em cubos de gelo brilhantes: 4 etapas
Obtenha o circuito de LED RBG em cubos de gelo brilhantes: você já deve ter visto aqueles cubos de gelo brilhantes antes. Eles brilham em cores diferentes e têm muitos modos, mas são bastante caros ($ 4- $ 6 cada) e duram apenas algumas horas. Vou mostrar como extrair o circuito e alimentá-lo com outra fonte