paper_bergonti_2022_tro_kinematics-control-morphingcovers

Supplementary Material "Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots" published in IEEE Transactions on Robotics 2022

https://github.com/ami-iit/paper_bergonti_2022_tro_kinematics-control-morphingcovers

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, ieee.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

control genetic-algorithm matlab optimization parallel-robot robotics
Last synced: 4 months ago · JSON representation ·

Repository

Supplementary Material "Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots" published in IEEE Transactions on Robotics 2022

Basic Info
  • Host: GitHub
  • Owner: ami-iit
  • License: bsd-3-clause
  • Language: MATLAB
  • Default Branch: main
  • Homepage:
  • Size: 6.15 MB
Statistics
  • Stars: 14
  • Watchers: 7
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
control genetic-algorithm matlab optimization parallel-robot robotics
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots

_F. Bergonti, G. Nava, L. Fiorio, G. L'Erario, D. Pucci "Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots" in IEEE Transactions on Robotics, vol. 38, no. 5, pp. 3300-3313, October 2022, doi: 10.1109/TRO.2022.3170281_

https://user-images.githubusercontent.com/38210073/169066254-753c29e0-2e25-4599-a52d-9dca5fe05105.mp4

IEEE Transactions on Robotics
Installation | Paper | arXiv | Video

Abstract

This article takes a step to provide humanoid robots with adaptive morphology abilities. We present a systematic approach for enabling robotic covers to morph their shape, with an overall size fitting the anthropometric dimensions of a humanoid robot. More precisely, we present a cover concept consisting of two main components: a skeleton, which is a repetition of a basic element called node, and a soft membrane, which encloses the cover and deforms with its motion. This article focuses on the cover skeleton and addresses the challenging problems of node design, system modeling, motor positioning, and control design of the morphing system. The cover modeling focuses on kinematics, and a systematic approach for defining the system kinematic constraints is presented. Then, we apply genetic algorithms to find the motor locations so that the morphing cover is fully actuated. Finally, we present control algorithms that allow the cover to morph into a time-varying shape. The entire approach is validated by performing kinematic simulations with four different covers of square dimensions and having 3x3, 4x8, 8x8, and 20x20 nodes, respectively. For each cover, we apply the genetic algorithms to choose the motor locations and perform simulations for tracking a desired shape. The simulation results show that the presented approach ensures the covers to track a desired shape with good tracking performances.

MATLAB

The code in this repo requires MATLAB and the MATLAB's Curve Fitting Toolbox, make sure that you have them installed on your machine.

To quickly install those dependencies with mpm, you can run:

~~~ mpm install --release=R2024b --products=MATLAB CurveFittingToolbox ~~~

Installation

To install the software in this repo, follow the instructions in either the "Traditional Installation" or the "Pixi installation" section.

Traditional Installation

  1. Clone the repository and mystica: bash git clone https://github.com/ami-iit/paper_bergonti_2022_tro_kinematics-control-morphingcovers.git git clone https://github.com/ami-iit/mystica.git --branch v2022.06.0 mystica is a matlab library to simulate the kinematics and dynamics of multibody systems.

  2. Run in matlab the function install() stored in mystica: matlab install() The function install() downloads mambaforge. mambaforge is a package manager that downloads and configures our dependencies in conda enviroment called mystica.

Pixi Installation

If you already have pixi installed in your machine, just run pixi run matlab from inside the repo:

~~~bash cd paperbergonti2022trokinematics-control-morphingcovers pixi run matlab ~~~

This will install all required dependencies, and launch matlab with the dependencies added in the path.

To launch one of experiments of the paper, you can also just run:

~~~bash cd paperbergonti2022trokinematics-control-morphingcovers pixi run sim1 ~~~

where in place of sim1 you can also run sim2, sim3 or sim4 depending on the experiment you want to run.

Usage

This repository stores: - the algorithm for evaluating an optimal motor positioning for structures with closed kinematic loops (see Sec.IV of the paper); - the instantaneous controller that evaluates motors speed to make the cover skeleton moves toward the desired shape (see Sec.V of the paper); - the scripts for reproducing the simulations described in Sec.VI of the paper.

Reproducing simulations results

  1. If you have completed the installation procedure successfully, a file setup.m is generated in mystica\deps. You have to open Matlab and run the script setup.m to configure MATLABPATH.

  2. Run one of the four scripts stored in this folder. For example, to reproduce the result of the first scenario you have to run: matlab cd paper_bergonti_2022_tro_kinematics-control-morphingcovers cd scripts run('sim1')

If you open the script, you can modify the config.simulation_with_noise parameter deciding whether to apply noise. Instead, the parameter config.run_only_controller allows you to choose if you want to run only the controller without evaluating a new motor placement.

| # | mesh | script | pixi command | $t{run}$* | result | | - | - | - | - | - | - | | 1 | 3x3 | sim1.m | pixi run sim1 | 30s | <img src="https://github.com/ami-iit/paperbergonti2022trokinematics-control-morphingcovers/blob/main/images/sim1.png" width="600"> | | 2 | 8x8 | sim2.m | pixi run sim2 | 5min | <img src="https://github.com/ami-iit/paperbergonti2022trokinematics-control-morphingcovers/blob/main/images/sim2.png" width="600"> | | 3 | 20x20 | sim3.m | pixi run sim3 | 2h | <img src="https://github.com/ami-iit/paperbergonti2022trokinematics-control-morphingcovers/blob/main/images/sim3.png" width="600"> | | 4 | 4x8 | sim4.m | pixi run sim4 | 3min | <img src="https://github.com/ami-iit/paperbergonti2022tro_kinematics-control-morphingcovers/blob/main/images/sim4.png" width="600"> |

* $t_{run}$ is the script running time evaluated with a PC with Intel Xeon Gold 6128 3.40GHz and RAM 128GB.

Citing this work

If you find the work useful, please consider citing:

bibtex @ARTICLE{9793615, author={Bergonti, Fabio and Nava, Gabriele and Fiorio, Luca and L’Erario, Giuseppe and Pucci, Daniele}, journal={IEEE Transactions on Robotics}, title={Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots}, year={2022}, volume={38}, number={5}, pages={3300-3313}, doi={10.1109/TRO.2022.3170281}}

Maintainer

This repository is maintained by:

| | | |:---:|:---:| | | @FabioBergonti |

Size CI

Owner

  • Name: Artificial and Mechanical Intelligence
  • Login: ami-iit
  • Kind: organization
  • Location: Italy

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this material, please cite it as below."
url: "https://github.com/ami-iit/paper_bergonti_2022_tro_kinematics-control-morphingcovers"
preferred-citation:
  type: article
  authors:
  - family-names: "Bergonti"
    given-names: "Fabio"
    orcid: "https://orcid.org/0000-0003-3455-8056"
  - family-names: "Nava"
    given-names: "Gabriele"
    orcid: "https://orcid.org/0000-0001-8965-2934"
  - family-names: "Fiorio"
    given-names: "Luca"
    orcid: "https://orcid.org/0000-0001-8965-2934"
  - family-names: "L'Erario"
    given-names: "Giuseppe"
    orcid: "https://orcid.org/0000-0001-6042-3222"
  - family-names: "Pucci"
    given-names: "Daniele"
    orcid: "https://orcid.org/0000-0002-7600-3203"    
  doi: "10.1109/TRO.2022.3170281"
  journal: "IEEE Transactions on Robotics"
  month: 10
  start: 3300 # First page number
  end: 3313 # Last page number
  title: "Modeling and Control of Morphing Covers for the Adaptive Morphology of Humanoid Robots"
  issue: 5
  volume: 38
  year: 2022

GitHub Events

Total
  • Watch event: 4
  • Delete event: 3
  • Push event: 2
  • Pull request review event: 3
  • Pull request event: 6
  • Create event: 3
Last Year
  • Watch event: 4
  • Delete event: 3
  • Push event: 2
  • Pull request review event: 3
  • Pull request event: 6
  • Create event: 3

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 20
  • Total Committers: 3
  • Avg Commits per committer: 6.667
  • Development Distribution Score (DDS): 0.2
Past Year
  • Commits: 4
  • Committers: 2
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.25
Top Committers
Name Email Commits
Fabio Bergonti 3****i 16
Silvio Traversaro s****o@t****t 3
Daniele Pucci d****5@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 11
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: 13 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.36
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • FabioBergonti (1)
Pull Request Authors
  • FabioBergonti (8)
  • traversaro (6)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/matlab_ci.yml actions
  • actions/checkout v2 composite
  • matlab-actions/run-command v1 composite
  • matlab-actions/setup-matlab v1 composite