Skip to content

Source codes for the paper "Task2Morph: Differentiable Task-inspired Framework for Contact-Aware Robot Design" (IROS2023)

License

Notifications You must be signed in to change notification settings

Caiyishuai/Task2Morph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task2Morph (IROS2023)

This repository contains the implementation for the paper Task2Morph: Differentiable Task-inspired Framework for Robot Design (2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)).

Paper: https://arxiv.org/abs/2403.19093

In this paper, we propose a novel and general differentiable task-inspired framework for robot design called Task2Morph. We abstract task features highly related to task performance and use them to build a task-to-morphology mapping. Further, we embed the mapping into a differentiable robot design process, where the gradient information is leveraged for both the mapping learning and the whole optimization.

image-20220923213530143

Our paper cites DiffHand https://github.com/eanswer/DiffHand.git

@INPROCEEDINGS{Xu-RSS-21, 
    AUTHOR    = {Jie Xu AND Tao Chen AND Lara Zlokapa AND Michael Foshey AND Wojciech Matusik AND Shinjiro Sueda AND Pulkit Agrawal}, 
    TITLE     = {{An End-to-End Differentiable Framework for Contact-Aware Robot Design}}, 
    BOOKTITLE = {Proceedings of Robotics: Science and Systems}, 
    YEAR      = {2021}, 
    ADDRESS   = {Virtual}, 
    MONTH     = {July}, 
    DOI       = {10.15607/RSS.2021.XVII.008} 
} 

Installation

We provides two methods for installation of the code. Install on local machine and Install by Docker.

Option 1: Install on Local Machine

Operating System: tested on Ubuntu 16.04 and Ubuntu 18.04

  1. Clone the project from github: git clone https://github.com/Caiyishuai/Task2Morph.git --recursive .

  2. Install CMake >= 3.1.0: official instruction for cmake installation

  3. build conda environment and install simulation

    cd Task2Morph
    conda env create -f environment.yml
    conda activate task2morph
    cd core
    python setup.py install
    
  4. Test the installation

    cd examples
    python test_redmax.py
    

    If you see a simulation rendering with a two-link pendulum as below, you have successfully installed the code base.

    test_redmax

Option 2: Install by Docker

We provide a docker installation in the docker folder. Follow the readme instruction in docker folder to complete the installation.

Run the Code

Run the examples in the paper

We include the three co-design scenario inspired by DiffHand from the paper in the tak2mroph folder.

  • Finger Reach
  • Flip Box
  • Rotate Plank

To run our method , you can enter the corresponding folder and run demo.sh under the folder. For example, to run Finger Reach

cd tak2mroph/01_finger_reach
bash demo.sh

or

cd task2morph/01_finger_reach
python 03_reach_Task2Morph.py

If you want to run the DiffHand method

cd task2morph/01_finger_reach
python 02_reach_DiffHand.py

If you want to train a task-to-morphology mapping

cd task2morph/01_finger_reach
python 01_reach_train_model.py

Paper and Citation

If you find our work useful, please consider citing us!

@inproceedings{cai2023task2morph,
  title={Task2Morph: Differentiable Task-Inspired Framework for Contact-Aware Robot Design},
  author={Cai, Yishuai and Yang, Shaowu and Li, Minglong and Chen, Xinglin and Mao, Yunxin and Yi, Xiaodong and Yang, Wenjing},
  booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={452--459},
  year={2023},
  organization={IEEE}
}

About

Source codes for the paper "Task2Morph: Differentiable Task-inspired Framework for Contact-Aware Robot Design" (IROS2023)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published