O projeto HandMimicArm permite que você controle um braço robótico de 4 graus de liberdade (DOF) usando gestos da mão detectados por meio de uma webcam e um script Python em seu PC local. Este projeto combina técnicas de visão computacional, um Arduino e um braço com 4 servo-motores. Este projeto utiliza as bibliotecas MediaPipe para a detecção de pontos de referência da mão, a OpenCV para processamento de imagens e a pyFirmata2 para comunicação com o Arduino. Para a realização deste projeto, utilizamos o braço robótico de 4 DOF da RoboCore em conjunto com um Arduino Uno.
- Introdução
- Requisitos
- Estrutura do projeto
- Aplicação e como utilizar
- Documentação e referências
- Licença
Para executar este projeto, você precisará dos seguintes itens:
- Arduino
- Bibliotecas Python (numpy, MediaPipe, OpenCV, pyFirmata2)
- Braço robótico de 4 DOF da RoboCore (RoboArm)
- Python 3.9
- Sketch "StandarFirmata" para a ArduinoIDE
- WebCam ou outra câmera
A estrutura deste projeto pode ser dividida em algumas partes, como por exemplo, tal que os diretórios possuem a seguinte configuração:
res
: contém todos os recursos do projetosrc
: contém todos os arquivos de código do projetosrc/control
: contém os arquivos referentes ao controle do braço robóticosrc/model
: contém o arquivo referente ao modelo de detecção da mão utilizado no projetorequirements.txt
: contém todas as bibliotecas Python necessárias para a utilização do projeto
Para utilizar o projeto, é preciso seguir os seguintes passos:
- Clone o repositório do projeto:
git clone https://github.com/Fundacao-Asimo/RoboArm.git
- Instale Python em seu computador:
Caso ainda não tenha instalado, é possível encontrar informações por meio do seguinte link: download Python - Instale as bibliotecas necessárias em Python:
pip install -r requirements.txt
-
Carregue o sketch "StandardFirmata" em seu Arduino pela Arduino IDE seguindo os seguintes passos:
Sketch > Include Library > Manage Libraries > Filtre por: "Firmata" > Selecione a versão mais recente de: Firmata by Firmata Developers > Instale > Carregue o sketch "StandardFirmata"
-
Faça as conexões de seu braço robótico seguindo a imagem abaixo:
-
Execute o script Python que controlorá o braço robótico com base em seus gestos de mão:
python .src/main.py
- Faça os gestos com a mão para controlar a rotação da base, a altura, a extensão e a abertura da garra do braço robótico
- Braço robótico: neste link, estão todas as informações sobre o braço robótico utilizado durante o projeto
- Firmata para o Arduino: neste link, estão todas as informações sobre a biblioteca Firmata para o Arduino
- Inspiração para o projeto: neste link, é encontrada a inspiração inicial para a realização do projeto
- numpy: aqui estão mais informações sobre a biblioteca numpy para Python
- MediaPipe: aqui estão mais informações sobre a biblioteca MediaPipe para Python
- OpenCV: aqui estão mais informações sobre a biblioteca OpenCV para Python
- pyFirmata2: aqui estão mais informações sobre a biblioteca pyFirmata2 para Python
Este projeto é de código aberto e distribuído sob a Licença MIT. Sinta-se à vontade para usá-lo, modificar e distribuir conforme necessário. Se você achar este projeto útil, agradecemos suas contribuições e feedback.
Se você tiver alguma dúvida ou encontrar problemas, por favor, não hesite em abrir um problema ou entrar em contato conosco.