<mujoco model="sawyer_assembly">
    <asset>
    <texture file="../textures/light-wood.png" name="tex-light-wood" type="2d" />
    <material name="light-wood" reflectance="0.5" texrepeat="15 15" texture="tex-light-wood" texuniform="true" />
    <mesh file="../meshes/toy_table/0.stl" name="part0" scale="0.042025927036999993 0.042025927036999993 0.077025927036999993" />
    <mesh file="../meshes/toy_table/1.stl" name="part1" scale="0.042025927036999993 0.042025927036999993 0.077025927036999993" />
    <mesh file="../meshes/toy_table/4.stl" name="part4" scale="0.047025927036999993 0.047025927036999993 0.047025927036999993" />
    <mesh file="../meshes/toy_table/2.stl" name="part2" scale="0.042025927036999993 0.042025927036999993 0.077025927036999993" />

    <!-- 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"/>

    <!-- <texture builtin="gradient" height="256" rgb1=".9 .9 1." rgb2=".2 .3 .4" type="skybox" width="256"/> -->
    <texture file="../textures/gray-plaster.png" type="2d" name="tex-floor"/>
    <material name="floor_mat" reflectance="0.01" shininess="0.0" specular="0.0" texrepeat="2 2" texture="tex-floor" texuniform="true"/>

    <mesh file="../objects/meshes/cabinet_1.stl" name="cabinet-mesh" scale="0.12 0.10 0.10"/>
    <texture type="2d" file="../textures/wooden-cabinet.png" name="cabinet-texture"/>
    <material name="cabinet-material" reflectance="0.5" texture="cabinet-texture" texuniform="true"/>

    <!-- assets for bin -->
    <mesh file="../objects/meshes/bin.stl" name="bin-mesh" scale="1.0 1.0 1.0"/>
    <texture type="2d" file="../textures/pink-plaster.png" name="bin-texture"/>
    <material name="bin-material" reflectance="0.5" texture="bin-texture" texuniform="true"/>

    </asset>
    <include file="./common/sawyer_assembly.xml" />
    <default>
    </default>
    <visual>
      <headlight ambient=".5 .5 .5" diffuse=".8 .8 .8" specular="0.1 0.1 0.1"/>
      <map znear=".01"/>
      <quality shadowsize="2048"/>
    </visual>

    <worldbody>

      <!-- Walls (visual only) -->
        <geom pos="-2.3 2.5 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="-2.3 -2.5 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="-0.7 0 1.5" quat="0.5 0.5 0.5 0.5" size="2 2 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">

        <!-- Floor -->
        <geom condim="3" material="floor_mat" name="floor" pos="0 0 0.1" size="3 3 .125" type="plane"/>

    <body name="cabinet" pos="-0.5 0.3 -1.5">
      <geom pos="0 -1.2 1.65" size="1 1 1" type="mesh" mesh="cabinet-mesh" conaffinity="0" contype="0" group="1" name='cabinet' material="cabinet-material" quat="1.0 0 0 1.0"/>   
    </body>

    <body name="bin" pos="-0.54 1.2 0.41">
        <geom pos="0.3 -0.15 0" size="2 2 2" type="mesh" mesh="bin-mesh" conaffinity="2" contype="2" group="1" name='bin' material="bin-material" quat="1 1 0 0"/>   
    </body>

      <body name="table" pos="0.66 0.0 0.41">
        <geom friction="1 0.005 0.0001" name="table_collision" pos="0 0 0" size="0.4 0.6 0.41" type="box"  rgba="0.3 0.3 0.3 1.0"/>
        <geom conaffinity="0" contype="0" group="1" name="table_visual" pos="0 0 0" size="0.4 0.4 0.41" type="box" rgba="0.3 0.3 0.3 1.0" />
        <site name="table_top" pos="0.0 0.0 0.41" rgba="0 0 0 0" size="0.001 0.001 0.001" />
     </body>
     <body name="furniture" pos="0.9 -0.1 1.08" quat="1 0 0 0.5">
        <joint type='free' damping='0.0001' />
        <body name="4_part4" pos="-0.17516966081204696 0.17516964229908347 -0.22027505841291783" quat="0 0 -1 0">
          <geom conaffinity="0" contype="0" density="50" mesh="part4" name="4_part4_mesh" pos="0.0 0.0 0.0" rgba="0.82 0.71 0.55 1" type="mesh" />
          <site name="hole" pos="0.225 -0.225 -0.00" size="0.005" rgba="0 0. 1 0.3"/>
          <site name="hole_bottom" pos="0.225 -0.225 0.02" size="0.005" rgba="0 0. 1 0.3"/>

          <geom density="50" quat="1         0 0          0" name="noviz_collision_4_part4_16" pos="0.225 -0.268 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />
          <geom density="50" quat="1         0 0          0" name="noviz_collision_4_part4_17" pos="0.225 -0.182 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />

          <geom density="50" quat="0.7071067 0 0 -0.7071068" name="noviz_collision_4_part4_18" pos="0.268 -0.225 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />
          <geom density="50" quat="0.7071067 0 0 -0.7071068" name="noviz_collision_4_part4_19" pos="0.177 -0.225 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />

          <geom density="50" quat="0.9238796 0 0  0.3826834" name="noviz_collision_4_part4_20" pos="0.255 -0.253 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />
          <geom density="50" quat="0.9238796 0 0 -0.3826834" name="noviz_collision_4_part4_21" pos="0.255 -0.197 -0.00268" rgba="1 0 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />

          <geom density="50" quat="0.9238796 0 0 -0.3826834" name="noviz_collision_4_part4_22" pos="0.195 -0.258 -0.00268" rgba="1 1 1 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />
          <geom density="50" quat="0.9238796 0 0  0.3826834" name="noviz_collision_4_part4_23" pos="0.195 -0.190 -0.00268" rgba="1 1 0 0" size="0.02 0.015 0.03" solref="0.001 1" type="box" />
          <geom density="50" name="noviz_collision_4_part4_24" pos="0 0 0.032" rgba="1 1 0 0" size="0.2 0.2 0.01" solref="0.001 1" type="box" />
          <geom density="50" name="noviz_collision_4_part4_25" pos="0.228 0 0.032" rgba="1 1 0 0" size="0.028 0.185 0.01" solref="0.001 0" type="box" />
          <geom density="50" name="noviz_collision_4_part4_26" pos="-0.228 0 0.032" rgba="1 1 0 0" size="0.028 0.185 0.01" solref="0.001 0" type="box" />
          <geom density="50" name="noviz_collision_4_part4_27" pos="0 -0.228 0.032" rgba="1 1 0 0" size="0.185 0.028 0.01" solref="0.001 0" type="box" />
          <geom density="50" name="noviz_collision_4_part4_28" pos="0 0.228 0.032" rgba="1 1 0 0" size="0.185 0.028 0.01" solref="0.001 0" type="box" />
        </body>

        <body name="2_part2" pos="-0.0 0.3503393216240939 0.1" quat="1 0 0 0">
          <geom conaffinity="0" contype="0" density="01" mesh="part2" name="2_part2_mesh" pos="0.05 0.05 0.0" rgba="0.82 0.71 0.55 1" type="mesh" />
          <geom density="50" name="noviz_collision_2_part2_0" pos="0.05 0.05 0.15" quat="1 0 0 0" rgba="1 0 0 0" size="0.027 0.16" solref="0.001 1" type="cylinder" />
          <geom density="50" name="noviz_collision_2_part2_1" pos="0.05 0.05 -0.18" quat="1 0 0 0" rgba="1 0 0 0" size="0.025 0.17" solref="0.001 1" type="cylinder" />
        </body>

        <body name="1_part1" pos="-0.3503393216240939 0.3503393216240939 0.1" quat="1 0 0 0">
          <geom conaffinity="0" contype="0" density="01" mesh="part1" name="1_part1_mesh" pos="-0.05 0.05 0.0" rgba="0.82 0.71 0.55 1" type="mesh" />
          <geom density="50" name="noviz_collision_1_part1_0" pos="-0.05 0.05 0.15" quat="1 0 0 0" rgba="1 0 0 0" size="0.027 0.16" solref="0.001 1" type="cylinder" />
          <geom density="50" name="noviz_collision_1_part1_1" pos="-0.05 0.05 -0.18" quat="1 0 0 0" rgba="1 0 0 0" size="0.025 0.17" solref="0.001 1" type="cylinder" />
        </body>

        <body name="0_part0" pos="-0.0 0.0 0.1" quat="1 0 0 0">
          <geom conaffinity="0" contype="0" density="0" mesh="part0" name="0_part0_mesh" pos="0.05 -0.05 0.0" rgba="0.82 0.71 0.55 1" type="mesh" />
          <geom density="50" name="noviz_collision_0_part0_0" pos="0.05 -0.05 0.15" quat="1 0 0 0" rgba="1 0 0 0" size="0.027 0.16" solref="0.001 1" type="cylinder" />
          <geom density="50" name="noviz_collision_0_part0_1" pos="0.05 -0.05 -0.18" quat="1 0 0 0" rgba="1 0 0 0" size="0.025 0.17" solref="0.001 1" type="cylinder" />
        </body>

     </body>

    </worldbody>
</mujoco>
