Gaitech BCIBringing Brain Computer Interfacing toROS

Ali Bin Wahid
Project Engineer (R&D), Gaitech Robotics, China
MS Robotics and Intelligent Machine Engineering,
NUST, Pakistan
ali@gaitechrobotics.com

Project Team:
Prof. Anis Kouba (Lead)
Alex Ni
Kevin Ardian
Usama Siraj
Ali bin WahidWhat is BCI?
BCI: Brain-ComputerInterface
Reads brainwaves, translates it
to signals computers canunderstand.

How it• Collect brainwaves
works:• Extract features• Translate to intentions• Map intentions tocommands
2• Execute commands

Salient Features:• Comprehensive and high qualitysoftware and hardware platform forperforming BCI experiments• Handy software tools for managing
EEG Experiments, automatic creationof Labeled EEG datasets• EEG Datasets are saved in rosbag
format• Conversion of recorded rosbag EEG
data-sets into other popular formats
such as Matlab, csv, mne• Demo BCI application for getting startwith Brain Robot Interfacing research.
• Open-source contribution
Source code:
https://github.com/gaitechrobotics/gaitech-bci

EEG Headset ‘H10C’
Top of head reference eliminates muscle artifacts

Advanced signal processing and purification chipset

Soft foam sensor for forehead comfort and easy wearing

Flexible, dry pogo sensor to tap scalp through hair
without gel
Human safe, high-quality polymer shell protects
electronics and easy to cleanFeatures• High-quality data
• Good ergonomics• Easy to setup and use

EEG Headset ‘H10C’
•
•
•
•
•
•
•
•
••
•
•
•

aesthetically pleasing design
Comfortable to wear
Dry spring loaded sensors (for hairy scalp)
Dry foam sensor for forehead (bare skin)
Adjustable and variable sizes (small, medium,large)
Good battery life
Bluetooth 2.1 + Enhanced Data Rate
Good Sampling frequency for BCI applications(1024 Hz)
High Quality EEG Data which is comparable toClinical devices
Human safe, high-quality polymer shell protects
electronics and easy to clean
Low price as compare to other good quality
headsets
Easy setup within One minute
ROS support

ROS Packages
1. Bringup Package• Manages H10C device via
ROS service calls• Acquiring real time EEG
signals and information
via ROS topics• Apply digital filtering• ROS Launch files for easystartup• Multiple nodes can becreated to manage
multiple H10C devices onsame computer• Creation of labeledROS Packages
1. gaitech_bci_bringup

Gaitech BCI ROS Packages
2. GAITECH_BCI_TOOLSNo.

• This package contains group of useful ROS programs to help in doing EEG
based BCI experiments in an efficient way• It has several very powerful ROS based programs for successfully managing
BCI experiments
Tool name
Function1

view_bci_data

User interface for managing EEG devices and live data

2

view_bci_experiment

User interface for visualizing recorded EEG datasets

3

video_experiment_builderTo build annotated videos for collecting labeled EEG
data

4

view_psd

Viewing power spectral density of EEG signals

5

view_image

Viewing flickering images on screen at desired
frequency and color. Useful for SSVEP experiments

6

rosbag_mne

Converting recorded rosbag dataset into mne format

7

rosbag_matlab

Converting recorded rosbag dataset into matlab format

8

rosbag_csv

Converting recorded rosbag dataset into csv format

Gaitech BCI ROS Packages
2. GAITECH_BCI_TOOLS

Viewing live EEG data and adding markers forcreating labeled EEG dataset

Interface for managing thedevice and monitoring the EEG
dataGaitech BCI ROS Packages
3. GAITECH_BCI_TELEOP

The program detects where the user is looking at
screen by monitoring frequency of signal**https://www.researchgate.net/publication/264088415_A_Robust_Asynchronous_SSVEP_BrainComputer_Interface_Based_On_Cluster_Analysis_of_Canonical_Correlat

User looking at the screen to control
simulated robot in ROS

Gaitech BCI ROS Packages
3. GAITECH_BCI_TELEOPROS packages
Gaitech Gaitech
BCIBCIROSPackages

3. GAITECH_BCI_TELEOP - DEMO

Gaitech BCI ROS Packages
3. GAITECH_BCI_TELEOP - DEMO