I have a pick and place task defined and I am using a motion planner to get trajectories to perform the task. When I run this on the cpu physix I have no issues and the robot arm is able to pick up the block and place it on another block. However, when I run the same trajectory on the gpu physix it results in weird behavior. The only difference between the videos I have below is whether or not I’m using the gpu physix.
It is also worth noting that when the robot is in free space there is not an issue, it is only after grasping the block that this issue begins to occur.
I have tested the robot mesh to see if it watertight and it appears to be so. I don’t have this same issue if I use the franka panda environment defined in IsaacGymEnvs. Is this an issue with the mesh/urdf I am using? I don’t understand why using the gpu would give such different results.
Yeah it might be. It’s kind of hard to tell. I am assuming that it’s some weird issue with how collisions are treated on the GPU vs CPU, which would lend itself to causing the same problem you are having.
I think NVIDIA is planning to move away from IsaacGym entirely. So unfortunately these CPU and GPU differences that we are seeing might not be fixed at all. I am still running into issues on my end where the same commands to the simulation lead to vastly different performance (where GPU is much worse) so I am now thinking we should just move on to IsaacSim.
I am wondering if an IsaacGym developer could confirm that we should move to IsaacSim?