Supplementary codes and datasets for "Wang tiles enable combinatorial design and robot-assisted manufacturing of modular mechanical metamaterials"
<p>This repository provides data and codes for manuscript “Wang tiles enable combinatorial design and robot-assisted manufacturing of modular mechanical metamaterials” by M. Doškář, M. Somr, R. Hlůžek, J. Havelka, J. Novák, and J. Zeman, published first as a preprint <a href="https://arxiv.org/abs/2305.09280">arXiv:2305.09280</a> at arXiv.org; see the actual description of the Zenodo entry for the latest reference.</p> <p>This repository contains:</p> <ol> <li>MATLAB and C++ source codes for combinatorial design and numerical analyses (folder <code>./numerics/</code>),</li> <li>experimental data (folder <code>./experiments/</code>),</li> <li>3D models of parts used in robotic-assembly (folder <code>./models/</code>),</li> <li>a control script for robotic assembly (folder <code>./robotics/</code>).</li> </ol> <p><strong>Numerics</strong></p> <p>All simulations were performed with an in-house MATLAB code, which extends the finite element toolbox for finite strain calculations accompanying the work of <a href="https://doi.org/10.1016/j.cma.2020.113333">van Bree, S. E. H. M., Rokoš, O., Peerlings, R. H. J., Doškář, M., & Geers, M. G. D. (2020). A Newton solver for micromorphic computational homogenization enabling multiscale buckling analysis of pattern-transforming metamaterials. Computer Methods in Applied Mechanics and Engineering, 372, 113333</a>. In particular, this snapshot corresponds to a cleaned-up version (excluding files unrelated to the publications) of commit <code>21cfc2e9</code>.</p> <p>The MATLAB codebase contains MEX files written in C++ to accelerate selected procedures. In order to run any code, these MEX files must be compiled first. We use CMake build automation, with the main <code>CMakeLists.txt</code> located in <code>./numerics/mex</code>.</p> <p>Combinatorial search was performed by the <code>RUN_modular_exploration.m</code> script; see definition of problems with the script. The results of the enumerations, stored in <code>./dat/exploration</code>, were analysed with <code>POST_modular_S_v3.m</code>, identifying layouts leading to the extreme (min/max) tilt angles.</p> <p>Comparison against experimental measurements was facilitated by a series of scripts <code>POST_DIC_{...}.m</code>. First, run <code>POST_DIC_step1_extract_points_in_mesh.m</code> to identify locations.mat. Next, post-process extensometer data with <code>POST_DIC_step2_merge_extensometer_data.m</code>, and use <code>POST_DIC_step3_impose_extracted_BC.m</code> to parse DIC results in a format suitable for imposing BC later in this script. Finally, comparison between experimental and computed displacements is provided by <code>POST_DIC_step4_modular_comparison_experiments.m</code>. (Note that the particular files need to be manually provided in the “Compute deformation process” part of <code>POST_DIC_step4_modular_comparison_experiments.m</code>.)</p> <p><strong>Experimental data</strong></p> <p>This folder contains data from (i) an unixaial tension test of a dogbone specimen (both from a MTS loading machine and DIC data) and (ii) two measurement sessions extracting the L-shape domain responses using DIC (<code>20_11_30 - Hluzek_Elka_newassemblyplan</code> and <code>21_04_12 - Hluzek_ Elka_quarters</code> with lower loading threshold). For post-processing, see the above-mentioned <code>POST_DIC_{...}.m</code> scripts. <code>*.mat</code> files present directly in <code>./experiments/</code> folder were obtained and are need by those scripts.</p> <p><strong>3D models</strong></p> <p>The folder contains geometrical models for individual parts needed for robot-assisted assembly of module molds for casting. This includes:</p> <ol> <li>a silo extension to store more tiles (file <code>silo_extension.stl</code>),</li> <li>formwork modules around the main structure for the purpose of casting silicone (file <code>tile_formwork.stl</code>),</li> <li>all types of tiles for the inside structure (file <code>tile_inside_types.stl</code>),</li> <li>a spacer shaped for YuMi base to ensure correct distance of the silo and build plate (file <code>yumi_base_1.stl</code>),</li> <li>a spacer shaped for YuMi base to ensure correct distance of the silo and build plate (file <code>yumi_base_2.stl</code>),</li> <li>a spacer shaped for YuMi base to ensure correct distance of the silo and build plate (file <code>yumi_base_3.stl</code>),</li> <li>connection for spacers (file <code>yumi_base_4.stl</code>),</li> <li>spacer holding a silo and the build plate (file <code>yumi_base_5.stl</code>),</li> <li>YuMi grippers with extensions to hold the tiles (file <code>grippers_extend.st</code>).</li> </ol> <p><strong>Robotics</strong></p> <p>The folder contains a single file with a script created in RobotStudio (RobotWare Version: 6.08.01.00, SmartGripper Version: 3.55.0000.00) to assemble the plan with YuMi IRB 14000-0.5/0.5 left hand.</p> <p><strong>Acknowledgement</strong></p> <p>The related research, experiments, and code development were supported by the <a href="https://gacr.cz/en/">Czech Science Foundation</a>, project No. 19-26143X.</p>
ShareScore
44/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 8
- Harmonization
- 4
- Access
- 16
- Reuse readiness
- 8
- Engagement
- 8