Índice:

Bípede robótico controlado pelo Arduino: 13 etapas (com imagens)
Bípede robótico controlado pelo Arduino: 13 etapas (com imagens)

Vídeo: Bípede robótico controlado pelo Arduino: 13 etapas (com imagens)

Vídeo: Bípede robótico controlado pelo Arduino: 13 etapas (com imagens)
Vídeo: ROBÔ COMPLETO COM ARDUINO (SOFTWARE) | Curso de Arduino #037 2024, Novembro
Anonim
Image
Image
Bípede robótico controlado por Arduino
Bípede robótico controlado por Arduino
Bípede robótico controlado por Arduino
Bípede robótico controlado por Arduino

Projetos Fusion 360 »

Sempre fui intrigado por robôs, especialmente o tipo que tenta imitar as ações humanas. Esse interesse me levou a tentar projetar e desenvolver um bípede robótico que pudesse imitar o andar e a corrida humanos. Neste Instructable, vou mostrar o design e a montagem do bípede robótico.

O principal objetivo ao construir este projeto era tornar o sistema o mais robusto possível, de modo que, ao experimentar vários passos de caminhada e corrida, eu não tivesse que me preocupar constantemente com falhas de hardware. Isso me permitiu levar o hardware ao seu limite. Um objetivo secundário era tornar o bípede de custo relativamente baixo usando peças de hobby prontamente disponíveis e impressão 3D, deixando espaço para novas atualizações e expansões. Esses dois objetivos combinados fornecem uma base robusta para realizar vários experimentos, permitindo que se desenvolva o bípede para requisitos mais específicos.

Em seguida, crie seu próprio Robotic Biped controlado pelo Arduino e vote no "Arduino Contest" se você gostou do projeto.

Etapa 1: Processo de Design

Processo de design
Processo de design
Processo de design
Processo de design
Processo de design
Processo de design

As pernas humanóides foram projetadas com o software de modelagem 3D Fusion 360 da Autodesk gratuito. Comecei importando os servo motores para o projeto e construí as pernas em torno deles. Projetei suportes para o servo motor que fornecem um segundo ponto de articulação diametralmente oposto ao eixo do servo motor. Ter eixos duplos em cada extremidade do motor dá estabilidade estrutural ao projeto e elimina qualquer inclinação que possa ocorrer quando as pernas são feitas para suportar alguma carga. Os links foram projetados para segurar um rolamento enquanto os suportes usavam um parafuso para o eixo. Uma vez que os links foram montados nos eixos usando uma porca, o rolamento forneceria um ponto de articulação suave e robusto no lado oposto do eixo do servo motor.

Outro objetivo ao projetar o bípede foi manter o modelo o mais compacto possível para aproveitar ao máximo o torque fornecido pelos servo motores. As dimensões dos links foram feitas para atingir uma grande amplitude de movimento, minimizando o comprimento total. Torná-los muito curtos faria com que os suportes colidissem, reduzindo a amplitude de movimento, e torná-los muito longos exerceria torque desnecessário nos atuadores. Por fim, projetei o corpo do robô no qual o Arduino e outros componentes eletrônicos seriam montados.

Nota: As peças estão incluídas em uma das etapas a seguir.

Etapa 2: o papel do Arduino

O papel do Arduino
O papel do Arduino

Um Arduino Uno foi usado neste projeto. O Arduino foi responsável por computar os caminhos de movimento das várias andanças que foram testadas e instruiu os atuadores a se moverem em ângulos precisos em velocidades precisas para criar um movimento de caminhada suave. Um Arduino é uma ótima opção para desenvolver projetos devido à sua versatilidade. Ele fornece vários pinos de E / S e também interfaces como serial, I2C e SPI para se comunicar com outros microcontroladores e sensores. O Arduino também fornece uma ótima plataforma para prototipagem e testes rápidos e também dá aos desenvolvedores espaço para melhorias e expansibilidade. Neste projeto, outras versões incluirão uma Unidade de Medição Inercial para processamento de movimento, como detecção de queda e locomoção dinâmica em terreno irregular e um sensor de medição de distância para evitar obstáculos.

O IDE Arduino foi usado para este projeto. (Arduino também fornece um IDE baseado na web)

Observação: os programas do robô podem ser baixados em uma das etapas a seguir.

Etapa 3: Materiais necessários

Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários

Aqui está a lista de todos os componentes e peças necessários para fazer seu próprio robô Bipedal equipado com Arduino. Todas as peças devem estar comumente disponíveis e fáceis de encontrar.

