Advertisement

Issue with Verlet integration and collision handling

Started by June 06, 2024 05:31 PM
2 comments, last by aenbacka 3 months ago

Hello,

I am working on rope simulation, where a rope is connected to a moving fixed point (helicopter fuselage) using Verlet integration (rope is constructed by multiple nodes). This works quite nicely when collision detection is not in use, but when adding collision, and the rope is lifted in one endpoint upwards, it stretches beyond its maximum length and part of rope is stuck on ground (picture attached).

In the code, during each simulation step Verlet integration is performed, followed by collision handling, and finally constraints resolving (multiple iterations).

Any suggestions what would be worth investigating would be very appreciated.

There are two things I can think of:

  1. Not enough iterations. The stretch near the attachment point suggests you are not iterating enough. You roughly need as many iterations as particles (as a rule of thumb)
  2. Collision/Contact are ‘constraints’ as well. So for each iteration you would need solve all distance and contact constraints

I would try this first and see if you can get the look you want to achieve. Ultimately this might be too expensive in practice and there are things you can do. One trick to avoid the stretching are long range constraints as described e.g. here:

https://matthias-research.github.io/pages/publications/LongRangeConstraintsSCA.pdf

Alternatively you can solve the chain using a tridiagonal solver:

https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm​​

HTH,

-Dirk

Advertisement

Hi Dirk,

Thanks a lot for you suggestions.

Yes this application is quite tricky as we require quite long lines for the simulated sling load operations. I will try to increase the operations, using a fixed amount (around 250) currently, but a longer rope could use 400 nodes or more.

Doing 250 iterations and also integrating the collision checks would probably bee too expensive to do in this application.

I will look into the links you provided as well, too see if they could help.

This topic is closed to new replies.

Advertisement