Índice:
- Etapa 1: EQUIPAMENTO
- Etapa 2: SERVOS
- Etapa 3: COMANDOS
- Etapa 4: MOVIMENTO
- Etapa 5: HEAD CAMERA / SONAR
- Etapa 6: MOVIMENTO DA PERNA
- Etapa 7: CONSTRUÇÃO
- Etapa 8: SOFTWARE
Vídeo: Jasper, o hexápodo do Arduino: 8 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Data do projeto: novembro de 2018
VISÃO GERAL (JASPER)
Seis pernas, três servo por perna, sistema de movimento de 18 servo controlado por um Arduino Mega. Servos conectados através do escudo do sensor Arduino Mega V2. Comunicação com Hexapod via módulo Bluetooth BT12 conversando com aplicativo Android sob medida. Sistema alimentado por 2 x 18650, 3400 mAh e 2 conjuntos de baterias de 2400 mA, cada uma presa com velcro sob o corpo do hexápode. Uma chave seletora de energia para os sistemas Servo e Controle é fornecida, assim como uma luz indicadora de energia LED verde na cabeça do hexapod. Os comandos são repetidos para um display LCD 16x2. A alimentação de vídeo, o anel de luz e a prevenção de obstáculos ultrassônicos estão localizados na cabeça.
NOTA: Por uma questão de sanidade, eu recomendo fortemente o uso de servos de boa qualidade, comecei com servos MG995, 20 deles, 11 dos quais queimaram, perderam a capacidade de centralizar ou simplesmente pararam de funcionar.
www.youtube.com/embed/ejzGMVskKec
Etapa 1: EQUIPAMENTO
1. 20 x servos DS3218
2. 1x kit base hexapod
3. 1x Arduino Mega R3
4. 1x escudo do sensor Arduino Mega v2
5. Suporte de bateria 18650 de 1 x 2 baias
6. 2 x interruptor de alimentação de dois pólos
7. Luz LED verde e resistor 220kohm
8. 2 baterias de 6v 2800mAh com fixação de Velcro
9. 2 baterias de 18.650 x 3400 mAh
10. 1 módulo de sonar HC-SR04
11. 1 módulo Bluetooth BT12
12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E placa de desenvolvimento IOT
13. 1 x Escudo de câmera mini módulo Arducam com lente de 2 megapixels OV2640
14. 1 x anel de luz Pixie Neon 16 LCD
15. Tela LCD de 1 x 16x2 linhas com adaptador IIC conectado.
16. 1 x 5v plugue de alimentação para Arduino Mega
17. Plugue micro USB 1 x 5v para módulo NodeMcu.
18. 1 x módulo conversor DC para DC Buck
19. 1 x 70 mm x 120 mm x 39 mm caixa quadrada de plástico preto (corpo)
20. 1 x 70 mm x 50 mm x 70 mm caixa de plástico preta (cabeça)
21. 4 x 40 mm de suportes de latão M3 mais 4 suportes de descanso de borracha
22. Vários cabos de ligação macho para macho, solda, parafusos e parafusos m3 e cola quente
Movimento das pernas usando lógica sob medida. Movimento da câmera por meio de dois servos independentes, permitindo o movimento para cima, para baixo, para a esquerda, para a direita e centralizado. Câmera controlada por conexão WIFI, sendo exibida na visualização WebView no aplicativo Android.
Etapa 2: SERVOS
Cada um tem no máximo 180 graus para
movimento mínimo de 0 grau.
Cada servo identificado com três combinações de números, LegCFT; onde C é o corpo (COXA), F é a coxa (FEMUR) e T é o cotovelo (TIBIA), então 410 se refere à quarta perna e o servo tibiano, da mesma forma 411 se refere à quarta perna e ao servo tibiano. A sequência de numeração seria de 100 a 611. Cada perna do servo deve ter uma base de borracha para amortecer o impacto e fornecer melhor aderência.
Perna 1: 100, 110, 111 Frente
Leg 2: 200, 210, 211 leg2-leg1
Leg 3: 300, 310, 311 leg4-leg3
Leg 4: 400, 410, 411 leg6-leg5
Perna 5: 500, 510, 511 Voltar
Leg 6: 600, 610, 611
A posição padrão para todos os servos coaxiais é 90 graus.
A posição padrão para Femur Servos é 90 graus, 45 graus é a posição de descanso.
A posição padrão para Tibia Servos para todas as pernas é 90 graus, as pernas 1, 3 e 5 usam 175 graus como a posição de descanso e as pernas 2, 4 e 6 usam 5 graus.
Pescoço 1: 700 limitado a 75 a 105 graus para movimento para cima e para baixo
Pescoço 2: 800 limitado a 45 a 135 graus para movimento esquerdo e direito
Movimento do servo limitado a três “gravações” antes que um atraso de 10 milissegundos seja incluído, antes que outros comandos de “gravação” sejam emitidos. Isso ajuda a reduzir a carga das baterias.
Etapa 3: COMANDOS
A = Parar - Fique na posição padrão.
B = forward - walk_forward
C = reverso - walk_backward
D = direita - turn_right
E = esquerda - turn_left
F = movimento lateral esquerdo - crab_left
G = movimento lateral direito - crab_right
H = Rear_crouch (pernas 1 e 2 no máximo, 3 e 4 pernas na posição neutra, pernas 5 e 6 na posição mínima)
I = Front_crouch (pernas 1 e 2 na posição mínima, 3 e 4 pernas na posição neutra, pernas 5 e 6 na posição máxima)
J = câmera galopada - centro (pescoço 1 e pescoço 2 na posição média, posição padrão)
K = câmera à esquerda - pan_left (pescoço 1, posição intermediária, posição mínima do servo pescoço 2)
L = câmera à direita - pan_right (pescoço 1, posição intermediária, posição máxima servo do braço 2)
M = câmera para cima - pan_up (posição máxima do braço 1, posição média do servo do braço 2)
N = câmera para baixo - pan_down (posição mínima do braço 1, posição média do servo do braço 2)
O = Descansando (Hexapod) senta-se em suportes.
P = Standing Up - Hexapod levanta-se para a posição padrão.
Q = Luzes apagadas
R = luz verde no anel de luz Pixie Neon.
S = luz vermelha no anel de luz Pixie Neon.
T = luz azul no anel de luz Pixie Neon.
U = luz branca no anel de luz Pixie Neon.
V = Pernas dianteiras ondulando.
W = som da buzina.
X = Cabeça de varredura da esquerda para a direita.
Y = Tocar melodia.
Etapa 4: MOVIMENTO
A posição do servo coaxial é longitudinal ao eixo do corpo, portanto, à frente está 0 graus e diretamente atrás está 180 graus. No entanto, este Coaxial e todos os outros servos seriam limitados a 45 a 135 graus.
O movimento da perna para frente, para trás, para a esquerda e para a direita seria iniciado com o levantamento da perna usando os servos Femur e Tibia, seguido pelo movimento do servo de corpo e, finalmente, o abaixamento da mesma perna novamente usando os servos Femur e Tibia.
Avançar e Reverter
Para mover as pernas para a frente ou para trás, trabalhe em pares, 1 e 2, 3 e 4, 5 e 6. Um movimento simples para a frente consiste nas pernas 1 e 2 movendo-se de sua posição atual para o mais para frente possível, então as pernas 3 e 4, e finalmente 5 e 6 pernas repetem a mesma ação. Em seguida, todos os seis servos coaxiais se movem dessa posição avançada para a posição inicial original. O reverso desse processo é usado para mover para trás. Como parte do processo de movimento para a frente, a unidade ultrassônica HC_SR04 verificará se há obstáculos à frente e, se algum for encontrado, vire o hexápode para a esquerda ou para a direita aleatoriamente.
Esquerda e direita
Para mover os pares de pernas esquerda ou direita trabalham juntos, mas em direções opostas. Assim, por exemplo, para virar a perna direita, a perna 1 se move da posição atual de volta para a posição de 135 graus, enquanto a perna 2 se move para a frente para a posição de 45 graus. Isso é repetido para os pares de pernas 3 e 4 e para as pernas 5 e 6. Nesse momento, os servos coaxiais movem sua posição original de volta para sua nova posição, torcendo o corpo na direção do movimento, ou seja, direito. Este processo é continuado até que a rotação necessária para a esquerda seja concluída. O reverso desse processo é usado para virar à esquerda, de modo que a perna 1 se move de sua posição atual para a frente para a posição de 45 graus, enquanto a perna 2 se move para trás para a posição de 135 graus.
Levante-se e descanse
Ambos os processos não usam o servo coaxial de nenhuma das pernas, então para levantar o servo Tibia, para todas as pernas, move-se de sua posição atual para seu máximo de 45 graus, enquanto para descansar esses mesmos servos de fêmur movem-se para sua posição mais baixa posição, 175 ou 5 graus. O mesmo movimento se aplica aos servos do Tibia que se movem a seu máximo de 45 graus, para ficar em pé, e seu mínimo, ou seja, 175 ou 5 graus para descanso.
Agachar para frente e agachar para trás
Aqui, novamente, os processos são imagens espelhadas uns dos outros. Para agachar-se para a frente, as pernas 1 e 2 estão na posição mais baixa, enquanto as pernas 5 e 6 estão na posição mais alta. Em ambos os casos, as pernas 4 e 5 assumem uma posição neutra que está alinhada com os conjuntos de pernas 1 e 2 e 5 e 6. Para agachar as pernas 1 e 2 estão em sua posição mais alta, enquanto as pernas 5 e 6 estão em sua posição mais baixa.
Etapa 5: HEAD CAMERA / SONAR
A cabeça consistirá em uma caixa de plástico quadrada de 38 mm x 38 mm x 38 mm com tampa removível. A caixa / cabeça terá movimentos verticais e horizontais limitados. O movimento será alcançado pelo uso de dois servos, um preso ao corpo do robô e um segundo ao corpo do primeiro servo e seu braço preso à cabeça. 7,4 V fornecido por duas baterias 18650 irá alimentar o Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT placa de desenvolvimento DEVKIT, anexado a um Arducam Mini Módulo Camera Shield com OV2640 2 Megapixels Lens. Esse arranjo permitirá que o robô detecte obstáculos e transmita vídeo ao vivo via Wi-Fi a bordo. O sonar usando um HC-SR04 e possíveis informações de gerenciamento de luz fluiriam de volta para o Arduino Mega.
Meus agradecimentos a Dmainmun por seu artigo do Arducam Instructables, que foi de grande ajuda na minha compreensão inicial de como o Arducam poderia ser usado para transmissão de vídeo.
Bateria
Decidiu-se usar dois packs de bateria, um para os componentes do cabeçote e placa Arduino Mega, e um segundo pack para fornecer energia a todos os servos. O primeiro pacote consistia em 2 baterias de 18.650 3400 mAh fornecendo 7,4v. O segundo pacote consistia em 2 pacotes de bateria de 6V 2800mAh conectados em paralelo, proporcionando assim uma alimentação de 6,4V, mas com capacidade aumentada de 5600mAh fixados na parte inferior do hexapod usando tiras de velcro.
Etapa 6: MOVIMENTO DA PERNA
Os braços podem trabalhar em pares ou individualmente. Cada braço consiste em uma articulação do corpo chamada coaxial com movimento de 45 a 135 graus, uma articulação da coxa chamada de fêmur, com movimento de 45 a 135 graus e, finalmente, uma articulação do cotovelo chamada tíbia, ou efetor final, com movimento de 45 a 135 graus. O software personalizado foi escrito para fornecer o movimento das pernas.
Tipos de movimento das pernas:
Para o Coax, 45 graus está voltado para trás da cabeça, 90 graus é a posição neutra e 135 graus está voltado para frente.
Para o fêmur, 45 graus é a posição mais alta do solo, 90 graus é a posição neutra e 135 graus é a posição mais baixa do solo.
Para o Tibia, 45 graus é a posição mais distante do corpo, 90 graus é a posição neutra e 135 graus é a posição mais próxima do corpo.
Suponha que todos os servos estejam na posição neutra, 90 graus.
Para frente: Perna 1 e 2, o fêmur se levanta a 135 graus, o coaxial se move para 45 graus, a tíbia se move a 45 graus mais distante do corpo, o fêmur se abaixa para 45 graus. Isso é repetido para os pares de pernas 3 e 4 e para os pares de pernas 5 e 6. Todos os 6 servos coaxiais se movem de 45 graus para trás para 90 graus, posição neutra, todos os 6 servos Femur se movem de 45 graus até 90 graus, posição neutra. Finalmente, todos os servos do Tibia se movem de 45 graus para 90 graus, posição neutra.
Reverso: começando com as pernas 5 e 6, depois 3 e 4 e, finalmente, as pernas 1 e 2, caso contrário, o movimento é o mesmo para coaxial, fêmur e tíbia.
Esquerda: as pernas 1, 3 e 5 se movem na direção reversa, enquanto as pernas 2, 4 e 6 se movem na direção para frente. O movimento para frente e para trás está de acordo com o movimento padrão para frente e para trás. Para completar a volta, todos os seis servos coaxiais, mova 45 graus que gira o corpo.
Direita: as pernas 2, 4 e 6 se movem na direção reversa, enquanto as pernas 1, 3 e 5 se movem para a frente. O movimento para frente e para trás está de acordo com o movimento padrão para frente e para trás. O movimento coaxial é semelhante ao anterior, mas na direção inversa.
Resto: Todos os servos Coax e Femur em posição neutra, todos os servos Tibia na posição mais baixa a 45 graus, agachando efetivamente as pernas dianteiras, intermediárias e traseiras.
Agache-se para trás, fique dianteiro: pernas 1 e 2 na posição mais alta, pernas 3 e 4 na posição neutra e pernas 5 e 6 na posição mais baixa.
Fique em pé, agachado na frente: pernas 1 e na posição mais baixa, pernas 3 e 4 em ponto morto e pernas 5 e 6 na posição mais alta.
Esquerda do caranguejo: as pernas 1 e 5 se levantam e se estendem para a esquerda, ao mesmo tempo as pernas 2 e 6 se erguem e se contraem sob o corpo. Com todas essas quatro pernas no chão, todas as Tibias retornam à sua posição neutra. Finalmente, as pernas 3 e 4 repetem o mesmo processo.
Caranguejo à direita: as pernas 2 e 6 se levantam e se estendem para a direita, ao mesmo tempo as pernas 1 e 5 se erguem e se contraem sob o corpo. Com todas essas quatro pernas no chão, todas as Tibias retornam à sua posição neutra. Finalmente, as pernas 3 e 4 repetem o mesmo processo.
Movimento esquerdo da cabeça: pescoço 1 servo 45 graus. Ambos os servos retornam à posição 90 neutra.
Movimento da cabeça para a direita: pescoço 1 servo 135 graus
Movimento da cabeça para cima: pescoço 2 servo 45 graus
Movimento da cabeça para baixo: pescoço 2 servo 135 graus
Movimento panorâmico da cabeça: o pescoço 2 se move de 45 a 135 graus
SERVOS
Após o teste inicial, os servos MG995 e MG996 foram todos substituídos. Todos os 20 servos foram substituídos por servos de 20 kg DS32228 que proporcionaram uma centralização muito melhorada e maior capacidade de carga.
É importante testar exaustivamente cada servo usando um programa de teste adequado. Modifiquei o programa de exemplo de “varredura” simples para testar especificamente 0, 90 e 180 posições, esta rotina de teste foi executada por um mínimo de 5 minutos para cada servo e então repetida um dia depois.
NOTA: Usar uma placa Arduino Uno padrão alimentada por um cabo USB pode não fornecer voltagem suficiente para executar determinados servos. Descobri que os 4,85v que o servo recebia do Uno causava um comportamento errático com os servos DS3218, aumentando essa tensão para 5,05v curou esse problema. Então, decidi rodar os servos em 6v. No final, descobri que uma tensão de 6,4 V era necessária, pois os 6 V causavam um comportamento errático dos servos.
Etapa 7: CONSTRUÇÃO
PERNAS
Começou com o layout das peças do kit Hexapod. Todos os chifres circulares servo exigiram o alargamento do orifício de esteira em ambas as extremidades do fêmur e todos os orifícios coaxiais. Cada chifre do servo foi anexado ao seu coaxial e fêmur correspondentes com quatro parafusos e um quinto parafuso através do centro da cabeça do servo. Todos os corpos servo foram presos usando quatro parafusos e porcas. A montagem do servo coaxial, para cada uma das seis pernas, tinha um rolamento preso à parte inferior da montagem usando um único parafuso e porca. Cada montagem do servo coaxial foi anexada, usando quatro parafusos e porcas, à sua montagem do servo Femur com esta montagem sendo girada 90 graus. A cabeça do servo Femur foi anexada a uma extremidade do braço do Femur com a outra extremidade do Femur anexada à cabeça do servo Tibia. Os seis servos do Tibia foram presos ao topo das seis pernas com quatro parafusos e porcas. Cada efetor de extremidade de perna foi coberto com uma bota de borracha macia para fornecer aderência extra. Foi descoberto que o chifre do servo fornecido era muito grande para ser fixado nas conexões Coax, Femur e Tibia, então todos os orifícios centrais foram aumentados para 9 mm. Meus agradecimentos a “Toglefritz” por seu Capers II instrutivo sobre os elementos de construção do kit Hexapod. No entanto, desviei-me da construção em uma área, ou seja, a fixação dos chifres do servo em ambas as extremidades do fêmur. Decidi alargar o orifício central do fémur para permitir que o centro da corneta do servo passe através dele, dando assim à corneta do servo uma força extra, uma vez que estava mais perto do servo e estas duas articulações experimentaram o torque máximo. Cada chifre do servo foi preso ao fêmur usando dois parafusos auto-roscantes M2.2, as extremidades desses parafusos sendo removidas e limadas. Todos os parafusos M3 foram bem travados.
CORPO
O corpo consiste em duas placas, cada uma com seis orifícios, cada orifício usado para conectar a corneta do servo coaxial. Duas baterias de 6V 2800mAh foram fixadas na parte inferior da placa inferior usando Velcro. Quatro suportes M3 que se estendem logo após a parte inferior do suporte da bateria foram fixados, cada um com uma capa de borracha macia deslizada para a parte inferior, o que fornece uma base estável sobre a qual o Hexapod pode descansar. A seção superior da placa inferior tem o Arduino Mega e sua blindagem do sensor presos por meio de quatro espaçadores de 5 mm. Na parte superior da placa inferior foram colocados 4 suportes M3 de 6 cm de altura, que circundavam o Arduino Mega e forneciam suporte para a placa superior. A placa superior tinha uma caixa de 120 mm x 70 mm x 30 mm acoplada a ela, que abrigará o primeiro dos servos de pescoço e a tela LCD. Um segundo suporte de bateria de 2 baias, 2 x 18650 foi preso na parte inferior da placa superior na parte traseira da placa Arduino Mega voltada para a frente do hexapod.
A placa superior tem seis chifres de servo, cada um conectado com quatro parafusos M2.2. Na parte superior da placa está instalada uma caixa de 70 mm x 120 mm x 30 mm na qual um suporte de bateria 18650 de 2 baias, interruptor de dois pólos, LED verde e um display IC2 16 x 2 LCD estão instalados. Além disso, o primeiro servo de pescoço também é instalado, a alimentação e o cabo de dados do segundo braço de servo passam por um orifício para alimentar o segundo servo e o módulo Arduino V3 NodeMcu. Um outro cabo de dados passa pela caixa superior e alimenta o módulo ultrassônico HC-SR04, novamente localizado no cabeçote. Um segundo cabo de dados e energia também é passado para a cabeça para alimentar o anel de led pixie.
Os dois cabos de dados servo e o cabo de dados HC-SR04 são alimentados através da placa superior, enquanto o módulo Bluetooth é conectado à parte inferior da placa usando um formulário de neon e cola quente. O gerenciamento dos cabos dos 18 servo cabos de dados restantes deve estar no lugar antes de qualquer tentativa de fixar a placa superior na placa inferior usando 4 parafusos M3 que se encaixam nos suportes 4 x M3 que foram fixados na placa inferior. Como parte do processo de fixação da placa inferior superior, todos os seis servos Coax também devem ser colocados em suas posições corretas com o encaixe do rolamento no orifício da placa inferior e o encaixe da cabeça do servo no chifre da placa superior. Depois de encaixados, os topos dos seis servos Coax são fixados com 6 parafusos M3. Devido à posição das pontas do servo para os seis servos Coax, os afastadores 4 x M3 precisaram ser reduzidos em altura em 2 mm, para que os rolamentos do servo Coax se acomodassem corretamente na placa inferior.
CABEÇA
A cabeça consiste em dois servos 90 graus um do outro, um alojado na caixa anexada à placa superior e o segundo anexado ao primeiro por meio do chifre do servo usando uma seção em forma de U da placa de latão. O chifre do segundo servo é preso a um suporte de latão em forma de L, que por sua vez é preso a uma caixa de 70 mm x 70 mm x 50 mm com dois parafusos e porcas. A caixa forma a cabeça, dentro da qual estão instalados a câmera Ardcam, o módulo ultrassônico HC-SR04, o módulo Arduino V3 NodeMcu e o LED de energia. O módulo ultrassônico transmite e recebe as cabeças do sensor que se projetam na parte frontal da caixa, assim como as lentes da câmera. Ao redor da lente na parte externa da caixa está um anel pixie Nero de 16 LCD. O LED de energia do NodeMcu é visto por um orifício na placa traseira do cabeçote, o cabo de alimentação, o cabo de dados do módulo ultrassônico e os cabos de energia de dados Pixie Neon entram por um orifício entre a placa traseira e a placa da cabeça.
ELETRÔNICOS
Os diagramas de Fritzing a seguir mostram os componentes eletrônicos do corpo e da cabeça. As linhas VCC e GRD não são mostradas para os 20 servos para ajudar na clareza do diagrama. O módulo Bluetooth, através do Android App., Controla o movimento do Hexapod incluindo seus servos de pescoço. O módulo Arduino NodeMcu baseado em WIFI controla o módulo de câmera Arducam. Todos os servos são conectados à blindagem do sensor Arduino por meio de um único bloco contendo VCC, GRD e linhas de sinal. Os cabos de jumper DuPont padrão de 20 cm são usados para conectar o LCD BT12, HC-SR04 e IC2 Bluetooth.
CALIBRAÇÃO DE PÉS
Esta é uma das áreas mais difíceis de preparação antes de trabalhar no movimento do hexápode. A ideia inicial é definir todas as pernas para o seguinte: servos coaxiais de 90 graus, servos de fêmur para 90 graus e servos de Tibia definidos para 90 com a posição física da perna definida para 105 graus para as pernas 2, 4 e 6 e 75 graus para as pernas 1, 3 e 5. O hexapod foi colocado em uma superfície nivelada apoiando-se nos quatro suportes sob o compartimento da bateria. Suas pernas foram posicionadas em pontos de distância igual entre cada perna e a uma distância igual do corpo. Todas essas posições foram marcadas na superfície plana. Durante a construção das pernas, o ponto médio de cada servo foi encontrado, esta deve ser a posição dos servos 90 graus. Esta posição padrão de 90 graus é usada com todos os servos.
As faces internas dos servos coaxiais 2 e 5 são paralelas entre si, isso vale para os servos 1 e 6, e 3 e 4. Todos os servos coaxiais e coaxiais são fixados juntos a 90 graus um do outro durante a fase de construção. Todos os servos Femur têm o braço Femur anexado a eles em um ângulo de 90 graus. Todos os servos do Tibia são anexados ao Tibia a 90 graus. 2, 4 e 6 servos do Tibia são anexados ao braço do fêmur a 105 graus, enquanto os servos do Tibia 1, 3 e 5 são anexados ao braço do fêmur a 75 graus.
É importante notar que durante o teste, todos os servos devem ser monitorados quanto à temperatura, um servo quente significa que o servo está trabalhando muito e pode falhar, a maioria dos servos estará quente ao toque.
A calibração inicial é mover o hexapod de sua posição de repouso, depois de ser ligado, para uma posição de pé que seja estável, estável, nivelada e, o mais importante, nenhum dos servos está superaquecendo. Para manter uma posição estável, é necessário escrever para cada servo com um atraso menor que 20 milissegundos, 10 milissegundos foram usados. Todos os servos só podem se mover de 0 a 180 graus e de 180 graus de volta a 0, então para todos os servos Femur 0 e 180 graus é vertical e 90 graus é horizontal.
Antes de anexar cada servo, uma gravação de inicialização foi enviada para cada um dos servos definidos anteriormente, dando-lhes seu ângulo atual de descanso, ou seja, a posição atual em que o servo está durante o repouso. Isso era 90 graus para todos os servos coaxiais, 55 graus para os servos Femur e Tibia 1, 3 e 5, e 125 graus para os servos Femur e Tibia 2, 4 e 6.
É importante observar que as baterias devem estar sempre totalmente carregadas no início da sessão de calibração.
O hexápode sempre começa em uma posição de repouso, com o corpo todo apoiado nas quatro patas. A partir desta posição, todos os servos Femur e Tibia são ciclados de suas posições iniciais até suas posições de pé, ponto em que todos os servos estão a 90 graus. Para completar a posição em pé, o comando “levantar” é emitido, este comando requer que todas as pernas se levantem e se abaixem novamente em dois conjuntos de três movimentos de perna, pernas 1, 5 e 4, e 2, 6 e 3.
Etapa 8: SOFTWARE
O software consiste em três partes, a parte um é o código do Arduino que roda no Arduino Mega, a parte dois é o código do Arduino rodando no módulo NodeMcu na cabeça. A comunicação é feita através da unidade Bluetooth BT12 que recebe comandos do tablet Android, ou seja, um Samsung Tab 2, que está executando um aplicativo personalizado do Android Studio. É este aplicativo que envia comandos para o Hexapod. O mesmo aplicativo também recebe feed de vídeo ao vivo do módulo NodeMcu por meio de seu WIFI integrado.
CÓDIGO ANDROID
O código Android sob medida, desenvolvido com o Android Studio, fornece a plataforma na qual o aplicativo de duas telas é executado. O aplicativo possui duas telas, a tela principal permite ao usuário emitir comandos para o hexapod e visualizar o feed de vídeo proveniente da cabeça do hexapod. A segunda tela, acessada através do botão WIFI, permite que o usuário se conecte primeiro ao hexapod Bluetooth e, em segundo lugar, ao ponto de acesso WIFI que é gerado pelo cartão NodeMCU Arduino na cabeça do hexapod. O aplicativo envia comandos de uma única letra, via serial 9600 Baud, do Tablet via Bluetooth embutido para o Bluetooth BT12 conectado ao hexapod.
CÓDIGO ARDUINO
O desenvolvimento do código começou com o desenvolvimento de um programa de teste que foi projetado para testar as funções básicas do Hexapod, sua cabeça e corpo. Uma vez que a cabeça e seu funcionamento são completamente separados do corpo, seu desenvolvimento de software foi testado em paralelo com o código de função do corpo. O código de operação principal foi amplamente baseado em um desenvolvimento anterior com a inclusão do movimento servo. O código incluiu a operação de um display LCD 16x2, módulo ultrassônico HC-SR04 e um anel de luz de 16 LED. O desenvolvimento de código adicional foi necessário para fornecer acesso WIFI ao feed de vídeo ao vivo da cabeça.
O código de função corporal foi inicialmente desenvolvido para fornecer a fixação inicial do servo e a posição inicial durante o repouso. A partir dessa posição, o hexapod foi programado para simplesmente ficar em pé. O desenvolvimento então prosseguiu com movimentos adicionais do Hexapod e a combinação das seções de código da cabeça e do corpo com as comunicações em série com o aplicativo Android.
O código do servo de teste permitiu o desenvolvimento dos movimentos das pernas e do corpo, a saber:
1. InitLeg - permite a posição da perna em repouso, a posição da perna em pé, a posição inicial da perna de caranguejo para andar para a esquerda ou direita, posição inicial da perna para andar para frente ou para trás.
2. Onda - Permite que as patas dianteiras ondulem, quatro vezes, antes de retornar à posição em pé.
3. TurnLeg- permite que o hexapod vire à esquerda ou à direita.
4. MoveLeg- Permite que o hexapod ande para a frente ou para trás.
5. CrouchLeg- permite que o hexápodo se agache para frente sobre as pernas dianteiras ou para trás sobre as pernas traseiras.
O movimento das pernas é baseado em pares de pernas trabalhando juntas, então as pernas 1 e 2, 3 e 4, 5 e 6 funcionam como pares. O movimento consiste em duas ações básicas, um esticar e puxar para frente e um empurrar para trás. Para andar para trás, esses dois movimentos são invertidos, por exemplo, andar para frente, as pernas 1 e 2 puxam, enquanto as pernas 5 e 6 empurram, as pernas 3 e 4 fornecem estabilidade. O andar do caranguejo consiste simplesmente nas mesmas ações, mas definidas a 90 graus do corpo; neste caso, as pernas 3 e 4 também se movem da mesma maneira que as outras pernas. Enquanto os pares de pernas ambulantes se movem alternadamente, enquanto as pernas caminhantes do caranguejo 1 e 5 funcionam como um par, enquanto a perna 3 trabalha em passadas alternadas para as pernas 1 e 5.
A descrição funcional do movimento segue para cada uma das principais funções do movimento, cada uma das quais consiste em elementos de movimento reunidos e acionados em uma sequência definida.
DESCANSO: Partindo de uma posição em pé, todos os servos do fêmur se movem para cima para abaixar o corpo sobre os quatro suportes. Ao mesmo tempo, todos os servos do Tibia se movem para dentro.
STANDING: Começando da posição de descanso, todos os servos do Tibia se movem para fora, quando isso é concluído todos os servos do Femur se movem para a posição de 90 graus, finalmente todos os servos do Tibia se movem para a posição de 90 graus ao mesmo tempo.
GIRANDO PARA A ESQUERDA: as pernas 1, 3 e 5 se movem 45 graus para trás, afastando-se da cabeça, ao mesmo tempo as pernas 2, 4 e 6 se movem para a frente em direção à cabeça. Uma vez que todos os servos Coax se movam de sua posição atual de volta para a posição padrão de 90 graus, este movimento seria anti-horário para o corpo.
GIRANDO PARA A DIREITA: As pernas 1, 3 e 5 movem-se 45 graus para a frente em direção à cabeça, ao mesmo tempo as pernas 2, 4 e 6 movem-se para trás, afastando-se da cabeça e da cabeça. Depois de concluídos todos os servos Coax se movem de sua posição atual de volta para a posição padrão de 90 graus, esse movimento seria no sentido horário para o corpo.
CROUCH FORWARD: Pernas 1 e 2 abaixam usando os servos Femur e Tibia, enquanto as pernas 5 e 6 são levantadas usando seus servos Femur e Tibia, as pernas 3 e 4 permanecem na posição padrão.
CROUCH BACKWARD: As pernas 1 e 2 são levantadas usando os servos Femur e Tibia, enquanto as pernas 5 e 6 são abaixadas usando seus servos Femur e Tibia, as pernas 3 e 4 permanecem na posição padrão.
ACENANDO: Esta rotina usa as pernas 1 e 2 apenas. Os servos coaxiais se movem em um arco de 50 graus, enquanto o fêmur e o Tibia também se movem em um arco de 50 graus. As pernas 3 e 4 avançam 20 graus em direção à cabeça, o que proporciona uma plataforma mais estável.
CAMINHADA PARA A FRENTE: As pernas 1 e 6, 2 e 5 e 3 e 4 devem trabalhar juntas. Assim, enquanto a perna 1 está puxando o corpo, a perna 6 deve estar empurrando o corpo, assim que esta ação for concluída, as pernas 2 e 5 devem realizar a mesma ação, enquanto cada um desses ciclos de ação está ocorrendo, as pernas 3 e 4 devem realizar seus seguir em frente a rotina.
As funções iniciais do módulo da perna de teste permitiram um design para cada um dos três movimentos da perna. São necessários três movimentos de perna, pois as pernas opostas simplesmente executam os movimentos reversos. Um novo módulo combinado de perna 1, 3 e 6 foi desenvolvido, testado e copiado para um segundo módulo de perna 2, 4 e 5 invertido. O teste dos movimentos das pernas do hexápode foi realizado colocando-se o hexápode em um bloco elevado, permitindo que as pernas se movessem totalmente sem tocar o solo. As medições foram feitas enquanto as pernas se moviam e verificou-se que todas as pernas se moviam horizontalmente a uma distância de 80 mm enquanto ao mesmo tempo permaneciam 10 mm acima do solo em seu ponto mais baixo durante o movimento. Isso significa que o hexápode simplesmente balançará de um lado para o outro durante o movimento e que todas as pernas terão a mesma força de tração durante o movimento.
CAMINHADA REVERSA:
CRAB WALKING LEFT: O movimento inicial começa com as pernas 1, 2, 5 e 6 girando 45 graus em direção à direção de deslocamento. Isso coloca todas as pernas em linha com a direção do percurso, as pernas 3 e 4 já estão na orientação correta. O fêmur e o tíbia de cada perna começando na posição padrão de 90 graus. Esta marcha consiste em dois conjuntos de três pernas trabalhando em passadas alternadas, pernas 1, 5 e 4, e pernas 3, 2 e 6. Cada conjunto de três pernas funciona puxando com as pernas dianteiras, Ie 1 e 5 e empurrando com perna 4, este movimento é então invertido para que a perna 3 puxe enquanto as pernas 2 e 6 empurram, nenhum dos servos Coax faz qualquer trabalho durante este movimento. Cada conjunto de três pernas levanta o outro conjunto de pernas estacionário conforme o primeiro conjunto se move.
CRAB WALKING RIGHT:
NOTA: A cabeça vai virar na direção do andar do caranguejo para a esquerda ou para a direita. Isso permite que a detecção ultrassônica HC-SR04 seja usada durante a caminhada.
AJUSTE DAS PERNAS: Para que o hexapod fique nivelado, é necessário que todas as pernas estejam com a mesma altura. Colocando o Hexapod em blocos e, em seguida, utilizando as rotinas Stand e Rest foi possível medir a distância do solo de cada efetor final. Eu adicionei botas de borracha a cada efetor final para primeiro adicionar aderência, mas também para permitir um pequeno ajuste no comprimento da perna, com o objetivo de 5 mm ou menos entre todas as pernas. Definir cada servo em 90 graus foi fácil, no entanto, a fixação de cada chifre do servo em ambas as extremidades do fêmur pode e causou problemas, pois diferenças muito pequenas nos ângulos de rotação das espinhas internas dos chifres fazem com que as alturas das pernas difiram em 20 mm. A troca dos parafusos em diferentes orifícios de fixação nas pontas do servo corrigiu essa diferença de altura de 20 mm. Eu estava determinado a consertar esse problema usando esse método, em vez de ter que compensar essas diferenças de altura usando um software.
Recomendado:
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Gesture Hawk: robô controlado por gestos manuais usando interface baseada em processamento de imagens: 13 etapas (com imagens)
Gesture Hawk: Robô controlado por gestos manuais usando uma interface baseada em processamento de imagem: Gesture Hawk foi apresentado no TechEvince 4.0 como uma interface homem-máquina baseada em processamento de imagem simples. Sua utilidade reside no fato de que nenhum sensor adicional ou vestível, exceto uma luva, é necessário para controlar o carro robótico que funciona em diferentes
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Salvando suas imagens para sua tarefa: 4 etapas (com imagens)
Salvando suas imagens para sua tarefa: 1. Abra um novo documento do Google e use esta página para proteger suas imagens.2. Use ctrl (control) e " c " chave para copy.3. Use ctrl (control) e " v " chave para colar
Fazendo imagens sem costura horizontal ou verticalmente apenas (para "The GIMP").: 11 etapas (com imagens)
Fazendo imagens sem costura horizontalmente ou verticalmente apenas (para "The GIMP") .: Se você tentar o plug-in "Make seamless" no GIMP, ele tornará a imagem contínua tanto horizontal quanto verticalmente ao mesmo tempo. Ele não permitirá que você faça isso perfeito em apenas uma dimensão. Este instrutível irá ajudá-lo a fazer ima