in robogym/wrappers/dactyl.py [0:0]
def observation(self, observation):
if not self._occlusion_markers_exist:
return observation
else:
new_observation = OrderedDict()
for key in observation:
new_observation[key] = observation[key]
# Freeze the fingertip_pos read if the finger is occluded.
is_occluded_list = check_occlusion(self.unwrapped.sim)
for i, is_occluded in enumerate(is_occluded_list):
if not is_occluded:
self._obs_buffer[3 * i: 3 * (i + 1)] = observation[self._key][
3 * i: 3 * (i + 1)
]
new_observation[self._key] = self._obs_buffer.copy()
self._obs_buffer = new_observation[self._key].copy()
return new_observation