DOI: 10.5281/zenodo.10828803
title: Error Related Potential at the start of the gait with a lower limb exoskeleton

description: Description

This dataset contains EEG signals from experiments designed to evoke Error Related Potentials (ErrP) at the onset of gait using a Brain-Computer Interface (BCI) to control a lower limb exoskeleton. The ErrP is elicited using three different stimuli: Tactile, Visual, and VisuoTactile.

During the experiment, participants remain stationary and engage in two mental tasks: Relax (R) and Motor Imagery (I) of walking to activate the exoskeleton. These tasks can be executed correctly (RC, IC) or incorrectly (RE, IE). For example, during RC (Relax Correct), the subject maintains an idle state, whereas during RE (Relax Error), the exoskeleton activates unexpectedly. Conversely, in IC, the subject imagines the sensation of starting to walk in their muscles, and the exoskeleton activates, but during IE, the exoskeleton does not move despite the motor imagery. When the exoskeleton activates before starting to walk, the stimulus remains active for 2 seconds to alert the subject about the impending movement. Therefore, ErrP is elicited by the stimuli in RE and can be compared with the absence of ErrP in IC, where the stimulus activates but should not evoke an error.

Each subject participates in three sessions, one for each stimulus, consisting of 12 trials. In each trial, 10 mental tasks are performed, 5 Relax and 5 Imagination, interleaved. Since the subject is never in control of the system, tasks are correctly performed 70% of the time (RC, IC), while the remaining 30% are incorrect (RE, IE). In an exception, subject R01_VisuoTactile performed 7 trials of 20 mental tasks each, 10 of each type. However, due to the extended duration of the trials and resulting fatigue, they were later split for subsequent sessions.

 

Data information

A trial consists of a Matlab structure that stores all information related to the trial experiment. 



data_EEG: Original EEG signals recorded with a sampling rate of 250Hz, where each row is a channel (1-28 EEG, 29-32 EOG, 33-35 inertial electrodes).

data_preprocessed_EEG: Matrix that contains the preprocessed signals for each channel. Rows 1-35 are the original signals and then, the preprocessed signals in blocks of 35. Find the indexes of each filter in session.conf.info.preprocessingSteps.ListPreprocessingSteps.

trigger_EEG: Information related to signal quality and missing data while recording. 

data_EXO: Exoskeleton recorded data with a sampling rate of 250Hz.

data_preprocessed_EXO: The same data recorded by the exoskeleton in data_EXO, since it does not require the application of any filter.

trigger_EXO: Empty vector. 

data_Actuators:  Arduino response when activates (1) and deactivates (-1) the feedback. 

data_preprocessed_Actuators: The same Arduino resposes recorded in data_Actuators, because it does not require any filter application. 

trigger_Actuators: Empty vector. 

task_EEG: Vector that associates a task to each signal sample.

task_index_EEG: Zero vector with negative peaks at the samples indicating the start of a task. Each peak decrements by one unit with each task.  

task_order_EEG: Vector that increments a unit with each task change. 

event_EEG: Vector of commands to activate (1) and deactivate (-1) the feedback in Arduino. 

conf: Configuration employed for data acquisition and preprocessing.



acquisition: User and signals acquisition information.



user_code: User code name.

feedback: Trial in openloop (User do not have control of the system).

feedbackErrP: Feedback type employed during the trial.

readfile: Path to read files after its acquisition.

saveSession_Script: Script used to save the recorded data.

writeResults: Path to save the recorded data.

device: List of connected devices during the trial and their related information, such as name, sampling rate, connection order, etc.  

task: Information about tasks occurring during the trial.



task_list: Decodes tasks numbers. The first number is the global task/mental activity, the second one is the physiological state of the user, and the third one indicates the task version (preparation or basic task).

sequence_tasks: List of tasks in order of execution.

sequence_times: List with the duration of each task in the sequence.



deviceOutput: List of devices that receive commands to execute orders, such as the exoskeleton for walking and stopping and the VibroLed for turning feeedback on and off.

eye_index: Indexes of EOG electrodes.

EEG_index: Indexes of EEG electrodes.

inertial_index: Indexes of inertial electrodes.

file_name: Trial name.

num_epochs: Number of epochs within a trial. An epoch is the half of sampling rate (250Hz), this means that an epoch has a duration of 0.5s and 125 samples.  



preadjustment: Empty list. 

preprocessing: Information of the preprocessing filters, parameters and order of application.

processing: Not necessary for this analysis. 

static: Information used internally by the architecture for its correct operation.

info: Important information about filters, their order and indexes in data_processed_EEG.



times: Struct with information of the devices synchronization and preprocessing times.

times_processing: Processing duration times. 
description: Funding

This dataset is part of grant PID2021-124111OB-C31, funded by MICIU/AEI/10.13039/501100011033 and by ERDF, EU. This work is also supported by the Valencian Graduate School and Research Network of Artificial Intelligence (ValgrAI), Generalitat Valenciana and European Union.