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.
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
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
- Python
- ROS2
- Intel RealSense D435i
- Doosan Robot API (DSR_ROBOT)
- Scikit-learn
- OpenCV
- NumPy / SciPy
- Matplotlib / Seaborn
Electrode positions used:
FP1 FP2
C3 C4
P3 P4
O1 O2
Processing pipeline:
- Bandpass filtering
- Feature extraction using Common Spatial Patterns (CSP)
- Feature normalization
- Classification using Random Forest
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 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
EEG-Robot-Control │ ├── eeg_processing/ ├── robot_control/ ├── vision/ ├── ros_nodes/ ├── models/ └── README.md
- Detect cube using camera
- Align robot with cube in X and Y
- Descend using depth value
- Close gripper
- Lift object
Model: Random Forest Classifier
Feature extraction: Common Spatial Pattern (CSP)
Evaluation:
- Leave-One-Group-Out Cross Validation
- Confusion Matrix
- Classification Report
git clone https://github.com/FourCoreProcessor/eeg-robot-control.git
cd eeg-robot-control
pip install -r requirements.txtStart ROS:
ros2 launch robot_control robot_launch.pyRun EEG prediction, Cube Detection, Robot Control:
python eeg_robot.py- OpenBCI Ultracortex EEG Headset for EEG aquisition
- Intel RealSense D435i depth camera
- Doosan A0509 robot
- DH-Robotics PGE100 gripper