-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathpaper.tex
1035 lines (963 loc) · 55.3 KB
/
paper.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% Editing notes
% - No tabs, just spaces!
% - No hanging whitespace.
% - Wrap lines to 79 characters.
% - Indentation should be two spaces per indent.
% - Only one space after periods.
% - Don't worry about formatting details, just get the content in place.
% 12pt font is recommend for the preprint
\documentclass[fleqn,12pt]{wlpeerj}
% for the preprint we add line numbers
\usepackage{lineno}
\linenumbers
% for images: png, pdf, etc
\usepackage{graphicx}
% for nice table formatting, i.e. /toprule, /midrule, etc
\usepackage{booktabs}
% to allow for \verb++ declarations in captions.
\usepackage{cprotect}
% for nice source code syntax highlighting, also provides Listing env
\usepackage{minted}
% for nice units
\usepackage{siunitx}
\title{An elaborate data set on human gait and the effect of mechanical
perturbations}
\author[1]{Jason K. Moore}
\author[1]{Sandra K. Hnat}
\author[1]{Antonie J. van den Bogert}
\affil[1]{Mechanical Engineering, Cleveland State University, Cleveland, Ohio,
USA, 44115. [email protected], [email protected],
\keywords{gait, data, perturbation}
\begin{abstract}
Here we share a rich gait data set collected from fifteen subjects walking at
three speeds on an instrumented treadmill. Each trial consists of 120 seconds
of normal walking and 480 seconds of walking while being longitudinally
perturbed during each stance phase with pseudo-random fluctuations in the
speed of the treadmill belt. A total of approximately 1.5 hours of normal
walking ($>$~5000 gait cycles) and 6 hours of perturbed walking ($>$~20,000
gait cycles) is included in the data set. We provide full body marker
trajectories and ground reaction loads in addition to a presentation of
processed data that includes gait events, 2D joint angles, angular rates, and
joint torques along with the open source software used for the computations.
The protocol is described in detail and supported with additional elaborate
meta data for each trial. This data can likely be useful for validating or
generating mathematical models that are capable of simulating normal periodic
gait and non-periodic, perturbed gaits.
\end{abstract}
\begin{document}
\flushbottom
\maketitle
\thispagestyle{empty}
\section*{Introduction}
%
The collection of dynamical data during human walking has a long history
beginning with the first motion pictures and now with modern marker based
motion capture techniques and high fidelity ground reaction load measurements.
Even though years of data on thousands of subjects now exist, this data is not
widely disseminated, well organized, nor available with few or no restrictions.
David Winter's published normative gait data~\citep{Winter1990} is widely used
in biomechanical studies, yet it comes from few subjects and only a small
number of gait cycles per subject. This small source has successfully enabled
many other studies, such as powered prosthetic control design~\citep{Sup2008}
but success in other research fields using large sets of data for discovery
lead us to believe that more elaborate data sets may benefit the field of
human motion studies. To enable such work, biomechanical data needs to be
shared extensively, organized, and curated to enable future analysts.
There are some notable gait data sets and databases besides Winter's
authoritative set that are publicly available. The International Society of
Biomechanics has maintained a web page (http://isbweb.org/data) since
approximately 1995 that includes data sets for download and mostly unencumbered
use. For example, the kinematic and force plate measurements from several
subjects from \cite{Vaughan1992} is available on the site. At another website,
the CGA Normative Gait Database, \cite{Kirtley2014} curates and shares
normative clinical gait data collected from multiple labs and these datasets
have influenced other studies, for example \cite{Bogert2003} made use of the
average gait cycles from the child subjects.
\cite{Chester2007} report on a large gait database comparison where one
database contained kinematic data of 409 gait cycles of children from 1 to 7
years old but the data does not seem to be publicly available. This is
unfortunately typical. \cite{Tirosh2010} recognized the need for a
comprehensive data base for clinical gait data and created the Gaitabase. This
database may contain a substantial amount of data but it is encumbered by a
complicated and restrictive license and sharing scheme. \cite{Yun2014} provides
lower body kinematic data of single gait cycles from over one hundred subjects
extracted from the large KIST Human Gait Pattern Data database which may also
include a substantial amount of raw data but it is private. However, there are
examples of data with less restrictions. The University of Wisconsin at
LaCrosse has an easily accessible normative gait data set \citep{Willson2014}
from 25 subjects with lower extremity marker data from multiple gait cycles and
force plate measurements from a single gait cycle. The CMU Graphics Lab Motion
Capture Database~\citep{CMU2015} is also a good example and contains full body
marker kinematics for a fair number of trials with small number of gait cycles
during both walking and running.
More recent examples of biomechanists sharing their data alongside publications
are: \cite{Bogert2013} which includes full body joint kinematics and kinetics
from eleven subjects walking on an instrumented treadmill and \cite{Wang2014}
who include a larger set of data from ten subjects walking for five minutes
each at three different speeds but only a small set of lower extremity markers
are present. The second is notable because they publish the data in Dryad, a
modern citable data repository. It is also worth noting purely visual data
collections of gait, like the one presented in \cite{Makihara2012}, which
contain videos of subjects walking on a treadmill in full clothing. This
database is also unfortunately tightly secured with an extensive release
agreement for reuse.
The amount of publicly available gait data is small compared to the number of
gait studies that have been performed over the years. The data that is
available generally suffers from limitations such as few subjects, few gait
cycles, few markers, highly clinical, no raw data, limited force plate
measurements, lack of meta data, non-standard formats, and restrictive
licensing. To help with this situation we are making the data we collected for
our research purposes publicly available and free of the previously mentioned
deficiencies. Not only do we provide a larger set of normative gait data that
has been previously available, we also include an even larger set of data in
which the subject is being perturbed, something that does not currently exist.
We believe both of these sets of data can serve a variety of use cases and hope
that we can save time and effort for future researchers by sharing it.
But our reasons are not entirely altruistic, as governments and granting
agencies are also encouraging researchers to share data with recent policy
changes. For example, the \cite{EuropeanCommission2012} has outlined publicly
funded data's role in innovation and the \cite{WhiteHouse2013} laid out a plan
for public access to publications and data in 2013. The National Science
Foundation, which partially funds this work, was ahead of the White House and
required all grants to include a data management plan in 2011. This work is a
partial fulfillment of the grant requirements laid out in our grant's data
management plan and we hope that this work can be a good model for
dissemination of biomechanical data.
Our use case for the data is centered around the need for bio-inspired control
systems in emerging powered prosthetics and orthotics. Ideally, a powered
prosthetic would behave in such a way that the user would feel like their limb
was never disabled. There are a variety of approaches to developing
bio-inspired control systems, some of which aim to mimic the reactions and
motion of an able-bodied person. A modern gait lab is able to collect a variety
of kinematic, kinetic, and physiological data from humans during gait. This
data can potentially be used to drive the design of the human-mimicking
controller. With a rich enough data set, one may be able to identify control
mechanisms used during a human's natural gait and recovery from perturbations.
We hypothesize that by forcing the human to recover from external
perturbations, the resulting reactive actions can be used along with system
identification techniques to expose the feedback related relationships among
the human's sensors and actuators. With this in mind, we have collected data
that is richer than previous gait data sets and may be rich enough for control
identification. The data can also be used for verification purposes for
controllers that have been designed in other manners, such as those constructed
from first principles, e.g. \citep{Geyer2010}.
With all of this in mind, we collected over seven and a half hours of gait data
from fifteen able bodied subjects which amounts to over 25,000 gait cycles
\citep{Moore2014}. The subjects walked at three different speeds on an
instrumented treadmill while we collected full body marker locations and ground
reaction loads from a pair of force plates. The final protocol for the majority
of the trials included two minutes of normal walking and eight minutes of
walking under the influence of pseudo-random belt speed fluctuations. The data
has been organized complete with rich meta data and made available in the most
unrestrictive form for other research uses following modern best practices in
data sharing \citep{White2013}.
Furthermore, we include a small Apache licensed open source software library
for basic gait analysis and demonstrate its use in the paper. The combination
of the open data and open software allow the results presented within to be
computationally reproducible and instructions are included in the associated
repository~\footnote{https://github.com/csu-hmc/perturbed-data-paper} for
reproducing the results.
\section*{Methods}
%
In this section, we describe our experimental design beginning with
descriptions of the participants and equipment. This is then followed by the
protocol details and specifics on the perturbation design.
\subsection*{Participants}
%
Fifteen able bodied subjects including four females and eleven males with an
average age of $24\pm4$ years, height of $1.75\pm0.09$ m, mass of $74\pm13$ kg
participated in the study. The study was approved by the Institutional Review
Board of Cleveland State University (\# 29904-VAN-HS) and written informed
consent was obtained from all participants. The data has been anonymized with
respect to the participants' identities and a unique identification number was
assigned to each subject. A selection of the meta data collected for each
subject is shown in Table~\ref{tab:subjects}.
%
\begin{table}
\cprotect\caption{Information about the 15 study participants in order of
collection date. The subjects are divided into those that were used for the
protocol pilot trials, i.e. the first three, and those used for the final
protocol. The final three columns provide the trial numbers associated with
each nominal treadmill speed. The measured mass is computed from the mean
total vertical ground reaction force just after the calibration pose event,
if possible. If the mass is reported without an accompanying standard
deviation, it is the subject's self-reported mass. Additional trials found
in the data set with a subject identification number 0 are trials with no
subject, i.e. unloaded trials that can be used for inertial compensation
purposes, and are not shown in the table. Generated by
\verb|src/subject_table.py|.}
\centering
\small
\input{tables/subjects.tex}
\label{tab:subjects}
\end{table}
\subsection*{Equipment}
%
The data were collected in the Laboratory for Human Motion and Control at
Cleveland State University, using the following equipment:
%
\begin{itemize}
\item A R-Mill treadmill which has dual 6 degree of freedom force plates,
independent belts for each foot, along with lateral translation and pitch
rotation capabilities (Forcelink, Culemborg, Netherlands).
\item A 10 Osprey camera motion capture system paired with the Cortex
3.1.1.1290 software (Motion Analysis, Santa Rosa, CA, USA).
\item USB-6255 data acquisition unit (National Instruments, Austin, Texas,
USA).
\item Four ADXL330 Triple Axis Accelerometer Breakout boards attached to the
treadmill (Sparkfun, Niwot, Colorado, USA).
\item D-Flow software (versions 3.16.1 to 3.16.2) and visual display system,
(Motek Medical, Amsterdam, Netherlands).
\end{itemize}
The Cortex software delivers high accuracy 3D marker trajectories from the
cameras along with data from the force plates and analog sensors (e.g.
EMG/Accelerometer) through a National Instruments USB-6255 data acquisition
unit. D-Flow then receives streaming data from Cortex and any other digital
sensors. It is also responsible for controlling the treadmill's motion
(lateral, pitch, belts). D-Flow can process the data in real time and/or export
data to file.
Our motion capture system's coordinate system is such that the X coordinate
points to the right, the Y coordinate points upwards, and the Z coordinate
follows from the right-hand-rule, i.e. points backwards with respect to the
walking direction. The camera's coordinate system is aligned to an origin point
on the treadmill's surface during camera calibration. The same point is used as
the origin of the ground reaction force measuring system.
Figure~\ref{fig:treadmill} shows the layout of the equipment.
Early on, we discovered that the factory setup of the R-Mill treadmill had a
vibration mode as low as 5\si{\hertz} that was detectable in the force
measurements; likely due to the flexible undercarriage and pitch motion
mechanism. Trials 6--8 are affected by this vibration mode. During trials 9--15
the treadmill was stabilized with wooden blocks. During the remaining trials
($>$~15) the treadmill was stabilized with metal supports; both with ones we
fabricated in-house and ones supplied by the vendor. These supports aimed to
improve the stiffness and frequency response of the force plate system. See the
Data Limitations Section for more details.
The acceleration of the treadmill base was measured during each trial by the
ADXL330 accelerometers placed at the four corners of the machine. These
accelerometers were intended to provide information for inertial compensation
purposes when the treadmill moved laterally or in pitch, but are extraneous for
trials greater than number 8 due to the treadmill being stabilized in those
degrees of freedom by the aforementioned supports.
%
\begin{figure}
\centering
\includegraphics{figures/treadmill.png}
\caption{The treadmill with coordinate system, cameras (circled in orange),
projection screen, and safety rope. The direction of travel is in the $-z$
direction.}
\label{fig:treadmill}
\end{figure}
\subsection*{Protocol}
%
The experimental protocol consisted of both static measurements and walking on
the treadmill for 10 minutes under unperturbed and perturbed conditions. Before
a set of trials on the same day, the motion capture system was calibrated using
the manufacturer's recommended procedure. Before each subject's gait data were
collected, the subject changed into athletic shoes, shorts, a sports bra, a
baseball cap~\footnote{A cap was used to avoid having to shave participants'
hair at the expense of accuracy.}, and a rock climbing harness. All 47 markers
were applied directly to the skin at the landmarks noted in
Table~\ref{tab:marker-labels} except for the heel, toe, and head markers, which
were placed on the respective article of clothing.~\footnote{The sacrum and
rear pelvic markers were placed on the shorts for a small number of the
subjects.} Then the subject self-reported their age, gender, and mass.
Finally, their height was measured by the experimentalist and four reference
photographs (front, back, right, left) were taken of subject's marker
locations.
%
\begin{table*}
\cprotect\caption{Descriptions of the 47 subject markers used in this study.
The ``Set'' column indicates whether the marker exists in the lower and/or
full body marker set. The label column matches the column headers in the
\verb|mocap-xxx.txt| files and/or the marker map in the \verb|meta-xxx.yml|
file.}
\centering
\scriptsize
\begin{tabular}{lrlll}
\toprule
Set & \# & Label & Name & Description \\
\midrule
F & 1 & LHEAD & Left head & Just above the ear, in the middle. \\
F & 2 & THEAD & Top head & On top of the head, in line with the LHEAD and RHEAD. \\
F & 3 & RHEAD & Right head & Just above the ear, in the middle. \\
F & 4 & FHEAD & Forehead & Between line LHEAD/RHEAD and THEAD a bit right from center. \\
L/F & 5 & C7 & C7 & On the 7th cervical vertebrae. \\
L/F & 6 & T10 & T10 & On the 10th thoracic vertbrae. \\
L/F & 7 & SACR & Sacrum bone & On the sacral bone. \\
L/F & 8 & NAVE & Navel & On the navel. \\
L/F & 9 & XYPH & Xiphoid process & Xiphoid process of the sternum. \\
F & 10 & STRN & Sternum & On the jugular notch of the sternum. \\
F & 11 & BBAC & Scapula & On the inferior angle fo the right scapular. \\
F & 12 & LSHO & Left shoulder & Left acromion. \\
F & 13 & LDELT & Left deltoid muscle & Apex of the deltoid muscle. \\
F & 14 & LLEE & Left lateral elbow & Left lateral epicondyle of the elbow. \\
F & 15 & LMEE & Left medial elbow & Left medial epicondyle of the elbow. \\
F & 16 & LFRM & Left forearm & On 2/3 on the line between the LLEE and LMW. \\
F & 17 & LMW & Left medial wrist & On styloid process radius, thumb side. \\
F & 18 & LLW & Left lateral wrist & On styloid process ulna, pinky side. \\
F & 19 & LFIN & Left fingers & Center of the hand. Caput metatarsal 3. \\
F & 20 & RSHO & Right shoulder & Right acromion. \\
F & 21 & RDELT & Right deltoid muscle & Apex of deltoid muscle. \\
F & 22 & RLEE & Right lateral elbow & Right lateral epicondyle of the elbow. \\
F & 23 & RMEE & Right medial elbow & Right medial epicondyle of the elbow. \\
F & 24 & RFRM & Right forearm & On 1/3 on the line between the RLEE and RMW. \\
F & 25 & RMW & Right medial wrist & On styloid process radius, thumb side. \\
F & 26 & RLW & Right lateral wrist & On styloid process ulna, pinky side. \\
F & 27 & RFIN & Right fingers & Center of the hand. Caput metatarsal 3. \\
L/F & 28 & LASIS & Pelvic bone left front & Left anterior superior iliac spine. \\
L/F & 29 & RASIS & Pelvic bone right front & Right anterior superior iliac spine. \\
L/F & 30 & LPSIS & Pelvic bone left back & Left posterior superio iliac spine. \\
L/F & 31 & RPSIS & Pelvic bone right back & Right posterior superior iliac spine. \\
L/F & 32 & LGTRO & Left greater trochanter of the femur & On the cetner of the left greater trochanter. \\
L/F & 33 & FLTHI & Left thigh & On 1/3 on the line between the LFTRO and LLEK. \\
L/F & 34 & LLEK & Left lateral epicondyle of the knee & On the lateral side of the joint axis. \\
L/F & 35 & LATI & Left anterior of the tibia & On 2/3 on the line between the LLEK and LLM. \\
L/F & 36 & LLM & Left lateral malleoulus of the ankle & The center of the heel at the same height as the toe. \\
L/F & 37 & LHEE & Left heel & Center of the heel at the same height as the toe. \\
L/F & 38 & LTOE & Left toe & Tip of big toe. \\
L/F & 39 & LMT5 & Left 5th metatarsal & Caput of the 5th metatarsal bone, on joint line midfoot/toes. \\
L/F & 40 & RGTRO & Right greater trochanter of the femur & On the cetner of the right greater trochanter. \\
L/F & 41 & FRTHI & Right thigh & On 2/3 on the line between the RFTRO and RLEK. \\
L/F & 42 & RLEK & Right lateral epicondyle of the knee & On the lateral side of the joint axis. \\
L/F & 43 & RATI & Right anterior of the tibia & On 1/3 on the line between the RLEK and RLM. \\
L/F & 44 & RLM & Right lateral malleoulus of the ankle & The center of the heel at the same height as the toe. \\
L/F & 45 & RHEE & Right heel & Center of the heel at the same height as the toe. \\
L/F & 46 & RTOE & Right toe & Tip of big toe. \\
L/F & 47 & RMT5 & Right 5th metatarsal & Caput of the 5th metatarsal bone, on joint line midfoot/toes. \\
\bottomrule
\end{tabular}
\label{tab:marker-labels}
\end{table*}
After obtaining informed consent and a briefing by the experimentalist on the
trial protocol, the subject followed the verbal instructions of the
experimentalist and the on-screen instructions from the video display. The
final protocol for a single trial was as follows:
%
\begin{enumerate}
\item The subject stepped onto the treadmill and markers were identified with
Cortex.
\item The safety rope was attached loosely to the rock climbing harness such
that no forces were acting on the subject during walking, but so that the
harness would prevent a full fall.
\item The subject started by stepping on sides of treadmill so that feet did
not touch the force plates and the force plate signals are zeroed. This
corresponds to the ``Force Plate Zeroing'' event.
\item Once notified by the video display, the subject stood in the
calibration pose: standing straight up, looking forward, arms out by their
sides (approximately 45 degree abduction) and the event, ``Calibration
Pose'', was manually recorded by the operator.
\item A countdown to the first normal walking phase was displayed. At the end
of the countdown the event ``First Normal Walking'' was recorded and the
treadmill ramped up to the specified speed and the subject was instructed
to walk normally, to focus on the ``endless'' road on the display, and not
to look at their feet.
\item After 1 minute of normal walking, the longitudinal perturbation phase
begun and was recorded as ``Longitudinal Perturbation''.
\item After 8 minutes of walking under the influence of the perturbations,
the second normal walking phase begun and was recorded as ``Second Normal
Walking''.
\item After 1 minute of normal walking, a countdown was shown on the display
and the treadmill decelerated to a stop.
\item The subject was instructed to step off of the force plates for 10
seconds and the ``Unloaded End'' event was recorded.
\item The subject could then take a rest break before each additional trial.
\end{enumerate}
\subsubsection*{Pilot Protocols}
%
Trials 3--15 were pilot tests for finalizing the protocol design an thus have
some slight variations with respect to the subsequent trials. We include these
trials due to the uniqueness of trials 6--8 and the fact that the kinematic
data is valid. We believe there may be useful analyses that only require the
kinematic data. Additional information needed to interpret the data in the
pilot trials can be found in the associated meta data files and the Data
Limitations Section of this paper.
Trials 3--8 use an early experimental protocol which divided the walking period
into three sections: no perturbation, longitudinal perturbation, and a
combination of longitudinal and lateral perturbation. The calibration pose and
zeroing events are present in the data but lumped into one event. These trials
only use the lower body marker set described in Table~\ref{tab:marker-labels}.
Additionally, there are five markers that have labels beginning with \verb|ROT|
that were attached to the treadmill base to capture the lateral motion. Trials
9--15 use the final protocol but have corrupt ground reaction loads due to the
wooden treadmill base stabilizers.
\subsection*{Perturbation Signals}
%
As previously described, the protocol included a phase of normal walking,
followed by longitudinal belt speed perturbations, and ended with a second
segment of normal walking. Three pseudo-random belt speed control signals, with
mean velocities of \SIlist{0.8;1.2;1.6}{\meter\per\second}, were pre-generated
with MATLAB and Simulink (Mathworks, Natick, Massachusetts, USA) and are
available for download from Zenodo~\citep{Hnat2015}. The same control signal
was used for all trials at that given speed.
To create the signals, we started by generating random acceleration signals,
sampled at 100~\si{\hertz}, using the Simulink discrete-time Gaussian white
noise block followed by a saturation block set at the maximum belt acceleration
of 15~\si{\meter\per\second\squared}. The signal was then integrated to obtain
belt speed and high-pass filtered with a second-order Butterworth filter to
eliminate drift. One of the three mean speeds were then added to the signal and
limited between \SIrange{0}{3.6}{\meter\per\second}. The cutoff frequencies of
the high-pass filter, as well as the variance in the acceleration signal, were
manually adjusted until acceptable standard deviations for each mean speed were
obtained: \SIlist{0.06;0.12;0.21}{\meter\per\second} for the three speeds,
respectively. These ensured that the test subjects were sufficiently perturbed
at each speed, while remaining within the limits of our equipment and testing
protocol. To ensure that the treadmill belts could accelerate to the desired
values, the high performance mode in the D-Flow software was enabled. The
MATLAB script and Simulink model produce a comma-delimited text file of with
the desired belt speed signals indexed by the time stamp.
Figure~\ref{fig:input_output} gives an idea of the effect of the treadmill and
controller dynamics by plotting the measured speed of the treadmill belts from
loaded trials (76, 77, 78) against the commanded treadmill control input
signal. The system introduces a delay and seems to act as a low pass filter.
The standard deviations of the measured speeds do not significantly differ from
those of the commanded speeds: \SIlist{0.05;0.12;0.2}{\meter\per\second} for
the three speeds, respectively.
%
\begin{figure}
\centering
\includegraphics{figures/input_vs_output.pdf}
\cprotect\caption{Commanded treadmill belt speed (red) and the recorded speed
(blue) for average belt speeds of \SIlist{0.8;1.2;1.6}{\meter\per\second},
respectively. Generated by \verb|src/input_output_plot.m|.}
\label{fig:input_output}
\end{figure}
Figure~\ref{fig:freq_analysis} gives a frequency domain view of the effects of
the treadmill dynamics. These spectral density plots were created by averaging
a spectrogram of a twenty second Hamming window. For all speeds, the frequency
content of the commanded and measured time series show similarity below
4~\si{\hertz} and attenuation in the measured spectral density above
4~\si{\hertz}.
%
\begin{figure}
\centering
\includegraphics{figures/frequency_analysis.pdf}
\cprotect\caption{Power spectral density of the commanded treadmill belt
speed (red) and the recorded speed (blue) for average belt speeds of
\SIlist{0.8;1.2;1.6}{\meter\per\second}, respectively. Generated by
\verb|src/frequency_analysis.m|.}
\label{fig:freq_analysis}
\end{figure}
When belt speed is not constant, the inertia of the rollers and motor will
likely induce error in the force plate $x$ axis moment, and hence, the
anterior-posterior coordinate ($z$ axis) of the center of pressure that is
measured by the instrumentation in the treadmill. This error may or may not be
pertinent to different analyses. If needed, this error can be partially
compensated by a linear model as shown in \cite{Hnat2014}. The model
coefficients can be identified from the unloaded trials given in
Table~\ref{tab:comptrials}. The error due to inertia is random and does not
affect the averaged joint moments presented in
Figure~\ref{fig:angle-torque-comparison}. Compensation should, however, be done
if joint moments from individual gait cycles are of interest rather than the
ensemble average.
%
\begin{table}
\cprotect\caption{A list of unloaded trials collected for each speed. Each
loaded trial includes a compensation file listed in its meta data which
matches it to these unloaded trials. Generated by
\verb|src/subject_table.py|.}
\centering
\small
\input{tables/compensation_trials.tex}
\label{tab:comptrials}
\end{table}
In addition to the longitudinal perturbations, lateral perturbations were also
prescribed for a duration of four minutes in the pilot trials 3--8.
Figure~\ref{fig:lateral_perturbation} shows an example of the measured lateral
deviation of the treadmill base. These signals were generated in a similar
manner using MATLAB and Simulink in which a Gaussian white noise block was
twice integrated to obtain the lateral deviation. The signal was then high-pass
filtered with a second-order Butterworth filter to eliminate drift and then
saturated so that the signal remained within the 5~\si{\centi\meter} lateral
range of the physical hardware. The same perturbation signal was used for each
of the three trials.
%
\begin{figure}
\centering
\includegraphics{figures/lateral_perturbation.pdf}
\cprotect\caption{The measured lateral deviation of the treadmill base from
trial 6. Generated by \verb|src/lateral_perturbation_plot.m|.}
\label{fig:lateral_perturbation}
\end{figure}
\section*{Results}
%
Here we present some basic results. We first provide a detailed description of
the raw data followed by an overview of several computed variables that give an
idea of the characteristics of both the unperturbed and perturbed gait.
\subsection*{Raw Data}
%
The raw data consists of a set of ASCII tab delimited text files output from
both the ``mocap'' and ``record'' modules in D-Flow in addition to a manually
generated YAML~\footnote{YAML is a human readable data serialization format.
See Listing~\ref{lis:example-meta-data} for an example.} file that contains all
of the necessary meta data for the given trial. These three files are stored
in a hierarchy of directories with one trial per directory. The directories are
named in the following fashion \verb+T001/+ where \verb+T+ stands for ``trial''
and the following three digits provide a unique trial identification number.
\subsubsection*{mocap-xxx.txt}
%
The output from the D-Flow mocap module is stored in a tab separated value
(TSV) file named \verb+mocap-xxx.txt+ where \verb+xxx+ represents the trial id
number. The file contains a number of time series. The numerical values of the
time series are provided in decimal fixed point notation with 6 decimals of
precision, e.g. \verb|123456.123456|, regardless of the units. The first line
of the file holds the header. The header includes time stamp column, frame
number column, marker position columns, force plate force/moment columns, force
plate center of pressure columns, and other analog columns. The columns are
further described below:
%
\begin{description}
\item[TimeStamp] The monotonically increasing computer clock time when D-Flow
receives a frame from Cortex. These are recorded approximately at
100~\si{\hertz} sampling rate and given in seconds. Due to data buffering,
it is preferred to derive sample times from the FrameNumber column rather
than the TimeStamp.
\item[FrameNumber] Monotonically increasing positive integers that correspond
to each frame received from Cortex.
\item[Marker Coordinates] Any column that ends in \verb+.PosX+, \verb+.PosY+,
or \verb+.PosZ+ are marker coordinates expressed in Cortex's Cartesian
reference frame. The prefixes match the marker labels given in
Table~\ref{tab:marker-labels}. These values are in meters.
\item[Ground Reaction Loads] There are three ground reaction forces and three
ground reaction moments recorded by each of the two force plates in Newtons
and Newton-Meters, respectively. The prefix for these columns is either
\verb+FP1+ or \verb+FP2+ and represents either force plate 1 (left) or 2
(right). The suffixes are either \verb+.For[XYZ]+, \verb+.Mom[XYZ]+ for the
forces and moments, respectively. The force plate voltages are sampled at a
much higher frequency than the cameras, but delivered at the Cortex camera
sample rate, approximately 100~\si{\hertz}, through the D-Flow mocap
module. A force/moment calibration matrix stored in Cortex converts the
voltages to forces and moments before sending it to D-Flow. The software
also computes the center of pressure from the forces, moments, and force
plate dimensions. These have the same prefixes for the plate number, have
the suffix \verb+.Cop[XYZ]+, and are given in meters.
\item[Analog Channels] Several analog signals are recorded under column
headers \verb+Channel[1-99].Anlg+. These correspond to analog signals
sampled by Cortex and correspond to the 96 analog channels in the National
Instruments USB-6255. The first twelve are the voltages from the
force plate load cells. We also record the acceleration of 4 points on the
treadmill base in analog channels 61--72 that were in place in case
inertial compensation for the lateral treadmill movement was required.
\end{description}
We make use of the full body 47 marker set described in \cite{Bogert2013} and
presented in detail in Table \ref{tab:marker-labels}. As with all camera based
motion capture systems, the markers sometimes go missing in the recording. When
a marker goes missing, if the data was recorded in a D-Flow version less than
3.16.2rc4, D-Flow continues to record the last non-missing value in all
three axes until the marker is visible again. In D-Flow versions greater than
or equal to 3.16.2rc4, the missing markers are indicated in the TSV file as
either \verb|0.000000| or \verb|-0.000000|. The D-Flow version must be provided
in the meta data YAML file to be able to distinguish this detail.
\subsubsection*{record-xxx.txt}
%
The record module also outputs a tab delimited ASCII text file with numerical
values at six decimal digits. It includes a \verb+Time+ column which records
the D-Flow system time in seconds. This time corresponds to the time recorded
in the \verb+TimeStamp+ column in mocap module TSV file which is necessary for
time synchronization. There are two additional columns \verb+RightBeltSpeed+
and \verb+LeftBeltSpeed+ which provide the independent belt speeds measured in
meters per second by a factory installed encoder in the treadmill.
Additionally, the record module is capable of recording the time at which
various preprogrammed events occur, as detected or set by D-Flow. It does this
by inserting commented (\verb|#|) lines in between the rows when the event
occurred. The record files have several events that delineate the different
phases of the protocol:
%
\begin{description}
\item[A: Force Plate Zeroing] Marks the time at the beginning of the trial at
which there is no load on the force plates and when the force plate
voltages were zeroed.
\item[B: Calibration Pose] Marks the time at which the person is in the
calibration pose.
\item[C: First Normal Walking] Marks the time when the treadmill begins Phase
1: constant belt speed.
\item[D: Longitudinal Perturbation] Marks the time when the treadmill begins
Phase 2: longitudinal perturbations in the belt speed.
\item[E: Second Normal Walking] Marks the time when phase 3 starts: constant
belt speed.
\item[F: Unloaded End] Marks the time at which there is no load on the force
plates and the belts are stationary.
\end{description}
\subsubsection*{meta-xxx.yml}
Each trial directory contains a meta data file in the YAML format named in the
following style \verb|meta-xxx.yml| where \verb|xxx| is the three digit trial
identification number. There are three main headings in the file: \verb+study+,
\verb+subject+, and \verb+trial+. An example meta data file is shown in
Listing~\ref{lis:example-meta-data}.
The \verb+study+ section contains identifying information for the overall
study, an identification number, name, and description. This is the same for
all meta data files in the study. Details are given below:
%
\begin{description}
\item[id] An integer specifying a unique identification number of the study.
\item[name] A string giving the name of the study.
\item[description] A string with a basic description of the study.
\end{description}
The \verb+subject+ section provides key value pairs of information about the
subject in that trial. Each subject has a unique identification number along
with basic anthropomorphic data. The following details the possible meta data
for the subject:
%
\begin{description}
\item[age] An integer age in years of the subject at the time of the trial.
\item[ankle-width-left] A float specifying the width of the subjects left
ankle.
\item[ankle-width-right] A float specifying the width of the subjects right
ankle.
\item[ankle-width-units] A string giving the units of measurement of the
ankle widths.
\item[id] An unique identification integer for the subject.
\item[gender] A string specifying the gender of the subject.
\item[height] A float specifying the measured height of the subject (with
shoes and hat on) at the time of the trial.
\item[height-units] A string giving the units of the height measurement.
\item[knee-width-left] A float specifying the width of the subjects left
knee.
\item[knee-width-right] A float specifying the width of the subjects right
knee.
\item[knee-width-units] A string giving the units of measurement of the
knee widths.
\item[mass] A float specifying the self-reported mass of the subject.
\item[mass-units] A string specifying the units of the mass measurement.
\end{description}
The \verb+trial+ section contains the information about the particular trial.
Each trial has a unique identification number along with a variety of other
information, detailed below:
%
\begin{description}
\item[analog-channel-map] A mapping of the strings D-Flow assigns to signals
emitted from the analog channels of the NI USB-6255 to names the user
desires.
\item[cortex-version] The version of Cortex used to record the trial.
\item[datetime] A date formatted string giving the date of the trial in the
\verb|YYYY-MM-DD| format.
\item[dflow-version] The version of D-Flow used to record the trial.
\item[events] A key value map which prescribes names to the alphabetic events
recorded in the record file.
\item[files] A key value mapping of files associated with this trial
where the key is the D-Flow file type and the value is the path to the file
relative to the meta file. The compensation file corresponds to an unloaded
trial collected on the same day that could be used for inertial
compensation purposes, if needed.
\item[hardware-settings] There are tons of settings for the hardware in both
D-Flow, Cortex, and the other software in the system. This contains any
non-default settings.
\begin{description}
\item[high-performance] A boolean value indicating whether the D-Flow high
performance setting was on (True) or off (False).
\end{description}
\item[id] An unique three digit integer identifier for the trial. All of the
file names and directories associated with this trial include this number.
\item[marker-map] A key value map which maps marker names in the mocap file
to the user's desired names for the markers.
\item[marker-set] Indicates the HBM~\citep{Bogert2013} marker set used during
the trial, either full, lower, or NA.
\item[nominal-speed] A float representing the nominal desired treadmill speed
during the trial.
\item[nominal-speed-units] A string providing the units of the nominal speed.
\item[notes] A string with any notes about the trial.
\item[pitch] A boolean that indicates if the treadmill pitch degree of
freedom was actuated during the trial.
\item[stationary-platform] A boolean that indicates whether the treadmill
sway or pitch motion was actuated during the trial. If this flag is
false, the measured ground reaction loads must be compensated for the
inertial affects and be expressed in the motion capture reference frame.
\item[subject-id] An integer corresponding to the subject in the trial.
\item[sway] A boolean that indicates if the treadmill lateral degree of
freedom was actuated during the trial.
\end{description}
\begin{listing}
\scriptsize
\begin{minted}[gobble=4]{yaml}
study:
id: 1
name: Gait Control Identification
description: Perturb the subject during walking and running.
subject:
id: 8
age: 20
mass: 70.0
mass-units: kilograms
height: 1.572
height-units: meters
knee-width-left: 107.43
knee-width-right: 107.41
knee-width-units: millimeters
ankle-width-left: 70.52
ankle-width-right: 67.66
ankle-width-units: millimeters
gender: male
trial:
id: 58
subject-id: 8
datetime: 2014-03-28
notes: >
The subject did a somersault during this trial instead of following
instructions to walk. Will have to use for another study.
nominal-speed: 0.8
nominal-speed-units: meters per second
stationary-platform: True
pitch: False
sway: False
hardware-settings:
high-performance: True
dflow-version: 3.16.1
cortex-version: 3.1.1.1290
marker-set: full
marker-map:
M1: LHEAD
M2: THEAD
M3: RHEAD
M4: FHEAD
M5: C7
analog-channel-map:
Channel1.Anlg: F1Y1
Channel2.Anlg: F1Y2
Channel3.Anlg: F1Y3
Channel4.Anlg: F1X1
events:
A: Force Plate Zeroing
B: Calibration Pose
C: First Normal Walking
D: Longitudinal Perturbation
E: Second Normal Walking
F: Unloaded End
files:
compensation: ../T057/mocap-057.txt
mocap: mocap-058.txt
record: record-058.txt
meta: meta-058.yml
\end{minted}
\caption{A fictitious example of a YAML formatted meta data file. Examples of
all of the possible keys in the data set are shown.}
\label{lis:example-meta-data}
\end{listing}
\subsection*{Processed Data}
%
We developed a toolkit for data processing, GaitAnalysisToolKit v0.1.2
\citep{Moore2014a} for common gait computations and provide an example
processed trial to present the nature of the data. The tool was developed in
Python, is dependent on the SciPy Stack [NumPy~\citep{Walt2011},
SciPy~\citep{Jones2001}, matplotlib~\citep{Hunter2007},
Pandas~\citep{McKinney2010}, etc] and Octave~\citep{Octave2014}, and provides
two main classes: one to do basic gait data cleaning from D-Flow's output
files, \verb|DFlowData|, and a second to compute common gait variables of
interest, \verb|GaitData|.
The \verb|DFlowData| class collects and stores all the raw data presented in
the previous section and applies several ``cleaning'' operations to transform
the data into a usable form. The cleaning process follows these steps:
%
\begin{enumerate}
\item Load the meta data file into a Python dictionary.
\item Load the D-Flow mocap module TSV file into Pandas \verb|DataFrame|.
\item Relabel the column headers to more meaningful names if this is
specified in the meta data.
\item Optionally identify the missing values in the mocap marker data and
replace them with \verb|numpy.nan|.
\item Optionally interpolate the missing marker values and replaces them
with interpolated estimates using a variety of interpolation methods.
\item Load the D-Flow record module TSV file into a Pandas \verb|DataFrame|.
\item Extract the events and create a dictionary mapping the event names in
the meta data to the events detected in the record module file.
\item Inertially compensate the ground reaction loads based on whether the
meta data indicates there was treadmill motion.
\item Merge the data from the mocap module and record module into one data
frame at the maximum common constant sample rate.
\end{enumerate}
Once the data is cleaned there are two methods that allow the user to extract
the cleaned data: either extract sections of the data bounded by the events
recorded in the \verb|record-xxx.txt| file or save the cleaned data to disk.
These operations are available as a command line application and as an
application programming interface (API) in Python. An example of the
\verb|DFlowData| API in use is provided in Listing~\ref{lis:dflowdata}.
%
\begin{listing}
\begin{minted}{pycon}
>>> from gaitanalysis.motek import DFlowData
>>> data = DFlowData('mocap-020.txt', 'record-020.txt',
... 'meta-020.yml')
>>> mass = data.meta['subject']['mass']
>>> data.clean_data()
>>> event_df = data.extract_processed_data(
... event='Longitudinal Perturbation')
\end{minted}
\cprotect\caption{Python interpreter session showing how one could load a
trial into memory, extract the subject's mass from the meta data, run the
data cleaning process, and finally extract a Pandas \verb|DataFrame|
containing all of the time histories for a specific event in the trial.}
\label{lis:dflowdata}
\end{listing}
The \verb|GaitData| class is then used to compute gait events (toe off and heel
strike times), basic 2D inverse kinematics and dynamics, and to store the data
into a Pandas \verb|Panel| with each gait cycle on the item axis at a specified
sampling rate. This object can also be serialized to disk in HDF5 format. An
example of using the Python API is shown in Listing~\ref{lis:gaitdata}.
%
\begin{listing}
\begin{minted}{pycon}
>>> from gaitanalysis.gait import GaitData
>>> gdata = GaitData(event_df)
>>> gdata.inverse_dynamics_2d(left_markers, right_markers,
... left_loads, right_loads, mass, 6.0)
>>> gdata.grf_landmarks('Right Fy', 'Left Fy', threshhold=20.0)
>>> gdata.split_at('right')
>>> gdata.plot_gait_cycles('Left Hip Joint Torque', mean=True)
>>> gdata.save('gait-data.h5')
\end{minted}
\cprotect\caption{Python interpreter session showing how one could use the
\verb|GaitData| class to load in the result of \verb|DFlowData| and compute
the inverse dynamics (joint angles and torques), identify the gait events
(e.g. heel strikes), split the data with respect to the gait events into a
Pandas \verb|Panel|, plot the mean and standard deviation of one time
history with respect to the gait cycles, and save the data to disk.}
\label{lis:gaitdata}
\end{listing}
A similar work flow was used to produce
Figure~\ref{fig:angle-torque-comparison} which compares the mean and standard
deviation of sagittal plane joint angles and torques from the perturbed gait
cycles to the unperturbed gait cycles computed from trial 20. This gives an
idea of the more highly variable dynamics required to walk while being
longitudinally perturbed.
%
\begin{figure}
\centering
\includegraphics{figures/unperturbed-perturbed-comparison.pdf}
\cprotect\caption{Right leg mean and $3\sigma$ (shaded) joint angles and
torques from both unperturbed (red) and perturbed (blue) gait cycles
from trial 20. We define the nominal configuration, i.e. all joint angles
equal to zero, such that the vectors from the shoulder to the hip, the hip
to the knee, the knee to the ankle, and the heel to the toe are all aligned.
Produced by \verb|src/unperturbed_perturbed_comparison.py|.}
\label{fig:angle-torque-comparison}
\end{figure}
For more insight into the difference in the unperturbed and perturbed data,
Figure~\ref{fig:gait-cycle-stats-comparison} compares the distribution of a few
gait cycle statistics. One can see that the perturbed strides have a much
larger variation in frequency and length and even larger variation in stride
width. It is also interesting to note that the coupled nature of the system's
degrees of freedom can be exploited to increase the stride width with only
longitudinal perturbations, although not relatively as much as is in the other
statistics.
%
\begin{figure}
\centering
\includegraphics{figures/unperturbed-perturbed-boxplot-comparison.pdf}
% NOTE : Make sure to update these values (120, 519) if anything in the
% script changes.
\cprotect\caption{Box plots of the average belt speed, stride frequency,
stride length, and stride width which compare 120 unperturbed (U: red) and
519 perturbed (P: blue) gait cycles. The median is given with the box
bounding the first and third quartiles and the whiskers bound the range of
the data. Produced by \verb|src/unperturbed_perturbed_comparison.py|.}
\label{fig:gait-cycle-stats-comparison}
\end{figure}
\subsection*{Data Limitations}
%
The data is provided in good faith with great attention to detail but as with
all data there are anomalies that may affect the use and interpretation of
results emanating from the data. The following lists give various notes and
warnings about the data that should be taken into account before use.
\subsubsection*{All Trials}
%
\begin{itemize}
\item Be sure to read the notes in each meta data file for details about
possible anomalies in that particular trial. Things such as marker dropout,
ghost markers, and marker movement are the more prominent notes. Details
about variations in the equipment on the day of the trial are also
mentioned.
\item The subject identification number 0 represents the ``null subject'' and
was used whenever data was collected from the system with no subject on the
treadmill, for example during the trials that were intended to be used for
inertial compensation purposes. These trials play through the exact
protocol as those with a human subject and the matching trials are
indicated in the meta data. Matching unloaded trials were recorded on the
same day as the loaded trials and is noted in the
\verb|trial:files:compensation| section of the meta data file. See
Table~\ref{tab:comptrials} for a list of all the compensation trials.
\item Trials 1 and 2 were not recorded as part of this study. Those trial
identification numbers were reserved for early data exploration from data
collected in other studies and are not included in this dataset.
\item Trials 37, 38, and 39 do not exist. The numbers were accidentally
skipped.
\item The ankle joint torques computed from subject 9's data in trials 25--27
are abnormal and should be used with caution or not at all. We were not
able to locate the source of the error, but it is likely related to the
force calibration.
\end{itemize}
\subsubsection*{Pilot Trials}
%
\begin{itemize}
\item Subject 1 walked only at a single speed with three trial repetitions.
\item Trials 6--8 included a calibration pose at the start of the trial but
the event was not explicitly recorded. In those trials, the
``TreadmillPerturbation'' event marks the beginning of longitudinal
perturbations and the ``Both'' event marks the beginning of combined
longitudinal and lateral perturbations. The force plate zeroing at the end
was also not explicitly recorded.
\item Trials 6--8's force measurements are affected by the treadmill vibration
mode mentioned in the equipment section and the force plate data should not
be used.
\item Trials 9--11 used a slightly different event definition where the
calibration poses were not explicitly tagged by an event, yet the protocol
was identical to the following trials. The calibration pose will have to be
determined manually.
\item During trials 9--15, we used wooden blocks to fix the treadmill to the
concrete floor to eliminate the treadmill's low vibration mode. But these
blocks seem to have corrupted the force plate measurements by imposing
frictional stresses on the system. The force plate measurements should not
be used from these trials.
\item We did not record unloaded compensation trials for trials 9--15.
Regardless, they would likely be useless due to the corruption from the
wooden blocks and are not needed because the treadmill base is fixed.
\end{itemize}
\section*{Conclusion}
%
We have presented a rich and elaborate data set of motion and ground reaction
loads from human subjects during both normal walking and when recovering from
perturbations. The raw data is provided for reuse with complete meta data. In
addition to the data, we provide software that can process the data for both
cleaning purposes and to produce typical sagittal plane gait variables of
interest. Among other uses, we believe the dataset is ideally suited for
control identification purposes. Many researchers are working on mathematical
models for control in gait and this dataset provides both a way to validate
these models and a source for generating them.
\section*{Data Availability}
%
The data set \citep{Moore2014} is available via two Zenodo data repositories.
The first holds two approximately 1.2GB gzipped tar balls with contain the main
data and a \verb|README| file with a short description of the contents. The
second \citep{Hnat2015} contains the Simulink generated data for the treadmill
control inputs. The data is released under the Creative Commons CC0 license
(http://creativecommons.org/about/cc0) following best practices for sharing
scientific data.
\section*{Software Availability}
%