<joint name="joint1" type="revolute">
          <parent link="link1"/>
          <child link="link2"/>
-         <origin xyz="0.012 0.0 0.017" rpy="0 0 0"/>
+         <origin xyz="0.012 0.0 0.036" rpy="0 0 0"/> <!-- Height servo+horn -->
          <axis xyz="0 0 1"/>
          <limit velocity="4.8" effort="1" lower="${-pi}" upper="${pi}" />
   </joint>
   <!--  Link 2 -->
   <link name="link2">
          <visual>
-                 <origin xyz="0 0 0.019" rpy="0 0 0"/>
                  <geometry>
-                         <mesh filename="package://open_manipulator_description/meshes/chain_link2.stl" scale="0.001 0.001 0.001"/>
+                         <mesh filename="package://open_manipulator_description/meshes/chain_link2.stl" scale="${0.001*33.5/28.5} ${0.001*44/34} ${0.001*58.5/46.5}"/> <!-- scale by XM540 -->
                  </geometry>
                  <material name="grey"/>
          </visual>
 
          <collision>
-                 <origin xyz="0 0 0.019" rpy="0 0 0"/>
                  <geometry>
-                         <mesh filename="package://open_manipulator_description/meshes/chain_link2.stl" scale="0.001 0.001 0.001"/>
+                         <mesh filename="package://open_manipulator_description/meshes/chain_link2.stl" scale="${0.001*33.5/28.5} ${0.001*44/34} ${0.001*58.5/46.5}"/> <!-- scale by XM540 -->
                  </geometry>
          </collision>
 
   <joint name="joint2" type="revolute">
          <parent link="link2"/>
          <child link="link3"/>
-         <origin xyz="0.0 0.0 0.0595" rpy="0 0 0"/>
+         <origin xyz="0.0 0.0 0.0515" rpy="0 0 0"/> <!-- fr13-s102k to middle of servo horn -->
          <axis xyz="0 1 0"/>
          <limit velocity="4.8" effort="1" lower="${-pi*0.64}" upper="${pi*0.64}" />
   </joint>
          <visual>
                  <origin xyz="0 0 0" rpy="0 0 0"/>
                  <geometry>
-                         <mesh filename="package://open_manipulator_description/meshes/chain_link3.stl" scale="0.001 0.001 0.001"/>
+                         <mesh filename="package://open_manipulator_description/meshes/chain_link3.stl" scale="0.001 0.001 ${0.001*(1+0.004/0.128)}"/> <!-- scale by 4mm more, see joint3 -->
                  </geometry>
                  <material name="grey"/>
          </visual>
          <collision>
                  <origin xyz="0 0 0" rpy="0 0 0"/>
                  <geometry>
-                         <mesh filename="package://open_manipulator_description/meshes/chain_link3.stl" scale="0.001 0.001 0.001"/>
+                         <mesh filename="package://open_manipulator_description/meshes/chain_link3.stl" scale="0.001 0.001 ${0.001*(1+0.004/0.128)}"/> <!-- scale by 4mm more, see joint3 -->
                  </geometry>
          </collision>
 
   <joint name="joint3" type="revolute">
          <parent link="link3"/>
          <child link="link4"/>
-         <origin xyz="0.024 0 0.128" rpy="0 0 0"/>
+         <origin xyz="0.024 0 ${0.128+0.004}" rpy="0 0 0"/> <!-- 4mm more for FR13-H101K-->
          <axis xyz="0 1 0"/>
          <limit velocity="4.8" effort="1" lower="${-pi*0.64}" upper="${pi*0.48}" />
   </joint>