Skip to content

Simplicits - Solver leads to slow simulated motion sometimes #933

@rdecharette

Description

@rdecharette

Hello,

I've been using Simplicits for some time and with the help of @itsvismay it works well, but the newton solver sometimes generates "slow motion".
Put in words (sorry for the non-technical description): the first simulation steps are correct (collision, etc.) then -- randomly -- for a few simulation step it seems like the generate motion of the QPs slow down (visually, it looks like a slow motion). After some simulation steps, it may some time return to normal.

This 'slowmo' always happens upon contact of objects and is hardly predictable. The more objects there is, the more often this happen.
I'm currently using these solver options:

"direct_solve":False, 
"use_cuda_graphs":False,
"timestep":0.01, 
"max_newton_steps":20, 
"max_ls_steps":10, 
"newton_hessian_regularizer":1e-5,
"cg_iters":100, 
"conv_tol": 1e-7

with collision:

"collision_particle_radius": 0.05, 
"detection_ratio": 1.5, 
"impenetrable_barrier_ratio": 0.25,
"collision_penalty": 1000.0,
"max_contact_pairs": 50000, 
"friction": 0.5, 

Any idea on how to solve this ? With more than 10 objects, it happens in 3/4 of the simulation.
I already tweaked parameters and it didn't help.

Unrelated: I also observed, that in some simulations, the memory allocated grows at each simulation step (usually only after collision steps) and I observe 10x growth after 400 simulation steps. Other similar simulations (same number of objects/qps, same params) with other initialization have memory remains more or less stable across the simulation after the scene reset call. Any idea ? I did not observe any correlation between "slowmo" and "memory growth".

Best.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions