This repository inclued the MATLAB functions and analysis for the journal paper "Topology and Morphology Design of Spherically Reconfigurable Homogeneous Modular Soft Robots," as published in Soft Robotics. This paper can be cited as follows:
C. Freeman, M. Maynard, and V. Vikas, “Topology and Morphology Design of Spherically Reconfigurable Homogeneous Modular Soft Robots,” Soft Robotics, vol. 10, Jul. 2022, doi: 10.1089/soro.2021.0125.
The arXiv version can be accessed here.
The accompanying YouTube video describing this process can be found here.
The related repository that details the fabrication and mechatronics of the robot can be accessed here.
The objective of this repository is to use numerical optimization to deisgn soft modular reconfigurable robots (MSoRos) that are capable of both individual locomotion and reconfiguration of multiple robot modules into a sphere for future rolling locomotion. Due to the nature of transformations between planar and spherical topology, it is impossible to achieve this reconfiguration without distortion. The main script (Design_Optimization.m) finds the optimal robot design (given a sinusoidal limb shape) to minimize this distortion, facilitating spherical reconfiguration. This optimization process is performed for five different robot module types, based on the Platonic solids.
For example, an inidvidual MSoRo, as shown below, is designed based on the hexahedron (cube).
This MSoRo can then be combined with 5 other modules to form a sphere.
This repository includes a main script (Design_Optimization.m) and it's accompanying functions and data. The script requires the following files:
- InverseOrtho.m: applies the inverse orthographic projection to the input base sketch, thereby creating a spherical sketch in (lat,long) cooridnates
- EqAzimuthal.m: applies the equidistant azimuthal projection to the spherical sketch, thereby creating the planar module sketch
- CompleteSketch.m: appropriately rotates a single limb sketch to create a full module sketch
- distort_plot.mat: data file containing:
- A_sweep (1x101 vector of ampltidue values 0:0.01:1)
- D_inter (5x101 matrix of intramodular distortion values): row value: Platonic solids ordered by # faces, column value: corresponds to amplitude index
and consists of four major sections:
- Intermodular Distortion v. Amplitude
- Locomotion Cost v. Amplitude
- Final Optimization Problem
- Plots of Optimal Amplitude Sketches
The outputs are
- Optimal amplitudes
- Intermodular distortion v. amplitude plot
- Locomotion cost v. amplitude plot
- Objective function v. amplitude plots
- Optimal amplitude module sketch plots
The sequential design process can be summarized as follows:
The locomotion cost is based on the inverse of the maximum "arm" length, which is shown in the picture below for reference: