<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /home/psardin/devel/franka_ros2_ws/src/franka_description/robots/fr3/fr3.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="fr3">
  <!-- safety_distance: Minimum safety distance in [m] by which the collision volumes are expanded and which is enforced during robot motions -->
  <!-- robot_type: Namespace of the robot arm. Serves to differentiate between arms in case of multiple instances. -->
  <!-- joint_limits: description of the joint limits that comes from a YAML file. Example definition: ${xacro.load_yaml('$(find franka_description)/robots/fr3/joint_limits.yaml')} -->
  <!-- kinematics: description of the kinematics that comes from a YAML file. Example definition: ${xacro.load_yaml('$(find franka_description)/robots/fr3/kinematics.yaml')} -->
  <!-- inertials: description of the inertials that comes from a YAML file. Example definition: ${xacro.load_yaml('$(find franka_description)/robots/fr3/inertials.yaml')} -->
  <!-- dynamics: description of the dynamics that comes from a YAML file. Example definition: ${xacro.load_yaml('$(find franka_description)/robots/fr3/dynamics.yaml')} -->
  <link name="base">
      </link>
  <joint name="fr3_base_joint" type="fixed">
    <parent link="base"/>
    <child link="fr3_link0"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link0">
    <visual name="fr3_link0_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link0.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link0_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link0.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.0172 0.0004 0.0745"/>
      <mass value="2.3966"/>
      <inertia ixx="0.009" ixy="0.0" ixz="0.002" iyy="0.0115" iyz="0.0" izz="0.0085"/>
    </inertial>
  </link>
  <link name="fr3_link0_accelerometer_top">
      </link>
  <joint name="fr3_link0_accelerometer_top_joint" type="fixed">
    <origin rpy="3.14159 0 0" xyz="0 0 0.05"/>
    <parent link="fr3_link0"/>
    <child link="fr3_link0_accelerometer_top"/>
  </joint>
  <link name="fr3_link0_accelerometer_bottom">
      </link>
  <joint name="fr3_link0_accelerometer_bottom_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.06"/>
    <parent link="fr3_link0"/>
    <child link="fr3_link0_accelerometer_bottom"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link1">
    <visual name="fr3_link1_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link1.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link1_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link1.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0000004128 -0.0181251324 -0.0386035970"/>
      <mass value="2.9274653454"/>
      <inertia ixx="0.023927316485107913" ixy="1.3317903455714081e-05" ixz="-0.00011404774918616684" iyy="0.0224821613275756" iyz="-0.0019950320628240115" izz="0.006350098258530016"/>
    </inertial>
  </link>
  <link name="fr3_link1_accelerometer_top">
      </link>
  <joint name="fr3_link1_accelerometer_top_joint" type="fixed">
    <origin rpy="1.5708 0 0" xyz="0 -0.1 0.0"/>
    <parent link="fr3_link1"/>
    <child link="fr3_link1_accelerometer_top"/>
  </joint>
  <link name="fr3_link1_accelerometer_bottom">
      </link>
  <joint name="fr3_link1_accelerometer_bottom_joint" type="fixed">
    <origin rpy="-1.5708 0 0" xyz="0 -0.09 0.0"/>
    <parent link="fr3_link1"/>
    <child link="fr3_link1_accelerometer_bottom"/>
  </joint>
  <joint name="fr3_joint1" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0.333"/>
    <parent link="fr3_link0"/>
    <child link="fr3_link1"/>
    <axis xyz="0 0 1"/>
    <limit effort="87.0" lower="-2.9007" upper="2.9007" velocity="2.62"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.9007" soft_upper_limit="2.9007"/>
    <position_based_velocity_limits deceleration_limit="6.0" velocity_offset="0.652"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link2">
    <visual name="fr3_link2_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link2.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link2_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link2.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0031828864 -0.0743221644 0.0088146084"/>
      <mass value="2.9355370338"/>
      <inertia ixx="0.041938946257609425" ixy="0.00020257331521090626" ixz="0.004077784227179924" iyy="0.02514514885014724" iyz="-0.0042252158006570156" izz="0.06170214472888839"/>
    </inertial>
  </link>
  <link name="fr3_link2_accelerometer_top">
      </link>
  <joint name="fr3_link2_accelerometer_top_joint" type="fixed">
    <origin rpy="-1.5708 0 0" xyz="0 -0.13 0"/>
    <parent link="fr3_link2"/>
    <child link="fr3_link2_accelerometer_top"/>
  </joint>
  <link name="fr3_link2_accelerometer_bottom">
      </link>
  <joint name="fr3_link2_accelerometer_bottom_joint" type="fixed">
    <origin rpy="1.5708 0 0" xyz="0 -0.14 0"/>
    <parent link="fr3_link2"/>
    <child link="fr3_link2_accelerometer_bottom"/>
  </joint>
  <joint name="fr3_joint2" type="revolute">
    <origin rpy="-1.570796326794897 0 0" xyz="0 0 0"/>
    <parent link="fr3_link1"/>
    <child link="fr3_link2"/>
    <axis xyz="0 0 1"/>
    <limit effort="87.0" lower="-1.8361" upper="1.8361" velocity="2.62"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-1.8361" soft_upper_limit="1.8361"/>
    <position_based_velocity_limits deceleration_limit="2.585" velocity_offset="0.25"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link3">
    <visual name="fr3_link3_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link3.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link3_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link3.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0407015686 -0.0048200565 -0.0289730823"/>
      <mass value="2.2449013699"/>
      <inertia ixx="0.02410142547240885" ixy="0.002404694559042109" ixz="-0.002856269270114313" iyy="0.01974053266708178" iyz="-0.002104212683891874" izz="0.019044494482244823"/>
    </inertial>
  </link>
  <link name="fr3_link3_accelerometer_top">
      </link>
  <joint name="fr3_link3_accelerometer_top_joint" type="fixed">
    <origin rpy="-1.5708 0 0" xyz="0.0825 0.05 0"/>
    <parent link="fr3_link3"/>
    <child link="fr3_link3_accelerometer_top"/>
  </joint>
  <link name="fr3_link3_accelerometer_bottom">
      </link>
  <joint name="fr3_link3_accelerometer_bottom_joint" type="fixed">
    <origin rpy="1.5708 0 0" xyz="0.0825 0.04 0"/>
    <parent link="fr3_link3"/>
    <child link="fr3_link3_accelerometer_bottom"/>
  </joint>
  <joint name="fr3_joint3" type="revolute">
    <origin rpy="1.570796326794897 0 0" xyz="0 -0.316 0"/>
    <parent link="fr3_link2"/>
    <child link="fr3_link3"/>
    <axis xyz="0 0 1"/>
    <limit effort="87.0" lower="-2.9007" upper="2.9007" velocity="2.62"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.9007" soft_upper_limit="2.9007"/>
    <position_based_velocity_limits deceleration_limit="3.5" velocity_offset="0.2005"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link4">
    <visual name="fr3_link4_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link4.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link4_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link4.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.0459100965 0.0630492960 -0.0085187868"/>
      <mass value="2.6155955791"/>
      <inertia ixx="0.03452998321913202" ixy="0.01322552265982813" ixz="0.01015142998484113" iyy="0.028881621933049058" iyz="-0.0009762833870704552" izz="0.04125471171146641"/>
    </inertial>
  </link>
  <link name="fr3_link4_accelerometer_top">
      </link>
  <joint name="fr3_link4_accelerometer_top_joint" type="fixed">
    <origin rpy="1.5708 0 0" xyz="-0.0825 0.05 0"/>
    <parent link="fr3_link4"/>
    <child link="fr3_link4_accelerometer_top"/>
  </joint>
  <link name="fr3_link4_accelerometer_bottom">
      </link>
  <joint name="fr3_link4_accelerometer_bottom_joint" type="fixed">
    <origin rpy="-1.5708 0 0" xyz="-0.0825 0.06 0"/>
    <parent link="fr3_link4"/>
    <child link="fr3_link4_accelerometer_bottom"/>
  </joint>
  <joint name="fr3_joint4" type="revolute">
    <origin rpy="1.570796326794897 0 0" xyz="0.0825 0 0"/>
    <parent link="fr3_link3"/>
    <child link="fr3_link4"/>
    <axis xyz="0 0 1"/>
    <limit effort="87.0" lower="-3.077" upper="-0.1169" velocity="2.62"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-3.077" soft_upper_limit="-0.1169"/>
    <position_based_velocity_limits deceleration_limit="4.0" velocity_offset="0.3542"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link5">
    <visual name="fr3_link5_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link5.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link5_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link5.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.0016039605 0.0292536262 -0.0972965990"/>
      <mass value="2.3271207594"/>
      <inertia ixx="0.051610278463662895" ixy="-0.005715173387783472" ixz="-0.0035673167625872135" iyy="0.04787729713371481" iyz="0.010673985108535986" izz="0.016423625579357254"/>
    </inertial>
  </link>
  <link name="fr3_link5_accelerometer_top">
      </link>
  <joint name="fr3_link5_accelerometer_top_joint" type="fixed">
    <origin rpy="-1.5708 0 0" xyz="0 0.11 0"/>
    <parent link="fr3_link5"/>
    <child link="fr3_link5_accelerometer_top"/>
  </joint>
  <link name="fr3_link5_accelerometer_bottom">
      </link>
  <joint name="fr3_link5_accelerometer_bottom_joint" type="fixed">
    <origin rpy="1.5708 0 0" xyz="0 0.1 0"/>
    <parent link="fr3_link5"/>
    <child link="fr3_link5_accelerometer_bottom"/>
  </joint>
  <joint name="fr3_joint5" type="revolute">
    <origin rpy="-1.570796326794897 0 0" xyz="-0.0825 0.384 0"/>
    <parent link="fr3_link4"/>
    <child link="fr3_link5"/>
    <axis xyz="0 0 1"/>
    <limit effort="12.0" lower="-2.8763" upper="2.8763" velocity="5.26"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.8763" soft_upper_limit="2.8763"/>
    <position_based_velocity_limits deceleration_limit="17.0" velocity_offset="0.5738"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link6">
    <visual name="fr3_link6_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link6.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link6_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link6.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0597131221 -0.0410294666 -0.0101692726"/>
      <mass value="1.8170376524"/>
      <inertia ixx="0.005412333594383447" ixy="0.006193456360285834" ixz="0.0014219289306117652" iyy="0.014058329545509979" iyz="-0.0013140753741120031" izz="0.016080817924212554"/>
    </inertial>
  </link>
  <joint name="fr3_joint6" type="revolute">
    <origin rpy="1.570796326794897 0 0" xyz="0 0 0"/>
    <parent link="fr3_link5"/>
    <child link="fr3_link6"/>
    <axis xyz="0 0 1"/>
    <limit effort="12.0" lower="0.4398" upper="4.6216" velocity="4.18"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="0.4398" soft_upper_limit="4.6216"/>
    <position_based_velocity_limits deceleration_limit="5.5" velocity_offset="0.4885"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_link7">
    <visual name="fr3_link7_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/visual/link7.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_link7_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robots/fr3/collision/link7.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0045225817 0.0086261921 -0.0161633251"/>
      <mass value="0.6271432862"/>
      <inertia ixx="0.00021092389150104718" ixy="-2.433299114461931e-05" ixz="4.564480393778983e-05" iyy="0.00017718568002411474" iyz="8.744070223226438e-05" izz="5.993190599659971e-05"/>
    </inertial>
  </link>
  <joint name="fr3_joint7" type="revolute">
    <origin rpy="1.570796326794897 0 0" xyz="0.088 0 0"/>
    <parent link="fr3_link6"/>
    <child link="fr3_link7"/>
    <axis xyz="0 0 1"/>
    <limit effort="12.0" lower="-3.0508" upper="3.0508" velocity="5.26"/>
    <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-3.0508" soft_upper_limit="3.0508"/>
    <position_based_velocity_limits deceleration_limit="17.0" velocity_offset="0.4592"/>
    <dynamics D="1" K="7000" damping="0.003" friction="0.2" mu_coulomb="0" mu_viscous="16"/>
  </joint>
  <link name="fr3_link8"/>
  <joint name="fr3_joint8" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.107"/>
    <parent link="fr3_link7"/>
    <child link="fr3_link8"/>
  </joint>
  <joint name="fr3_hand_joint" type="fixed">
    <parent link="fr3_link8"/>
    <child link="fr3_hand"/>
    <origin rpy="0 0 -0.7853981633974483" xyz="0 0 0"/>
  </joint>
  <!-- sub-link defining detailed meshes for collision with environment -->
  <link name="fr3_hand">
    <visual name="fr3_hand_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robot_ee/franka_hand_white/visual/hand.dae"/>
      </geometry>
    </visual>
    <collision name="fr3_hand_collision">
      <geometry>
        <mesh filename="package://franka_description/meshes/robot_ee/franka_hand_white/collision/hand.stl"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.0000376 0.0119128 0.0207260"/>
      <mass value="0.6544"/>
      <inertia ixx="0.00186" ixy="0.0" ixz="0.0" iyy="0.0003" iyz="-2e-05" izz="0.00174"/>
    </inertial>
  </link>
  <!-- Define the hand_tcp frame -->
  <link name="fr3_hand_tcp"/>
  <joint name="fr3_hand_tcp_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.1034"/>
    <parent link="fr3_hand"/>
    <child link="fr3_hand_tcp"/>
  </joint>
  <link name="fr3_leftfinger">
    <visual name="fr3_leftfinger_visual">
      <geometry>
        <mesh filename="package://franka_description/meshes/robot_ee/franka_hand_white/visual/finger.dae"/>
      </geometry>
    </visual>
    <!-- screw mount -->
    <collision>
      <origin rpy="0 0 0" xyz="0 18.5e-3 11e-3"/>
      <geometry>
        <box size="22e-3 15e-3 20e-3"/>
      </geometry>
    </collision>
    <!-- cartriage sledge -->
    <collision>
      <origin rpy="0 0 0" xyz="0 6.8e-3 2.2e-3"/>
      <geometry>
        <box size="22e-3 8.8e-3 3.8e-3"/>
      </geometry>
    </collision>
    <!-- diagonal finger -->
    <collision>
      <origin rpy="0.5235987755982988 0 0" xyz="0 15.9e-3 28.35e-3"/>
      <geometry>
        <box size="17.5e-3 7e-3 23.5e-3"/>
      </geometry>
    </collision>
    <!-- rubber tip with which to grasp -->
    <collision>
      <origin rpy="0 0 0" xyz="0 7.58e-3 45.25e-3"/>
      <geometry>
        <box size="17.5e-3 15.2e-3 18.5e-3"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0.0152850 0.0219675"/>
      <mass value="0.0291"/>
      <inertia ixx="8.49e-06" ixy="0.0" ixz="0.0" iyy="8.53e-06" iyz="-1.06e-06" izz="1.77e-06"/>
    </inertial>
  </link>
  <link name="fr3_rightfinger">
    <visual name="fr3_rightfinger_visual">
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://franka_description/meshes/robot_ee/franka_hand_white/visual/finger.dae"/>
      </geometry>
    </visual>
    <!-- screw mount -->
    <collision>
      <origin rpy="0 0 0" xyz="0 18.5e-3 11e-3"/>
      <geometry>
        <box size="22e-3 15e-3 20e-3"/>
      </geometry>
    </collision>
    <!-- cartriage sledge -->
    <collision>
      <origin rpy="0 0 0" xyz="0 6.8e-3 2.2e-3"/>
      <geometry>
        <box size="22e-3 8.8e-3 3.8e-3"/>
      </geometry>
    </collision>
    <!-- diagonal finger -->
    <collision>
      <origin rpy="-0.5235987755982988 0 3.141592653589793" xyz="0 15.9e-3 28.35e-3"/>
      <geometry>
        <box size="17.5e-3 7e-3 23.5e-3"/>
      </geometry>
    </collision>
    <!-- rubber tip with which to grasp -->
    <collision>
      <origin rpy="0 0 0" xyz="0 7.58e-3 45.25e-3"/>
      <geometry>
        <box size="17.5e-3 15.2e-3 18.5e-3"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0.0152850 0.0219675"/>
      <mass value="0.0291"/>
      <inertia ixx="8.49e-06" ixy="0.0" ixz="0.0" iyy="8.53e-06" iyz="-1.06e-06" izz="1.77e-06"/>
    </inertial>
  </link>
  <joint name="fr3_finger_joint1" type="prismatic">
    <parent link="fr3_hand"/>
    <child link="fr3_leftfinger"/>
    <origin rpy="0 0 0" xyz="0 0 0.0584"/>
    <axis xyz="0 1 0"/>
    <limit effort="100" lower="0.0" upper="0.04" velocity="0.2"/>
    <dynamics damping="0.3"/>
  </joint>
  <joint name="fr3_finger_joint2" type="prismatic">
    <parent link="fr3_hand"/>
    <child link="fr3_rightfinger"/>
    <origin rpy="0 0 3.141592653589793" xyz="0 0 0.0584"/>
    <axis xyz="0 1 0"/>
    <limit effort="100" lower="0.0" upper="0.04" velocity="0.2"/>
    <mimic joint="fr3_finger_joint1"/>
    <dynamics damping="0.3"/>
  </joint>
</robot>
