<?xml version="1.0" ?>
<robot name="kitchencupboard">
  <link name="root">
  </link>
  <joint name="root_rotation" type="fixed">
    <origin rpy="1.565 0 0" xyz="0 0 0"/>
    <parent link="root"/>
    <child link="body"/>
  </joint>
<!-- ______________________________________________Cabinet Cupboard BASE  -->
  <link name="body">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="70.0"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_base.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.460331 1.30752 0"/>
      <geometry>
        <box size="0.072219 2.57229 7.80631"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="-0.004134 2.53975 0"/>
      <geometry>
        <box size="1 0.12 8"/>
      </geometry>
    </collision>
     <collision>
      <origin rpy="0 0 0" xyz="-0.004134 0.078986 0"/>
      <geometry>
        <box size="1.2  0.12 8"/>
      </geometry>
    </collision>
     <collision>
      <origin rpy="0 0 0" xyz="-0.004134 0.915017 0"/>
      <geometry>
        <box size="1  0.025 8"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="-0.004134 1.5484 0"/>
      <geometry>
        <box size="1 0.038 8"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0 1.34061 -3.85506"/>
      <geometry>
        <box size="0.9 2.5 0.16"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0 1.34061 -1.63257"/>
      <geometry>
        <box size="0.9 2.5 0.061"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0 1.34061 -0.005452"/>
      <geometry>
        <box size="0.9 2.5 0.05"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0 1.34061 1.69445"/>
      <geometry>
        <box size="0.9 2.5 0.05"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0 1.34061 3.85506"/>
      <geometry>
        <box size="0.9 2.5 0.16"/>
      </geometry>
    </collision>
  </link>

 <!-- ______________________________________________Cabinet doors WHOLES  -->
  <!-- whole1 1L -->
  <joint name="doorWhole_1L_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.33 1.625"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWhole_1L"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="-2.3" upper="0" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWhole_1L">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWhole_L.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 -0.402087"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 -0.750058"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>

<!-- whole2 1R  -->
<joint name="doorWhole_1R_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.33 -0.025"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWhole_1R"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="0" upper="2.3" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWhole_1R">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWhole_R.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 0.402087"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 0.750058"/>
      <geometry>
        <box size="0.047 0.72 0.047"/>  
      </geometry>
    </collision>
  </link>
  

<!-- whole3 2L -->
  <joint name="doorWhole_2L_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.33 -0.055"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWhole_2L"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="-2.3" upper="0" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWhole_2L">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWhole_L.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 -0.402087"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 -0.750058"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>

<!-- whole4 2R  -->
<joint name="doorWhole_2R_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.33 -1.695"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWhole_2R"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="0" upper="2.3" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWhole_2R">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWhole_R.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 0.402087"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 0.750058"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>
  

 <!-- ______________________________________________Cabinet doors WINDOWS  -->
  <!-- window1 1L -->
  <joint name="doorWindow_1L_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.315 3.78"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWindow_1L"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="-2.3" upper="0" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWindow_1L">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWindow_L.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 -0.575"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 -1.0"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>

  <!-- window2 1R -->
  <joint name="doorWindow_1R_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.315 1.66"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWindow_1R"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="0" upper="2.3" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWindow_1R">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWindow_R.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 0.525"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 1.0"/>
      <geometry>
        <box size="0.047 0.72 0.047"/>
      </geometry>
    </collision>
  </link>


 <!-- window3 2L -->
  <joint name="doorWindow_2L_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.315 -1.7"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWindow_2L"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="-2.3" upper="0" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWindow_2L">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWindow_L.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 -0.525"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 -1.0"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>

  <!-- window4 2R -->
  <joint name="doorWindow_2R_hinge" type="revolute">
    <origin rpy="0 0 0" xyz="0.468 1.315 -3.81"/>
    <parent link="body"/>
    <child link="kitchencupboard_doorWindow_2R"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.01" friction="0.01"/>
    <limit effort="44.4" lower="0" upper="2.3" velocity="40"/>
  </joint>
  <link name="kitchencupboard_doorWindow_2R">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="8"/>
      <!-- Warning: dummy inertia. Expect that inertia diagonal will be computed during load. -->
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kitchencupboard_doorWindow_R.glb" scale="1.0, 1.0, 1.0"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.029102 0 0.525"/>
      <geometry>
        <box size="0.065 2.3 0.82"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="0.129008 -0.79404 1.0058"/>
      <geometry>
        <box size="0.047 0.72 0.047"/> 
      </geometry>
    </collision>
  </link>


 <!-- ______________________________________________END OF CUPBOARD  -->
</robot>
