Collision detection at different scales

20 views
Skip to first unread message

Antoine Laborde

unread,
Jan 30, 2026, 11:47:37 AM (4 days ago) Jan 30
to ProjectChrono
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 
Reply all
Reply to author
Forward
0 new messages