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: Loads an xml model, puts it in self.model
docstr_tok: ["Loads","an","xml","model",",","puts","it","in","self.model"]
code: def _load_model(self):
      """
      Loads an xml model, puts it in self.model
      """
      SingleArmEnv._load_model(self)
  
      # Adjust base pose accordingly
      xpos = self.robots[0].robot_model.base_xpos_offset["table"](
          self.table_full_size[0]
      )
      self.robots[0].robot_model.set_base_xpos(xpos)
  
      # load model for table top workspace
      mujoco_arena = TableArena(
          table_full_size=self.table_full_size,
          table_friction=self.table_friction,
          table_offset=self.table_offset,
      )
  
      # Arena always gets set to zero origin
      mujoco_arena.set_origin([0, 0, 0])
  
      cube_material = self._get_cube_material()
      self.cube = BoxObject(
          name="cube",
          size_min=(0.025, 0.025, 0.025),
          size_max=(0.025, 0.025, 0.025),
          rgba=[1, 0, 0, 1],
          material=cube_material,
      )
  
      self.placement_initializer.reset()
      self.placement_initializer.add_objects(self.cube)
  
      # task includes arena, robot, and objects of interest
      self.model = ManipulationTask(
          mujoco_arena=mujoco_arena,
          mujoco_robots=[robot.robot_model for robot in self.robots],
          mujoco_objects=self.cube,
      )
  
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 2 for calling the CubeExp obj's underlying member method code with example usage: obj._load_model() without return types