shayanalibhatti/Finger-Movement-Classification-via-Machine-Learning-using-EMG-Armband-for-3D-Printed-Robotic-Hand

机器人 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
shayanalibhatti 112 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

This repository shows how to classify EMG data coming from Myo Armband using neural networks and interface a 3d printed


这是一个将肌电信号(EMG)与机器学习相结合,用于控制3D打印机械手的开源项目。其核心功能是通过Myo手势控制臂环采集前臂的8通道表面肌电信号,利用神经网络对5种或12种手指动作进行分类,并将识别结果通过蓝牙发送给Arduino驱动的3D打印机械手,实现实时模仿。项目主要特点在于提供了一套“快速且计算成本低”的解决方案:采用单隐层神经网络(8个神经元,ReLU激活函数),对原始EMG信号取绝对值后进行窗口大小为50的滑动平均作为特征,训练过程仅需5秒静态数据采集,避免了传统方法中冗长的训练流程。技术栈方面,Python端依赖Niklas Rosenstein的Myo-Python库进行数据读取,使用Keras构建和训练神经网络;硬件端涉及Myo臂环、Arduino Uno、HC-05蓝牙模块、Futaba S3114舵机及舵机驱动板。该项目解决了两个关键问题:一是EMG信号随机性强、难以区分细微手指动作的难题;二是为低成本假肢或机器人控制提供了一种无需昂贵设备、可快速部署的轻量级分类方案。适用场景包括:智能假肢的原型开发、人机交互教学演示、以及需要手势控制的低成本机器人项目。需要注意的是,由于训练和验证时要求手臂保持静止,该方法更适合静态或准静态环境下的手势识别。项目附带了完整的硬件设计文件(3D打印手部模型)、Python训练代码和Arduino控制代码,并提供了论文链接供学术引用。

标签