Índice:

Tinku: um robô pessoal: 9 etapas (com fotos)
Tinku: um robô pessoal: 9 etapas (com fotos)

Vídeo: Tinku: um robô pessoal: 9 etapas (com fotos)

Vídeo: Tinku: um robô pessoal: 9 etapas (com fotos)
Vídeo: "Железный Монстр GT99 - Все серии плюс специальный Бонус" Мультики про танки 2024, Novembro
Anonim
Tinku: um robô pessoal
Tinku: um robô pessoal

Por sw4pFollow Mais pelo autor:

Superfície Intangível
Superfície Intangível
Superfície Intangível
Superfície Intangível
Excluído Instrutível
Excluído Instrutível
Excluído Instrutível
Excluído Instrutível
Piano Cardboard
Piano Cardboard
Piano Cardboard
Piano Cardboard

Olá, Tinku não é apenas um robô; é um robô pessoal. É um pacote completo. Ele pode ver (visão computacional), ouvir (processamento da fala), falar e reagir à situação. Pode expressar emoções, e a lista de coisas que pode fazer continua. Eu dei um nome; Eu chamo isso de Tinku.

Uma breve introdução do que ele pode fazer é

  1. Visão Computacional

    • Detecção de rosto
    • Rastreamento facial
    • Tire fotos e grave vídeos
    • Reconhecer marcadores ArUco
  2. Processamento de Fala
    • Processamento de fala offline (detecção de hotword)
    • Ele pode entender o que você está dizendo, detectando Hotwords.
  3. Express Emotions

    • Ele move sua cabeça para comunicações não-verbais e para expressar sentimentos.
    • Ele exibe imagens e gifs em sua tela para apoiar o sentimento atual.
  4. Mover-se

    Ele pode correr usando suas rodas e identificar lugares usando marcadores ArUco

  5. Evitar Obstáculos

    Possui sensores de sonar para que esteja sempre ciente do que está ao seu redor e possa evitar obstáculos

Ele pode fazer muito mais coisas. Você também pode implementar as novas funcionalidades que desejar.

Chega de conversa, vamos fazer.

EDIT: Body of Tinku começou a rachar, então eu tive que redesenhar ele completamente. Aqui estão as novas imagens, Tinku completamente novas e melhores. Sinto muito, não tenho as imagens das etapas de redesenho do Tinku.

Etapa 1: Coisas que você vai precisar

Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar
Coisas que você vai precisar

Corpo do robô

  1. Chapa acrílica
  2. Placa de MDF
  3. Braçadeiras L pequenas
  4. Pacote de porca e parafuso

Servos, motores e rodas

  1. Dynamixel AX-12A (3 peças)
  2. Conjunto de parafuso e porca bioloide
  3. Motores (2 peças)
  4. Faixas (2 pacotes)
  5. Rodas de esteira (4 peças)
  6. Braçadeiras L para motores (2 peças)
  7. Braçadeira L para eixo de roda fictício (2 peças)
  8. Eixo da roda fictício (2 peças)
  9. Bioloid Frame F8
  10. Quadro Bioloid F3 (2 peças)
  11. Bioloid Frame F2
  12. Bioloid Frame F10

Eletrônicos

  1. Arduino
  2. Raspberry Pi ou Udoo Quad
  3. Motorista
  4. Logitech webcam-c270 (possui microfone integrado)
  5. Sensores de distância ultrassônicos (6 peças)
  6. Bateria Lipo (3300 Mah 3S)
  7. Regulador de tensão de aumento (DC-DC)
  8. Regulador redutor de tensão (DC-DC)
  9. Tela de toque (7 polegadas)
  10. Hub USB (somente se você estiver usando Udoo Quad porque tem apenas 2 portas USB)
  11. 7404 hex inverter IC
  12. 74HC244 IC
  13. Base IC de 14 pinos
  14. Base IC de 20 pinos