ELETRÔNICOS:

Arduino Uno x 1

Servo motor Towerpro MG995 x 6

Perfboard (tamanho semelhante ao Arduino)

Pinos de cabeçalho masculino e feminino (cerca de 20 de cada)

Fios de ligação (10 peças)

MPU6050 IMU (opcional)

Sensor ultrassônico (opcional)

HARDWARE:

Rolamento de skate (8x19x7mm)

Porcas e parafusos M4

Filamento de impressora 3D (caso você não tenha uma impressora 3D, deve haver uma impressora 3D em um espaço de trabalho local ou as impressões podem ser feitas online por um preço muito baixo)

Excluindo o Arduino e a impressora 3D, o custo total deste projeto é de 20 $.

Etapa 4: peças impressas em 3D

Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D
Peças impressas em 3D

As peças necessárias para este projeto tiveram que ser personalizadas, portanto, uma impressora 3D foi usada para imprimi-las. As impressões foram feitas com preenchimento de 40%, 2 perímetros, bico de 0,4 mm e uma altura de camada de 0,1 mm com PLA, cor de sua escolha. Abaixo você encontra a lista completa de peças e os STLs para imprimir sua própria versão.

Nota: a partir daqui, as peças serão referenciadas usando os nomes na lista.

  • suporte do servo pé x 1
  • pé servo suporte espelho x 1
  • porta-servo de joelho x 1
  • joelho porta-servo espelho x 1
  • suporte do servo pé x 1
  • pé servo suporte espelho x 1
  • elo de rolamento x 2
  • link servo buzina x 2
  • elo do pé x 2
  • ponte x 1
  • montagem eletrônica x 1
  • espaçador eletrônico x 8 (opcional)
  • espaço da sirene do servo x 12 (opcional)

No total, excluindo os espaçadores, são 14 peças. O tempo total de impressão é de cerca de 20 horas.

Etapa 5: Preparando os Servo Brackets

Preparando os Servo Brackets
Preparando os Servo Brackets
Preparando os Servo Brackets
Preparando os Servo Brackets
Preparando os Servo Brackets
Preparando os Servo Brackets

Assim que todas as peças forem impressas, você pode começar configurando os servos e os suportes do servo. Primeiro empurre um rolamento no suporte do servo de joelho. O ajuste deve ser confortável, mas eu recomendo lixar a superfície interna do furo um pouco em vez de forçar o rolamento, o que pode causar o risco de quebrar a peça. Em seguida, passe um parafuso M4 pelo orifício e aperte-o com uma porca. Em seguida, agarre o pedal e conecte uma buzina servo circular a ele usando os parafusos fornecidos. Prenda o pedal no suporte do servo de joelho usando os parafusos que você usará para prender também o servo motor. Certifique-se de alinhar o motor de forma que o eixo fique do mesmo lado do parafuso que você prendeu anteriormente. Finalmente, prenda o servo com o resto das porcas e parafusos.

Faça o mesmo com o suporte do servo do quadril e o suporte do servo do pé. Com isso, você deve ter três servo motores e seus respectivos suportes.

Nota: Estou fornecendo instruções para construir uma perna, a outra é simplesmente espelhada.

Etapa 6: Fazendo as peças do link

Fazendo as peças do link
Fazendo as peças do link
Fazendo as peças do link
Fazendo as peças do link
Fazendo as peças do link
Fazendo as peças do link

Assim que os suportes estiverem montados, comece a fazer os links. Para fazer a ligação do rolamento, mais uma vez lixe levemente a superfície interna dos orifícios para o rolamento e, em seguida, empurre o rolamento no orifício em ambos os lados. Certifique-se de empurrar o rolamento até que um lado esteja nivelado. Para construir o link servo horn, pegue dois servo horns circulares e os parafusos fornecidos. Coloque as pontas na impressão 3D e alinhe os orifícios, em seguida aparafuse a ponta na impressão 3D fixando o parafuso do lado da impressão 3D. Eu recomendo usar um espaçador de chifre de servo impresso em 3D para esses parafusos. Uma vez que os links estejam construídos, você pode começar a montar a perna.

Etapa 7: montagem das pernas

Montando as pernas
Montando as pernas
Montando as pernas
Montando as pernas
Montando as pernas
Montando as pernas
Montando as pernas
Montando as pernas

Uma vez que os links e colchetes são montados, você pode combiná-los para construir a perna do robô. Primeiro, use o link servo horn para conectar o suporte do servo do quadril e o suporte do servo do joelho juntos. Nota: Não aparafuse a buzina ao servo ainda, pois há um estágio de configuração no estágio seguinte e será um inconveniente se a buzina for aparafusada no servo motor.

No lado oposto, monte a ligação do rolamento nos parafusos salientes usando porcas. Por último, prenda o suporte do servo de pé inserindo o parafuso protuberante através do rolamento no suporte do servo de joelho. E fixe o eixo do servo no chifre do servo conectado ao suporte do servo de joelho do outro lado. Esta pode ser uma tarefa complicada e eu recomendaria um segundo par de mãos para isso.

Repita as etapas para a outra perna. Use as fotos anexadas a cada etapa como referência.

Etapa 8: PCB e fiação personalizados

PCB e fiação personalizados
PCB e fiação personalizados
PCB e fiação personalizados
PCB e fiação personalizados
PCB e fiação personalizados
PCB e fiação personalizados

Este é um passo opcional. Para deixar a fiação mais limpa, decidi fazer um PCB personalizado usando perf board e pinos de cabeçalho. O PCB contém portas para conectar diretamente os fios do servo motor. Além disso, também deixei portas extras para o caso de querer expandir e adicionar outros sensores, como unidades de medição inercial ou sensores de distância ultrassônicos. Ele também contém uma porta para a fonte de alimentação externa necessária para alimentar os servo motores. Uma conexão de jumper é usada para alternar entre USB e alimentação externa para o Arduino. Monte o Arduino e a PCB em qualquer um dos lados da montagem eletrônica usando parafusos e espaçadores impressos em 3D.

Nota: Certifique-se de desconectar o jumper antes de conectar o Arduino ao seu computador por USB. Não fazer isso pode resultar em danos ao Arduino.

Se você decidir não usar o PCB e, em vez disso, usar uma placa de ensaio, aqui estão as conexões do servo:

  • Quadril esquerdo >> pino 9
  • Quadril Direito >> pino 8
  • Joelho Esquerdo >> pino 7
  • Joelho Direito >> pino 6
  • Pé esquerdo >> pino 5
  • Pé Direito >> pino 4

Se você decidir fazer o PCB seguir a mesma ordem acima, usando as portas no PCB da direita para a esquerda com a porta IMU voltada para cima. E use fios de jumper macho para fêmea regulares para conectar o PCB ao Arduino usando os números de pino acima. Certifique-se também de conectar o pino de aterramento e criar o mesmo potencial de aterramento e pino de Vin para quando você decidir operá-lo sem alimentação USB.

Etapa 9: montagem do corpo

Montagem do corpo
Montagem do corpo
Montagem do corpo
Montagem do corpo
Montagem do corpo
Montagem do corpo

Depois que as duas pernas e os componentes eletrônicos estiverem montados, combine-os para construir o corpo do robô. Use a peça da ponte para ligar as duas pernas. Use os mesmos orifícios de montagem no suporte do servo do quadril e porcas e parafusos que prendem o servo motor. Finalmente, conecte o suporte eletrônico à ponte. Alinhe os orifícios na ponte e na montagem dos componentes eletrônicos e use porcas e parafusos M4 para fazer a junta.

Consulte as imagens em anexo para obter ajuda. Com isso, você concluiu a construção do hardware do robô. A seguir, vamos pular para o software e dar vida ao robô.

Etapa 10: configuração inicial

Configuração inicial
Configuração inicial
Configuração inicial
Configuração inicial
Configuração inicial
Configuração inicial

O que notei ao construir este projeto é que os servo motores e as buzinas não precisam se alinhar perfeitamente para ficar relativamente paralelos. É por isso que a "posição central" de cada servo motor deve ser ajustada manualmente para alinhar com as pernas. Para conseguir isso, remova as pontas do servo de cada servo e execute o esboço initial_setup.ino. Uma vez que os motores tenham se acomodado em sua posição central, recoloque as buzinas de forma que as pernas fiquem perfeitamente retas e o pé fique perfeitamente paralelo ao solo. Se for esse o caso, você está com sorte. Caso contrário, abra o arquivo constants.h encontrado na guia adjacente e modifique os valores de deslocamento do servo (linhas 1-6) até que as pernas estejam perfeitamente alinhadas e o pé esteja plano. Brinque com os valores e você terá uma ideia do que é necessário no seu caso.

