<mujoco model="table_arena">
  <asset>
    <texture builtin="gradient" height="256" rgb1=".9 .9 1." rgb2=".2 .3 .4" type="skybox" width="256"/>
    <texture file="../textures/wood-tiles.png" type="2d" name="texplane"/>
    <material name="floorplane" reflectance="0.01" shininess="0.0" specular="0.0" texrepeat="2 2" texture="texplane" texuniform="true"/>
    <!-- ceramic table texture and material-->
    <texture file="../textures/ceramic.png" type="cube" name="tex-ceramic"/>
    <material name="table_ceramic" reflectance="0.0" shininess="0.0" specular="0.2" texrepeat="1 1" texture="tex-ceramic" />
    <!-- steel legs -->
    <texture file="../textures/steel-brushed.png" type="cube" name="tex-steel-brushed"/>
    <material name="table_legs_metal" reflectance="0.8" shininess="0.8" texrepeat="1 1" texture="tex-steel-brushed" />
    <!-- plaster walls -->
    <texture file="../textures/cream-plaster.png" type="2d" name="tex-cream-plaster"/>
    <material name="walls_mat" reflectance="0.0" shininess="0.1" specular="0.1" texrepeat="3 3" texture="tex-cream-plaster" texuniform="true" />
    <!-- added table texture and material for domain randomization -->
    <texture  name="textable" builtin="flat" height="512" width="512" rgb1="0.5 0.5 0.5" rgb2="0.5 0.5 0.5"/>
    <material name="table_mat" texture="textable" />

    <texture file="../textures/light-wood.png" type="2d" name="tex-light-wood"/>
    <texture file="../textures/dark-wood.png" type="2d" name="tex-dark-wood"/>
    <material name="light-wood" reflectance="0" texrepeat="15 15" texture="tex-light-wood" texuniform="true"/>
    <material name="dark-wood" reflectance="0" texrepeat="5 5" texture="tex-dark-wood" texuniform="true"/>

    <mesh file="meshes/trash_can.stl" name="trashcan_mesh" scale="0.01 0.01 0.02"/>
  </asset>
  <worldbody>
    <!-- Floor -->
    <geom condim="3" material="floorplane" name="floor" pos="0 0 0" size="3 3 .125" type="plane"/>
    <!-- Walls (visual only) -->
    <geom pos="-1.25 2.25 1.5" quat="0.6532815 0.6532815 0.2705981 0.2705981" size="1.06 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_leftcorner_visual" material="walls_mat"/>
    <geom pos="-1.25 -2.25 1.5" quat="0.6532815 0.6532815 -0.2705981 -0.2705981" size="1.06 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_rightcorner_visual" material="walls_mat"/>
    <geom pos="1.25 3 1.5" quat="0.7071 0.7071 0 0" size="1.75 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_left_visual" material="walls_mat"/>
    <geom pos="1.25 -3 1.5" quat="0.7071 -0.7071 0 0" size="1.75 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_right_visual" material="walls_mat"/>
    <geom pos="-2 0 1.5" quat="0.5 0.5 0.5 0.5" size="1.5 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_rear_visual" material="walls_mat"/>
    <geom pos="3 0 1.5" quat="0.5 0.5 -0.5 -0.5" size="3 1.5 0.01" type="box" conaffinity="0" contype="0" group="1" name="wall_front_visual" material="walls_mat"/>
    <!-- Table body -->
    <body name="bin1" pos="0.1 -0.26 0.8">
      <geom name="floor1" pos="0 0 0" size="0.2 0.25 0.02" type="box" group="0" friction="1 0.005 0.0001"/>
      <geom pos="0 0 0" material="light-wood" size="0.2 0.25 0.02" type="box" conaffinity="0" contype="0" group="1"/>
        <geom pos="0 0.25 0.03" size="0.21 0.01 0.01" type="box" group="0" friction="1 0.005 0.0001" rgba="0 0 1 1"/>
        <geom pos="0 0.25 0.03" size="0.21 0.01 0.01" type="box" conaffinity="0" contype="0" group="1" material="light-wood" name="bin1_left_wall"/>

        <geom pos="0 -0.25 0.03" size="0.21 0.01 0.01" type="box" group="0" friction="1 0.005 0.0001" rgba="0 0 1 1"/>
        <geom pos="0 -0.25 0.03" size="0.21 0.01 0.01" type="box" conaffinity="0" contype="0" group="1" material="light-wood" name="bin1_right_wall"/>

        <geom pos="0.2 0 0.03" size="0.01 0.25 0.01" type="box" group="0" friction="1 0.005 0.0001" rgba="0 0 1 1"/>
        <geom pos="0.2 0 0.03" size="0.01 0.25 0.01" type="box" conaffinity="0" contype="0" group="1" material="light-wood" name="bin1_front_wall"/>

        <geom pos="-0.2 0 0.03" size="0.01 0.25 0.01" type="box" group="0" friction="1 0.005 0.0001" rgba="0 0 1 1"/>
        <geom pos="-0.2 0 0.03" size="0.01 0.25 0.01" type="box" conaffinity="0" contype="0" group="1" material="light-wood" name="bin1_rear_wall"/>
        <!-- Legs (visual only) -->
        <geom pos="0.15 0.2 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin1_leg1_visual" material="table_legs_metal"/>
        <geom pos="-0.15 0.2 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin1_leg2_visual" material="table_legs_metal"/>
        <geom pos="-0.15 -0.2 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin1_leg3_visual" material="table_legs_metal"/>
        <geom pos="0.15 -0.2 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin1_leg4_visual" material="table_legs_metal"/>
    </body>
    <body name="bin2" pos="0.1 0.18 0.8">
    <!--floor-->
      <geom name="floor2" pos="0 0 0" size="0.2 0.175 0.02" type="box" group="0" friction="1 0.005 0.0001"/>
      <geom pos="0 0 0" size="0.2 0.175 0.02" type="box" conaffinity="0" contype="0" group="1" material="dark-wood"/>
        <!--right side -->
        <geom pos="0 0.175 0.05" size="0.2 0.01 0.05" type="box" group="0" friction="1 0.005 0.0001" rgba="1 0 0 1"/>
        <geom pos="0 0.175 0.05" size="0.2 0.01 0.05" type="box" conaffinity="0" contype="0" group="1" material="dark-wood"/>
        <!--left side -->
        <geom pos="0 -0.175 0.05" size="0.21 0.01 0.05" type="box" group="0" friction="1 0.005 0.0001" rgba="1 0 0 1"/>
        <geom pos="0 -0.175 0.05" size="0.21 0.01 0.05" type="box" conaffinity="0" contype="0" group="1" material="dark-wood"/>
        <!--front side-->
        <geom pos="0.2 0 0.05" size="0.01 0.175 0.05" type="box" group="0" friction="1 0.005 0.0001" rgba="1 0 0 1"/>
        <geom pos="0.2 0 0.05" size="0.01 0.175 0.05" type="box" conaffinity="0" contype="0" group="1" material="dark-wood"/>
        <!--robot side-->
        <geom pos="-0.2 0 0.05" size="0.01 0.175 0.05" type="box" group="0" friction="1 0.005 0.0001" rgba="1 0 0 1"/>
        <geom pos="-0.2 0 0.05" size="0.01 0.175 0.05" type="box" conaffinity="0" contype="0" group="1" material="dark-wood"/>
        <!-- Legs (visual only) -->
        <geom pos="0.15 0.1 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin2_leg1_visual" material="table_legs_metal"/>
        <geom pos="-0.15 0.1 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin2_leg2_visual" material="table_legs_metal"/>
        <geom pos="-0.15 -0.1 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin2_leg3_visual" material="table_legs_metal"/>
        <geom pos="0.15 -0.1 -0.4" size="0.01 0.4" type="cylinder" conaffinity="0" contype="0" group="1" name="bin2_leg4_visual" material="table_legs_metal"/>
    </body>
    
    <body name="trashcan" pos="0.1 0.18 0.825">
      <!-- <geom pos="0 0 0" mesh="trashcan_mesh" type="mesh" mass="1000" material="table_ceramic" group="0"/> -->
      <!-- <geom pos="0 0 0" mesh="trashcan_mesh" type="mesh" contype="0" conaffinity="0" rgba="0.1 0.1 0.5 0.5" group="1"/> -->
      <geom pos="0 0.08 0.0805" size="0.08 0.005 0.08" type="box" group="0" conaffinity="1" name="trashcan1_collision" friction="1 0.005 0.0001"/>
      <geom pos="0 0.08 0.0805" size="0.08 0.005 0.08" type="box" group="1" conaffinity="0" contype="0" name="trashcan1_visual" rgba="0.1 0.1 0.5 0.5"/>

      <geom pos="-0.08 0 0.0805" size="0.005 0.08 0.08" type="box" group="0" conaffinity="1" name="trashcan2_collsion" friction="1 0.005 0.0001"/>
      <geom pos = "-0.08 0 0.0805" size="0.005 0.08 0.08 " type="box" group="1" conaffinity="0" contype="0" name="trashcan2_visual" rgba="0.1 0.1 0.5 0.5"/>

      <geom pos="0.08 0 0.0805" size="0.005 0.08 0.08" type="box" group="0" conaffinity="1" name="trashcan3_collsion" friction="1 0.005 0.0001"/>
      <geom pos = "0.08 0 0.0805" size="0.005 0.08 0.08" type="box" group="1" conaffinity="0" contype="0" name="trashcan3_visual" rgba="0.1 0.1 0.5 0.5"/>

      <geom pos="0 -0.08 0.0805" size="0.08 0.005 0.08" type="box" group="0" conaffinity="1" name="trashcan4_collision" friction="1 0.005 0.0001"/>
      <geom pos="0 -0.08 0.0805" size="0.08 0.005 0.08" type="box" group="1" conaffinity="0" contype="0" name="trashcan4_visual" rgba="0.1 0.1 0.5 0.5"/>

      <geom pos="0 0 0." size="0.08 0.08 0.005" type="box" group="0" conaffinity="1" name="trashcan5_collision" friction="1 0.005 0.0001"/>
      <geom pos="0 0 0." size="0.08 0.08 0.005" type="box" group="1" conaffinity="0" contype="0" name="trashcan5_visual" rgba="0.1 0.1 0.5 0.5" friction="1 0.005 0.0001" />
    </body>

    <light name="light1" diffuse=".8 .8 .8" dir="0 -.15 -1" directional="false" pos="1 1 4.0" specular="0.3 0.3 0.3" castshadow="false"/>
    <light name="light2" diffuse=".8 .8 .8" dir="0 -.15 -1" directional="false" pos="-3. -3. 4.0" specular="0.3 0.3 0.3" castshadow="false"/>
    <!-- front view -->
    <camera mode="fixed" name="frontview" pos="1.6 0 1.45" quat="0.56 0.43 0.43 0.56"/>
    <!-- bird view -->
    <camera mode="fixed" name="birdview" pos="-0.2 0 3.0" quat="0.7071 0 0 0.7071"/>
    <!-- agent view -->
    <camera mode="fixed" name="agentview" pos="0.5 0 1.35" quat="0.653 0.271 0.271 0.653"/>
    <!-- side view -->
    <camera mode="fixed" name="sideview" pos="-0.05651774593317116 1.2761224129427358 1.4879572214102434" quat="0.009905065491771751 0.006877963156909582 0.5912228352893879 0.806418094001364" />
  </worldbody>
</mujoco>
