Stiff Deformable Body

Hello,
I am trying to create a letter/A4 sized piece of rather stiff cardboard in Isaac Sim so that the robot can bend it a bit to make the removal from a box easier, just like a human would do.

Currently I am struggling to create a deformable that is stiff enough.
I have tried the deprecated particle based deformable. With it a lower resolution of the mesh allowed paper like stiffness but it was still not enough. With the beta version of deformables it seems that the stiffness parameters don’t have any effect at all. (see screenshot)

6.0.0
5.1.0
5.0.0
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Omniverse Kit Version

107.3

Operating System

Ubuntu 24.04
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

Related Issues

Hi, you can try to use the beta VolumeDeformableMaterial with significantly increased Young’s modulus.

from isaacsim.core.experimental.materials import VolumeDeformableMaterial
from isaacsim.core.experimental.prims import DeformablePrim
import carb

#1. Enable deformable beta_ feature
settings = carb.settings.get_settings()
settings.set("/physics/deformableBodyEnableBeta", True)

#2. Create stiff cardboard material
# Cardboard Young's modulus: 2_,000-4,000 MPa (2e9 • 4e9 Pa)
cardboard_material = VolumeDeformableMaterial(
    paths="/World/Materials/StiffCardboard",
    youngs_moduli=3e9,        # 3 GPa - typical for cardboard
    poissons_ratios=0.3,      # Standard for paper-like materials
    densities=700.0           # kg/m³ - typical cardboard density
)

# 3. Create A4-sized mesh (210mm x 297mm)
# Use higher resolution for better b_ending behavior
from pxr import UsdGeom, Gf

stage = omni.usd.get_context().get_stage()
mesh_path = "/World/Cardboard"
mesh = UsdGeom.Mesh.Define(stage, mesh_path)

#Create subdivided plane (16x22 grid for A4 proportions)
width, height = 0.21, 0.297  # meters
subdivisions_x, subdivisions_y = 16, 22

# Generate_ vertices and faces for subdivided mesh
 # ... (mesh generation code)

# 4. Apply deformable body
cardboard = DeformablePrim(
    paths=mesh_path,
    deformable_type="volume"  # Volume deformables work better for stiff materials
)

# 5. Apply material
cardboard.apply_deformable_materials(cardboard_material, indices=[0])

# 6. Increase solver_ iterations for stiff materials
from pxr import PhysxSchema

physics_scene = stage.GetPrimAtPath("/physicsScene")
physx_scene = PhysxSchema.PhysxSceneAPI(physics_scene)
physx_scene.CreateSolverTypeAttr("TGS")
physx_scene.CreateMinPositionIterationCountAttr(64)  # High for stiffness
physx_scene.CreateMinVelocityIterationCountAttr(32)
1 Like