Copyright CTAG 2020
It is prepared under TestEd project to be used within the Eurobench Benchmarking Software.
Measuring the performance (Balance, Borg Scale, Chrono, HR Monitoring, Metabolic Cost, Questionnaire, Range of Motion) of a human subject wearing industrial exoskeleton and completing an industrial task.
TO BE UPDATED
To enable the code under octave, additional packages are needed.
sudo apt-get install liboctave-dev
Follow these recommendations to make the installation of the additional packages needed:
Once octave is configured:
pkg load signal
pkg load mapping
pkg load statistics
Note that all these installation steps can be run following the RUN
command of the Dockerfile:
sh ./install.sh
wget -O statistics-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=statistics-1.4.1.tar.gz \
wget -O signal-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=signal-1.4.1.tar.gz \
wget -O mapping-1.2.1.tar.gz https://octave.sourceforge.io/download.php?package=mapping-1.2.1.tar.gz
./package_install.m
The repository gives access to a set of performance metrics.
More detailed in balance.
To compute the Dynamic Posture Stability Index (DPSI), assuming that the folder outdir
is already created:
./run_pi_balance testdata/input/balance.csv testdata/input/subject_xx_info.yaml outdir
with:
-
balance.csv
: acsv
file containing the 3d ground reaction forces from left and right hand side force plate, assuming the first column is a timestamp in second. -
subject_xx_info.yaml
: yaml file containing the subjective information such as height, weight, gender, etc.
More detailed in borgScale.
To compute the Borg Scale, assuming that the folder outdir
exists:
./run_pi_borgScale10 testdata/input/questionnaire_borgScale10.csv outdir
with:
questionnaire_borgScale10.csv
: a 'csv' file consists of subject respond with the rating of perceived exertions (RPE) with revised category-ratio scale (0-10).
More detailed in chrono.
Assuming folder outdir
exists:
./run_pi_chrono testdata/input/chrono.csv outdir
with:
chrono.csv
: a 'csv' file generated by the testbed position sensors that contains the timestamp data of subject entry and exist from the testbed for each run.
More detailed in hrMonitoring.
Assuming folder outdir
exists:
./run_pi_hrMonitoring testdata/input/hrv.csv outdir
with:
hrv.csv
: a 'csv' file generated by the portable wearable device such as Polar H10 that consists of single column Heart Rate Variability (HRV).
More detailed in metabolicCost.
Assuming folder outdir
exists:
./run_pi_metabolicCost testdata/input/chrono.csv testdata/input/subject_xx_info.yaml testdata/input/condition_yy.yaml testdata/input/subject_xx__condition_yy_choice_metabolicCost.yaml outdir
with:
-
chrono.csv
: a 'csv' file generated by the testbed position sensors that contains the timestamp data of subject entry and exist from the testbed for each run. -
subject_xx_info.yaml
: yaml file containing the subjective information such as height, weight, gender, etc. -
condition_yy.yaml
: yaml file containing testbed configuration data related to the industrial use-case. -
subject_xx_condition_yy_choice_metabolicCost.yaml
: yaml file containing the user choices for the algorithm.
More detailed in questionnaire.
Assuming folder outdir
exists:
./run_pi_questionnaire testdata/input/questionnaire_xxxAssist.csv outdir
with:
questionnaire_xxxAssist.csv
: a csv file consisting of post test subjective responses.
More detailed in rangeofMotion.
Assuming folder outdir
exists:
./run_pi_rangeofMotion testdata/input/jointAngles.csv outdir
with:
jointAngles.csv
: a csv file containing time series joint angle for the human body joints.
tested under linux
Run the following command in order to create the docker image for this PI:
docker build . -t pi_ctag
Assuming the testdata/input/
contains the input data, and that the directory test_data/output/
is created, and will contain the PI output:
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_balance /in/balance.csv /in/subject_01_info.yaml /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_borgScale10 /in/questionnaire_borgScale10.csv /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_chrono /in/chrono.csv /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_hrMonitoring /in/hrv.csv /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_metabolicCost /in/chrono.csv /in/subject_01_info.yaml /in/condition.yaml /in/subject_01_condition_01_choice_metabolicCost.yaml /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_questionnaire /in/questionnaire_medAssist.csv /out
docker run --rm -v $PWD/testdata/input:/in -v $PWD/output:/out pi_ctag ./run_pi_rangeofMotion /in/jointAngles.csv /out
to be adjusted
This folder consists of two sub-folders: 1. rawData and 2. input. The rawData folder consists of seven sub-folders which must be populated with the data files based on the data population sequence mentioned in the filename of the folder. The filename also contains the data source.
Procedure
- Copy the raw data in the respective folder on the basis of the instructions present in the folder name.
For example:
balance_EB_runWise = PI_source_populationSequence
. Please note that all the files in the rawData folder are in original form except balance and rangeofMotion folder files which are dependent on the EB facilities. - Change the file name and heading to comply with Eurobench (EB) Documentation (this step can be performed manually or automated with the help of bash scripts).
Following are the files and corresponding preprocessing required for EB ready:
-
balance_EB_runWise/S1R1.txt
: Received from the EB force plate- Convert to csv format-> renaming to
subject_X_cond_Y_run_Z_balance.csv
- Insert header at the top of the file:
timestamp,left_force_x,left_force_y,left_force_z,left_torque_x,left_torque_y,left_torque_z,right_force_x,right_force_y,right_force_z right_torque_x,right_torque_y,right_torque_z
- Copy the preprocessed file to EB input folder.
- Convert to csv format-> renaming to
-
borgScale10_TestEd_testSessionWise/questionnaire_borgScale10.csv
: Received from the TestEd application- rename to
subject_X_cond_Y_run_Z_questionnaire_borgScale10.csv
- Copy the preprocessed file to EB input folder.
- rename to
-
chrono_TestEd_runWise/rawData_testID_RunNumber_Date_StartTime.csv
: Received from the TestEd application- rename to
subject_X_cond_Y_run_Z_chrono.csv
- copy the preprocessed file to EB input folder.
- rename to
-
hrMonitoring_PolarH10_runWise/date time.txt
: downloaded from the polar mobile application- Convert to the csv format
- Insert header at the top of the file:
hrv
- Rename to
subject_X_cond_Y_run_Z_hrv.csv
- Copy the preprocessed file to EB input folder.
-
questionnaire_TestEd_testSessionWise/questionnaireX_narrow_run.csv
: Received from the TestEd application- Rename to
subject_X_cond_Y_run_Z_questionnaire_ABC.csv
- Copy the preprocessed file to EB input folder.
- Rename to
-
rangeofMotion_EB_runWise/jointAngle.csv/txt
: Received from the EB force plate- convert file to csv format
- rename to
subject_X_cond_Y_run_Z_jointAngle.csv
- Insert header at the top of the file:
timestamp, r_hip_z, r_hip_x, r_hip_y,r_knee_z, r_knee_x, r_knee_y, r_ankle_z, r_ankle_x, r_ankle_y, l_hip_z, l_hip_x, l_hip_y, l_knee_z, l_knee_x, l_knee_y, l_ankle_z, l_ankle_x, l_ankle_y, pelvis_z, pelvis_x, pelvis_y, r_forearm, lumbar_z, r_forearm/lumbar_x, r_forearm/lumbar_y, l_forearm/lumbar_z,l_forearm/lumbar_x,l_forearm/lumbar_y
- Copy the preprocessed file to EB input folder.
-
input/subject_X_info.yaml
- Populate or create subjectwise with
subject_weight: X
andgender: Y
.
- Populate or create subjectwise with
-
input/condition_Y.yaml
- Populate or create testbed conditions by inserting:
assistance_level, number_runs, number_subjects, force, height1, height2, load, velocity, horizontalMovement, slope
(for details see the Git hub documentation).
- Populate or create testbed conditions by inserting:
-
input/subject_X_condition_Y_choice_metabolicCost.yaml
- Populate or create this file for the subjective choice relevant to the testbed testing condition by inserting:
mainOption1, subOption1, mainOption2, subOption2, mainOption3, subOption3
(for details see the Git hub documentation)
- Populate or create this file for the subjective choice relevant to the testbed testing condition by inserting:
Supported by Eurobench - the European robotic platform for bipedal locomotion benchmarking. More information: Eurobench website
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 779963.
The opinions and arguments expressed reflect only the author‘s view and reflect in no way the European Commission‘s opinions. The European Commission is not responsible for any use that may be made of the information it contains.