Synthesis of mass-spring networks from high-level code descriptions
Parisa Omidvar, Marc Serra-Garcia
TL;DR
This paper addresses the challenge of designing nonlinear elastic systems that perform specified tasks by encoding behavior in a Mechanical Description Language (MDL) and automatically compiling it into a mass-spring network with embodied intelligence. The authors introduce a three-stage mechanical compiler that translates MDL into a digital gate/netlist, maps it to a network of bistable masses with variable-stiffness couplings, and then lays out the physical device under geometric constraints. They demonstrate two functional designs—a maze-navigating robot and a numerical combination lock—generated from MDL and validated via numerical simulations, with the added capability of translating natural-language descriptions into MDL code using Large Language Models. The approach enables on-demand, programmable intelligent devices and offers extensibility to new sensors, actuators, and three-dimensional geometries, highlighting a pathway toward practical mechanical computation.
Abstract
Structural nonlinearity can be harnessed to program complex functionalities in robotic devices. However, it remains a challenge to design nonlinear systems that will accomplish a specific, desired task. The responses that we typically describe as intelligent -- such a robot navigating a maze -- require a large number of degrees of freedom and cannot be captured by traditional optimization objective functions. In this work, we explore a code-based synthesis approach to design mass-spring systems with embodied intelligence. The approach starts from a source code, written in a \emph{mechanical description language}, that details the system boundary, sensor and actuator locations, and desired behavior. A synthesizer software then automatically generates a mass-spring network that performs the described function from the source code description. We exemplify this methodology by designing mass-spring systems realizing a maze-navigating robot and a programmable lock. Remarkably, mechanical description languages can be combined with large-language models, to translate a natural-language description of a task into a functional device.
