diff --git a/social_mpc/controller.py b/social_mpc/controller.py index 1f6e8dc3f7d1537a99b64c2630800851225d5d04..223d0d36897d1e0db8e2a394c66b1599da8e8746 100644 --- a/social_mpc/controller.py +++ b/social_mpc/controller.py @@ -293,7 +293,7 @@ class RobotController(): self.shared_humans[:n, 3:5] = state.humans_velocity[idx, :] self.shared_groups[:, -1] = -1 - idx = np.where(state.groups_pose[:, -1] >= 0)[0] + idx = np.where(state.groups_visible == 0)[0] n = len(idx) self.shared_groups[:n, :2] = state.groups_pose[idx, :] self.shared_groups[:n, -1] = state.groups_id[idx] @@ -661,9 +661,10 @@ class RobotController(): groups_id = state.groups_id.tolist() if self.pan_target_id[1] in groups_id: idx = groups_id.index(self.pan_target_id[1]) - global_pos = state.groups_pose[idx] - pos = utils.global_to_local(state.robot_pose, global_pos) - self.pan_goal[:] = [*pos, 0, 0, 1] + if state.groups_visible[idx] == 0.: + global_pos = state.groups_pose[idx] + pos = utils.global_to_local(state.robot_pose, global_pos) + self.pan_goal[:] = [*pos, 0, 0, 1] if self.pan_target_pose is not None: self.pan_goal[:] = [*self.pan_target_pose, 0, 0, 1]