DOI: 10.5061/dryad.kh18932h6
title: Data from: A hyperelastic torque-reversal mechanism for soft joints with compression-responsive transient bistability

description: Snap-through, a rapid transition of a system from an equilibrium state to
 a non-adjacent equilibrium state, is a valuable design element of soft
 devices for converting a monolithic stimulus into systematic responses
 with impulsive motions. A common way to benefit from snap-through is to
 embody it within structures and materials (e.g., bistable structures).
 Meanwhile, torque reversal mechanisms discovered in nature, which harness
 snap-through instability through muscular forces, may have comparative
 advantages. However, the current intricacy of artificial torque reversal
 mechanisms, which require sophisticated kinematics/kinetics, constrains
 design possibilities for soft joints and devices. In this paper, we
 harnessed hyperelasticity to implement a torque reversal mechanism in a
 soft joint, generating repetitive cilia-like beating motion through an
 embedded tendon. The developed hyperelastic torque reversal mechanism
 (HeTRM) exhibits transient bistability under a specific compressive
 displacement/force threshold, with snap-through occurring at the point
 where the transience ends. To validate the effectiveness of this design
 principle, we explored the functionalities of HeTRM in energy storage and
 release, dual modality for impulsive and continuous motion, mechanical
 fuse, and rapid 3D motions, through proof-of-concept soft machines. We
 expect that this design principle provides insight into incorporating
 snap-through behavior in soft machines and may aid in understanding the
 relationship between torque reversal mechanisms and bistability.
