Multimodal BCI Robot

A hybrid brain-machine interface combining EEG and EMG signals to control a telepresence robot. Developed as part of the Johns Hopkins Undergraduate Brain-Computer Interface Society (JHUBCIS), where I served as Decoding Co-Lead.

The Problem

Single-modality BCIs cause user fatigue. Controlling a robot with only EEG or only EMG for extended periods is exhausting. Users need the ability to switch between control modes.

Our Solution

A multimodal system that lets users switch between:

  • SSVEP (EEG): Steady-state visually evoked potentials for visual stimulus-based control
  • EMG: Muscle signals from cheek and neck for physical gesture control

This flexibility reduces fatigue and improves sustained usability for individuals with severe motor impairments.

Technical Architecture

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  EEG Headset │────►│   Signal     │────►│   Decoding   │────►│  Telepresence│
│  (8-ch 250Hz)│     │   Processing │     │   Pipeline   │     │    Robot     │
├──────────────┤     │              │     │              │     │              │
│  EMG Sensors │────►│  Filtering   │────►│  ML Models   │────►│  Movement    │
│  (2-ch 500Hz)│     │  & Features  │     │  & CCA       │     │  Commands    │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘

Signal Processing

EEG Pipeline:

  • 8-channel input at 250 Hz
  • High-pass filtering to remove DC drift
  • Notch filter at 60 Hz for power line noise
  • Canonical Correlation Analysis (CCA) for SSVEP frequency detection

EMG Pipeline:

  • 2-channel input at 500 Hz
  • Bandpass filtering (20-450 Hz)
  • Feature extraction (RMS, mean absolute value)
  • Logistic regression classification

Results

ModalityAccuracy
EMG (muscle contraction)>95%
SSVEP (visual stimulus)Up to 100%

The high accuracy comes from careful signal preprocessing and the inherent separability of the chosen gestures/frequencies.

My Role

As Decoding Co-Lead, I focused on:

  • Designing and implementing the ML pipeline for EMG classification
  • Optimizing feature extraction for real-time performance
  • Integrating the dual-modality switching logic
  • Validating decoder performance across test subjects

Tech Stack

  • Python, NumPy, SciPy
  • MNE-Python for EEG processing
  • Scikit-learn for classification
  • Jupyter for experimentation

https://github.com/JHUBCIS/multimodal-bci-robot