/automatic-design-on-demand

A library to generate robot compositions from modules and simulate them using the Drake simulation toolbox

Primary LanguagePythonMIT LicenseMIT

automatic-design-on-demand

The automatic-design-on-demand is a Python based library to generate robot compositions using a prescribed set of modules. This library is developed and maintained by the Robot Systems Group, Laboratory for Product Development and Lightweight Design, TU Munich. It allows users to test their search algorithms or create interesting robot architectures by combining 3D-printable modules. The generated robot compositions can be simulated using the Drake robotics toolbox.

Github license python Github release Github issues

Image of some of the modules Image of some of the modules
Image of a robot composition build with a given set of modules

Physically realised prototype

LCL_v126_movement.mp4

Platform

Tested with Python 3.8 on:

  • Ubuntu 20.04 LTS and Ubuntu 22.04 LTS

Installation

  • Download the released version or clone the repository
  • Dependencies can be installed using the requirements.txt file or create a new conda environment using the environment.yml file

Examples

An example demonstrating the usage and problem setup to find a robot composition to reach two given positions is available as stowingProblem.

Help

Use the docs folder present within the repo or raise an issue for help.

Citation

You can see how to use this library for the automatic design of low-cost lightweight modular robots here

If you use this library or find the documentation useful for your research, consider citing the work as:

@Article{robotics12040091,
AUTHOR = {Sathuluri, Akhil and Sureshbabu, Anand Vazhapilli and Frank, Jintin and Amm, Maximilian and Zimmermann, Markus},
TITLE = {Computational Systems Design of Low-Cost Lightweight Robots},
JOURNAL = {Robotics},
VOLUME = {12},
YEAR = {2023},
NUMBER = {4},
ARTICLE-NUMBER = {91},
URL = {https://www.mdpi.com/2218-6581/12/4/91},
ISSN = {2218-6581},
DOI = {10.3390/robotics12040091}
}