Depois de definir as constantes, anote esses valores, pois eles serão necessários mais tarde.

Consulte as fotos para obter ajuda.

Etapa 11: Um pouco sobre a cinemática

Um pouco sobre a cinemática
Um pouco sobre a cinemática
Um pouco sobre a cinemática
Um pouco sobre a cinemática
Um pouco sobre a cinemática
Um pouco sobre a cinemática

Para fazer com que o bípede execute ações úteis, como correr e caminhar, os vários passos precisam ser programados na forma de caminhos de movimento. Caminhos de movimento são caminhos ao longo dos quais o efetor final (os pés, neste caso) viaja. Existem duas maneiras de conseguir isso:

  1. Uma abordagem seria alimentar os ângulos de junta dos vários motores de uma maneira de força bruta. Essa abordagem pode ser demorada, tediosa e também cheia de erros, uma vez que o julgamento é puramente visual. Em vez disso, existe uma maneira mais inteligente de alcançar os resultados desejados.
  2. A segunda abordagem gira em torno de alimentar as coordenadas do efetor final em vez de todos os ângulos da junta. Isso é conhecido como Cinemática Inversa. As coordenadas de entrada do usuário e os ângulos da junta se ajustam para posicionar o efetor final nas coordenadas especificadas. Este método pode ser considerado como uma caixa preta que recebe como entrada uma coordenada e fornece os ângulos da junta. Para aqueles que estão interessados em como as equações trigonométricas desta caixa preta foram desenvolvidas, podem olhar o diagrama acima. Para quem não tem interesse, as equações já estão programadas e podem ser utilizadas através da função pos que toma como entrada x, z e dá saída a três ângulos correspondentes aos motores.

O programa que contém essas funções pode ser encontrado na próxima etapa.

Etapa 12: Programando o Arduino

Programando o Arduino
Programando o Arduino
Programando o Arduino
Programando o Arduino

Antes de programar o Arduino, pequenas modificações precisam ser feitas no arquivo. Lembra das constantes que pedi para você tirar uma nota? Modifique as mesmas constantes para os valores definidos no arquivo constants.h.

Nota: Se você usou os designs fornecidos neste Instructable, você não tem nada a alterar. No caso de alguns de vocês terem feito seus próprios designs, você terá que alterar mais alguns valores junto com os deslocamentos. A constante l1 mede a distância entre o pivô do quadril e o pivô do joelho. A constante l2 mede a distância entre o pivô do joelho e o pivô do tornozelo. Portanto, se você projetou seu próprio modelo, meça esses comprimentos e modifique as constantes. As duas constantes finais são usadas para andar. A constante stepClearance mede a altura que o pé vai levantar ao avançar após um passo e a constante stepHeight mede a altura do solo até o quadril enquanto dá passos.

Assim que todas as constantes forem modificadas de acordo com sua necessidade, você pode carregar o programa principal. O programa principal simplesmente inicializa o robô em uma postura de caminhar e começa a dar passos para frente. As funções podem ser modificadas de acordo com sua necessidade para explorar os vários passos, velocidades e comprimentos de passo para ver o que funciona melhor.

Etapa 13: Resultados finais: tempo para experimentar

Resultados finais: tempo para experimentar
Resultados finais: tempo para experimentar
Resultados finais: tempo para experimentar
Resultados finais: tempo para experimentar
Resultados finais: tempo para experimentar
Resultados finais: tempo para experimentar

O bípede pode dar passos que variam de 10 a 2 cm de comprimento sem tombar. A velocidade também pode ser variada, mantendo a marcha equilibrada. Este bípede combinado com o poder do Arduino fornece uma plataforma robusta para experimentar vários outros passos e outros objetivos, como pular ou se equilibrar enquanto chuta uma bola. Eu recomendo que você tente mudar os caminhos de movimento das pernas para criar seus próprios passos e descobrir como vários passos afetam o desempenho do robô. Sensores como um IMU e sensor de distância podem ser adicionados ao sistema para aumentar suas funcionalidades, enquanto sensores de força podem ser adicionados às pernas para experimentar a locomoção dinâmica em superfícies irregulares.

Espero que você tenha gostado deste Instructable e seja uma inspiração suficiente para construir o seu próprio. Se você gostou do projeto, apoie-o abandonando uma votação no "Arduino Contest".

Happy Making!

Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020

Primeiro prêmio no Arduino Contest 2020

Recomendado: