Benchmarking System for Assessment of Balance Performance (BeStaBle) is a funded project of the Eurobench cover project.
Copyright BeStable 2020
This is an example of Performance Indicator implemented in Octave. It is prepared to be used within the Eurobench Benchmarking Software.
Characterize the gait performances (performance indicators - PI) of a walking human subject (step length, step width, step time and target error).
Before starting the measurement, the operator inputs subject information and selects perturbation parameters (protocol condition) in D-Flow testbed software (Runtime Console).
The software checks if perturbation parameters (stored in subject_X_condition_Y.yaml
) are the same as in previous run (if previous run exists). If yes, the system increase run number (Z=Z+1), while the condition number (Y=Y) remains the same. If not, the system increase condition number (Y=Y+1) and starts with new run (Z=1).
Note that only previous condition file is checked with the current protocol.
Here is flowchart diagram of the data collection and file naming.
The BeStable testbed outputs the following files:
- subject_X_info.yaml
- subject_X_condition_Y.yaml
- subject_X_cond_Y_run_Z_platformData.csv
- subject_X_cond_Y_run_Z_gaitEvents.csv (not used for PI computation)
Files 1-3 need to be uploaded for the performance indicators calculation process, where the following files are generated:
- base_step_length_{left, right}.yaml
- base_step_width_{left, right}.yaml
- base_step_time_{left, right}.yaml
- free_step_length_{left, right}.yaml
- free_step_width_{left, right}.yaml
- free_step_time_{left, right}.yaml
- pert_{left, right}_{fw, fwiw, fwow, iw, ow}_step_length.yaml
- pert_{left, right}_{fw, fwiw, fwow, iw, ow}_step_width.yaml
- pert_{left, right}_{fw, fwiw, fwow, iw, ow}_step_time.yaml
- pert_{left, right}_{fw, fwiw, fwow, iw, ow}_target_error.yaml
- pert_{left, right}_{fw, fwiw, fwow, iw, ow}_success_rate.yaml
- data (Octave file containing all data)
- plot_results.pdf (plotted results with boxplots)
Performance indicators collected in files 1-3 relate to nonperturbed baseline walking (before enabling perturbations). Performance indicators collected in files 4-6 relate to nonperturbed walking inbetween perturbations (free walking). Performance indicators collected in files 7-11 relate to perturbed walking, 4 steps from perturbation onset. More details are provided in README
To run the application the following dependencies are needed:
sudo apt install fig2dev
pkg load statistics
Assuming we are in an Octave terminal, located at the root of this repository, the computation can be launched as follows:
# add source location to the octave path
addpath('src')
# we assume that a folder test_output has been previously created
computePI('test_data/input/subject_19_cond_2_run_1_platformData.csv', 'test_data/input/subject_19_condition_2.yaml', 'test_data/input/subject_19_info.yaml','test_output')
All Performance indicator files will be placed in the indicated folder test_output
.
The script run_pi
launches this PI from the shell of a machine with Octave installed.
The permissions of this file must be changed in order to be executable:
chmod 755 run_pi
Assuming folder ./test_data/input/
contains the input data, and that ./test_output
exists and will contain the resulting files, the shell command is:
./run_pi ./test_data/input/subject_19_cond_2_run_1_platformData.csv ./test_data/input/subject_19_condition_2.yaml ./test_data/input/subject_19_info.yaml ./out_tests
(only tested under linux)
Run the following command in order to create the docker image for this PI:
docker build . -t pi_bestable
Assuming the test_data/input
contains the input data, and that the directory out_tests/
is already created, and will contain the PI output:
docker run --rm -v $PWD/test_data/input:/in -v $PWD/out_tests:/out pi_bestable ./run_pi /in/subject_19_cond_2_run_1_platformData.csv /in/subject_19_condition_2.yaml /in/subject_19_info.yaml /out
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.