description: # A Hyperelastic Torque Reversal Mechanism for Soft Joints with
 Compression-Responsive Transient Bistability This project simulates the
 behavior of a HeTRM joint model using a hyperelastic material model. To
 characterize the hyperelastic behavior of soft joints, the mechanical
 properties of **Ecoflex 00-30 (Smooth-On, Inc.)** were fitted using the
 [Yeoh
 model]([https://doi.org/10.5254/1.3538343]\(https://doi.org/10.5254/1.3538343\)). The mechanical modeling of reaction forces and bending moments was derived using an approach similar to the **Winkler foundation model**. Detailed derivations and equations related to the methodology can be found in the Supplementary Methods section of the manuscript. The associated data files include a Python script for calculating the model and an example dataset generated from the simulation. ## Background Concepts and Terminology This section provides brief definitions of key terms used in the associated publication and throughout the dataset to support consistent interpretation of the data. ### Soft Robotics Soft robotics is a field of robotics that focuses on the design and application of robots made from compliant, deformable materials, in contrast to traditional robotics, which primarily relies on rigid-body components. The ability of soft structures to undergo continuous deformation provides a high degree of structural freedom, enabling the generation of diverse motions. In addition, the compliant nature of soft materials allows soft robotic systems to interact safely with their surrounding environment, including humans. ### Hyperelasticity Hyperelasticity describes the mechanical behavior of flexible materials whose properties change significantly under large deformations and is characterized by a nonlinear stress–strain relationship with deformation-dependent stiffness. Because such nonlinear material behavior is difficult to model analytically, various constitutive models have been proposed. In this dataset, the Yeoh model is used to represent the mechanical behavior of Ecoflex 00-30. The material constants for the model were obtained from uniaxial tensile experiments. ### Bistability and Transient Bistability A structure is considered stable when it remains in an equilibrium configuration under given conditions. Some structures can possess more than one stable equilibrium due to their geometry or material properties. When two stable equilibrium states exist, the structure is referred to as bistable. In bistable systems, transitions between stable states occur by overcoming an energy barrier separating the equilibria, resulting in a rapid transition once the barrier is exceeded. In this work, transient bistability refers to a condition in which bistable behavior appears only temporarily. The structure is monostable in the absence of external loading, while temporary bistability emerges under compressive loading induced by externally applied tension. When this loading condition is removed, the structure returns to a monostable state. ### Torque Reversal Mechanism The torque reversal mechanism is inspired by biological systems such as fleas, which store elastic energy and release it rapidly to generate high-power motion at small scales. In this mechanism, elastic energy is stored in a structure under torque applied in one direction and is subsequently released in the opposite torque direction through structural deformation or an external trigger. ## Data and File Overview ### model_snap_through.py The code, available at [https://doi.org/10.5281/zenodo.14537713](https://doi.org/10.5281/zenodo.14537713), provides a Python implementation of a simplified quasi-static analytical model of the hyperelastic torque reversal mechanism (HeTRM). The simulation evaluates the relationship between tendon displacement, joint bending angle, and stored elastic energy based on hyperelastic material behavior and joint geometry. Reaction forces are modeled using a distributed elastic foundation approach, while joint deformation is driven by geometry-dependent moment arms under applied tendon tension. The stored elastic energy is computed as the accumulated work of the effective tendon force over deformation. This model is intended to provide quantitative insight into the snap-through and torque reversal behavior reported in the associated publication. As a deterministic analytical simulation, it produces identical results for a given set of input parameters and does not aim to reproduce all experimental conditions. #### Prerequisite * Python &gt;= 3.8 #### Installation * Download the code. * (Optional) Create a virtual environment: ```bash python3 -m venv venv source venv/bin/activate ``` * Install the required Python packages: ```bash pip install numpy pandas matplotlib scipy ``` #### How to execute * Run the script with default parameters: ```bash python3 model_snap_through.py ``` * To specify custom parameters, use the following options: ```bash python3 model_snap_through.py --radius 5.0 --slope 0.3 --bias -1.5 --distance 10.0 --max_force 20.0 ``` * After execution: Results will be saved to `output.csv` in the current directory. A plot visualizing the force, energy, and bending angle with respect to tendon displacement will be displayed. #### Simulation Parameters The default parameter values used in the simulation are summarized below. | **Parameter** | **Default Value** | **Units** | **Description** | | :------------ | :---------------: | :-------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `radius` | 5.0 | mm | Radius of the joint model cross-section. | | `slope` | 0.3 | - | Joint inclination parameter, defined as `tan(α)`, where `α` is the joint inclination angle. | | `bias` | -1.5 | mm | Offset distance from the joint center to the tendon attachment point (`d_L`). A negative value indicates placement on the opposite side of the reference axis. | | `distance` | 10.0 | mm | Vertical distance from the base reference to the joint center (`h_c`). | | `max_force` | 20.0 | N | Maximum tensile force applied to the tendon. This value represents the upper bound of the tension input. | #### Output Variables (CSV Columns) The following variables are recorded at each simulation step: | **Variable** | **Units** | **Description** | | :---------------- | :-------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `force` | N | Tensile force applied by the tendon. This is the input force generated by the actuator and transmitted to the joint. | | `theta` | deg | Joint bending angle. Defined as the angular displacement of the joint from its initial (straight) configuration.  | | `delta` | mm | Represents the amount of tendon pulled by the actuator, measured along the tendon path. | | `effective_delta` | mm | Effective contraction length of the joint considering geometric effects caused by joint bending. This value represents the portion of tendon displacement that contributes to joint deformation. | | `energy` | N·mm | Elastic energy stored in the joint due to deformation. Computed as the accumulated work done by the tendon force over the effective displacement. | 
 
 
 **Notes:** * Angles are expressed in degrees unless explicitly stated
 otherwise. * Energy is reported in N·mm (not Joules); conversion to SI
 units may be required for comparison with other models. * All variables
 are defined with respect to the joint-centered reference frame used in the
 simulation. * Negative values of theta correspond to bending in the
 direction opposite to the reference positive rotation defined in the
 joint-centered coordinate system. #### License This code is licensed under
 the BSD-3-Clause License. See the license information in the source code
 for details. ### snap_through_model_default.csv The file
 snap_through_model_default.csv contains representative simulation results
 generated by the Python script described above using the default parameter
 configuration. This file is provided as an example of the numerical output
 produced by the model. The data are stored in comma-separated values (CSV)
 format. Each column corresponds to a distinct physical variable, and each
 row represents a simulation step sampled over tendon loading during a
 single loading process. #### Input parameters The table below summarizes
 the input parameters used in the simulation, along with their default
 values and physical meanings. | Parameter | Default Value | Units |
 Description | | ----------- | ------------- | ----- |
 --------------------------------------------------------------------- | |
 `radius` | 5.0 | mm | Radius of the joint cross-section. | | `slope` | 0.3
 | - | Joint inclination parameter. | | `bias` | -1.5 | mm | Offset
 distance from the joint center to the tendon attachment point. | |
 `distance` | 10.0 | mm | Vertical distance from the base reference to the
 joint center. | | `max_force` | 20.0 | N | Maximum tensile force applied
 to the tendon. | #### Columns The columns in this file include tendon
 displacement, joint bending angle, tendon tension force, and potential
 energy, as defined in the Simulation Parameters and Variable Definitions
 sections. All values are generated from a deterministic analytical model.
 | Column | Units | Description | | ----------------- | ----- |
 --------------------------------------------------------------- | |
 `force` | N | Tendon tension force applied to the joint | | `theta` | deg
 | Joint bending angle | | `delta` | mm | Tendon displacement | |
 `effective_delta` | mm | Effective tendon displacement contributing to
 joint deformation | | `energy` | N·mm | Potential energy stored in the
 joint | #### Interpretation of the Joint Angle (theta) In the simulation
 output, the joint bending angle (theta) evolves in response to increasing
 tendon tension. During the initial loading phase, theta increases in the
 negative direction as the joint deforms under applied tension. As loading
 continues, theta subsequently returns toward zero. The moment at which
 theta crosses zero corresponds to a zero-torque condition in the joint and
 marks the onset of torque reversal. Beyond this point, the direction of
 the generated joint torque changes relative to the direction of tendon
 loading, indicating the snap-through transition associated with the torque
 reversal mechanism. ## Contact For any questions, please contact:
 **Biorobotics Lab, Seoul National University** (kjcho@snu.ac.kr)