DOI: 10.5061/dryad.g4f4qrfwc
title: Data from: Understanding mechanisms of generalization following locomotor adaptation

description: Our nervous system has the remarkable ability to adapt our gait to
 accommodate changes in our body or surroundings. However, our adapted
 walking patterns often generalize only partially (or not at all) between
 different contexts. Here, we sought to understand how the nervous system
 generalizes adapted gait patterns from one context to another. Through a
 series of split-belt treadmill walking experiments, we evaluated different
 mechanistic hypotheses (i.e., the mechanism specific, credit assignment,
 and slow switching hypotheses) to explain the partial generalization of
 adapted gait patterns from split-belt treadmill to overground walking. In
 support of the credit assignment hypothesis, our experiments revealed the
 central finding that adaptation involves 1) the recalibration of forward
 models of our body that generalize to overground walking, and 2) models of
 the treadmill that do not generalize.
description: Participants walked on a split-belt treadmill with two separate
 belts (Motek, Amsterdam, NL), with the speed of each belt was
 independently controlled using a custom-written D-Flow program.
 Participants also walked overground on a 6-meter walkway. Step length
 asymmetry and other kinematic measures were computed from motion capture
 data collected with a Vicon motion capture system (Oxford, UK), which uses
 infrared-emitting markers, or with a Zeno Walkway (ProtoKinetics,
 Havertown, PA), which uses force plates. We also obtained perceptual
 measures using a method of adjustment perceptual task to measure the belt
 speed difference perceived as "equal speeds" after adaptation.
 All methods are described in the manuscript. 
description: # Project title: Understanding mechanisms of generalization following
 locomotor adaptation. ## GENERAL INFORMATION Authors: Cristina Rossi(a,b),
 Ryan T. Roemmich(b,c), Amy J. Bastian(a,b,*) (a) Department of
 Neuroscience, The Johns Hopkins University School of Medicine, Baltimore,
 MD, 21205, USA; (b) Center for Movement Studies, Kennedy Krieger
 Institute, Baltimore, MD, 21205, USA; (c) Department of Physical Medicine
 and Rehabilitation, The Johns Hopkins University School of Medicine,
 Baltimore, MD, 21205, USA. (*) Corresponding author: Amy J. Bastian.
 Email: [bastian@kennedykrieger.org](mailto:bastian@kennedykrieger.org)
 Please cite this data as follows: Rossi et al., 2023. Dataset for
 Understanding mechanisms of generalization following locomotor adaptation.
 Paradigm information: kinematic and behavioral test data was collected in
 a human walking experiment on a split-belt treadmill. Details are found in
 the associated manuscript. Acknowledgments: Supported by NIH grant 5 R37
 NS090610 to AJB, American Heart Association predoctoral fellowship
 20PRE35180131 to CR. ## SOURCE DATA ### raw task data + standardly
 processed kinematic measures Location: 'data' folder Info:
 contains .mat data files with 'raw' kinematic measures and
 behavioral tasks measures for all participants in the study. Files: one
 file per experimental group * ShortPreferred.mat (group of Experiment 1) *
 LongPreferred.mat (group of Experiment 1) * ShortSlow.mat (group of
 Experiment 1) * SwitchSlow.mat (group of Experiment 2) * SwitchControl.mat
 (group of Experiment 2) Variables: each group file contains a variable
 with the same name, which is a struct containing the following fields: ```
 ├─── Measures recorded once per experiment: |              ├─── Trials: a
 table with N rows, N=number of experimental trials for this group. Has 3
 columns: |              |             ├─── Environment: string with
 information on whether the trial was overground ('OG') or on the
 treadmill ('TM') |              |             ├─── Condition:
 string with corresponding experimental phase ('Baseline',
 'Adaptation', 'Catch', 'Post-adaptation') | 
             |             └─── Task: string with information on whether
 the trial was followed by a speed match task |              | |           
   └─── Questionnaire: 1xN Trials cell, the cell corresponding to the
 post-adapt. OG trial contains: |                          N Participants X
 2 matrix, containing participants response to whether the right leg felt
 it was moving: |                         "as expected" (coded as
 0), or "not as expected" (coded as 1) (first column:
 "beginning of this trial", second column: "end of this
 trial") \|                           (Experiment 1 only) | ├───
 Kinematic measures computed by stride: |               │                  
         * each of the following fields is a (1 x N Trials) cell, \|      
         │                           with each cell element a (N
 Participants X N Strides in Trial) matrix, |               │              
             with each element in the matrix a sample of that measure for
 the specific trial, participant and stride) |               │ \|          
     │                           * The following variables/abbreviations
 are used for kinematic measures: |               │\ |               │    
                       Legs: |               │                           f
 = "fast" leg = leg positioned on the belt that is fast in
 adaptation \|               │                           s =
 "slow" leg = leg positioned on the belt that is slow in
 adaptation \|               │ \|               │                          
 Markers: |               │                           toe5 = fifth
 metatarsal head \|               │                           ankle =
 lateral malleolous \|               │                           knee =
 lateral femoral epicondyle \|               │                          
 trochanter = greater trochanter \|               │ |               │      
                     Gait events: \|               │                      
     shs = slow heel strike \|               │                          
 fhs = fast heel strike \|               │                           sto =
 slow toe off \|               │                           fto = fast toe
 off \|               │                           (heel strikes/toe offs
 are detected as the positive/negative peaks in ankle anterior-posterior
 position for that leg) \|               │ |               ├─── SLA: step
 length asymmetry \|               │                           (Units:
 normalized, unitless)\ \|               │                          
 (Definition: (fast step length - slow step length)/(fast step length +
 slow step length), \|               │                           fast step
 length = anterior-posterior distance between feet at fast heel strike, \|
               │                           slow step length =
 anterior-posterior distance between feet at slow heel strike)\ \|        
       │                           (see manuscript for details; computed
 for all groups) |               │ |               ├─── joint angles at
 gait events (ShortPreferred only; see manuscript for definition): |       
        │                           shs_fAnkleAngle, shs_sHipAngle,
 shs_sKneeAngle, shs_sAnkleAngle, shs_fHipAngle, shs_fKneeAngle, \|        
       │                           fto_fAnkleAngle, fto_sHipAngle,
 fto_sKneeAngle, fto_sAnkleAngle, fto_fHipAngle, fto_fKneeAngle, |         
      │                           fhs_fAnkleAngle, fhs_sHipAngle,
 fhs_sKneeAngle, fhs_sAnkleAngle, fhs_fHipAngle, fhs_fKneeAngle, |         
      │                           sto_fAnkleAngle, sto_sHipAngle,
 sto_sKneeAngle, sto_sAnkleAngle, sto_fHipAngle, sto_fKneeAngle\ \|        
       │                           (Units: degrees)\ |               │    
                       (Overall variable name is defined as [gait
 event]*[leg][joint]Angle = |               │* *                          
 * angle of the [joint] of the [leg] measured at [gait event]) *|         
      │* *                           * (Overall variable name, example:
 sto_fAnkleAngle = fast leg ankle angle [fAnkleAngle] at slow toe off
 [sto]) *|               │* *                           * (Angle
 definitions: *|               │*  *                           *Ankle =
 angle between knee, ankle, toe5 markers, |               │*  *            
               * 0deg if ankle-toe5 segment is perpendicular to the
 ankle-knee segment, *|               │*  *                           *
 dorsiflexion is positive; *|               │*  *                          
 *Hip = angle of the trochanter-knee segment relative to a vertical line,
 |               │*  *                           *0deg if the segment is
 vertical, |               │*  *                           *flexion is
 positive;\ |               │*  *                           *Knee = angle
 between trochanter, knee, ankle markers, |               │*  *            
               *0deg if the knee is fully extended (the three markers are
 in a line) |               │*  *                           *flexion is
 positive.) |               │*  *                          *  *|           
    ├─── joint marker position at gait events (ShortPreferred only; see
 manuscript for definition): |               │*  *                        
   *shs_sAnkleX, shs_sKneeX, shs_sTrochanterX, shs_fTrochanterX,
 shs_fKneeX, shs_fAnkleX, |               │*  *                          
 * fto_sAnkleX, fto_sKneeX, fto_sTrochanterX, fto_fTrochanterX, fto_fKneeX,
 fto_fAnkleX, *|               │*  *                          
 * fhs_fAnkleX, fhs_fKneeX, fhs_fTrochanterX, fhs_sTrochanterX, fhs_sKneeX,
 fhs_sAnkleX, *|               │*  *                          
 * sto_fAnkleX, sto_fKneeX, sto_fTrochanterX, sto_sTrochanterX, sto_sKneeX,
 sto_sAnkleX, *|               │*  *                          
 * shs_sAnkleY, shs_sKneeY, shs_sTrochanterY, shs_fTrochanterY, shs_fKneeY,
 shs_fAnkleY, *|               │*  *                          
 * fto_sAnkleY, fto_sKneeY, fto_sTrochanterY, fto_fTrochanterY, fto_fKneeY,
 fto_fAnkleY, *|               │*  *                          
 * fhs_fAnkleY, fhs_fKneeY, fhs_fTrochanterY, fhs_sTrochanterY, fhs_sKneeY,
 fhs_sAnkleY, *|               │*  *                          
 * sto_fAnkleY, sto_fKneeY, sto_fTrochanterY, sto_sTrochanterY, sto_sKneeY,
 sto_sAnkleY\ *|               │*  *                           * (Units:
 meters)\ *|               │*  *                           * (Overall
 variable name is defined as [gait event][leg][joint][coordinate] = |     
          │  *                            position of the [joint] marker of
 the [leg] measured at [gait event], along axis [coordinate])\ |           
    │  *                            (Coordinates: X = anterior-posterior,
 forward is positive; Y = vertical, upward is positive;\ |               │ 
 *                            all positions are expressed relative to the
 hip center position =\ |               │  *                            the
 average of the fast and slow trochanter markers for each frame) |         
      │  *                           \ |               └─── support times
 (ShortPreferred only; see manuscript for definition): dstF, sstS, dstS,
 sstF\ |                                            (Units: seconds)\ |   
                                         (Abbreviations:\ |             
                               dstF = fast double support = time from shs
 to fto,\ |                                            sstS = slow single
 support = time from fto to fhs,\ |                                       
     dstS = slow double support = time from fhs to sto,\ |                 
                           sstF = fast single support = time from sto to
 shs) |\ ├─── Timeseries measures at 100Hz |               │  *           
                 * each of the following fields is a (1 x N Trials) cell,
 |               │  *                                     with each cell
 element a (N Participants X N frames in Trial) matrix, |               │ 
 *                                     with each element in the matrix a
 sample of that measure for the specific trial, participant and timestamp
 |               │  *                           \ |               │  *     
                            * The following abbreviations/definitions are
 used: |               │*  *                            slowlead: variables
 referring to strides that are defined as the period between two
 consecutive SLOW heel strikes\ |               │*  *                     
       fastlead: variables referring to strides that are defined as the
 period between two consecutive FAST heel strikes\ |               │*  *   
                         (these are support/dummy variables used for
 plotting within-leg gait cycle measures) |               │*  *           
                 |               ├─── timeseries_slowlead_stride,
 timeseries_fastlead_stride (ShortPreferred only): |               │*  *   
                         (Definition: stride number, for strides defined
 using "slowlead" or "fastlead" definitions above) |   
            │*  *                           \ |               ├───
 timeseries_slowlead_Sstance, timeseries_slowlead_Fstance,
 timeseries_fastlead_Sstance, timeseries_fastlead_Fstance (ShortPreferred
 only): |               │*  *                            (Definition: flag
 (0: swing, 1: stance) for whether S(slow) or F(fast) foot is in stance, | 
              │*  *                            for strides defined using
 "slowlead" or "fastlead" definitions above) |         
      │*  *                           \ |               ├───
 timeseries_sHipAngle, timeseries_sKneeAngle, timeseries_sAnkleAngle,
 timeseries_fHipAngle, timeseries_fKneeAngle, timeseries_fAnkleAngle
 (ShortPreferred only): |               │*  *                           
 (Units: degrees) |               │*  *                           
 (Definition: joint angles for each frame, defined as described in the
 "kinematic measures" above) |               │*  *               
            \ |               ├─── timeseries_slowlead_pass,
 timeseries_fastlead_pass (ShortPreferred, overground trials only): |     
          │*  *                            (Definition: overground pass
 number, for strides defined using "slowlead" or
 "fastlead" definitions above) |               │*  *             
               |               ├─── TaskTime (all groups): |             
  │*  *                            (Units: seconds) |               │*  * 
                           (Definition: time stamp for the TaskRightSpeed
 measure) |               │*  *                           \ |             
  └─── TaskRightSpeed (all groups): |                          (Units:
 meters/seconds) |                         (Definition: speed of the right
 belt) |\ |\ ├─── Measures recorded once per overgorund pass:\ |           
     │ (1 x N Trials) cell,\ |                │ with each cell element a N
 Participants X N Overground Passes in that trial,\ |                │ with
 each element in the matrix a sample of that measure for the specific
 Overground pass & participant. |                │ |               
 └─── OvergroundSpeed: walking speed for that overground pass |           
     (Units: meters/seconds) |\ └─── Measures recorded once per trial: │   
             (1 x N Speed Match Tasks) cell, │                with each
 cell element a N Participants X 1 matrix, │                 with each
 element in the matrix a sample of that measure for the specific task &
 participant. │ └─── TaskRightSpeedFinal: speed of the right belt at the
 end of each iteration of the speed match task\                (Units:
 meters/seconds) ``` ## CODE Location: 'code' folder Info:
 Contains .m code files for data analysis [all files are saved with .m
 extension] Files: -&gt;Main File: "RunAll.m" calls all files in
 the correct order -&gt;Files used for Background Computations (computing
 .mat files in analyses folder): ``` E123_bootstrapSamples % %%
 E123_bootstrapSamples.m % %% Experiments 1, 2 and 3. % %% creates
 bootstrap samples of participants for each group % %% (10,000 samples of N
 participants, N=group size) % %% Output: .mat file with participants
 indexes for each bootstrap sample % %% in
 analyses\[groupname]BootstrapSamples.mat E3_ComputeInterpolatedAngles % %%
 E3_ComputeInterpolatedAngles.m % %% Experiment 3. % %% computes
 interpolated angles, by stride, averaged over strides for each epoch of
 interest % %% Output: .mat file with variables
 'interpolatedAngleData' (interpolated angles in deg) % %% and
 'interpolatedAngleEvents' (interpolated HS and TO, % of stride
 times) % %% in analyses\ShortPreferred_InterpolatedAngleData.mat
 E3_ComputeOGChange % %% E3_ComputeOGChange.m % %% Related to Experiment 3
 % %% computes OG baseline to post-adaptation change for different
 kinematics % %% Output 1: computes epoch difference for segment lengths at
 to/hs events % %% Output 2: computes epoch difference for joint angles at
 to/hs events % %% Output 3: computes epoch difference for support times %
 %% in analyses\ShortPreferred_EpochData.mat, struct epochData ```
 -&gt;Files used for Figures and Stats: ``` E1_PlotsAndStats % %%
 E1_PlotsAndStats.m % %% Related to Experiment 1, Fig. 1, 2, 3, S1, S2, S3,
 and Stats #1, 2, 3 % %% plots and statistics for E1 % %% Output #1. Fig.
 1B & S2A,B Top. SLA Timeseries % %% Output #2. Fig. S1C & S2A,B
 Bottom. R-L Speed at the end of each iteration of the speed match tasks %
 %% Output #3. Fig. 2D. R Speed in speed match tasks (BL mean, post-adapt,
 post-OG) Timeseries for ShortPreferred. % %% Output #4. Fig. 2D & 3E.
 Post-adapt. overground perceptual questionnaire % %% Output #5. Fig. 1C,
 2D, 3B-C-D-F, S1A-B, S2C-D, and Stats #1-2, generalization and OG block
 characteristics measures % %% Output #6. Fig. S3 and Stats #3, individual
 OG speeds E2_PlotsAndStats % %% E2_PlotsAndStats.m % %% Related to
 Experiment 2, Fig. 4, 5, S4, and Stats #4, 5 % %% plots and statistics for
 E2 % %% Output #1. Fig. 4C, S4A-B. SLA Timeseries % %% Output #2. Fig. 5B.
 R-L Speed at the end of each iteration of the speed match tasks % %%
 Output #3. Fig. 4C right, 5C, S4C-D, and Stats #4-5. Generalization and OG
 block characteristics measures E3_AnglePlots % %% E3_AnglePlots.m % %%
 Related to Experiment 3, Fig. 6A, S6, S7, S8 % %% Output: Plots of Knee Vs
 Hip angle traces E3_BarPlotsAndStats % %% E3_BarPlotsAndStats.m % %%
 Related to Experiment 3, Fig. 6A insets, 6B insets, Stats 6-7 % %% Output
 1: Plots support times % %% Output 2: Plots and Stats for segment angles
 and support times % %% in 'stats\Stats6_E3_Epochs.csv' % %%
 Output 3: Plots and stats for peak angles % %% in
 'stats\Stats7_E3_PeakAngles.csv' E3_ProjectionPlots % %%
 E3_ProjectionPlots.m % %% Related to Experiment 3, Fig. S5 % %% Output:
 Plots bird-eye view projections of limb segments for all epochs
 E3_SegmentPlots % %% E3_SegmentPlots.m % %% Related to Experiment 3, Fig.
 6B % %% Output: Plots stick figures of limb segments for each epoch ```
 -&gt;Background helper files are located both in the main "code"
 folder, as well as the "lib" subfolder folder ## GENERATED FILES
 ### files obtained processing source data with code provided ANALYSED DATA
 -&gt; data obtained processing source data with code provided Location:
 'analyses' folder Info: Contains .mat data files generated from
 the code and the source data provided in other folders. Analysed data is
 an intermediate steps to plotting figures and computing statistics STATS
 -&gt; .csv files with computed stats Location: 'stats' folder
 Info: Contains .csv files for selected statistical comparisons (involving
 a large number of results / presented in tables; other stats are included
 in figure generation)