RuntimeError: normal expects all elements of std >= 0.0

I modified the Anymal task file, replaced the source file with another URDF file for a quadruped robot, and modified the Anymal.py in the task. During hundreds to thousands of training periods, the following errors may occur randomly. What could be the reason?

Traceback (most recent call last):
  File "train.py", line 214, in launch_rlg_hydra
    runner.run({
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/torch_runner.py", line 133, in run
    self.run_train(args)
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/torch_runner.py", line 116, in run_train
    agent.train()
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/common/a2c_common.py", line 1318, in train
    step_time, play_time, update_time, sum_time, a_losses, c_losses, b_losses, entropies, kls, last_lr, lr_mul = self.train_epoch()
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/common/a2c_common.py", line 1182, in train_epoch
    batch_dict = self.play_steps()
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/common/a2c_common.py", line 742, in play_steps
    res_dict = self.get_action_values(self.obs)
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/common/a2c_common.py", line 408, in get_action_values
    res_dict = self.model(input_dict)
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/rl_games/algos_torch/models.py", line 278, in forward
    selected_action = distr.sample()
  File "/home/ads/miniconda3/envs/rlleg/lib/python3.8/site-packages/torch/distributions/normal.py", line 70, in sample
    return torch.normal(self.loc.expand(shape), self.scale.expand(shape))
RuntimeError: normal expects all elements of std >= 0.0

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
1 Like

I have been facing the same RuntimeError for some time now with a modified version of Franka Deformable in rl_games (OIGE) and also with a modified version of UR10 reach in rsl_rl (Isaac Lab)

1 Like