Data for: Exploration-based learning of a stabilizing controller predicts locomotor adaptation
Data files
Nov 20, 2024 version files 30.51 MB
-
DataUploadSeethapathi2024.zip
30.51 MB
-
README.md
3.09 KB
Abstract
Humans can adapt to walking under widely different conditions. In the manuscript 'Exploration-based learning of a stabilizing controller predicts locomotor adaptation', we advance such a model of locomotor learning and adaptation, consisting of a stabilizing feedback controller at its core, which is modified gradually by an exploration-driven reinforcement learner while using memory to store and use advantageous strategies. We performed two prospective experimental studies to test some predictions of the model and the dataset herein provides the relevant data for these prospective experiments, all involving human participants walking on a split-belt treadmill. A split-belt treadmill has two belts side-by-side, with the participant walking with one foot on each belt and the two belts being run at equal speeds (tied belt condition) or unequal speeds (split-belt condition). The data corresponds to human participants walking under the following three conditions: (1) Split belt adaptation protocol with no belt noise: the two belts running at constant unequal speeds, (2) Split belt adaptation protocol with noisy belt speeds: the two belts running at unequal speeds, with the faster belt changing speed about every second, and (3) Split belt adaptation protocol to test interference due to a previously experienced opposite perturbation: the protocol is TBA, where T stands for a tied belt condition, followed by a split-belt condition B with constant unequal speeds, and followed by another split-belt condition A, which has the same speeds of the two belts as B, but switched between the left and right belts. Three data files are provided, one for each of the three walking conditions. They are all MATLAB .mat files. They can be opened and read in MATLAB (any version after 2017) using the load command or with free software such as Octave or Python. Each of these files has a single variable heelPos (referring to the fore-aft heel position), stored as an array, one element for each subject, with separate time series for leg1 and leg2 as fields of a MATLAB struct. For instance, heelPos{2}.leg1 provides the motion data for leg1 and participant 2.
https://doi.org/10.5061/dryad.kh18932gq
Description of the data and file structure
All experiments were conducted with the approval of the Ohio State University Institutional Review Board and all participants provided informed consent.
Four data files are provided:
Motion data files: Three of these data files are .mat files, containing the motion of a foot marker in the fore-aft direction. The three files correspond to the three walking conditions:
- DatNoNoiseProtocol.mat: split-belt adaptation with no explicit belt noise
- DatNoiseProtocol.mat: split-belt adaptation with a noisy belt speed
- DatTABProtocol.mat: split-belt adaptation protocol to test interference due to a previously experienced opposite perturbation
Participant data: Participant age and self-reported sex are provided in the Excel file for all 25 participants.
Data access and variable structure: The experimental data in MATLAB mat files can be opened and read in MATLAB (any version after 2017) or with free software such as Octave or Python. For instance, use the command
load('fileName.mat'), where fileName could be DatNoNoiseProtocol, DatNoiseProtocol, and DatTABProtocol.
to load that data file. You will find that this loads one variable called heelPosStore into the workspace. This variable is a MATLAB 'cell array' with Npeople elements, where Npeople = 8, 8, and 9, respectively for each of the three datafiles DatNoNoiseProtocol, DatNoiseProtocol, and DatTABProtocol. *Npeople *is equal to the number of participants for each condition.
Sampling rate and time list: The motion data was measured at 100 Hz, so the list of time points associated with the provided position data is always [0, 0.01, 0.02, 0.03, ...] with as many elements as there are in the corresponding heelPosStore{i}.leg1 variable.
Example plotting: If you'd like to plot the two heel marker positions as functions of time for one of the data files for Participant 1 for that condition, you could use the following commands in MATLAB.
load('fileName.mat'); % again fileName is one of the above three mentioned.
iParticipant = 1; Nsamples = length(heelPosStore{iParticipant}.leg1); tList = (0:0.01:Nsamples-1)';
figure(1); plot(tList,heelPosStore{iParticipant}.leg1); hold on; plot(tList,heelPosStore{iParticipant}.leg2); legend('leg1', 'leg2');
xlabel('time (s)'); ylabel('heel fore-aft position (mm)');
NaN values: A small fraction of the data points may be NaN values and this is due to marker occlusion or tracking failure. When averaging multiple participants' data, please ignore the NaN values and consider only the non-NaN values (e.g., use nanmean in MATLAB).
File: DataUploadSeethapathi2024.zip
References
[1] Seethapathi, Nidhi, Barrett C. Clark, and Manoj Srinivasan. "Exploration-based learning of a stabilizing controller predicts locomotor adaptation." Nature Communications 15, no. 1 (2024): 9498.
We used a Bertec instrumented split-belt treadmill and the motion data was obtained using a Vicon T20 motion capture system with Nexus 1.x which tracks the positions of reflective markers. We report markers typically on the foot (shoe), usually at the heel position. The data was collected at 100 Hz, and standard Vicon marker gap-filling was applied (spline, pattern fill, and kinematic fits).
