Mão robótica

Descrição
Mão robótica com 5 graus de liberdade, capaz de replicar em tempo real os movimentos de uma mão humana, por meio de captura de imagens. Composta com uma estrutura impressa em 3D, na qual a articulação dos dedos é realizada por um sistema de tração por fios de nylon e elásticos. O sistema é baseado em uma "arquitetura" híbrida, que utiliza programação em Python e a biblioteca MediaPipe para o rastreamento via webcam de pontos de referência da mão, transmitindo os comandos de posição para um microcontrolador Arduino.
Conteúdos Abordados
- Visão Computacional: Implementação do "MediaPipe Hands" para mapeamento de 21 pontos estratégicos da mão humana em tempo real.
- Lógica de Controle Espacial: Cálculo de distâncias entre pontos (landmarks) para identificar estados de "dedo aberto" ou "dedo fechado", por meio de coordenadas verticais e horizontais.
- Mecânica de Atuação: Sistema de transmissão de força via servo motores acoplados a fios de nylon, simulando tendões humanos.
- Eletrônica de Potência: Gerenciamento de corrente para múltiplos servos simultâneos, utilizando fonte de alimentação externa de 5V para evitar sobrecarga no microcontrolador.
Material Utilizado
- Estrutura Física: Partes da mão robótica impressas em 3D (baseadas no modelo disponível no Thingverse), elástico roliço para retorno e linha de nylon de alta resistência.
- Atuadores: Cinco servo motores (responsáveis pela movimentação individual de cada dedo) .
- Processamento: Uma Placa Arduino Uno e um computador com webcam.
- Alimentação: Uma fonte externa de 5V (podendo-se utilizar um carregador de celular ou bateria).
- Software: Linguagem Python (v3.9), OpenCV, MediaPipe, PyFirmata e IDE Arduino.
Para impressão em 3D, foram utilizados os seguintes filamentos:
- PETG amarelo
- PLA branco
Este item foi produzido utilizando a impressora 3D K1 MAX (Creality), a partir de modelos disponíveis na plataforma Thingiverse e outros modelos feitos usando o software Autodesk Inventor.
Para o preparo da impressão, os arquivos foram fatiados com os softwares Creality Print e OrcaSlicer, sendo realizadas modificações no preenchimento interno, com o objetivo de melhorar os tempos de impressão e manter a resistência e durabilidade da peça final.
Disponibilizamos a seguir os arquivos utilizados para a confecção deste item:
- ArmPiece_1.stl
- ArmPiece_2.stl
- braço mecanico tampa.stl
- Código colocado no Arduíno (C++)
- Código colocado no Computador (Python)
- Fingerdesign_8-7_Index.stl
- Fingerdesign_8-7_Middle.stl
- Fingerdesign_8-7_Pinky.stl
- Fingerdesign_8-7_Ring.stl
- Fingerdesign_8-7_Thumb.stl
- Modelo 3D do Braço Robótico
Links Relacionados
Artigos em português:
- Mão robótica. Laboratório de Demonstrações - UFPA
- Guia de detecção de pontos de referência manuais para Python. MediaPipe
Artigos em outros idiomas:
Vídeos em Português:
- Experimentando: Mão robótica / Robotic hand. Laboratório de Demonstrações - UFPA
- Controlando Mão Robótica por Imagem com Visão Computacional. Dev Ideias (YouTube)
Vídeos em outros idiomas
- inMoov Hand build. SwanRobotics (YouTube)
- AI ROBOT ARM using Python Arduino OpenCV CVZone | Computer Vision. Murtaza’s Workshop - Robotics and AI (YouTube)
- Robot Arm Arduino Tutorial | Gesture Controlled (Part 1). Murtaza’s Workshop - Robotics and AI (YouTube)
- Robot Arm Arduino Tutorial | Gesture Controlled (Part 2). Murtaza’s Workshop - Robotics and AI (YouTube)
- Ultra-precise, mind-controlled prosthetic hand for amputees via RPNI neural interface. Michigan Engineering (YouTube)
Redes Sociais