Table of Contents
Fetching ...

Py-DiSMech: A Scalable and Efficient Framework for Discrete Differential Geometry-Based Modeling and Control of Soft Robots

Radha Lahoti, Ryan Chaiyakul, M. Khalid Jawed

TL;DR

Py-DiSMech delivers a scalable, DDG-grounded framework for discrete elastic rod and shell dynamics with implicit, penalty-based contact and a natural-strain PI control loop. Its vectorized Python implementation, extended rod–shell contact handling, and modular design enable efficient simulation, design iteration, and sim-to-real workflows for soft robotics. The paper demonstrates substantial speedups over state-of-the-art geometry-based simulators while maintaining physical fidelity, and showcases control-enabled simulations such as shape regulation and trajectory tracking. Overall, Py-DiSMech advances simulation-driven design, control validation, and ML integration in soft robotics by combining geometric rigor, computational efficiency, and extensibility.

Abstract

High-fidelity simulation has become essential to the design and control of soft robots, where large geometric deformations and complex contact interactions challenge conventional modeling tools. Recent advances in the field demand simulation frameworks that combine physical accuracy, computational scalability, and seamless integration with modern control and optimization pipelines. In this work, we present Py-DiSMech, a Python-based, open-source simulation framework for modeling and control of soft robotic structures grounded in the principles of Discrete Differential Geometry (DDG). By discretizing geometric quantities such as curvature and strain directly on meshes, Py-DiSMech captures the nonlinear deformation of rods, shells, and hybrid structures with high fidelity and reduced computational cost. The framework introduces (i) a fully vectorized NumPy implementation achieving order-of-magnitude speed-ups over existing geometry-based simulators; (ii) a penalty-energy-based fully implicit contact model that supports rod-rod, rod-shell, and shell-shell interactions; (iii) a natural-strain-based feedback-control module featuring a proportional-integral (PI) controller for shape regulation and trajectory tracking; and (iv) a modular, object-oriented software design enabling user-defined elastic energies, actuation schemes, and integration with machine-learning libraries. Benchmark comparisons demonstrate that Py-DiSMech substantially outperforms the state-of-the-art simulator Elastica in computational efficiency while maintaining physical accuracy. Together, these features establish Py-DiSMech as a scalable, extensible platform for simulation-driven design, control validation, and sim-to-real research in soft robotics.

Py-DiSMech: A Scalable and Efficient Framework for Discrete Differential Geometry-Based Modeling and Control of Soft Robots

TL;DR

Py-DiSMech delivers a scalable, DDG-grounded framework for discrete elastic rod and shell dynamics with implicit, penalty-based contact and a natural-strain PI control loop. Its vectorized Python implementation, extended rod–shell contact handling, and modular design enable efficient simulation, design iteration, and sim-to-real workflows for soft robotics. The paper demonstrates substantial speedups over state-of-the-art geometry-based simulators while maintaining physical fidelity, and showcases control-enabled simulations such as shape regulation and trajectory tracking. Overall, Py-DiSMech advances simulation-driven design, control validation, and ML integration in soft robotics by combining geometric rigor, computational efficiency, and extensibility.

Abstract

High-fidelity simulation has become essential to the design and control of soft robots, where large geometric deformations and complex contact interactions challenge conventional modeling tools. Recent advances in the field demand simulation frameworks that combine physical accuracy, computational scalability, and seamless integration with modern control and optimization pipelines. In this work, we present Py-DiSMech, a Python-based, open-source simulation framework for modeling and control of soft robotic structures grounded in the principles of Discrete Differential Geometry (DDG). By discretizing geometric quantities such as curvature and strain directly on meshes, Py-DiSMech captures the nonlinear deformation of rods, shells, and hybrid structures with high fidelity and reduced computational cost. The framework introduces (i) a fully vectorized NumPy implementation achieving order-of-magnitude speed-ups over existing geometry-based simulators; (ii) a penalty-energy-based fully implicit contact model that supports rod-rod, rod-shell, and shell-shell interactions; (iii) a natural-strain-based feedback-control module featuring a proportional-integral (PI) controller for shape regulation and trajectory tracking; and (iv) a modular, object-oriented software design enabling user-defined elastic energies, actuation schemes, and integration with machine-learning libraries. Benchmark comparisons demonstrate that Py-DiSMech substantially outperforms the state-of-the-art simulator Elastica in computational efficiency while maintaining physical accuracy. Together, these features establish Py-DiSMech as a scalable, extensible platform for simulation-driven design, control validation, and sim-to-real research in soft robotics.

Paper Structure

This paper contains 21 sections, 24 equations, 12 figures, 2 tables.

Figures (12)

  • Figure 1: Key functional components of Py-DiSMech: (a) elastic energy formulations, (b) self-contact modeling, (c) external force integration, and (d) actuation and control through strain- or curvature-based inputs
  • Figure 2: Schematics for the DDG-based dynamical models. (a) Stencil of the bending-twisting spring for an elastic rod, used for the DER algorithm. (b) Schematic of a hinge spring for the hinge-based bending model for a discrete elastic shell. (c) The discretization stencil for the mid-edge normal-based bending energy model. For the $i$-th shell-edge, $\xi^i$ is a scalar DOF that represents the rotation of the mid-edge normal about the edge.lahoti2025matdismech
  • Figure 3: Schematics for midedge normal-based shell bending energy. (a) Definition of the mid-edge normal. The blue curve labeled "surface" denotes the actual surface of the shell being modeled, "mesh edge" $\mathbf{e}$ denotes the edge of a triangle in the mesh that approximates the surface. The mid-edge normal $\mathbf{n}^m$ for $\mathbf{e}$ is normal to the surface, which, when extrapolated, intersects the triangle edge at its midpoint. (b) The schematic showcasing the edge attached reference frame $\{\mathbf{n}^{\textrm{avg},i},\mathbf{\tau}^i, \hat{\mathbf{e}}^i$} and other vectors used in the mid-edge normal bending method Grinspun2006lahoti2025matdismech.
  • Figure 4: Types of contact interactions modeled in Py-DiSMech. (a) Point-to-Point, (b) Point-to-Edge, (c) Edge-to-Edge, and (d) Point-to-Triangle. Contact types ((a)–(c)) can occur in all contact-pair configurations—Rod-Rod, Rod-Shell, and Shell-Shell, whereas Point-to-Triangle contact (d) arises only in Rod-Shell and Shell-Shell interactions.
  • Figure 5: High-level flowchart of the Py-DiSMech workflow illustrating how design inputs are processed through the simulation to generate outputs that inform soft-robot design decisions.
  • ...and 7 more figures