will return an array of isaacgym.gymapi.RigidContact instances. However the return values in release 3 are unstructured instances filled with a tuple value.
code use to reproduce the results is the following
# Print rigid contacts per robot:
for env in envs:
actor_count = gym.get_actor_count(env)
for i in range(actor_count):
actor_handle = gym.get_actor_handle(env, i)
contacts = list(gym.get_env_rigid_contacts(env))
Try removing the list() conversion on the return value of get_env_rigid_contacts(). The list() cast will convert the RigidContact instance into a list of tuples.
I would like to aquire all contacts of all envs. But the solution of Daniel, iterating through all envs, seams to be quite expensive. I tried to use get_rigid_contacts(), but it throws following error:
[Error] [carb.gym.plugin] Function GymGetRigidContacts cannot be used with the GPU pipeline after simulation starts. Please use the tensor API if possible. See docs/programming/tensors.html for more info. [Error] [carb.gym.plugin] Function GymGetRigidContactCount cannot be used with the GPU pipeline after simulation starts. Please use the tensor API if possible. See docs/programming/tensors.html for more info.
Do you got a (fast) solution to aquire the contact information?