Estimating human joint moments unifies exoskeleton control and reduces user effort
Data files
Mar 21, 2024 version files 2.38 GB
-
AB01.zip
-
AB02.zip
-
AB03.zip
-
AB04.zip
-
AB05.zip
-
AB06.zip
-
AB07.zip
-
AB08.zip
-
AB09.zip
-
AB10.zip
-
AB11.zip
-
AB12.zip
-
AB13.zip
-
AB14.zip
-
AB15.zip
-
AB16.zip
-
AB17.zip
-
AB18.zip
-
AB19.zip
-
AB20.zip
-
AB21.zip
-
AB22.zip
-
AB23.zip
-
AB24.zip
-
AB25.zip
-
AB26.zip
-
AB27.zip
-
AB28.zip
-
AB29.zip
-
AB30.zip
-
AB31.zip
-
AB32.zip
-
AB33.zip
-
AB34.zip
-
README.md
Abstract
Robotic lower-limb exoskeletons can augment human mobility, but current systems require extensive, context-specific considerations, limiting their real-world viability. Here, we present a unified exoskeleton control framework that autonomously adapts assistance based on instantaneous user joint moment estimates from a temporal convolutional network (TCN). When deployed on our hip exoskeleton, the TCN achieved an average RMSE of 0.142 ± 0.021 Nm/kg and R2 of 0.840 ± 0.045 across 35 ambulatory conditions without any subject-specific calibration. Further, the unified controller significantly reduced user metabolic cost and lower-limb positive work during level ground and incline walking compared to walking without wearing the exoskeleton (P < 0.05). This advancement bridges the gap between in-lab exoskeleton technology and real-world human ambulation, making exoskeleton control technology viable for a broad community.
README: Estimating Human Joint Moments Unifies Exoskeleton Control and Reduces User Effort
by Dean D. Molinaro, Inseung Kang, and Aaron J. Young
Dataset prepared by Dean D. Molinaro (contact: dmolinaro3@gatech.edu)
This dataset consists of sensor data from a robotic hip exoskeleton and time-synced with ground-truth human lower-limb biomechanics. All data were sampled at 200 Hz.
General Terminology, Conventions, and Units
Ambulation Modes
LG: level ground (either overground or on a treadmill)
RA: ramp ascent (either overground or on a treadmill)
RD: ramp descent (either overground or on a treadmill)
SA: stair ascent (overground staircase)
SD: stair descent (overground staircase)
ST: standing
TR: stand-to-walk and walk-to-stand transitions in same trial (treadmill)
TRA: stand-to-walk transition (overground)
TRB: walk-to-stand transition (overground)
Controllers
BT: gait phase-based exo control using assistance trajectory based on average biological torque for each mode
ET: gait phase-based exo control using assistance trajectory tuned by the experimenters for each mode
UC: unified joint moment controller
Conventions
Extension/Plantarflexion: positive
Flexion/Dorsiflexion: negative
Units (Unless Otherwise Stated)
Time: seconds
Angle: rad
Angular Velocity: rad/s
Distance: meters
Acceleration: m/s^2
Force: Newtons
Exo Torque: Nm
Joint Moments: Nm/kg
Gait Phase: range from 0 to 1
Description of Experimental Phases
Phase 1
Participants AB01-AB09
Modes: Overground LG, RA, RD, SA, SD
Exo: Gait Enhancing and Motivating System (GEMS) (Samsung, South Korea)
Note: Thigh, shank, and pelvis IMU data were transformed to match their respective coordinate systems of the IMUs mounted on the custom hip exo
Phase 2
Participants AB10-AB14
Modes: Overground LG, RA, RD, SA, SD, ST, TRA, TRB
Exo: Custom Hip Exo
Phase 3
Participants AB15-AB24
Modes: Treadmill LG, RA, RD and overground SA, SD
Exo: Custom Hip Exo
Phase 4
Participants AB25-AB34
Modes: Treadmill LG, RA, RD and overground SA, SD
Note: Participants AB30-AB34 also completed ST and TR trials
Exo: Custom Hip Exo
File Structure
Participant Code
-- Trial Name
-- + -- angle.csv
-- + -- exo.csv
-- + -- gp.csv
-- + -- grf.csv
-- + -- moment.csv
Each trial name has the form: mode, condition, speed, controller, and optional indices
mode: describes the trial ambulation mode
condition: describes the slope (in degrees) or stair height (in cm) of the trial
Note: "p" is used as a substitute for "." (e.g., 12p5 = 12.5)
Note: "n" is used as a substitute for "-" (e.g., n12p5 = -12.5)
Note: If the trial does not consist of a ramp slope or stair height, condition = C0p0
speed: describes the walking speed (in m/s) of the trial
Note: "p" is used as a substitute for "." (e.g., 1p25 = 1.25)
Note: If the trial does not consist of a controller walking speed (e.g., during overground or standing trials), speed = S0p0
optional indices: used to index multiple trials with the same mode, condition, speed, and controller
File Contents
Note: All files corresponding to the same trial are synced in time (see the time column in each trial).
angle.csv: file containing the ground-truth, sagittal plane hip, knee, and ankle angles computed from inverse kinematics
- time: trial time
- hip_angle_l: hip extension angle of the left leg
- knee_angle_l: knee extension angle of the left leg
- ankle_angle_l: ankle plantarflexion angle of the left leg
- hip_angle_r: hip extension angle of the right leg
- knee_angle_r: knee extension angle of the right leg
- ankle_angle_r: ankle plantarflexion angle of the right leg
- Note: joint angles were filtered using a zero-lag 5th order Butterworth filter with a 6 Hz cutoff frequency
exo.csv: file containing the exoskeleton sensor and torque data
- time: trial time
- enc_angle_l: encoder position of left actuator
- enc_angle_r: encoder position of right actuator
- enc_velo_l: encoder velocity of left actuator
- enc_velo_r: encoder velocity of right actuator
- thigh_accel_x_l: x-axis accelerometer data from left thigh IMU
- thigh_accel_y_l: y-axis accelerometer data from left thigh IMU
- thigh_accel_z_l: z-axis accelerometer data from left thigh IMU
- thigh_gyro_x_l: x-axis gyroscope data from left thigh IMU
- thigh_gyro_y_l: y-axis gyroscope data from left thigh IMU
- thigh_gyro_z_l: z-axis gyroscope data from left thigh IMU
- thigh_accel_x_r: x-axis accelerometer data from right thigh IMU
- thigh_accel_y_r: y-axis accelerometer data from right thigh IMU
- thigh_accel_z_r: z-axis accelerometer data from right thigh IMU
- thigh_gyro_x_r: x-axis gyroscope data from right thigh IMU
- thigh_gyro_y_r: y-axis gyroscope data from right thigh IMU
- thigh_gyro_z_r: z-axis gyroscope data from right thigh IMU
- pelvis_accel_x: x-axis accelerometer data from pelvis IMU
- pelvis_accel_y: y-axis accelerometer data from pelvis IMU
- pelvis_accel_z: z-axis accelerometer data from pelvis IMU
- pelvis_gyro_x: x-axis gyroscope data from pelvis IMU
- pelvis_gyro_y: y-axis gyroscope data from pelvis IMU
- pelvis_gyro_z: z-axis gyroscope data from pelvis IMU
- trq_est_l: left hip moment estimated by TCN
- trq_cmd_l: torque commanded to left actuator
- trq_mea_l: torque from left actuator (torque was computed by multiplying the measured motor current by the motor torque constant and gear ratio)
- trq_est_r: right hip moment estimated by TCN
- trq_cmd_r: torque commanded to right actuator
- trq_mea_r: torque from right actuator (torque was computed by multiplying the measured motor current by the motor torque constant and gear ratio)
- NOTE: enc_velo was computed from enc_pos using backward finite differencing and lowpass filtered using a causal 2nd order Butterworth filter with a 10 Hz cutoff frequency
gp.csv: file containing the labeled gait phase for each stride
- time: trial time
- gp_to_l: left leg gait phase segmented by toe-off
- gp_hs_l: left leg gait phase segmented by heel strike
- gp_to_r: right leg gait phase segmented by toe-off
- gp_hs_r: right leg gait phase segmented by heel strike
- Note: When GRF data were not available, heel strike and toe-off were detected based on heel marker and toe-marker velocities, respectively.
grf.csv: file containing the 3-axis ground reaction force (GRF) and 3-axis center of pressure (CoP) measured by the force plates
- time: trial time
- fp_vx_l: GRF in x-axis of ground frame applied to left foot
- fp_vy_l: GRF in y-axis of ground frame applied to left foot
- fp_vz_l: GRF in z-axis of ground frame applied to left foot
- fp_px_l: CoP in x-axis of ground frame applied to left foot
- fp_py_l: CoP in y-axis of ground frame applied to left foot
- fp_pz_l: CoP in z-axis of ground frame applied to left foot
- fp_vx_r: GRF in x-axis of ground frame applied to right foot
- fp_vy_r: GRF in y-axis of ground frame applied to right foot
- fp_vz_r: GRF in z-axis of ground frame applied to right foot
- fp_px_r: CoP in x-axis of ground frame applied to right foot
- fp_py_r: CoP in y-axis of ground frame applied to right foot
- fp_pz_r: CoP in z-axis of ground frame applied to right foot
- Note: y-axis points up, z-axis points to the back of the treadmill, x-axis completes the right-hand-rule (i.e., points to participant's right side when walking forward on the treadmill)
moment.csv: file containing the ground-truth, sagittal plane hip, knee, and ankle moments computed from inverse dynamics
- time: trial time
- hip_moment_l: hip extension moment of the left leg
- knee_moment_l: knee extension moment of the left leg
- ankle_moment_l: ankle plantarflexion moment of the left leg
- hip_moment_r: hip extension moment of the right leg
- knee_moment_r: knee extension moment of the right leg
- ankle_moment_r ankle plantarflexion moment of the right leg
- Note: joint moments were filtered using a zero-lag 5th order Butterworth filter with a 6 Hz cutoff frequency
Additional Notes
Note: The time array for each trial is relative to when motion capture data collection was started. Often the exoskeleton logger was started before the motion capture system, so the trials may start with a time that is less than zero.
Note: Due to experimental complications, there are a few participants missing specific trial data.
- AB05: Missing SA_C10p2_S0p0_BT, SA_C10p2_S0p0_ET, SA_C12p7_S0p0_BT, SA_C12p7_S0p0_ET, SD_Cn10p2_S0p0_BT, SD_Cn10p2_S0p0_ET, SD_Cn12p7_S0p0_BT, SD_Cn12p7_S0p0_ET
- AB16: Missing LG_C0p0_S0p75_UC, LG_C0p0_S1p5_UC, LG_C0p0_S1p75_UC
- AB17: Missing LG_C0p0_S0p75_UC, LG_C0p0_S1p5_UC, LG_C0p0_S1p75_UC
- AB18: Missing LG_C0p0_S0p75_UC, LG_C0p0_S1p5_UC, LG_C0p0_S1p75_UC
- AB19: Missing LG_C0p0_S0p75_UC, LG_C0p0_S1p5_UC, LG_C0p0_S1p75_UC
- AB25: Missing LG_C0p0_S1p9_UC
- AB28: Missing RD_Cn15p0_S0p75_UC
Note: Angle, moment, grf, gait phase, and exo data may be NaN for multiple reasons.
- Angle, moment, grf, and gait phase data are NaN when inverse dynamics were not valid (e.g., when valid GRF data was not available). This often occurred near the edges of the motion capture space so kinematics were also set to NaN. This was very common during overground trials since participants often walked over sections of the lab that did not have force plate data.
- The trq_est_l and trq_est_r columns in exo.csv are NaN for all BT and ET trials since hip moments were not estimated during these trials.
- Occasionally the custom IMU logger on the coprocessor would take longer than 20 ms to sample the data when using the GEMS (i.e., for participants AB01-AB09). In these cases, the exo data were upsampled to 200 Hz but NaNd since exo data during these timesteps were not valid. Loop rates longer than 5 ms but lower than 20 ms were upsampled but the data were not NaNd to preserve the sequence for neural network training. Loop rates of over 20 ms occurred in less than 1% of the GEMS data for each participant. This issue did not occur for any of the other 25 participants.
- Due to a bug in the controller software, trq_mea_l and trq_mea_r were not recorded for AB10-AB14. These columns are NaN for all trials for these participants.