Hi, I am trying to create an in-hand manipulation RL env on Isaac gym. A good example is shown in IsaacGymEnvs/allegro_hand.py at main · NVIDIA-Omniverse/IsaacGymEnvs · GitHub and this example runs well on my computer.
However, the real robot I used is more complicated than the original allegro hand and contains more than 256 bodies ( about 700 bodies). When I replaced the allegro hand path with my own robot hand path, gym.prepare_sim() returns False. After that, I can’t get any state tensor like rigid_body_state by
_rb_states = gym.acquire_rigid_body_state_tensor(sim)
rb_states = gymtorch.wrap_tensor(_rb_states)
The error details are shown below after gym.prepare_sim()
[Error] [carb.gym.plugin] Gym cuda error: an illegal memory access was encountered: …/…/…/source/plugins/carb/gym/impl/Gym/GymPhysX.cpp: 1370
If I try to get the rb_states, a CUDA error will show as below:
RuntimeError: CUDA error: an illegal memory access was encountered
After test, the env runs well when I reduce the number of robot bodies to 256 and raise error when 257. I’m guessing that maybe Isaac gym set a maximum number 256 of bodies for each assert. Could I change this or did I miss something? Any suggestions will be very helpful. Thank you!
Here is some extra information:
The conda env is created by official documents.
torch.version == “1.8.1”
python == 3.7
Nvidia Driver: 470.103.01
CUDA Version: 11.4