| Literature DB >> 36105761 |
Anthony Remazeilles1, Alfonso Dominguez1, Pierre Barralon1, Adriana Torres-Pardo2, David Pinto2,3, Felix Aller4, Katja Mombaur5, Roberto Conti6, Lorenzo Saccares6, Freygardur Thorsteinsson7, Erik Prinsen8, Alberto Cantón9, Javier Castilla9, Clara B Sanz-Morère9, Jesús Tornero9, Diego Torricelli2.
Abstract
This study describes the software methodology designed for systematic benchmarking of bipedal systems through the computation of performance indicators from data collected during an experimentation stage. Under the umbrella of the European project Eurobench, we collected approximately 30 protocols with related testbeds and scoring algorithms, aiming at characterizing the performances of humanoids, exoskeletons, and/or prosthesis under different conditions. The main challenge addressed in this study concerns the standardization of the scoring process to permit a systematic benchmark of the experiments. The complexity of this process is mainly due to the lack of consistency in how to store and organize experimental data, how to define the input and output of benchmarking algorithms, and how to implement these algorithms. We propose a simple but efficient methodology for preparing scoring algorithms, to ensure reproducibility and replicability of results. This methodology mainly constrains the interface of the software and enables the engineer to develop his/her metric in his/her favorite language. Continuous integration and deployment tools are then used to verify the replicability of the software and to generate an executable instance independent of the language through dockerization. This article presents this methodology and points at all the metrics and documentation repositories designed with this policy in Eurobench. Applying this approach to other protocols and metrics would ease the reproduction, replication, and comparison of experiments.Entities:
Keywords: algorithm; benchmarking; exoskeleton; humanoid; performance indicator; replicability; software
Year: 2022 PMID: 36105761 PMCID: PMC9465443 DOI: 10.3389/frobt.2022.951663
Source DB: PubMed Journal: Front Robot AI ISSN: 2296-9144
FIGURE 1Segmentation of the software layers involved during an experimentation process, from data collection to experiment scoring.
FIGURE 2Data collected during experimentation.
FIGURE 3Example of performance indicators (PI) output score files, obtained with the walking on slope algorithm. Scores are stored as YAML files to ease potential post-processing.
List of protocol metrics following Eurobench format.
| Name | Language | Protocol |
|---|---|---|
| Wearable-related protocols | ||
| | python | kinematics of stair walking and inclined walking |
| | octave | sit-to-stand performance analysis |
| | python | human factor study during stair walking, |
| | matlab | EMG signal study during stair walking, |
| | python | biomechanics analysis of stair walking, |
| | python | walking with a prosthesis on a slope and instrumented treadmill, |
| | octave | EMG analysis during treadmill walking |
| | octave | visually cued stepping perturbations on a treadmill |
| | octave | industrial use case in narrow space |
| | octave | walking/standing on a moving surface |
| | octave | walking on irregular terrain |
| | octave | walking with crutches |
| Humanoid-related protocols | ||
| | matlab | stability analysis under external perturbation |
| | python | humanoid platform walking characterization, |
| | octave | standing on a moving surface, |
| | python | opening/closing doors, |
| | python | walking with a trolley or walker, |
| Illustrative algorithm templates | ||
| | octave | example of octave metric |
| | python | example of python metric |
| | C++ | example of C++ metric |
FIGURE 4PI computation based on dockerized algorithms. Algorithms are deployed into Docker images, providing a generic interface to the algorithm independent of the programming language. The Docker container expects preprocessed datafiles of a single run as input and generates a set of PI scores in YAML files. If several runs or conditions are available, the Docker image is relaunched successively for each iteration, providing scores for each run.