Índice:

Walking Strandbeest, Java / Python e controlado por aplicativo: 4 etapas (com imagens)
Walking Strandbeest, Java / Python e controlado por aplicativo: 4 etapas (com imagens)

Vídeo: Walking Strandbeest, Java / Python e controlado por aplicativo: 4 etapas (com imagens)

Vídeo: Walking Strandbeest, Java / Python e controlado por aplicativo: 4 etapas (com imagens)
Vídeo: Strandbeest Initial Steps 2024, Novembro
Anonim

Por arrowlikeFollow More by the author:

Estudo Experimental de Movimento Harmônico Simples
Estudo Experimental de Movimento Harmônico Simples
Estudo Experimental de Movimento Harmônico Simples
Estudo Experimental de Movimento Harmônico Simples

Este kit Strandbeest é um trabalho DIY baseado no Strandbeest inventado por Theo Jansen. Espantado com o design mecânico genial, quero equipá-lo com total capacidade de manobra e, em seguida, inteligência computacional. Neste instrutível, trabalhamos na primeira parte, a manobrabilidade. Também cobrimos a estrutura mecânica do computador do tamanho de um cartão de crédito, para que possamos brincar com a visão computacional e o processamento de IA. Para simplificar o trabalho de construção e eance, eu não usei arduino ou computador programável semelhante, em vez disso, construí um controlador de hardware bluetooth. Este controlador, funcionando como o terminal que interage com o hardware robótico, é controlado por um sistema mais poderoso, como um aplicativo de telefone Android ou RaspberryPi, etc. O controle pode ser o controle da IU do telefone móvel ou o controle programável em linguagem python ou Java. Um SDK para cada linguagem de programação é de código aberto fornecido em

Uma vez que o manual do usuário do mini-Strandbeest é bastante claro ao explicar as etapas de construção, neste instrutível, vamos nos concentrar nas partes de informações que normalmente não são abordadas no manual do usuário e nas partes elétricas / eletrônicas.

Se precisarmos de uma ideia mais intuitiva sobre a montagem mecânica deste kit, alguns bons vídeos sobre o tema da montagem estão disponíveis, como

Suprimentos

Para construir a parte mecânica e fazer todas as conexões elétricas deste Strandbeest, deve levar menos de 1 hora para ser concluído se o tempo de espera para a impressão 3D não for contado. Requer as seguintes partes:

