diff --git a/mani_skill2/envs/scenes/tasks/pick.py b/mani_skill2/envs/scenes/tasks/pick.py index 12a412043..68f5b1832 100644 --- a/mani_skill2/envs/scenes/tasks/pick.py +++ b/mani_skill2/envs/scenes/tasks/pick.py @@ -382,12 +382,13 @@ def compute_dense_reward(self, obs: Any, action: torch.Tensor, info: Dict): new_info = dict() for k in ["elapsed_steps", "success", "fail", "is_grasped", "robot_force", "robot_cumulative_force"]: - if isinstance(new_info[k], torch.Tensor): - new_info[k] = info[k].clone() - elif isinstance(new_info[k], np.ndarray): - new_info[k] = info[k].copy() - else: - new_info[k] = info[k] + if k in info: + if isinstance(new_info[k], torch.Tensor): + new_info[k] = info[k].clone() + elif isinstance(new_info[k], np.ndarray): + new_info[k] = info[k].copy() + else: + new_info[k] = info[k] if torch.any(robot_too_far): # prevent torso and arm moving too much