Conectores e cabos

  1. Conector macho de bateria em T
  2. Cabo HDMI flexível (somente se sua tela tiver conector HDMI)
  3. Cabo micro usb
  4. Cabo de relacionamento fêmea-fêmea de três pinos (6 peças)
  5. Plugue de alimentação macho DC tipo barrel jack (2 peças)
  6. Conectores servo Dynamixel (3 peças)
  7. Cabo USB A para B (somente se não vier com o Arduino)
  8. Fios de ligação
  9. Fios de tábua de pão
  10. Tiras de Burg

Para fazer PCBs

  1. Laminado revestido de cobre
  2. Gravador PCB (Fecl3)
  3. PCB perfurado
  4. Broca de 1 mm

Diversos

  1. Cola
  2. Tubos do dissipador de calor
  3. Impasses

Nota: Estou usando a placa Udoo porque tem melhor velocidade de computação do que o meu raspberry pi 2. Estou usando um Arduino externo em vez do Arduino integrado da placa Udoo porque todos os meus sensores e módulos são compatíveis com 5v, e o Arduino está A placa Udoo é compatível com 3v.

Etapa 2: Corpo do Robô

Corpo do Robô
Corpo do Robô
Corpo do Robô
Corpo do Robô
Corpo do Robô
Corpo do Robô
Corpo do Robô
Corpo do Robô

Para preparar o corpo do robô, usei a folha de acrílico e cortei no tamanho especificado para fazer uma estrutura semelhante a uma caixa. Mencionei a dimensão de cada lado do corpo na imagem.

  1. Corte a folha de acrílico de acordo com o tamanho especificado.
  2. Faça furos em locais específicos para montar os motores, sensores, espaçadores e para unir cada placa.
  3. Faça um furo maior na placa de base e na placa superior para passar os cabos.
  4. Faça um pequeno entalhe na parte inferior do painel frontal e traseiro para que os fios provenientes do sensor ultrassônico possam passar.

É hora de preparar e montar os motores e as esteiras.

  1. Solde os fios extras nos pinos do motor para que o fio possa alcançar os drivers do motor.
  2. Monte os grampos do motor e os grampos do eixo da roda falsos na placa de base do robô.
  3. Conecte os motores e o eixo da roda fictício às braçadeiras e, em seguida, conecte as rodas.
  4. Monte as faixas e faça um loop.
  5. Faixa de cinta nas rodas. Lembre-se de que a faixa não afrouxa e tem tensão suficiente.

Agora junte os painéis frontal, traseiro e lateral no painel de base usando pequenos grampos em L. Não monte o painel superior e um painel lateral para que tenhamos espaço suficiente para montar os componentes eletrônicos no robô.

Etapa 3: Cabeça e rosto do robô

Image
Image
Cabeça e rosto do robô
Cabeça e rosto do robô
Cabeça e rosto do robô
Cabeça e rosto do robô
Cabeça e rosto do robô
Cabeça e rosto do robô

Já demos carroceria e rodas para o nosso robô. Agora é hora de dar-lhe cabeça, pescoço e rosto.

Pescoço:

A parte mais complicada da cabeça do robô é o pescoço. Portanto, vamos prepará-lo primeiro. Os servos Dynamixel são um pouco confusos para trabalhar, mas são confiáveis e duráveis. Existem toneladas de grampos de montagem disponíveis para que você possa conectá-los de qualquer maneira.

Assista a este vídeo para a melhor explicação sobre como conectar os servos dynamixel juntos.

  1. Insira porcas nos servos dynamixel para montá-los com quadros.
  2. Coloque a estrutura biológica F8 no centro do painel superior, marque os orifícios e faça-os.
  3. Anexe a estrutura biológica F8 a um dos servos e, em seguida, monte a estrutura biológica F8 no painel superior.
  4. Una cada servo usando armações diferentes e prepare o braço.
  5. Conecte os servos uns aos outros usando conectores de servo de três pinos dynamixel.

Olho e ouvido:

