Skip to content

Latest commit

 

History

History

Dysturbance_Pi

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PI DYSTURBANCE

The Performance Indicator computation for Dysturbance Testbench is implemented in MATLAB. Further modifications are still needed to be used within the Eurobench Benchmarking Software.

Purposes

Characterize the balancing performances of robotic subjects under external disturbances. Technical details on the folder structure are provided in src/README.md

Usage

There are two distinct scripts for the PI computation of the DYSTURBANCE testbed:

  1. run_local_pi computes the PI for a specific run on a series of experiments on a given subject.

    Args (all required):

    1. an input .csv file containing the experiment data;
    2. an input .yaml file containing the experiment info (testbed, conditions, etc...)
    3. an input .yaml file containing the subject info
    4. an output directory where the results is stored
  2. run_global_pi computes the PI for a given protocol on the whole series of experiments on a given subject.

    Args (all required):

    1. an input directory containing all the data of the tested subject
    2. an integer which identifies the protocol to be evaluated (1-5)
    3. an output directory where the results is stored

Assuming folder ./tests/data/input contains all the raw input data, and that ./tests/data/output exists and will contain the resulting files, the shell command examples are:

  1. ./run_local_pi ./tests/data/input/subject_1/protocol_1/subject_1_cond_1008203500/raw_data_input/subject_1_cond_1008203500_run_0_platformData.csv ./tests/data/input/subject_1/protocol_1/subject_1_cond_1008203500/raw_data_input/subject_1_cond_1008203500_testbed.yaml ./tests/data/input/subject_1/subject_1_info.yaml ./tests/data/output/subject_1/protocol_1
  2. ./run_global_pi ./tests/data/input/subject_1 1 ./tests/data/output

It is not possible to provide a number of arguments as inputs different from the specified one.

The code will automatically open and run MATLAB, providing a set of plots and .csv file containing the results of the PI computation.

docker usage

Warning: This is only valid from Linux machines. Tested with Matlab R2021a.

A Docker image can be generated by launch the script docker_gen from the Matlab GUI, or directly from the command line:

matlab -batch docker_gen

An image is also deployed onto DockerHub:

docker pull eurobenchtest/pi_dysturbance

Then the image can be used as follows (for subject1, protocol5, assuming folder out has been previously created, and being at the root of the repository to access to reference data):

# from subject 1, protocol 1
docker run --rm -v $PWD/Dysturbance_Pi/tests/data/input/subject_1:/in -v $PWD/out:/out pi_dysturbance /in/protocol_1/subject_1_cond_1008203500/raw_data_input/subject_1_cond_1008203500_run_0_platformData.csv /in/protocol_1/subject_1_cond_1008203500/raw_data_input/subject_1_cond_1008203500_testbed.yaml /in/subject_1_info.yaml /out

# from subject 1, protocol 2
docker run --rm -v $PWD/Dysturbance_Pi/tests/data/input/subject_1:/in -v $PWD/out:/out pi_dysturbance /in/protocol_2/subject_1_cond_2101000000/raw_data_input/subject_1_cond_2101000000_run_49_platformData.csv /in/protocol_2/subject_1_cond_2101000000/raw_data_input/subject_1_cond_2101000000_testbed.yaml /in/subject_1_info.yaml /out

# from subject 1, protocol 3
docker run --rm -v $PWD/Dysturbance_Pi/tests/data/input/subject_1:/in -v $PWD/out:/out pi_dysturbance /in/protocol_3/subject_1_cond_3021000000/raw_data_input/subject_1_cond_3021000000_run_0_platformData.csv /in/protocol_3/subject_1_cond_3021000000/raw_data_input/subject_1_cond_3021000000_testbed.yaml /in/subject_1_info.yaml /out

# from subject 1, protocol 4
docker run --rm -v $PWD/Dysturbance_Pi/tests/data/input/subject_1:/in -v $PWD/out:/out pi_dysturbance /in/protocol_4/subject_1_cond_4000000000/raw_data_input/subject_1_cond_4000000000_run_0_platformData.csv /in/protocol_4/subject_1_cond_4000000000/raw_data_input/subject_1_cond_4000000000_testbed.yaml /in/subject_1_info.yaml /out

# from subject 1, protocol 5
docker run --rm -v $PWD/Dysturbance_Pi/tests/data/input/subject_1:/in -v $PWD/out:/out pi_dysturbance /in/protocol_5/subject_1_cond_5000000000/raw_data_input/subject_1_cond_5000000000_run_0_platformData.csv /in/protocol_5/subject_1_cond_5000000000/raw_data_input/subject_1_cond_5000000000_testbed.yaml /in/subject_1_info.yaml /out

Acknowledgements

rosin_logo

Supported by Eurobench - the European robotic platform for bipedal locomotion benchmarking. More information: Eurobench website

eu_flag

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.