class_docstr: This class corresponds to multi-colored cube exploration for a single robot arm.
class_docstr_tok: ["This","class","corresponds","to","multi-colored","cube","exploration","for","a","single","robot","arm","."]
docstr: Args:
      robots (str or list of str): Specification for specific robot arm(s) to be instantiated within this env
          (e.g: "Sawyer" would generate one arm; ["Panda", "Panda", "Sawyer"] would generate three robot arms)
          Note: Must be a single single-arm robot!
      table_full_size (3-tuple): x, y, and z dimensions of the table.
      placement_initializer (ObjectPositionSampler instance): if provided, will
          be used to place objects on every reset, else a UniformRandomSampler
          is used by default.
      Rest of kwargs follow Lift class arguments
docstr_tok: ["Args",":","robots","(","str","or","list","of","str",")",":","Specification","for","specific","robot","arm","(","s",")","to","be","instantiated","within","this","env","(","e.g",":","``","Sawyer","''","would","generate","one","arm",";","[","``","Panda","''",",","``","Panda","''",",","``","Sawyer","''","]","would","generate","three","robot","arms",")","Note",":","Must","be","a","single","single-arm","robot","!","table_full_size","(","3-tuple",")",":","x",",","y",",","and","z","dimensions","of","the","table",".","placement_initializer","(","ObjectPositionSampler","instance",")",":","if","provided",",","will","be","used","to","place","objects","on","every","reset",",","else","a","UniformRandomSampler","is","used","by","default",".","Rest","of","kwargs","follow","Lift","class","arguments"]
code: def __init__(
      self,
      robots,
      table_full_size=TABLE_TOP_SIZE,
      table_offset=TABLE_OFFSET,
      placement_initializer=None,
      penalize_reward_on_collision=False,
      end_episode_on_collision=False,
      **kwargs,
  ):
      """
      Args:
          robots (str or list of str): Specification for specific robot arm(s) to be instantiated within this env
              (e.g: "Sawyer" would generate one arm; ["Panda", "Panda", "Sawyer"] would generate three robot arms)
              Note: Must be a single single-arm robot!
          table_full_size (3-tuple): x, y, and z dimensions of the table.
          placement_initializer (ObjectPositionSampler instance): if provided, will
              be used to place objects on every reset, else a UniformRandomSampler
              is used by default.
          Rest of kwargs follow Lift class arguments
      """
      if placement_initializer is None:
          placement_initializer = UniformRandomSampler(
              name="ObjectSampler",
              x_range=[0.0, 0.0],
              y_range=[0.0, 0.0],
              rotation=(0.0, 0.0),
              ensure_object_boundary_in_range=False,
              ensure_valid_placement=True,
              reference_pos=table_offset,
              z_offset=0.9,
          )
  
      super().__init__(
          robots=robots,
          table_full_size=table_full_size,
          placement_initializer=placement_initializer,
          initialization_noise=None,
          **kwargs,
      )
  
      self._max_episode_steps = self.horizon
  
file_path: coach/rl_coach/environments/robosuite/cube_exp.py
imports: import numpy
  from robosuite.utils.mjcf_utils import CustomMaterial
  from robosuite.environments.manipulation.single_arm_env import SingleArmEnv
  from robosuite.environments.manipulation.lift import Lift
  from robosuite.models.arenas import TableArena
  from robosuite.models.objects import BoxObject
  from robosuite.models.tasks import ManipulationTask
  from robosuite.utils.placement_samplers import UniformRandomSampler
label_desc: Use image node_id 1 to create a new CubeExp object from inherited base classes: Lift with example: obj = CubeExp(robots, table_full_size, table_offset, placement_initializer, penalize_reward_on_collision, end_episode_on_collision)