A student research and engineering project exploring a closed-loop prosthetic control architecture: decode intended hand gestures from surface EMG, map them to prosthetic actions, and represent sensory information through vibrotactile feedback.
Current stage: concept + simulation. There is no physical prosthetic hardware, clinical dataset, or human-subject testing in this repository.
Live Demo License: MIT Python 3.9+ Stage: concept / simulation
Live demo: hanusharan.github.io/neuroprosthetic-ai — an interactive visualization of the proposed decode → move → feedback loop.
Can a lightweight, non-invasive control pipeline combine surface EMG gesture decoding with a structured sensory-feedback concept while remaining simple enough to prototype and evaluate incrementally?
This repository focuses on the computational part of that question. The EMG signals are synthetic, so the reported results measure the behavior of the simulation and classifier—not prosthetic performance in a person.
Synthetic 4-channel sEMG
↓
250 ms windows @ 1 kHz
↓
MAV · WL · ZC · SSC · RMS
↓
20-feature representation
↓
Random Forest gesture classifier
↓
Gesture → prosthetic action
↓
Conceptual vibrotactile feedback
Five gesture classes are modeled:
Rest · Hand Open · Hand Close · Pinch · Point
The following values are generated by research/emg_simulation.py from the synthetic dataset:
| Experiment | Result |
|---|---|
| Baseline classification, 5 classes | 96.7% test accuracy |
| 5-fold cross-validation | 96.3% ± 1.2% |
| Maximum simulated drift, no recalibration | 77.7% |
| Maximum simulated drift + 20% recalibration | 89.4% |
The drift experiment is included because robustness to changing signal characteristics is a central practical issue for EMG interfaces.
See research/METHODOLOGY.md for the hypothesis, generation process, evaluation procedure, and limitations.
They show:
- a reproducible synthetic sEMG generation pipeline;
- extraction of established time-domain EMG features;
- gesture classification under the simulated conditions;
- a controlled drift/recalibration experiment.
They do not show:
- clinical accuracy;
- performance on amputee or able-bodied human recordings;
- real-time hardware performance;
- successful physical prosthetic actuation;
- validated sensory restoration.
Keeping those boundaries explicit is important because the next experiments require real signals, hardware, safety review, and eventually human-subject protocols.
neuroprosthetic-ai/
├── research/
│ ├── emg_simulation.py
│ ├── requirements.txt
│ ├── METHODOLOGY.md
│ └── results/
├── website/
│ ├── index.html
│ └── assets/
├── docs/
│ ├── video_script_iris.md
│ └── video_script_blueocean.md
├── .github/workflows/pages.yml
├── LICENSE
└── README.md
cd research
pip install -r requirements.txt
python3 emg_simulation.pyThe script regenerates the result figures and summary from scratch without downloading an external dataset.
To run the concept demo locally:
python3 -m http.server 8000 --directory website
Then open http://localhost:8000.
- Replace synthetic signals with a public sEMG dataset or ethically collected recordings.
- Compare the feature/classifier pipeline across subjects and sessions.
- Prototype physical actuation with a low-cost mechanism.
- Add fingertip sensing and a small vibrotactile feedback array.
- Establish the appropriate safety, ethics, and human-factors process before any human testing.
Built by Bulusu Hanu Sharan (@hanusharan).
Released under the MIT License.