You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I'm a student trying to use elasticity plugin to simulate the melting deformation of polymer material.
Goal: Change Each Joint Stiffness Individually at Runtime
In order to model the time-varying material properties (softening -> solidification), I'm aiming to manipulate the individual joint stiffness of a composite cable generated by the elasticity plugin. My initial attempts are inspired by this issue: Combining Composites · Issue #1226
Trial 1: Move Plugin into Bodies
In the first trial, I moved the plugin into each body based on the hint from Issue #1226. I was hoping that I could manipulate each "elasticity joint" individually. Unfortunately, none of the plugins in the bodies seem to be working properly (middle of the diagram).
Trial 2: Create Multiple Instances
As a workaround, I tried to create multiple instances of the plugin. In this example, two instances are implemented to create two sections of cable with different mechanical properties. Within each section, the model seems to work with proper stiffness. However, at the transition between the sections of the cable, the elasticity plugin seems to be deactivated and this joint is too soft (right side of the diagram).
Over-inflated in Box Geom
Additionally, when using elasticity.cable with box geom, I noticed that the deformable skin seems to inflate too much and is 200% thick. After loading the model, saving the XML, and then manually reducing the inflate value by half, the visualization looks more correct. Is there a reason why elasticity.cable is coded to inflate like that?
I would be so grateful if anyone could help me understand why these two trials didn't work and provide some helpful hints for an elegant way to manipulate the individual joint stiffness of a composite body. Thanks so much in advance!
Hi, I don't see a quick solution that doesn't involve a little custom coding. We already build a stiffness vector that in principle allows for a varying stiffness along the cable, see https://github.com/google-deepmind/mujoco/blob/main/plugin/elasticity/cable.cc#L198 however we populate it with a constant stiffness. You could hard code your desired stiffness in those lines and compile it from source. If you have ideas on how to expose a custom stiffness to the XML, please let us know - or try it yourself and send a pull request :)
For the skin, there is no reason for the default parameters to be like that.
Hi, I'm a student trying to use
elasticity plugin
to simulate the melting deformation of polymer material.Goal: Change Each Joint Stiffness Individually at Runtime
In order to model the time-varying material properties (softening -> solidification), I'm aiming to manipulate the individual joint stiffness of a
composite cable
generated by theelasticity plugin
. My initial attempts are inspired by this issue: Combining Composites · Issue #1226Trial 1: Move Plugin into Bodies
In the first trial, I moved the plugin into each body based on the hint from Issue #1226. I was hoping that I could manipulate each "elasticity joint" individually. Unfortunately, none of the plugins in the bodies seem to be working properly (middle of the diagram).
minimal XML
Trial 2: Create Multiple Instances
As a workaround, I tried to create multiple instances of the plugin. In this example, two instances are implemented to create two sections of cable with different mechanical properties. Within each section, the model seems to work with proper stiffness. However, at the transition between the sections of the cable, the elasticity plugin seems to be deactivated and this joint is too soft (right side of the diagram).
minimal XML
Over-inflated in Box Geom
Additionally, when using
elasticity.cable
withbox geom
, I noticed that the deformable skin seems to inflate too much and is 200% thick. After loading the model, saving the XML, and then manually reducing theinflate
value by half, the visualization looks more correct. Is there a reason whyelasticity.cable
is coded to inflate like that?I would be so grateful if anyone could help me understand why these two trials didn't work and provide some helpful hints for an elegant way to manipulate the individual joint stiffness of a composite body. Thanks so much in advance!
cable_issue.zip
The text was updated successfully, but these errors were encountered: