Skip to content

About

EMG-based Rehabilitation Hand with Multi Layer Control and ML

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlexoGrip: sEMG Adaptive Rehabilitation Hand Exoskeleton

An sEMG-based adaptive rehabilitation hand that combines deep learning gesture classification with intensity prediction to drive impedance-based, power-adaptive actuation. This work is the implementation of the paper: FlexoGrip:sEMG Adaptive Rehabilitation Hand Exoskeleton

Highlights

  • Deep learning classification of hand gestures plus continuous intensity prediction (0.0 to 1.0).
  • Adaptive impedance control that modulates target motion based on detected contraction and predicted intensity.
  • Sliding-window filtering (majority vote + median) to stabilize predictions.
  • Exportable Arduino-ready model header (dual_model.h) for embedded inference.
  • Test data generation and replay using fixed sEMG windows for validation.

Prototype Design

Design Overview and Components Used

  1. Cardboard Exoskeleton
  2. 28BYJ-48 Stepper motor
  3. Pulley and fishing strings
  4. ULN2003 motor driver
  5. Motor supply (5V)
  6. ESP32 S3 Microcontroller

Exoskeleton Design

  1. Segmented structure to mimic finger joints
  2. Fishing strings mimic tendons
  3. Strings converge at the wrist mimicking hand anatomy

Circuit Diagram

System Overview

  1. Data pipeline: Extract 15 handcrafted features (MAV, WL, RMS, ZC, SSC across 3 channels) from 375-sample windows.
  2. Training: Train a classifier for gesture labels and a regressor for contraction intensity.
  3. Export: Emit a compact C++ header (dual_model.h) and scaler stats for embedded use.
  4. Firmware: Run inference on-window, filter predictions, then drive impedance control to adjust cable displacement.

Repository Layout

Training Results (Notebook)

  • Classifier train accuracy: 86.01%
  • Classifier test accuracy: 85.57%
  • Intensity regressor MAE: 0.0632

Confusion Matrix

Intensity Regressor Scatter Plot

Quick Start (Recommended Flow)

  1. Open the notebook and run the training + export sections to generate dual_model.h and scaler stats.
  2. Generate test windows (or update existing test data) and place them in EMG_Modified/test_emg_data.h.
  3. Ensure dual_model.h and test_emg_data.h are in the include path for the firmware.
  4. Build and upload src/FlexoGrip.ino to the ESP32-S3.

Firmware Notes

  • Gesture decision: 3-window majority vote to reduce misclassification.
  • Intensity: 3-window median for stable intensity control.
  • Adaptive power control: Target displacement is computed from predicted intensity and used by the impedance controller.

About

EMG-based Rehabilitation Hand with Multi Layer Control and ML

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages