Hi!
I work since a few weeks on a rigid body simulation with 3 active bodies. I used the convex decomposition algorithm for two of the active bodies to get better collision detection and the results are pretty good.
But I realized that I work since the start at the wrong scale. My objects are in reality in mm but I work in meters since the start.
So I implemented the down-scaling of the bodies before creating the collision shape like this:
"""
auto trimesh = ChTriangleMeshConnected::CreateFromWavefrontFile(obj_filename, true, false);
trimesh->Transform(ChVector3d(0, 0, 0), ChMatrix33<>(M_TO_MM));
"""
And a similar approach for the bodies that are decomposed in convex shapes.
The problem is that when down-scaling, the collision detections from one timestep to the other are fluctuating a lot, the collision detection seems unstable. This appears already when I downscale of a factor of 10.
I also noticed that the active bodies seems to be more reactive than before at collisions, like if they were bouncing more than before.
I played on the following parameters to fix the problem (with no good output):
- the mass of the bodies (I used extremely high and low values to see what would happen but the unstability was still there)
- the sphere swept radius when creating the collision shape
- the enveloppe and the margin of the BULLET collision detection algorithm
- I downscaled too the force and torque of my motors and my spring elements
I could not find a logic when tunig those parameters and I got a bit lost. So my question are, am I on the good path ? Are there parameters that I missed ? Do you have any idea why the collision detection would fail after downscaling ?
Thanks in advance for your help!
Best,
Antoine