Exemple #1
0
  def egocentric_camera(self):
    options = mj_wrapper.MjvOption()

    # Don't render this walker's geoms.
    options.geomgroup[_WALKER_INVIS_GROUP] = 0
    return observable.MJCFCamera(self._entity.egocentric_camera,
                                 width=64, height=64, scene_option=options)
Exemple #2
0
    def egocentric_camera(self):
        """Observable of the egocentric camera."""

        if not hasattr(self, '_scene_options'):
            # Don't render this walker's geoms.
            self._scene_options = mj_wrapper.MjvOption()
            collision_geom_group = 2
            self._scene_options.geomgroup[collision_geom_group] = 0
            cosmetic_geom_group = 1
            self._scene_options.geomgroup[cosmetic_geom_group] = 0

        return observable.MJCFCamera(self._entity.egocentric_camera,
                                     width=64,
                                     height=64,
                                     scene_option=self._scene_options)
Exemple #3
0
def add_camera_observables(entity, obs_settings, *camera_specs):
    """Adds cameras to an entity's worldbody and configures observables for them.

  Args:
    entity: A `composer.Entity`.
    obs_settings: An `observations.ObservationSettings` instance.
    *camera_specs: Instances of `CameraSpec`.

  Returns:
    A `collections.OrderedDict` keyed on camera names, containing pre-configured
    `observable.MJCFCamera` instances.
  """
    obs_dict = collections.OrderedDict()
    for spec in camera_specs:
        camera = entity.mjcf_model.worldbody.add('camera', **spec._asdict())
        obs = observable.MJCFCamera(camera)
        obs.configure(**obs_settings.camera._asdict())
        obs_dict[spec.name] = obs
    return obs_dict
Exemple #4
0
 def top_camera(self):
     return observable.MJCFCamera(self._entity.top_camera)
 def egocentric_camera(self):
   return observable.MJCFCamera(self._entity.egocentric_camera,
                                width=64, height=64)
Exemple #6
0
 def egocentric_camera(self):
   width, height = self._camera_resolution
   return observable.MJCFCamera(self._entity.egocentric_camera,
                                width=width, height=height)
Exemple #7
0
 def top_down_camera_invisible_robot(self):
   # Custom scene options for making robot geoms invisible.
   robot_geoms_invisible = wrapper.MjvOption()
   robot_geoms_invisible.geomgroup[ROBOT_GEOM_GROUP] = 0
   return observable.MJCFCamera(mjcf_element=self._entity.top_down_camera,
                                scene_option=robot_geoms_invisible)
Exemple #8
0
 def top_down_camera(self):
   return observable.MJCFCamera(mjcf_element=self._entity.top_down_camera)
Exemple #9
0
 def front_camera_2(self):
   return observable.MJCFCamera(mjcf_element=self._entity.front_camera_2)
Exemple #10
0
 def egocentric_camera(self):
   """Observable of the wrist force-torque sensors."""
   return observable.MJCFCamera(self._entity.egocentric_camera,
                                width=64, height=64)