(self)
| 97 | return self.data.body("obj").xpos |
| 98 | |
| 99 | def reset_model(self) -> npt.NDArray[np.float64]: |
| 100 | self._reset_hand() |
| 101 | self._target_pos = self.goal.copy() |
| 102 | self.obj_init_pos = self.init_config["obj_init_pos"] |
| 103 | self.objHeight = self._get_pos_objects()[2] |
| 104 | |
| 105 | obj_pos = self._get_state_rand_vec() |
| 106 | self.obj_init_pos = np.concatenate([obj_pos[:2], [self.obj_init_pos[-1]]]) # type: ignore |
| 107 | self._target_pos[1] = obj_pos.copy()[1] |
| 108 | |
| 109 | self._set_obj_xyz(self.obj_init_pos) |
| 110 | self.model.site("goal").pos = self._target_pos |
| 111 | |
| 112 | self.liftThresh = 0.04 |
| 113 | self.objHeight = self.data.geom("objGeom").xpos[2] |
| 114 | self.heightTarget = self.objHeight + self.liftThresh |
| 115 | |
| 116 | self.maxReachDist = np.linalg.norm(self.init_tcp - np.array(self._target_pos)) |
| 117 | self.maxPushDist = np.linalg.norm( |
| 118 | self.obj_init_pos[:2] - np.array(self._target_pos)[:2] |
| 119 | ) |
| 120 | self.maxPlacingDist = ( |
| 121 | np.linalg.norm( |
| 122 | np.array( |
| 123 | [self.obj_init_pos[0], self.obj_init_pos[1], self.heightTarget] |
| 124 | ) |
| 125 | - np.array(self._target_pos) |
| 126 | ) |
| 127 | + self.heightTarget |
| 128 | ) |
| 129 | |
| 130 | return self._get_obs() |
| 131 | |
| 132 | def _gripper_caging_reward( |
| 133 | self, |
nothing calls this directly
no test coverage detected