DOI: 10.5061/dryad.kh18932gq
title: Data for: Exploration-based learning of a stabilizing controller predicts locomotor adaptation

description: 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.
description: 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).
description: # Data for: Exploration-based learning of a stabilizing controller
 predicts locomotor adaptation
 [https://doi.org/10.5061/dryad.kh18932gq](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: 1) DatNoNoiseProtocol.mat: split-belt adaptation with no explicit belt noise 2) DatNoiseProtocol.mat: split-belt adaptation with a noisy belt speed 3) 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.