We print tensegrity-inspired structures on a dual-nozzle 3D printer (rigid PLA struts and flexible TPU tendons, printed together as one piece), drop-test them on an instrumented drop tower, and use Bayesian optimization to choose the next batch of designs. The goal is lightweight structures that absorb impact energy well. The project is mentored undergraduate research in Mechanical Engineering at Brigham Young University (BYU).
This repository is the companion to Marcus Madsen's talk at ASME IDETC-CIE 2026, "Closed-Loop Bayesian Optimization of Multi-Material 3D-Printed Tensegrity-Inspired Energy Absorbers" (track DAC-10: Design of Engineering Materials and Structures).
If you arrived from the talk's QR code: most of the current work sits on open pull requests, not on this main branch, so this page points to where things actually live. File links go to the latest version on the file's branch, and each has a pinned permalink beside it in case that branch later changes or goes away.
- Extended abstract (2 pages): idetc-abstract.pdf (permalink). The IDETC-CIE 2026 submission the talk is based on.
- Journal manuscript draft: manuscript.pdf (permalink), with supplementary material (permalink). "Experiment-Driven Bayesian Optimization of the Impact Response of Multi-Material 3D-Printed Tensegrity-Inspired Structures", aimed at the ASME Journal of Mechanical Design. Methods and background are drafted; results are placeholders until the experimental campaign finishes. The draft evolves on PR #76 (tracked in issue #75) and has been through five rounds of mock peer review.
- The talk itself: slides, figures, and video clips are assembled on PR #84 (tracked in issue #83). An early snapshot of the deck is in the repo: IDETC Tensegrity Slides Draft 1.pptx (permalink).
- Original proposal: proposal.pdf (permalink). The BYU Mentored Research Grant proposal this project grew out of.
One of the printed test articles, a T3 prism (three rigid struts suspended in a tendon network), on the drop tower. Frame from our drop-test footage; more clips are on PR #84.
- Issue #99: status review across the whole project.
- Issue #85: defining the search space for the T3 optimization campaign.
- Issue #98 and PR #102: the first Sobol print batch (T-3_01), with the ID-to-design key and as-printed files.
- Issue #101: tally of every drop recorded so far.
- PR #35: parametric T3 prism CAD with sliced, print-ready multi-material files for the Bambu Lab H2D.
- PR #39: joint designs that anchor a TPU tendon inside a PLA strut, with validation prints.
- PR #66: support strategies that keep printed TPU tendons clean.
- PR #86: drop-test protocol and analysis of the first recorded drops.
- PR #28: the Lansmont M23 drop tower and Polytec laser vibrometer we test on.
- PR #97 and PR #100, from issue #94: primers on drop-tower energy-absorption metrics and what we can actually measure.
- PR #74, from issue #71: checking the drop-tower accelerometers against each other.
- PR #30: Bayesian-optimization campaign scaffold built with honegumi and Ax.
- PR #33: tensegrity drop simulations (MuJoCo, PyBullet, PyChrono, and others) wired into a Bayesian-optimization loop.
- PR #24: choosing the design variables for the PLA + TPU structures.
- PR #22: reference models of canonical tensegrity structures, plus literature surveys.
- PR #58: close read of Davami et al. 2025 on the dynamic response of additively manufactured tensegrity.
- Issue #87: options for activating pre-tension in printed structures.
- literature/: collected papers. LaTeX sources for the abstract and proposal are at the repository root.
- PR #14: NASA Space Grant fellowship proposal.
- Issue #78 and PR #73: abstract for TMS 2027.
- PR #43: survey of funding venues for a larger follow-on project.
These lists are curated; the full set of threads is in the issues and pull requests tabs.
Jeffrey R. Hill (PI) and Sterling G. Baird (co-PI), Department of Mechanical Engineering, Brigham Young University, with undergraduate researchers including Marcus Madsen.
Much of the exploratory work in the pull requests above was drafted by AI coding agents (GitHub Copilot and Claude Code) steered through the issue threads here; issue #103 estimates what that usage would have cost.