Estou usando a webcam-c270 da Logitech como o olho do meu robô. É uma boa câmera que pode tirar fotos e gravar vídeos em 720p. Ele também tem um microfone embutido, portanto torna-se ouvido para o meu robô também. Após um longo brainstorming, descobri que o melhor lugar para montar a câmera é no topo da tela. Mas para montar a câmera, preciso de um suporte para câmera. Então, vamos fazer um.

  1. Remova as peças de metal da webcam que são fornecidas para dar algum peso.
  2. Corte duas peças da placa de MDF, uma quadrada e uma triangular com as dimensões mostradas na imagem.
  3. Faça um orifício na base da webcam e na peça de MDF quadrada. Faça um entalhe na peça quadrada para inserir o fio da webcam.
  4. Cole as peças de MDF juntas para formar uma forma de T. A montagem da câmera está pronta.
  5. Antes de conectar a montagem da câmera e a câmera juntas, prepare primeiro o cabeçote.

Cabeça:

A cabeça do robô é conectada aos servos. Ele precisa ser o mais leve possível para que o cabeçote não aplique muita carga nos servos. Por isso usei a placa de MDF no lugar da folha de acrílico.

  1. Corte um pedaço de placa de MDF com as dimensões (18cm x 13cm) e faça furos para montar a tela.
  2. Coloque a estrutura biológica F10 no centro da placa de MDF e marque os furos e faça-os.
  3. Coloque a moldura biológica F10 e a moldura biológica F2 em cada lado da placa de MDF e junte-as usando a porca e o parafuso.
  4. Agora cole o suporte para câmera na parte de trás da placa.
  5. Junte o quadro biológico F2 com o fim da configuração do servo.
  6. Monte a tela na placa de MDF usando espaçadores.
  7. Prenda a webcam no suporte da câmera.

Agora nossa cabeça e rosto do robô estão completos.

Etapa 4: PCBs personalizados

PCBs personalizados
PCBs personalizados
PCBs personalizados
PCBs personalizados
PCBs personalizados
PCBs personalizados

Agora é hora de dissolver alguns fecl3 e gravar alguns PCBs.

Por que fiz PCBs personalizados?

  • Eu não tenho servo controlador dynamixel, então preciso fazer um.
  • Tenho que conectar muitos sensores ao Arduino de uma forma mais limpa, então fiz um escudo para o Arduino.

Vamos fazer.

  1. Baixe os arquivos PCB e imprima-os no laminado revestido de cobre.
  2. Faça o condicionamento ácido do laminado revestido de cobre usando fecl3
  3. Faça furos de 1 mm para a montagem de ICs e tira de hambúrguer.
  4. Para fazer os cabeçalhos de empilhamento de escudo deslizarem para baixo as tampas de plástico da faixa de hambúrguer em direção ao final dos pinos.
  5. Solde as bases IC e burg strip nos PCBs.
  6. Eu forneci os esquemas para fins de referência.

Observação - Use o software Express PCB para abrir o.pcb e o software Express SCH para abrir o arquivo.sch.

Etapa 5: Fonte de alimentação

Fonte de energia
Fonte de energia
Fonte de energia
Fonte de energia

Manter uma potência consistente entre os diferentes módulos eletrônicos e motores do robô é muito necessário. Se a energia cair abaixo do valor limite em qualquer módulo, isso causará uma falha e será muito difícil identificar o motivo por trás disso.

A principal fonte de energia deste robô é uma bateria 3S Lipo de 2200mAh. Esta bateria possui três células e a tensão de saída é de 11,1 volts. A placa Udoo precisa de alimentação de 12v e a placa Arduino precisa de alimentação de 5v. Então, eu escolho usar dois reguladores de tensão, um é intensivo e o outro é redutor. Um manterá o suprimento de corrente para todos os módulos de 12v e o outro manterá o suprimento de corrente para todos os módulos de 5v.

A imagem contém esquemas desenhados à mão.

  • Solde os reguladores de tensão nas placas PCB perfuradas.
  • Solde o conector macho da bateria em T na entrada de ambos os reguladores de tensão.
  • Conecte a saída de 'aterramento' de ambos os reguladores.
  • Conecte os conectores de barril DC a cada uma das saídas do regulador. Mantenha o comprimento dos fios o suficiente para que eles alcancem a placa Udoo / Raspberry Pi e Arduino.
  • Solda a tira de hambúrguer para cada uma das saídas do regulador como saída de energia adicional no caso de precisarmos dela na modificação futura.
  • Antes de conectar a fonte de alimentação a qualquer um dos módulos eletrônicos, calibre a saída de cada regulador usando o potenciômetro de compensação fornecido para exatamente 12v e 5v.

Etapa 6: Montagem final

Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final

É hora agora. Depois de tantas etapas, é hora de montar cada módulo. Animado? Bem, eu sou.

  • Corte um pedaço retangular da placa de MDF com as dimensões (30cm x 25cm). Esta placa é a base para a montagem dos módulos eletrônicos. Não quero fazer muitos furos na placa base de acrílico, então estou usando placa de MDF. Também ajuda a esconder os fios embaixo dele para fazer nosso robô parecer arrumado e limpo.
  • Coloque os módulos na placa de MDF e marque os orifícios de montagem e faça-os. Faça alguns orifícios extras para passar os fios sob a placa de MDF.
  • Atribuí números a alguns orifícios, então fica fácil para mim referenciá-los e para você entender os esquemas de fiação.

Fonte de energia:

  • Monte o módulo de fonte de alimentação na placa e passe o conector de 12v e 5v pelo orifício número 1 e puxe o conector de 12v pelo orifício número 2 e puxe o conector de 5v pelo orifício número 3.
  • Eu mantive a bateria solta por enquanto porque eu preciso removê-la e carregá-la às vezes.

Motorista:

  • Retire os fios conectados aos motores através do orifício número 4 e conecte-os à placa do motor.
  • Os motores precisam da fonte de alimentação de 12v para funcionar corretamente, portanto, conecte os pinos de 12v e GND do driver com a saída do regulador de tensão de 12v.
  • Conecte os pinos do driver do motor ao Arduino de acordo com o código.

Arduino:

  • Antes de montar o Arduino, passe os fios dos três sensores ultrassônicos pelo painel traseiro e passe os fios dos três sensores ultrassônicos restantes pelo painel frontal e puxe-os para fora através do orifício número 3.
  • Monte o Arduino e prenda a proteção do sensor nele.
  • Eu dei números a todos os fios do sensor ultrassônico para que seja fácil depurar no caso de qualquer bug. Conecte os pinos do sensor à blindagem começando do número 1 a 6 consecutivamente.
  • Conecte o conector de alimentação de 5 V ao Arduino.

Servo controlador Dynamixel:

  • Monte o servo controlador dynamixel na placa.
  • Conecte o pino 12v e GND do servo controlador com a saída do regulador de tensão 12v.
  • Conecte o pino 5v e GND do servo controlador com a saída do regulador de tensão 5v.
  • Conecte os pinos do servo controlador e do Arduino de acordo com o código.
  • Deixe o pino de saída do servo desconectado por enquanto. Conecte-o após montar o painel superior do robô.

Udoo / Raspberry Pi:

Observação: antes de seguir as etapas abaixo, certifique-se de que já instalou o sistema operacional no cartão MicroSD e o colocou na placa Udoo / Raspberry Pi. Se não, siga os links para instalar o Raspbian no Raspberry Pi ou Udoobuntu na placa Udoo.

  • Monte o Udoo / Raspberry Pi na placa e conecte o conector de alimentação a ele.
  • Se você estiver usando o Udoo, conecte o hub USB a um de seus conectores USB.
  • Conecte o cabo HDMI e o cabo micro USB a ele. Esses pinos são usados para fornecer dados e energia para a tela.
  • Conecte o Arduino ao Udoo / Raspberry Pi usando um cabo USB A para B.

Painel superior:

  • Anexe o painel superior aos painéis lateral, frontal e traseiro do robô usando braçadeiras L.
  • Conecte o cabo HDMI, o cabo micro USB à tela e a webcam à placa Udoo / Raspberry Pi.
  • Conecte o conector servo de três pinos vindo do servo dynamixel base com o servo controlador. Verifique qual pino é DATA, GND e + 12v. Consulte as imagens na seção "Cabeça e Rosto do Robô" para melhor referência. Se você conectar os fios na ordem oposta, pode danificar os servos.

Sensores de distância ultrassônicos:

A última peça do quebra-cabeça. Depois disso, nossa assembléia está quase acabando.

  • Corte seis pedaços retangulares da placa de MDF / folha de acrílico com as dimensões (6cm x 5cm).
  • Faça furos nos locais necessários.
  • Prenda os sensores ultrassônicos a cada uma das placas e prenda todas as placas com o painel da base do robô.
  • Conecte os sensores com conectores.

Finalmente, está feito. Conecte a bateria e inicialize o Udoo / Raspberry Pi

Etapa 7: Software

O hardware está completo, mas sem software, este robô é apenas uma caixa. A lista do software de que precisamos é

  • TightVNC
  • Pitão
  • OpenCV
  • Snowboy
  • Alguns pacotes python

    • Pyautogui
    • entorpecido
    • pyserial
    • pyaudio

TightVNC:

TightVNC é um pacote de software de controle remoto gratuito. Com o TightVNC, você pode ver a área de trabalho de uma máquina remota e controlá-la com seu mouse e teclado local, da mesma forma que faria na frente desse computador.

Se você tiver teclado e mouse extras, isso é bom. Caso contrário, instale o TightVNC em seu laptop e siga estas etapas.

Pela primeira vez, conecte o teclado e o mouse ao Udoo / Raspberry Pi. Conecte-se a uma rede wi-fi. Abra o Terminal e digite

$ ifconfig

  • Anote o endereço IP do robô.
  • Abra o TightVNC em seu laptop. Insira o endereço IP no campo obrigatório e pressione Enter. Voila! Você está conectado agora. Use o touchpad e o teclado do seu laptop para acessar o robô.

Pitão:

Python é uma linguagem muito popular e versátil, por isso estou usando-a como a linguagem de programação primária para este robô.

Estou usando o python 2.7, mas se você quiser, também pode usar o python 3. Felizmente, o Python vem pré-instalado no Udoobuntu e no Raspbian OS. Portanto, não precisamos instalá-lo.

OpenCV:

OpenCV é uma biblioteca de código aberto voltada principalmente para a visão computacional em tempo real. OpenCV com Python é muito fácil de usar. Instalar o OpenCV é um pouco complicado, mas existem muitos guias fáceis de seguir disponíveis. Meu favorito pessoal é este. Este guia é para o Raspberry Pi, mas você também pode usá-lo para a placa Udoo.

Snowboy:

Snowboy é uma biblioteca escrita por caras do Kitt.ai, voltada principalmente para processamento offline de fala / detecção de hotword. É muito fácil de usar. Siga este link para instalar o snowboy no Raspberry Pi. Se você estiver usando a placa Udoo, vá para este projeto, escrito por mim para instalar o snowboy no Udoo.

Pacotes Python:

Siga estes guias fáceis de usar para instalar alguns pacotes Python.

  1. Pyautogui - Pyautogui é um pacote para simular pressionamentos de tecla de um teclado ou o movimento do mouse.
  2. Numpy - digite "pip install numpy" no shell do Linux e pressione enter. É simples assim.
  3. Pyserial - Pyserial é um pacote voltado para comunicação serial via python. Vamos usá-lo para nos comunicarmos com o Arduino.

Etapa 8: Códigos

A parte do hardware está completa. A parte do software está completa. Agora é hora de dar uma alma a este robô.

Vamos codificar.

O código para este robô é um tanto complicado e, atualmente, estou adicionando mais funcionalidades a ele. Portanto, hospedei os códigos em meu repositório Github. Você pode verificar e clonar / baixar códigos de lá.

Agora não é apenas um robô; agora é Tinku.

Etapa 9: demonstração

Image
Image

Demo. yeeeeee !!

Estas são algumas das demonstrações básicas. Há muitos mais interessantes por vir.

Fique ligado para mais atualizações e se tiver alguma dúvida, fique à vontade para comentar.

Obrigado por ler meu projeto. Você é demais.

Se você gostou deste projeto, por favor, vote no concurso Microcontrolador e Robótica

Happy Making;-)

Recomendado: