I’m really sorry, but I have some confusion while using Isaac Sim.
I created a plate and just wanted to test physics collisions. However, I noticed some strange phenomena: when the plate falls to the ground, it bounces off or exhibits other unusual behaviors. The collision type for the plate is set to “SDF.” When I use “Convex Decomposition,” it works fine. I don’t understand why this happens. I thought “SDF” should provide very accurate collisions and shouldn’t cause such errors.
Furthermore, I tried some other USD, and it seems this phenomenon occurs with all of them.
Additionally, the ground has sufficient subdivision, and the PhysicsScene is set to “Time Steps Per Second: 120.” I believe the parameters are adequate.
I tried both versions 5.0 and 5.1, and the issue persists.
i think the OP is referring to the second and fourth drop in the clip where the plate either jumps off of the ground or ‘teleports’ to a different spot. i initially thought it could be the ridges around the plate’s edge, but sounds like there are other assets that exhibit the same behavior
If you’re expecting accurate physics behavior for your simulation, you should enable full physics and settings to match reality setup, not just enable collision.
During the physics simulation, some strange phenomena indeed occur.
For example, with this plate, when it falls onto a flat surface—especially during the second and fourth drops—it exhibits sudden teleportation and bouncing. The higher the plate is in the air, the more noticeable this phenomenon becomes.
Moreover, the smaller the object, the more obvious this issue is. For instance, an object the size of an eraser shows the same behavior. I believe it’s because at the moment of landing, the collision with the ground overlaps, causing the plate to penetrate into the ground. I also tried the “CCD + SDF” method, but the result seems to be the same.
I’d like to know how to implement what you mentioned: “You should enable full physics and settings to match reality setup, not just enable collision.” How should I proceed with this?
Hi @Julie_A, I think to enable full physics simulation, at lease you should add Physics Scene that sets basic global physical parameters such as gravity and physics time steps, add a ground plane that prevents objects from falling, and enable Rigid Body API on your plate. For realistic contact, under Collider settings, you should also assign a suitable physics material (friction, restitution, etc.). These are not the full list, but should give you a closer result to what you expected.
As you mentioned, I have already configured these settings, but some issues still persist, which is why I’m seeking help on the forum.
First, I’ve added a “Physics Scene” and adjusted the “physics time steps.” Additionally, I’ve included a “Rigid Body” and “physics material.” All of these were mentioned and shown in my previous screenshots and questions.
The problem is that, despite having these settings in place, there are still some simulation-related issues.
@PeterNV
Disabling “Enable GPU Dynamics” did indeed improve the situation significantly, but I have some questions.
After disabling “Enable GPU Dynamics,” is the CPU used for calculations instead of the GPU?
However, I am aware that IsaacLab uses GPU computing. If I use IsaacLab, I cannot disable “Enable GPU Dynamics.”
Why are their simulation results different? With the same parameters, I believe it’s solely an issue of “GPU” versus “CPU” computation, and the calculation results should be identical.
But why does CPU computation not exhibit collision interpenetration, while GPU does?
Hi, PhysX is not fully supported on GPU yet, some APIs don’t work correctly on GPU. If you have high requirements on Physics simulation, you should use GPU for dynamics. For Isaac Lab, you can still benefit from GPU support on RL training/rendering/etc.