Skip to content

FourCoreProcessor/eeg-robot-control

Repository files navigation

🧠 EEG Controlled Robotic Arm

A robotics system that enables brain-signal based control of a robotic arm using EEG signals, machine learning, and computer vision.

The system processes EEG signals, predicts user intent, and executes robotic actions such as object detection, alignment, and grasping.


🚀 Project Overview

This project integrates EEG signal processing, machine learning, computer vision, and robotic control to create a brain-computer interface (BCI) for controlling a robotic arm.

Pipeline:

EEG Signals → Machine Learning Prediction → Robot Command → Object Detection → Object Grasping


⚙️ System Architecture

EEG Signals

Signal Processing (Bandpass Filtering + Feature Extraction)

Machine Learning Model (Random Forest + CSP)

Command Prediction

ROS Communication

Robot Control (Doosan API)

Intel RealSense Camera (Object Detection + Depth Estimation)

Robot Alignment and Pick


🧰 Technologies Used

  • Python
  • ROS2
  • Intel RealSense D435i
  • Doosan Robot API (DSR_ROBOT)
  • Scikit-learn
  • OpenCV
  • NumPy / SciPy
  • Matplotlib / Seaborn

🧠 EEG Processing

Electrode positions used:

FP1 FP2
C3 C4
P3 P4
O1 O2

Processing pipeline:

  1. Bandpass filtering
  2. Feature extraction using Common Spatial Patterns (CSP)
  3. Feature normalization
  4. Classification using Random Forest

👁️ Computer Vision

The system uses Intel RealSense D435i for object detection and depth estimation.

Features:

  • RGB + Depth sensing
  • Real-world coordinate estimation
  • Camera-to-robot coordinate transformation
  • Real-time object tracking

🤖 Robot Control

Robot is controlled using the Doosan Robotics Python API.

Motion commands:

  • movej() -- Joint space motion
  • movel() -- Linear motion

Robot tasks:

  • Align with detected object
  • Descend to pick position
  • Close gripper
  • Lift object

📂 Project Structure

EEG-Robot-Control │ ├── eeg_processing/ ├── robot_control/ ├── vision/ ├── ros_nodes/ ├── models/ └── README.md


🔄 Robot Pick Pipeline

  1. Detect cube using camera
  2. Align robot with cube in X and Y
  3. Descend using depth value
  4. Close gripper
  5. Lift object

📊 Machine Learning Model

Model: Random Forest Classifier

Feature extraction: Common Spatial Pattern (CSP)

Evaluation:

  • Leave-One-Group-Out Cross Validation
  • Confusion Matrix
  • Classification Report

🛠️ Installation

git clone https://github.com/FourCoreProcessor/eeg-robot-control.git
cd eeg-robot-control
pip install -r requirements.txt

▶️ Running the Project

Start ROS:

ros2 launch robot_control robot_launch.py

Run EEG prediction, Cube Detection, Robot Control:

python eeg_robot.py

📸 Hardware Used

  • OpenBCI Ultracortex EEG Headset for EEG aquisition
  • Intel RealSense D435i depth camera
  • Doosan A0509 robot
  • DH-Robotics PGE100 gripper

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages