Robô humanóide artesanal avançado de código aberto MIA-1!
Componentes e suprimentos
| × | 1 | ||||
| × | 8 | ||||
| × | 1 |
Aplicativos e serviços online
|
Sobre este projeto
Olá a todos, hoje mostrarei como fiz o robô MIA-1, que além de avançado e único, também é open source e pode ser feito sem impressão 3D! Sim, você entendeu, este robô é totalmente feito à mão. E código aberto significa - você obtém os códigos e todos os detalhes gratuitamente , você também pode fazer este robô se desejar.
Aqui vemos apenas seu discurso, mas há muito mais coisas que ela pode fazer!
Aqui estão as coisas que ela pode fazer:
- Pode ouvir e responder a você
- Posso ver e reconhecer você usando a câmera do olho esquerdo dela
- Pode detectar movimento e capturar foto
- Possui uma GUI com tela de toque LCD para comandá-la
- Mostra imagens em seu lcd
- Baixe imagens e programas na tela dela
- Pode direcionar coisas usando um apontador laser na mão direita
- Move as mãos enquanto fala
- Fica de pé sem a ajuda de outras pessoas
- Ela também pode se curvar (assistir ao vídeo)
- E muito mais!
Suprimentos:
Para fazer este robô, usei todas as coisas que estão disponíveis em nossa loja local.
Microcontroladores + computadores (o cérebro):
- Arduino Mega (para controlar os servo motores)
- Um computador completo (você pode usar Raspberry Pi, mas inicialmente usarei meu laptop como o cérebro dela)
Servo motores:
MIA-1 tem 13 graus de liberdade.
- servo motores de eixo duplo LDX227 8x
- Servo motores MG996r / MG996 3x
- Para jogadores, usei micro servo sg90
Observe que adicionei uma garra robótica e ela usa outro servo motor MG996r.
E fios de jumper e etc
Visão:
Para processamento de imagens, como tirar fotos e detectar rostos, etc. Usei uma câmera USB .
Etapa 1:Layout do corpo e do motor
O corpo é feito com folha de PVC, diferentes peças são fixadas usando cola quente e parafusos (Ver foto). Eu cortei a folha de pvc usando uma faca de corte (tenha muito cuidado !! não corte seus dedos em vez disso!). Nas fotos um e dois você pode ver o layout do servo. Como eu estava fazendo um robô feminino, dei a ele um formato e uma figura feminina.
Os servo-conectores são feitos de folhas finas de pvc, pois dobram bem.
A cabeça é feita com um balão, sopra-se o ar no balão (ver foto), adiciona-se pequenos pedaços de papel úmido e seca-se. Depois de adicionar 8 camadas, ele se tornou forte e sustentável.
Depois é só pintar de branco (corpo inteiro) usando spray de cor.
Acontece que o design é incrivelmente equilibrado e ela (MIA-1) fica bem sobre seus pés !!
Adicionando a tela:
Depois disso só usei alguns parafusos e colas quentes para montar o lcd no peito (última foto).
Etapa 2:Diagrama de circuito
O diagrama do circuito parece complexo, mas não é. Desenhei o circuito como o layout do motor no corpo para que você possa entendê-lo mais facilmente. Certifique-se de estabelecer o terreno comum. O arduino obtém energia do computador por meio de seu cabo USB. Há um diodo de laser que permite que o mia atinja as coisas, toma energia do pino 13 (pino do led) do Arduino.
Como você pode ver, todos os motores e o próprio arduino estão na parte de trás do corpo. Eu também coloquei todos os cabos de trás. Compre um cabo USB estendido para que possa ser conectado ao computador.
Etapa 3:O CÓDIGO
Como você sabe, usei um mega arduino. O arduino mega controla os servo motores, os motores são pré-programados. Obtenha o código dos motores aqui. Observe as posições padrão do servo, enquanto constrói o robô, mantenha-as. Basta ligar os motores com o Arduino sem fazer o corpo e os servo motores alcançarão a posição padrão (posição padrão abaixo)
/ * posição padrão / standby dos servos * /
komor.write (4); #waist servo
left1.write (120);
rFinger.write (0);
servo1.write (55);
clawOpen ();
rightStandBy ();
leftStandBy ();
headTilt.write (134);
headPan.write (90);
O código de controle do motor tem mais de 750 linhas (tenha cuidado ao editar).
O processamento principal é feito usando um script python3.
Python tem uma biblioteca pySerial que se comunica com o arduino via serial. Cuidado com a 'PORTA COM'.
#Connect with mia motor driver board over serial communication
try:
mia =serial.Serial ("COM28", 9600)
exceto:
pass
Você também precisa instalar essas bibliotecas em pip
"" "importe as bibliotecas necessárias" ""
#import requests #para fazer post / get requests
import pyttsx3 #offline text to speech
import speech_recognition as sr #Speech to texto (requer internet para funcionar)
tempo de importação
de importação aleatória randint # biblioteca de seleção de inteiros aleatória
import tkinter #tkinter biblioteca gui
de tkinter import Tk, Botão, Etiqueta, Tk #importar coisas necessárias
importar serial # biblioteca serial para comunicação serial sobre USB
de PIL importar Imagem #fro mostrando imagem
importar cv2 #Computer Vision library
importar wikipedia #para obter dados diretamente da wikipedia
Tudo é fácil usando pip install. Para opencv digite no prompt de comando:
pip install opencv-contrib-python
A GUI (Graphical User Interface) que você está vendo foi desenvolvida usando o tkinter. Para esta e todas as outras bibliotecas que você pode instalar por este comando:
pip install library_name
então ele será instalado.
Também dê uma olhada se você estiver usando uma webcam, é mais provável que ela seja indicada como 1
cap =cv2.VideoCapture (1) #camera
E se você quiser saber mais sobre como esse robô realmente responde, leia estes tutoriais.
O código da MIA-1 é apenas uma versão estendida disso.
A partir do comando do arduino, o computador manda uma mordida, o arduino age de acordo com as mordidas que recebe, assim parece que o movimento de Mia e a fala são assíncronos.
mia.write (b'p ') #command para subir e depois descer
count_down (3)
responder ("Sorria, por favor", 100)
Agora, para obter o código, acesse o link abaixo.
Baixe o código da MIA-1 aqui.
Etapa 4:Potência e acabamento
Alimentei o robô usando uma bateria lipo de 7,4 v. Os servos LDX227 consomem muita energia (mas são de boa qualidade), portanto, certifique-se de que eles consigam pelo menos 7,3 V a qualquer momento. Por outro lado, os servo motores MG996r são baratos e podem ser danificados facilmente, certifique-se de que eles não obtenham mais do que 7,8V. Portanto, a maior fonte de alimentação para este robô deve estar entre 7,4 a 7,8 volts.
Feliz fabricação! Se você gosta desse robô, certifique-se de apoiá-lo, inscrevendo-se no canal para mais projetos incríveis.
Código
Baixe o código completo gratuitamente
ashraf-minhaj / MIA-1-Open-Source-Humanoid-Robothttps://github.com/ashraf-minhaj/MIA-1-Open-Source-Humanoid-RobotEsquemas
Circuito MIA-1
https://github.com/ashraf-minhaj/MIA-1-Open-Source-Humanoid-RobotProcesso de manufatura
- Introdução à terminologia de código aberto
- Servo motores avançados que transformam impressão de metal 3D
- Um log de projeto para FirePick Delta, a MicroFactory de código aberto
- Artigo:Conheça OAP - um projeto de design de referência de robô aberto
- Intellisaurus - Kit Dinosaur Robot
- Abra o Robô CV
- Robô Pi Simples
- AT&T, Tech Mahindra colaboram na nova plataforma de IA de código aberto
- Riscos de software:Protegendo código aberto em IoT
- Ferramentas de desenvolvimento de IoT de código aberto vs. Ferramentas com suporte do fornecedor