Like the image in the example, two objects with colliders overlap.
How can I fix this issue?
@sw980907 seems like the scale of these objects are extremely small. both are less than 1cm. i wonder whether that had an impact on the accuracy of the simulation.
I think the unit you measured is wrong. I checked and it’s 0.23m.
I have checked the assets, seems like you are using SDF collisions for the objects. The SDF collision detection has been improved in upcoming 105.1 release and I can see better simulation there.
However the main issue is indeed as pointed out already the size. Both assets are authored in cm stage (you can check that by selecting the layer in the layer window and then look in the property window for metersPerUnit, its 0.01 - meaning cm).
So your assets are really super tiny, indeed 0.23 cm, this is really hard to solve, because the tolerances for the scene are set at a different precision.
So if you put both into a scene what I recommend to do is:
- Check what units are set in the layer - default for composer is cm
- Create a cube, set its size to 1 and compare the size. Cube with size 1 in cm scenes is 1 cm you can see in this scene its actually several times bigger than your assets.
Fixing the units is the key here.
I’m a colleague of sw980907. I ran the simulation with metersPerUnit=1, and the objects are still overlapped.
Did you just changed the units? If so please also delete and create the PhysicsScene, the physicsScene setups at least gravity based on the units when created. Can you please also try to delete, create again the physics scene?
I was actually simulating using Orbit.
In the init method of the IsaacEnv class, which is the base class of our environment, it sets “stage_units_in_meters” to 1.0.
Therefore, I don’t think the problem you’re talking about is the cause.
I have attached a photo and link of the code below.
I see so there is more in the stack. Could you please send me the USD file with the combined objects that the orbit script produces? I can take a look how the simulation looks like and what can be improved. You can also try to open the same USD file then in latest USD Composer where a bunch of SDF improvements should have landed. Those should be included in next IsaacSim update.
As I mentioned above, I faced the situation while using Orbit.
More specifically, I want the robot arm to perform a task to open the lid of the bottle using the stable baseline 3.
However, during the simulation, there was a problem that the two objects overlapped, so it is no longer in progress.
Here is our python project repository: link
The command that I used is as follows.
Isim sb3/train.py --task Kitchen-OpenJar-v0 --num_envs 2