During training only, I encounter a PhysX error: PxRigidBody::setMass(): mass must be non-negative! error despite having non-negative/non-zero masses. The training does start, however, but the mean episode length is 1, so no there is no training being done, and thus I am assuming that this is the culprit.
I have tried to isolate the issue by creating a seperate scene with all of the same configs as the training environment and running it, and I have no issues running there. (So I assume this is not an issue with my configs/USD file?)
Please let me know if this is a Isaac Sim bug instead, so I can ask in their forums - however because it only occurs during training, I am suspecting it is an issue with Isaac Sim.
Steps to reproduce
Because of such a vague error message, I can't really trace it to anything, so I'm having a hard time coming up with a minimal example, so I have listed the output, USD files, as well as some code snippets that are maybe relevant to the issue. Please let me know if there are other pieces of code/outputs I should submit.
@configclass
class MistletoeRoughEnvCfg(LocomotionVelocityRoughEnvCfg):
def __post_init__(self):
# post init of parent
super().__post_init__()
# switch robot to anymal-c
self.scene.robot = MISTLETOE_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot")
@configclass
class MistletoeRoughEnvCfg_PLAY(MistletoeRoughEnvCfg):
def __post_init__(self):
# post init of parent
super().__post_init__()
# make a smaller scene for play
self.scene.num_envs = 50
self.scene.env_spacing = 2.5
# spawn the robot randomly in the grid (instead of their terrain levels)
self.scene.terrain.max_init_terrain_level = None
# reduce the number of terrains to save memory
if self.scene.terrain.terrain_generator is not None:
self.scene.terrain.terrain_generator.num_rows = 5
self.scene.terrain.terrain_generator.num_cols = 5
self.scene.terrain.terrain_generator.curriculum = False
# disable randomization for play
self.observations.policy.enable_corruption = False
# remove random pushing event
self.events.base_external_force_torque = None
self.events.push_robot = None
Quesiton
During training only, I encounter a
PhysX error: PxRigidBody::setMass(): mass must be non-negative!
error despite having non-negative/non-zero masses. The training does start, however, but the mean episode length is 1, so no there is no training being done, and thus I am assuming that this is the culprit.I have tried to isolate the issue by creating a seperate scene with all of the same configs as the training environment and running it, and I have no issues running there. (So I assume this is not an issue with my configs/USD file?)
Please let me know if this is a Isaac Sim bug instead, so I can ask in their forums - however because it only occurs during training, I am suspecting it is an issue with Isaac Sim.
Steps to reproduce
Because of such a vague error message, I can't really trace it to anything, so I'm having a hard time coming up with a minimal example, so I have listed the output, USD files, as well as some code snippets that are maybe relevant to the issue. Please let me know if there are other pieces of code/outputs I should submit.
terminal_out.txt mistletoe_usd.zip
Articulation Config
Environment Config
rsl_rl_cfg
System Info
Describe the characteristic of your environment:
Additional context
The code I wrote is very similar to that of Anymal's environment, but running Anymal's environment seems to work, but mine doesn't.
Checklist