(1) 1 kit Strandbeest padrão (https://webshop.strandbeest.com/ordis-parvus)

(2) Motor 2x DC com caixa de engrenagens (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1 controlador Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1 bateria LiPo (3,7 V, sua escolha de capacidade em mAh)

(5) parafusos de madeira 12x M2x5,6 mm

(6) carbono de 2 mm de diâmetro ou haste de bambu

Impressão 3D das seguintes partes:

(1) 1 corpo principal de robótica

(Arquivo de design de impressão 3D com download apenas do controlador bluetooth)

(Arquivo de design de impressão 3D com download adicional do OrangePi Nano)

(2) 2x flange do eixo de transmissão (download do arquivo de design de impressão 3D)

(3) 2x dispositivo elétrico do sistema de energia (download do arquivo de design de impressão 3D)

Outros:

Celular Android. Vá para o Google playstore, pesquise M2ROBOTS e instale o aplicativo de controle.

Caso seja difícil acessar o Google Playstore, visite minha página inicial para obter um método alternativo de download de aplicativos

Etapa 1: Organização das peças

Organização de Peças
Organização de Peças
Organização de Peças
Organização de Peças
Organização de Peças
Organização de Peças
Organização de Peças
Organização de Peças

Nesta etapa, organizaremos todas as peças a serem montadas. Figura 1. mostra todas as peças de plástico prontas para usar que usamos para construir o modelo Strandbeest. Eles são feitos por moldagem por injeção, que é altamente eficiente, em comparação com outros métodos de fabricação de usinagem, como impressão 3D ou fresamento. É por isso que queremos tirar o máximo proveito do produto produzido em massa e apenas personalizar o mínimo de peças.

Como é mostrado na Fig.2, cada pedaço de placa de plástico tem um alfabeto etiquetado, parte individual não tem a etiqueta. Uma vez desmontados, não há mais rotulagem. Para resolver este problema, podemos colocar peças do mesmo tipo em caixas diferentes, ou simplesmente marcar várias áreas em um pedaço de papel e colocar um tipo de peças em uma área, ver Fig.3.

Para cortar a parte de plástico da placa de plástico de montagem maior, a tesoura e a faca podem não ser tão eficientes e seguras quanto o alicate mostrado nas Fig.4 e 5.

Tudo aqui é feito de plástico, exceto o material dos dedos do pé que é de borracha, veja a Fig.6. Podemos cortar de acordo com os cortes pré-fabricados. A natureza macia do material de borracha fornece melhor desempenho de pega do strandbeest. Isso é especialmente verdadeiro ao subir uma encosta. Em tópicos posteriores, podemos testar sua capacidade de subir em diferentes ângulos de inclinação, com e sem os dedos de borracha. Quando não há deslizamento, é chamado de atrito estático. Uma vez que perde a aderência, torna-se atrito cinético. O coeficiente de atrito depende dos materiais utilizados, por isso temos os biqueiros de borracha. Como planejar um experimento, levante a mão e fale.

A última figura contém a "ECU", "Power train" e o chassi deste modelo Strandbeest.

Etapa 2: pontos dignos de atenção durante a montagem mecânica

Pontos dignos de atenção durante a montagem mecânica
Pontos dignos de atenção durante a montagem mecânica
Pontos dignos de atenção durante a montagem mecânica
Pontos dignos de atenção durante a montagem mecânica
Pontos dignos de atenção durante a montagem mecânica
Pontos dignos de atenção durante a montagem mecânica

O mini-Strandbeest tem um manual do usuário bastante bom. Deve ser um trabalho fácil seguir o manual e concluir a montagem. Vou pular esse conteúdo e destacar alguns pontos interessantes que merecem nossa atenção.

Na Fig.1, um lado da fenda que segura os dedos de borracha é o canto de 90 graus, enquanto o outro lado tem uma inclinação de 45 graus, que é oficialmente chamada de chanfro. Essa inclinação guia o dedo do pé de borracha para caber no pé de plástico. Tente instalar os dedos do lado com o chanfro, veja a Fig.2, depois tente o outro lado. A diferença é muito perceptível. Lado direito da Fig.3 está a manivela em nosso Stranbeest. É muito semelhante à manivela de um motor, motor de carro, motor de motocicleta, todos compartilham a mesma estrutura. Em um Strandbeest, quando a manivela gira, faz com que os pés se movam. Para um motor, é o movimento do pistão que faz a manivela girar. Essa separação de 120 graus em um círculo também leva a um motor ou gerador trifásico, a energia elétrica é de 120 graus de distância, mostrado na Fig.4. Assim que tivermos as peças mecânicas para os corpos dos lados esquerdo e direito todas montadas, agora começamos a trabalhar nas peças que adicionamos ao Strandbeest, consulte a Fig.5. A Fig.6 é a etapa em que usamos a braçadeira do motor impresso em 3-D para prender o motor ao chassi impresso em 3-D. Nesta etapa, o truque é que nenhum dos parafusos deve ser apertado antes que a posição do motor seja ajustada de forma que a superfície lateral do chassi seja igual à superfície do motor. Assim que estivermos satisfeitos com o alinhamento, podemos apertar todos os parafusos. Passando para a Fig.7, trabalhamos na instalação do acoplamento flangeado, ligando a saída do motor à manivela. O lado do motor é mais difícil de instalar do que a conexão do lado da manivela, consulte a Fig.8. Portanto, conectamos primeiro o flange do lado do motor. Uma vez que o acoplamento de flange para ambos os motores são instalados, como é mostrado na Fig.9, usamos duas peças de hastes de carbono de 2 mm de diâmetro para conectar o chassi e a estrutura móvel esquerda / direita. Isso está acontecendo em FIg.10. No total, usamos 3 pedaços de barras de carbono para conectar essas entidades. Mas nesta etapa, conectamos apenas dois deles, porque precisamos girar a manivela e ajustar a conexão entre o flange e a manivela. Se 3 peças de barras de carbono estiverem no lugar, será mais difícil ajustar a posição relativa e conectá-las. Finalmente, temos o sistema mecânico final montado, na Fig.11. Próxima etapa, vamos trabalhar na eletrônica.

Etapa 3: Conexão Elétrica

Conexão elétrica
Conexão elétrica
Conexão elétrica
Conexão elétrica
Conexão elétrica
Conexão elétrica

Todos os sistemas eletrônicos precisam de fonte de alimentação. Podemos colocar uma bateria de 1 célula em algum lugar conveniente, por exemplo, embaixo da placa de circuito da Fig.1. A polaridade da fonte de alimentação é tão crítica que merece uma figura dedicada para discutir. A Fig.2 destaca a conexão da bateria. Na placa controladora, a polaridade é marcada por "+" e "GND", consulte a Fig.3. Quando a bateria acaba, um cabo USB é usado para recarregar a bateria, consulte a Fig.4. O LED que indica "recarga em processo" será desligado automaticamente quando a bateria ficar cheia novamente. A última etapa é conectar as saídas do motor aos conectores do motor na placa do controlador. Existem 3 conectores de motor, identificados pelo número 16 na Fig.3. Na Fig.5, o motor esquerdo está conectado ao conector mais à esquerda identificado como PWM12 e o motor direito está conectado ao conector do meio. Atualmente, girar um tanque (veículo de direção diferencial) para a esquerda é codificado como decremento da potência de entrada do motor conectada à porta do motor PWM12. Portanto, o motor conectado à porta PWM12 deve conduzir o pé esquerdo. Posteriormente, converterei todas as funções de mixagem para serem configuráveis pelo usuário. já que trocando a escolha do conector do motor ou invertendo a direção do conector do motor, podemos corrigir o problema, como o Strandbeest movendo-se para trás quando comandado a avançar, girando na direção errada, lembre-se de que o motor DC muda sua direção de giro se o fio de entrada estiver conectado à alimentação de controle na ordem inversa.

Etapa 4: Configurações e operação do aplicativo

Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo
Configurações e operação do aplicativo

Primeiro, baixamos um aplicativo Android da Google Play Store, consulte a Fig.1. Este aplicativo tem muitas outras funcionalidades que não podemos cobrir neste instrutível, vamos nos concentrar apenas nos tópicos diretamente relacionados para Strandbeest.

Ligue o controlador de hardware bluetooth, ele aparecerá na lista de dispositivos de descoberta. Um clique longo nos levará ao recurso de download over-the-air para ser "instruído" mais tarde. Antes de clicarmos e iniciarmos o controle, vamos fazer algumas configurações primeiro clicando no canto superior direito "Configurações". Na Fig.2, ele está oculto sob o ícone…. A Fig.3 mostra várias categorias de configuração. Essas configurações, configuradas no aplicativo, são colocadas em ação de três maneiras: 1) algumas configurações afetam apenas a operação do aplicativo, como a aritmética para obter o comando de controle de potência de cada motor a partir de seu comando de direção e acelerador. Eles vivem no aplicativo. Em alguns instrutíveis posteriores, mostraremos como substituí-los por nossos programas Python / Java. 2) alguma configuração é enviada ao hardware como parte do protocolo de controle no ar, como a troca entre o controle direto (o servo gira exatamente o ângulo comandado) e o controle fly by wire (o módulo de função do controlador autônomo embutido opera o servo canal de acordo com o comando do usuário e atitude atual) 3) alguma configuração será enviada para a memória não volátil no controlador de hardware. Portanto, o hardware seguirá essas configurações sempre que for ligado sem ser configurado. Um exemplo será o nome de transmissão bluetooth do dispositivo. Esse tipo de configuração precisa de um ciclo de energia para entrar em vigor. A primeira categoria na qual mergulhamos são as "Configurações gerais" na Fig.4. A “função de controle do aplicativo” na Fig.5 define a função que este aplicativo está desempenhando, um controlador para o dispositivo de hardware através da conexão direta bluetooth; uma ponte sobre intranet / internet para controle de telepresença; e etc. Em seguida, a página “Tipo de HW” na Fig.6 informa ao aplicativo que você está trabalhando com um veículo de direção diferencial, portanto, o modo “tanque” deve ser selecionado. Temos 6 saídas PWM disponíveis no total. Para o Strandbeest, precisamos configurar os canais 1 a 4 de acordo com a Fig.7. Cada canal PWM é operado em um dos seguintes modos: 1) servo normal: servo RC controlado por sinal PWM de 1 a 2ms 2) servo reverso: o controlador irá reverter o controle do usuário para sua saída 3) Ciclo de trabalho do motor DC: a DC motor ou algum dispositivo elétrico de potência, pode ser operado no modo de ciclo de trabalho, 0% está desligado, 100% está sempre ligado. 4) Reversão do ciclo de trabalho do motor CC: novamente o controlador irá reverter o controle do usuário para sua saída. Uma vez que usamos o motor CC e cuidamos da direção de giro do motor pela ordem de fiação do hardware, escolheremos “ciclo de trabalho do motor CC” para o canal 1 para 4, consulte a Fig.8. Também precisamos mesclar 2 canais PWM em 1 ponte H, de modo a habilitar o controle bidirecional. Esta etapa é mostrada na Fig.9. No modo “2 canais PWM para 1 ponte H”, os canais 1, 3 e 5 são usados para controlar os dois canais associados. Ele introduz a necessidade de remapear o controle do acelerador, controle up-down do joystick de seu canal padrão 2 para o canal 3. Isso é obtido nas configurações da Fig.10. Conforme mostrado na Fig.11, cada canal é configurado para receber uma fonte de entrada arbitrária.

Bingo, agora concluímos a configuração mínima necessária e podemos voltar à página que mostra o dispositivo bluetooth visível e conectá-lo. Na Fig.12, experimente tocar o joystick e podemos nos divertir com este Strandbeest. Tente subir alguma inclinação, lembre-se da análise de atrito entre os tipos de materiais e leia a atitude estimada do controlador de vôo, que é mostrada na linha rotulada com "RPY (graus)", as quatro entradas nesta linha são roll, pitch, yaw ângulo estimado pelo giroscópio e acelerômetro de bordo; a última entrada é a saída da bússola com compensação de inclinação.

Trabalho futuro: nos seguintes instructables, iremos cobrir gradualmente sua interface de programação, escolher sua linguagem favorita Java ou Python para interagir com o Strandbeest, e não mais ler o status do strandbeest na tela do celular. Também iniciaremos a programação no computador linux do tipo RaspberryPi para tópicos de programação mais avançados, consulte a última Figura. Verifique https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ para as peças mecânicas de impressão 3D e https://github.com/xiapeiqing/m2robots.git para SDK e código de exemplo se quiser começar imediatamente. Deixe-me saber qual é a linguagem de programação desejada, senão Java ou Python, posso adicionar uma nova versão do SDK.

Divirta-se hackeando e fique ligado nas seguintes instruções.

Recomendado: