- This topic has 1 reply, 2 voices, and was last updated 4 years, 3 months ago by .
Viewing 2 posts - 1 through 2 (of 2 total)
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.
Home › Forum › SOFA › Using SOFA › Timestep changes soft robot behavior
Tagged: 64_bits, Linux_ubuntu, Plugin_SoftRobots, SOFA_2006
I have a scene set up for a soft robot with a TetrahedronFEMForceField, RestShapeSpringsForceField, and CableConstraints (from the SoftRobots plugin). I am also using an EulerImplicitSolver with a SparseLDLSolver.
I am using the “force” mode of the cable constraints and just specifying the forces on all of the cables to be a constant value. However, when changing the time step of the simulation (e.g. from dt = 0.01 to dt = 0.001) the “rest” position of the soft robot (with the constant cable forces) changes quite significantly. This happens both with and without Rayleigh damping.
Is this just an artifact of the numerical integration scheme being extremely dissipative?
Hi @jlorenze
I am really sorry for the latency, we are busy to get more and more workforce on SOFA! We will now be more active on the forum.
I guess your scene is solving the constraints using the Lagrange multipliers method (i.e. with a FreeMotionAnimationLoop). Is this correct?
If so, the behavior is not surprising: as you can see from the constraint problem equation, it all depends on the time step dt. The constraint correction will usually precompute a W matrix depending on the initial time step. Changing it will therefore break the resolution.
Could you tell us which constraint resolution are you using?
Could you also tell us why you need to change the time step?
Best
Hugo
WARNING
The forum has been moved to GitHub Discussions.
Old topics and replies are kept here as an archive.