code: def __init__(
      self,
      optional_observations: OptionalObservations = OptionalObservations.NONE,
  ):
      super(RobosuiteBaseParameters, self).__init__()
  
      # NOTE: Attribute names should exactly match the attribute names in Robosuite
  
      self.horizon = (
          1000  # Every episode lasts for exactly horizon timesteps
      )
      self.ignore_done = True  # True if never terminating the environment (ignore horizon)
      self.reward_shaping = True  # if True, use dense rewards.
  
      # How many control signals to receive in every simulated second. This sets the amount of simulation time
      # that passes between every action input (this is NOT the same as frame_skip)
      self.control_freq = 10
  
      # Optional observations (robot state is always returned)
      # if True, every observation includes a rendered image
      self.use_camera_obs = bool(
          optional_observations & OptionalObservations.CAMERA
      )
      # if True, include object (cube/etc.) information in the observation
      self.use_object_obs = bool(
          optional_observations & OptionalObservations.OBJECT
      )
  
      # Camera parameters
      self.has_renderer = False  # Set to true to use Mujoco native viewer for on-screen rendering
      self.render_camera = (
          "frontview"  # name of camera to use for on-screen rendering
      )
      self.has_offscreen_renderer = self.use_camera_obs
      self.render_collision_mesh = False  # True if rendering collision meshes in camera. False otherwise
      self.render_visual_mesh = True  # True if rendering visual meshes in camera. False otherwise
      self.camera_names = "agentview"  # name of camera for rendering camera observations
      self.camera_heights = 84  # height of camera frame.
      self.camera_widths = 84  # width of camera frame.
      self.camera_depths = (
          False  # True if rendering RGB-D, and RGB otherwise.
      )
  
      # Collision
      self.penalize_reward_on_collision = True
      self.end_episode_on_collision = False
  
imports: from typing import Union, Dict, Any
  from enum import Enum, Flag, auto
  from copy import deepcopy
  import numpy
  import random
  from collections import namedtuple
  from rl_coach.base_parameters import Parameters, VisualizationParameters
  from rl_coach.environments.environment import Environment, EnvironmentParameters, LevelSelection
  from rl_coach.spaces import BoxActionSpace, VectorObservationSpace, StateSpace, PlanarMapsObservationSpace
  import rl_coach.environments.robosuite.cube_exp
label_desc: Use image node_id 1 to create a new RobosuiteBaseParameters object from inherited base classes: Parameters with example: obj = RobosuiteBaseParameters(optional_observations)