Índice:
- Etapa 1: Componentes
- Etapa 2: Componentes de impressão 3D
- Etapa 3: montagem das cobras
- Etapa 4: circuito
- Etapa 5: Powering the Snake
- Etapa 6: teste se tudo está funcionando
- Etapa 7: Código
- Etapa 8: Escalas Vs Rodas
- Etapa 9: movimento deslizante (cobra de eixo único)
Vídeo: Cobra Robótica Bioinspirada: 16 Passos (com Imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Fiquei inspirado para começar este projeto depois de ver vídeos de pesquisa de cobras robóticas que escalam árvores e enguias robóticas. Esta é minha primeira tentativa de construir robôs usando locomoção em serpentina, mas não será a última! Inscreva-se no YouTube se quiser ver desenvolvimentos futuros.
Abaixo, descrevo a construção de 2 cobras diferentes junto com os arquivos para impressão 3D e uma discussão sobre o código e algoritmos para obter um movimento semelhante ao de uma cobra. Se você deseja continuar aprendendo mais, depois de ler este instrutível, sugiro a leitura dos links na seção de referências na parte inferior da página.
Este instrutível é tecnicamente um 2 em 1, em que explico como fazer 2 versões diferentes de uma cobra robótica. Se você está interessado apenas em construir uma das cobras, ignore as instruções para a outra cobra. Essas 2 cobras diferentes serão doravante referidas usando as seguintes frases de forma intercambiável:
- Cobra de eixo único, cobra 1D ou cobra amarela e preta
- Cobra de eixo duplo, cobra 2D ou cobra branca
Claro que você pode imprimir as cobras em qualquer filamento de cor que desejar. A única diferença entre as duas cobras é que na cobra 2D cada motor é girado 90 graus em relação ao anterior, enquanto na cobra 1D todos os motores estão alinhados em um único eixo.
Um prefácio final é que, embora cada uma das minhas cobras tenha apenas 10 servos, é possível fazer as cobras com mais ou menos servos. Uma coisa a considerar é que com menos servos você obterá menos movimento bem-sucedido, e com mais servos você provavelmente terá mais sucesso com o movimento serpentino, mas você precisará considerar o custo, o consumo de corrente (ver comentários posteriores) e o número de pinos disponível no Arduino. Sinta-se à vontade para alterar o comprimento da cobra; no entanto, lembre-se de que você também precisará alterar o código para compensar essa alteração.
Etapa 1: Componentes
Esta é uma lista de peças para uma única cobra, se você quiser fazer as duas cobras, você precisará dobrar o volume dos componentes.
- 10 servos MG996R *
- Filamento de impressão 3D de 1,75 mm
- 10 rolamentos de esferas, número da peça 608 (eu salvei o meu da borda externa dos botões giratórios Jitterspin fidget)
- 20 pequenos rolamentos de esferas, número da peça r188, para as rodas ** (eu salvei o meu da parte interna dos spinners Jitterspin fidget)
- 40 parafusos Philips 6-32 x 1/2 "(ou similar)
- 8 parafusos mais longos (não tenho um número de peça, mas eles têm o mesmo diâmetro que os parafusos acima)
- Pelo menos 20 peças de zipties de 4 polegadas (depende de quantos você deseja usar)
- 5m cada de fio vermelho e preto calibre 20 ou mais grosso ***
- Fio padrão de calibre 22
- 30 pinos de cabeçalho machos (divididos em 10 lotes de 3)
- Arduino Nano
- Peças impressas em 3D (consulte a próxima seção)
- Alguma forma de energia (consulte a seção: "Ligando a cobra" para mais informações), eu pessoalmente usei uma fonte de alimentação ATX modificada
- Capacitor eletrolítico 1000uF 25V
- Tubo termorretrátil de vários tamanhos, solda, cola e outras ferramentas diversas
* você pode usar outros tipos, mas precisará redesenhar os arquivos 3D para caber em seus servos. Além disso, se você tentar usar servos menores como o sg90, poderá descobrir que eles não são fortes o suficiente (eu não testei isso e caberá a você experimentar).
** você não precisa usar rolamentos de esferas pequenos para as rodas, eu apenas tinha muitos disponíveis. Alternativamente, você pode usar rodas LEGO ou outras rodas de brinquedo.
*** Este fio pode ter até 10 amperes passando por ele, muito fino e a corrente irá derretê-lo. Veja esta página para mais informações.
Etapa 2: Componentes de impressão 3D
Se você estiver fazendo a cobra 1D, imprima essas peças.
Se você estiver fazendo a cobra 2D, imprima essas peças.
Nota importante: a escala pode estar errada! Eu projetei meus componentes no Fusion 360 (em unidades de mm), exportei o projeto como um arquivo.stl para o software MakerBot e o imprimi em uma impressora Qidi Tech (uma versão clone do MakerBot Replicator 2X). Em algum lugar ao longo desse fluxo de trabalho, há um bug e todas as minhas impressões saem muito pequenas. Não consegui identificar a localização do bug, mas tenho uma correção temporária de dimensionar cada impressão para o tamanho de 106% no software MakerBot. Isso corrige o problema.
Diante disso, esteja avisado que se você imprimir os arquivos acima, eles podem ser dimensionados incorretamente. Eu sugiro imprimir apenas uma peça e verificar se ela se encaixa com seu servo MG996R antes de imprimir todas.
Se você imprimir qualquer um dos arquivos, diga-me qual é o resultado: se a impressão for muito pequena, perfeita, muito grande e em quanto por cento. Trabalhando juntos como uma comunidade, podemos solucionar o problema de localização do bug usando diferentes impressoras 3D e divisores.stl. Assim que o problema for resolvido, atualizarei esta seção e os links acima.
Etapa 3: montagem das cobras
O processo de montagem é basicamente o mesmo para as duas versões da cobra. A única diferença é que na cobra 2D cada motor é girado 90 graus em relação ao anterior, enquanto na cobra 1D todos os motores estão alinhados em um único eixo.
Comece desparafusando o servo, guarde os parafusos e remova as peças superior e inferior da moldura de plástico preto, e tome cuidado para não perder nenhuma das engrenagens! Deslize o servo no quadro impresso em 3D, orientado como nas fotos acima. Substitua a parte superior da caixa do servo e aparafuse-a no lugar com quatro parafusos 6-32 1/2 . Guarde a parte inferior da estrutura do servo (caso você queira usá-la novamente em projetos posteriores) e substitua-a pelo 3D caixa impressa, a única diferença é o botão adicional para um rolamento de esferas deslizar. Aparafuse o servo novamente, repita 10 vezes.
IMPORTANTE: Antes de continuar, você deve fazer upload do código para o Arduino e mover cada servo para 90 graus. Deixar de fazer isso pode resultar na quebra de um ou mais servo e / ou quadros impressos em 3D. Se você não tiver certeza de como mover um servo a 90 graus, consulte esta página. Basicamente, conecte o fio vermelho do servo a 5V no Arduino, o fio marrom ao GND e o fio amarelo ao pino digital 9, depois carregue o código no link.
Agora que cada servo está a 90 graus, continue:
Conecte os 10 segmentos inserindo o botão impresso em 3D de uma caixa de servo no orifício de uma segunda peça de segmento e, em seguida, com um pouco de força, empurre o eixo do servo em seu orifício (veja as imagens acima e o vídeo para maior clareza). Se você estiver fazendo a cobra 1D, todos os segmentos devem estar alinhados, se você estiver fazendo a cobra 2D, cada segmento deve ser girado 90 graus em relação ao segmento anterior. Observe que a cauda e a estrutura da cabeça têm apenas metade do comprimento dos outros segmentos, conecte-os, mas não comente as peças em forma de pirâmide antes de terminar a fiação.
Prenda o braço servo em forma de x e aparafuse-o na posição. Deslize o rolamento de esferas sobre o botão impresso em 3D, isso exigirá que aperte suavemente os 2 postes semicirculares juntos. Dependendo da marca do filamento que você usa e da densidade do preenchimento, os postes podem ser muito quebradiços e quebram, não acho que seja esse o caso, mas mesmo assim não use força excessiva. Eu pessoalmente usei o filamento PLA com 10% de preenchimento. Quando o rolamento de esferas estiver ativado, ele deve permanecer travado pelas saliências do botão.
Etapa 4: circuito
O circuito é o mesmo para ambas as cobras robóticas. Durante o processo de fiação, certifique-se de que haja espaço de fiação suficiente para que cada segmento gire completamente, especialmente na cobra 2D.
Acima está um diagrama de circuito para a fiação com apenas 2 servos. Tentei fazer um desenho de circuito com 10 servos, mas ficou superlotado. A única diferença entre esta imagem e a vida real é que você precisa conectar mais 8 servos em paralelo e conectar os fios de sinal PWM aos pinos no Arduino Nano.
Ao fazer a fiação das linhas de energia, usei uma única peça de fio de bitola 18 (grosso o suficiente para suportar 10 amperes) como a linha principal de 5 V que percorre o comprimento da cobra. Usando desencapadores de fio, removi uma pequena seção do isolador em intervalos regulares de 10 e soldei um pequeno pedaço de fio de cada um desses intervalos um grupo de 3 pinos coletores machos. Repita isso uma segunda vez para o fio GND preto de calibre 18 e um segundo pino macho da plataforma. Por fim, solde um fio mais longo no terceiro pino do conector macho, este pino levará o sinal PWM para o servo do Arduino Nano na cabeça da cobra (o fio deve ser longo o suficiente para alcançar, mesmo quando os segmentos dobram). Conecte o tubo termorretrátil conforme necessário. Conecte os 3 pinos coletores machos aos 3 pinos coletores fêmeas dos fios do servo. Repita 10 vezes para cada um dos 10 servos. Em última análise, o que isso consegue é conectar os servos em paralelo e executar os cabos de sinal PWM para o Nano. A razão para os pinos de encaixe macho / fêmea era que você pode facilmente desmontar segmentos e substituir os servos se eles quebrarem sem desoldar tudo.
Solde os fios GND e 5V em uma placa perfurada de 3x7 na cauda com um capacitor e terminais de parafuso. O objetivo do capacitor é remover quaisquer picos de consumo de corrente causados ao inicializar os servos, que podem reiniciar o Arduino Nano (se você não tiver um capacitor, provavelmente poderá escapar sem ele, mas é melhor estar seguro). Lembre-se de que o pino longo dos capacitores eletrolíticos precisa ser conectado à linha de 5 V e o pino mais curto à linha GND. Solde o fio GND ao pino GND do Nano e o fio 5V ao pino 5V. Observe se você estiver usando uma voltagem diferente (consulte a próxima seção), digamos uma bateria Lipo com 7,4 V, então conecte o fio vermelho ao pino Vin, NÃO ao pino 5V, isso destruirá o pino.
Solde os 10 fios de sinal PWM nos pinos do Arduino Nano. Eu conectei o meu na seguinte ordem, você pode escolher conectar o seu de forma diferente, mas lembre-se de que você precisará alterar as linhas servo.attach () no código. Se você não tem certeza do que estou falando, apenas conecte da mesma maneira que eu fiz e você não terá problemas. Na ordem do servo na cauda da cobra para a cabeça da cobra, eu conectei ambas as minhas cobras na seguinte ordem. Conectando os pinos de sinal a: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.
Use zipties para limpar a fiação. Antes de continuar, verifique se todos os segmentos podem se mover com espaço suficiente para os fios se moverem sem serem separados. Agora que a fiação está pronta, podemos aparafusar as tampas da cabeça e da cauda em forma de pirâmide. Observe que a cauda tem um orifício para a saída da corda e a cabeça tem um orifício para o cabo de programação do Arduino.
Etapa 5: Powering the Snake
Como os servos são ligados em paralelo, todos recebem a mesma voltagem, mas a corrente deve ser adicionada. Olhando para a ficha técnica dos servos MG996r, eles podem consumir até 900mA cada durante o funcionamento (assumindo que não haja travamento). Assim, o consumo total de corrente se todos os 10 servos se moverem ao mesmo tempo é 0,9A * 10 = 9A. Como tal, um adaptador de tomada de parede normal de 5v, 2A não funcionará. Decidi modificar uma fonte de alimentação ATX, capaz de 5v a 20A. Não vou explicar como fazer isso, pois já foi muito discutido no Instructables e no YouTube. Uma rápida pesquisa online mostrará como modificar uma dessas fontes de alimentação.
Supondo que você modificou a fonte de alimentação, é simplesmente um caso de conectar um cabo longo entre a fonte de alimentação e os terminais de parafuso na cobra.
Outra opção é usar uma bateria lipo integrada. Eu não tentei fazer isso, então caberá a você projetar um suporte para as baterias e conectá-las. Lembre-se das tensões de operação, consumo de corrente dos servos e do Arduino (não solde nada além de 5v para o pino 5v no Arduino, vá para o pino Vin se você tiver uma tensão mais alta).
Etapa 6: teste se tudo está funcionando
Antes de continuar vamos testar se tudo está funcionando. Faça upload deste código. Sua cobra deve mover cada servo individualmente entre 0-180 e, em seguida, terminar colocando em uma linha reta. Se não, então algo está errado, provavelmente a fiação está incorreta ou os servos não foram inicialmente centralizados em 90 graus conforme mencionado na seção "Montagem das cobras".
Etapa 7: Código
Atualmente não há controle remoto para a cobra, todo o movimento é pré-programado e você pode escolher o que quiser. Vou desenvolver um controle remoto na versão 2, mas se você quiser controlá-lo remotamente, sugiro procurar outros tutoriais no Instructables e adaptar o snake para ser compatível com bluetooth.
Se você está fazendo a cobra 1D, carregue este código.
Se você está fazendo o snake 2D, carregue este código.
Eu o encorajo a brincar com o código, fazer suas próprias alterações e criar novos algoritmos. Leia as próximas seções para obter uma explicação detalhada de cada tipo de locomoção e como o código funciona.
Etapa 8: Escalas Vs Rodas
Uma das principais formas pelas quais as cobras são capazes de se mover é através do formato de suas escamas. As escalas permitem um movimento mais fácil para a frente. Para mais explicações, assista a este vídeo de 3:04 em diante para ver como as escamas ajudam a cobra a avançar. Olhando para 3:14 no mesmo vídeo mostra o efeito quando as cobras estão em uma manga, removendo o atrito das escamas. Conforme mostrado em meu vídeo no YouTube, quando a cobra robótica 1D tenta deslizar na grama sem escamas, ela não se move para frente ou para trás, pois a soma das forças é zero. Como tal, precisamos adicionar algumas escalas artificiais à parte inferior do robô.
A pesquisa sobre a recriação da locomoção por meio de escalas foi feita na Universidade de Harvard e demonstrada neste vídeo. Não consegui conceber um método semelhante para mover as escalas para cima e para baixo no meu robô e, em vez disso, resolvi anexar escalas impressas em 3D passivas à parte inferior.
Infelizmente, isso se mostrou ineficaz (veja no meu vídeo no YouTube em 3:38), pois as escamas ainda deslizavam sobre a superfície do tapete, em vez de prender nas fibras e aumentar o atrito.
Se você deseja experimentar as escalas que fiz, você pode imprimir em 3D os arquivos do meu GitHub. Se você fizer o seu próprio com sucesso, deixe-me saber nos comentários abaixo!
Usando uma abordagem diferente, tentei usar rodas feitas de rolamentos de esferas r188 com tubo termorretrátil sobre o lado externo como 'pneus'. Você pode imprimir em 3D os eixos das rodas de plástico a partir dos arquivos.stl no meu GitHub. Embora as rodas não sejam biologicamente precisas, elas são análogas às escalas, pois a rotação para a frente é fácil, mas o movimento lateral é significativamente mais difícil. Você pode ver o resultado bem-sucedido das rodas no meu vídeo do YouTube.
Etapa 9: movimento deslizante (cobra de eixo único)
Primeiro prêmio no concurso Make it Move
Recomendado:
Robô de cobra impresso em 3D: 7 etapas (com imagens)
3D Printed Snake Robot: Quando comprei minha impressora 3D, comecei a pensar no que posso fazer com ela. Imprimi muitas coisas, mas queria fazer uma construção inteira usando a impressão 3D. Então pensei em fazer um animal robô. Minha primeira ideia era fazer um cachorro ou uma aranha, mas um
Cobra: a máquina inútil: 5 etapas
Cobra: a máquina inútil: Você sabe quando você era criança e costumava brincar de cobra no seu Nokia? A certa altura, a cobra começaria a perseguir o próprio rabo, e foi aí que você sabia que o jogo estava prestes a acabar. Decidimos transformá-lo em um robô, mas o jogo nunca
Cobra em uma tábua de pão: 3 etapas (com imagens)
Snake on a breadboard: " Tem algum jogo no seu telefone? &Quot; " Não exatamente. " Introdução: Simples de controlar, fácil de programar e imortalizado pelo Nokia 6110, o Snake se tornou um projeto favorito entre os engenheiros. Foi implementado em qualquer coisa, desde matrizes de LED, L
Cobra Portátil: 3 Passos
Cobra portátil: Este é um tutorial sobre como fazer seu próprio jogo de cobra portátil! Tudo que você precisa é de um arduino, alguns eletrônicos e alguma forma de encaixar a coisa toda. Aqui está uma lista de todas as necessidades: - Arduino uno (1) - Módulo Joystick (1) - Matriz LED (1) - alguns fios (10
Jogo da Cobra em C: 8 Passos
Game of Snake em C: O jogo Snake era popular em telefones celulares antigos, que podem ser facilmente desenvolvidos usando o programa c. Para construir este projeto, você precisa de um conhecimento básico da sintaxe c. Exemplo: loop for, loop while, etc.Com a construção deste tipo de jogo, projete seu programa