<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from ./talos_full_v2.urdf.xacro     | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<!--

  Copyright (c) 2016, PAL Robotics, S.L.
  All rights reserved.

  This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
  To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to
  Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
-->
<robot name="talos" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:xacro="http://ros.org/wiki/xacro">
  <material name="FlatBlack">
    <color rgba="0.1 0.1 0.1 1"/>
  </material>
  <!--************************-->
  <!--        TORSO_2  (TILT) -->
  <!--************************-->
  <link name="torso_2_link">
    <inertial>
      <mass value="16.97403"/>
      <inertia ixx="0.44372633826" ixy="0.00069132133" ixz="-0.01218206353" iyy="0.2998576068" iyz="-0.00019623338" izz="0.32201554742"/>
      <origin rpy="0 0 0" xyz="-0.0463563 -0.00099023 0.1452805"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/torso_2.STL" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/torso_2_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <!--************************-->
  <!--        TORSO_1  (PAN)  -->
  <!--************************-->
  <link name="torso_1_link">
    <inertial>
      <mass value="2.294658"/>
      <inertia ixx="0.00638508087" ixy="-7.107e-08" ixz="-3.065592e-05" iyy="0.00410256102" iyz="-1.46946e-06" izz="0.00622968815"/>
      <origin rpy="0 0 0" xyz="0.00078223 3.528e-05 -0.01782457"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/torso_1.STL" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/torso_1.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="torso_1_joint" type="revolute">
    <parent link="base_link"/>
    <child link="torso_1_link"/>
    <!-- XXX AS: The kinematic chain order for the torso was reversed manually. This value does not match the CAD model. XXX -->
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0722"/>
    <axis xyz="0 0 1"/>
    <limit effort="200.0" lower="-1.25663706144" upper="1.25663706144" velocity="5.4"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!-- <safety_controller k_position="20"
                         k_velocity="20"
                         soft_lower_limit="${-15.0 * deg_to_rad + torso_eps}"
                         soft_upper_limit="${ 45.0 * deg_to_rad - torso_eps}" /> -->
  </joint>
  <!--************************-->
  <!--        BASE_LINK       -->
  <!--************************-->
  <link name="base_link">
    <inertial>
      <mass value="15.36284"/>
      <inertia ixx="0.20105075811" ixy="0.00023244734" ixz="0.0040167728" iyy="0.08411496729" iyz="-0.00087206649" izz="0.2318908414"/>
      <origin rpy="0 0 0" xyz="-0.05709419 0.00153054 -0.0762521"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/base_link.STL" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/torso/base_link_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="torso_2_joint" type="revolute">
    <parent link="torso_1_link"/>
    <child link="torso_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
    <axis xyz="0 1 0"/>
    <limit effort="200.0" lower="-0.226892802759" upper="0.733038285838" velocity="5.4"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!-- <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <link name="imu_link">
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="1e-06" ixy="0.0" ixz="0.0" iyy="1e-06" iyz="0.0" izz="1e-06"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </visual>
  </link>
  <joint name="imu_joint" type="fixed">
    <origin rpy="3.14159265359 0 1.57079632679" xyz="0.04925 0 0.078"/>
    <parent link="torso_2_link"/>
    <child link="imu_link"/>
  </joint>
  <gazebo reference="torso_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="torso_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="base_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="torso_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="torso_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <transmission name="talos_torso_trans">
    <type>transmission_interface/DifferentialTransmission</type>
    <actuator name="torso_1_motor">
      <role>actuator1</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <actuator name="torso_2_motor">
      <role>actuator2</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="torso_1_joint">
      <role>joint1</role>
      <offset>0.0</offset>
      <mechanicalReduction>1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <joint name="torso_2_joint">
      <role>joint2</role>
      <offset>0.0</offset>
      <mechanicalReduction>1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <link name="head_1_link">
    <inertial>
      <mass value="0.73746"/>
      <inertia ixx="0.00224878584" ixy="4.69375e-06" ixz="8.55557e-05" iyy="0.00111158492" iyz="-4.132536e-05" izz="0.00205225921"/>
      <origin rpy="0 0 0" xyz="-0.00157211 -0.00157919 0.02175767"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/head/head_1.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/head/head_1_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="head_1_joint" type="revolute">
    <parent link="torso_2_link"/>
    <child link="head_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.02000 0.00000 0.32100"/>
    <axis xyz="0 1 0"/>
    <limit effort="8.0" lower="-0.209439510239" upper="0.785398163397" velocity="1.0"/>
    <dynamics damping="0.5" friction="1.0"/>
    <!-- <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-15.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${45.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <gazebo reference="head_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="head_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="head_1_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <link name="head_2_link">
    <inertial>
      <mass value="1.443954"/>
      <inertia ixx="0.01084624339" ixy="1.050889e-05" ixz="0.00041594252" iyy="0.0109569176" iyz="2.367831e-05" izz="0.00571698895"/>
      <origin rpy="0 0 0" xyz="0.01002657 5.218e-05 0.14136068"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/head/head_2.stl" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/head/head_2_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="head_2_joint" type="revolute">
    <parent link="head_1_link"/>
    <child link="head_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="0 0 1"/>
    <limit effort="4.0" lower="-1.308996939" upper="1.308996939" velocity="1.0"/>
    <dynamics damping="0.5" friction="1.0"/>
    <!-- <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <gazebo reference="head_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="head_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="head_2_link">
    <material>Gazebo/White</material>
  </gazebo>
  <!-- frames in the center of the camera -->
  <joint name="rgbd_joint" type="fixed">
    <origin rpy="0.0 0.0 0.0" xyz="0.066 0.0 0.1982"/>
    <axis xyz="0 0 1"/>
    <!-- <limit lower="0" upper="0.001" effort="100" velocity="0.01"/> -->
    <parent link="head_2_link"/>
    <child link="rgbd_link"/>
  </joint>
  <link name="rgbd_link">
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="3e-05" ixy="0.0" ixz="0.0" iyy="2e-06" iyz="0.0" izz="3e-05"/>
      <origin rpy="-0.01 0.0025 0" xyz="0 0 0"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/sensors/orbbec/orbbec.STL"/>
      </geometry>
      <material name="DarkGrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.01 0.0025 0"/>
      <geometry>
        <box size="0.04 0.185 0.03"/>
      </geometry>
    </collision>
  </link>
  <joint name="rgbd_optical_joint" type="fixed">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 0 0"/>
    <parent link="rgbd_link"/>
    <child link="rgbd_optical_frame"/>
  </joint>
  <link name="rgbd_optical_frame">
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <!-- frames of the depth sensor -->
  <joint name="rgbd_depth_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.0 0.03751 0.0"/>
    <parent link="rgbd_link"/>
    <child link="rgbd_depth_frame"/>
  </joint>
  <link name="rgbd_depth_frame">
    <inertial>
      <mass value="0"/>
      <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0.0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <joint name="rgbd_depth_optical_joint" type="fixed">
    <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
    <parent link="rgbd_depth_frame"/>
    <child link="rgbd_depth_optical_frame"/>
  </joint>
  <link name="rgbd_depth_optical_frame">
    <inertial>
      <mass value="0"/>
      <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <!-- frames of the rgb sensor -->
  <joint name="rgbd_rgb_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.0 0.01251 0.0"/>
    <parent link="rgbd_link"/>
    <child link="rgbd_rgb_frame"/>
  </joint>
  <link name="rgbd_rgb_frame">
    <inertial>
      <mass value="0"/>
      <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <joint name="rgbd_rgb_optical_joint" type="fixed">
    <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
    <parent link="rgbd_rgb_frame"/>
    <child link="rgbd_rgb_optical_frame"/>
  </joint>
  <link name="rgbd_rgb_optical_frame">
    <inertial>
      <mass value="0"/>
      <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <gazebo reference="rgbd_link">
    <!-- IR + depth -->
    <sensor name="rgbd_frame_sensor" type="depth">
      <always_on>true</always_on>
      <update_rate>30.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975512</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>640</width>
          <height>480</height>
        </image>
        <clip>
          <near>0.6</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller">
        <alwaysOn>true</alwaysOn>
        <updateRate>30.0</updateRate>
        <cameraName>rgbd</cameraName>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <frameName>rgbd_optical_frame</frameName>
        <pointCloudCutoff>0.45</pointCloudCutoff>
        <rangeMax>10.0</rangeMax>
        <distortionK1>0.00000001</distortionK1>
        <distortionK2>0.00000001</distortionK2>
        <distortionK3>0.00000001</distortionK3>
        <distortionT1>0.00000001</distortionT1>
        <distortionT2>0.00000001</distortionT2>
      </plugin>
    </sensor>
    <!-- RGB High res-->
    <sensor name="rgbd_high_res_frame_sensor" type="camera">
      <update_rate>30.0</update_rate>
      <camera name="head">
        <horizontal_fov>1.0471975512</horizontal_fov>
        <image>
          <width>1280</width>
          <height>720</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.05</near>
          <far>100</far>
        </clip>
        <noise>
          <type>gaussian</type>
          <!-- Noise is sampled independently per pixel on each frame.
                 That pixel's noise value is added to each of its color
                 channels, which at that point lie in the range [0,1]. -->
          <mean>0.0</mean>
          <stddev>0.007</stddev>
        </noise>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="rgbd_high_res_frame_controller">
        <alwaysOn>true</alwaysOn>
        <!-- Patch to publish at 30 Hz -->
        <updateRate>45.0</updateRate>
        <cameraName>rgbd/high_res</cameraName>
        <imageTopicName>/rgbd/rgb/high_res/image_raw</imageTopicName>
        <cameraInfoTopicName>/rgbd/rgb/high_res/camera_info</cameraInfoTopicName>
        <frameName>rgbd_optical_frame</frameName>
        <hackBaseline>0.0</hackBaseline>
        <distortionK1>0.00000001</distortionK1>
        <distortionK2>0.00000001</distortionK2>
        <distortionK3>0.00000001</distortionK3>
        <distortionT1>0.00000001</distortionT1>
        <distortionT2>0.00000001</distortionT2>
      </plugin>
    </sensor>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <transmission name="talos_trans">
    <type>transmission_interface/HalfDifferentialTransmission</type>
    <actuator name="head_1_motor">
      <role>actuator1</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <actuator name="head_2_motor">
      <role>actuator2</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="head_1_joint">
      <role>joint1</role>
      <offset>0.0</offset>
      <mechanicalReduction>1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <joint name="head_2_joint">
      <role>joint2</role>
      <offset>0.0</offset>
      <mechanicalReduction>2.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <!--************************-->
  <!--        SHOULDER        -->
  <!--************************-->
  <link name="arm_left_1_link">
    <inertial>
      <mass value="2.714567"/>
      <inertia ixx="0.01237818683" ixy="-3.625571e-05" ixz="7.14472e-05" iyy="0.004191372" iyz="-0.00023639064" izz="0.01358161109"/>
      <origin rpy="0 0 0" xyz="-0.0002762 0.10060223 0.04437419"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_1.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_1_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_1_joint" type="revolute">
    <parent link="torso_2_link"/>
    <child link="arm_left_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.1575 0.23200"/>
    <axis xyz="0 0 1"/>
    <!-- v1 TALOS has 1st arm left joint (-90,30) and right joint (-30,90) -->
    <!-- v2 TALOS has 1st arm left joint (-90,50) and right joint (-50,90) -->
    <limit effort="100.0" lower="-1.57079632679" upper="0.785398163397" velocity="2.7"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--        <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <link name="arm_left_2_link">
    <inertial>
      <mass value="2.425086"/>
      <inertia ixx="0.01297822101" ixy="1.208791e-05" ixz="-0.00320370433" iyy="0.01380870278" iyz="-0.00012770059" izz="0.00478856621"/>
      <origin rpy="0 0 0" xyz="0.01438831 0.00092938 -0.08684268"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_2.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_2_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_2_joint" type="revolute">
    <parent link="arm_left_1_link"/>
    <child link="arm_left_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00493 0.1365 0.04673"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.00872664625997" upper="2.87106661953" velocity="3.66"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--        <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <link name="arm_left_3_link">
    <inertial>
      <mass value="2.208741"/>
      <inertia ixx="0.00718831493" ixy="-0.00011563551" ixz="0.00075969733" iyy="0.00693528503" iyz="0.00042134743" izz="0.00388359007"/>
      <origin rpy="0 0 0" xyz="0.0136084 0.01241619 -0.2499004"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_3.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_3_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_3_joint" type="revolute">
    <parent link="arm_left_2_link"/>
    <child link="arm_left_3_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="0 0 1"/>
    <limit effort="70.0" lower="-2.42600766027" upper="2.42600766027" velocity="4.58"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <!--************************-->
  <!--        ELBOW           -->
  <!--************************-->
  <link name="arm_left_4_link">
    <inertial>
      <mass value="0.877346"/>
      <inertia ixx="0.00251207716" ixy="0.00010070062" ixz="-0.00032788214" iyy="0.00275869324" iyz="0.00040022227" izz="0.00120735959"/>
      <origin rpy="0 0 0" xyz="-0.00742138 -0.0213895 -0.03312656"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_4.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_4_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_4_joint" type="revolute">
    <parent link="arm_left_3_link"/>
    <child link="arm_left_4_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/>
    <axis xyz="0 1 0"/>
    <limit effort="70.0" lower="-2.23402144255" upper="0.00349065850399" velocity="4.58"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <gazebo reference="arm_left_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_left_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_left_3_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_left_4_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_left_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_left_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_left_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_left_4_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <!--************************-->
  <!--        WRIST           -->
  <!--************************-->
  <link name="arm_left_5_link">
    <inertial>
      <mass value="1.877923"/>
      <inertia ixx="0.00349507283" ixy="1.265489e-05" ixz="1.038286e-05" iyy="0.00436830072" iyz="-9.736042e-05" izz="0.0022826337"/>
      <origin rpy="0 0 0" xyz="-6e-05 0.003262 0.079625"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_5.stl" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_5_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_5_joint" type="revolute">
    <parent link="arm_left_4_link"/>
    <child link="arm_left_5_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/>
    <axis xyz="0 0 1"/>
    <limit effort="20.0" lower="-2.51327412287" upper="2.51327412287" velocity="1.95"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}"
                          soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> -->
  </joint>
  <link name="arm_left_6_link">
    <inertial>
      <mass value="0.40931"/>
      <inertia ixx="0.00010700023" ixy="-8.899e-08" ixz="-4.392e-08" iyy="0.00014101316" iyz="4.1702e-07" izz="0.00015398658"/>
      <origin rpy="0 0 0" xyz="2.1e-05 -0.001965 -0.000591"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_6.stl" scale="1 1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_6_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_6_joint" type="revolute">
    <parent link="arm_left_5_link"/>
    <child link="arm_left_6_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="8.0" lower="-1.37008346282" upper="1.37008346282" velocity="1.76"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <link name="arm_left_7_link">
    <inertial>
      <mass value="0.308441"/>
      <inertia ixx="0.00030894317" ixy="-1.58687e-06" ixz="1.73418e-06" iyy="0.00021886181" iyz="-1.221167e-05" izz="0.00017519492"/>
      <origin rpy="0 0 0" xyz="0.007525 0.001378 -0.02463"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_7.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_7_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_left_7_joint" type="revolute">
    <parent link="arm_left_6_link"/>
    <child link="arm_left_7_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
    <axis xyz="0 1 0"/>
    <limit effort="8.0" lower="-0.680678408278" upper="0.680678408278" velocity="1.76"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <gazebo reference="arm_left_5_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="arm_left_6_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="arm_left_7_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_left_5_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_left_6_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_left_7_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <transmission name="arm_left_5_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_left_5_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_5_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="wrist_left_trans">
    <type>transmission_interface/DifferentialTransmission</type>
    <actuator name="arm_left_6_motor">
      <role>actuator1</role>
      <mechanicalReduction>-1.0</mechanicalReduction>
    </actuator>
    <actuator name="arm_left_7_motor">
      <role>actuator2</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_6_joint">
      <role>joint1</role>
      <offset>0.0</offset>
      <mechanicalReduction>-1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <joint name="arm_left_7_joint">
      <role>joint2</role>
      <offset>0.0</offset>
      <mechanicalReduction>-1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_left_1_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_left_1_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_1_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_left_2_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_left_2_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_2_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_left_3_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_left_3_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_3_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_left_4_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_left_4_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_left_4_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <!--************************-->
  <!--        SHOULDER        -->
  <!--************************-->
  <link name="arm_right_1_link">
    <inertial>
      <mass value="2.714567"/>
      <inertia ixx="0.01237818683" ixy="3.625571e-05" ixz="7.14472e-05" iyy="0.004191372" iyz="0.00023639064" izz="0.01358161109"/>
      <origin rpy="0 0 0" xyz="-0.0002762 -0.10060223 0.04437419"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_1.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_1_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_1_joint" type="revolute">
    <parent link="torso_2_link"/>
    <child link="arm_right_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.1575 0.23200"/>
    <axis xyz="0 0 1"/>
    <!-- v1 TALOS has 1st arm left joint (-90,30) and right joint (-30,90) -->
    <!-- v2 TALOS has 1st arm left joint (-90,50) and right joint (-50,90) -->
    <limit effort="100.0" lower="-0.785398163397" upper="1.57079632679" velocity="2.7"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--        <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <link name="arm_right_2_link">
    <inertial>
      <mass value="2.425086"/>
      <inertia ixx="0.01297822101" ixy="-1.208791e-05" ixz="-0.00320370433" iyy="0.01380870278" iyz="0.00012770059" izz="0.00478856621"/>
      <origin rpy="0 0 0" xyz="0.01438831 -0.00092938 -0.08684268"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_2.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_2_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_2_joint" type="revolute">
    <parent link="arm_right_1_link"/>
    <child link="arm_right_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00493 -0.1365 0.04673"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="-2.87106661953" upper="-0.00872664625997" velocity="3.66"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--        <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <link name="arm_right_3_link">
    <inertial>
      <mass value="2.208741"/>
      <inertia ixx="0.00718831493" ixy="0.00011563551" ixz="0.00075969733" iyy="0.00693528503" iyz="-0.00042134743" izz="0.00388359007"/>
      <origin rpy="0 0 0" xyz="0.0136084 -0.01241619 -0.2499004"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_3.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_3_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_3_joint" type="revolute">
    <parent link="arm_right_2_link"/>
    <child link="arm_right_3_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="0 0 1"/>
    <limit effort="70.0" lower="-2.42600766027" upper="2.42600766027" velocity="4.58"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <!--************************-->
  <!--        ELBOW           -->
  <!--************************-->
  <link name="arm_right_4_link">
    <inertial>
      <mass value="0.877346"/>
      <inertia ixx="0.00251207716" ixy="-0.00010070062" ixz="-0.00032788214" iyy="0.00275869324" iyz="-0.00040022227" izz="0.00120735959"/>
      <origin rpy="0 0 0" xyz="-0.00742138 0.0213895 -0.03312656"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_4.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_4_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_4_joint" type="revolute">
    <parent link="arm_right_3_link"/>
    <child link="arm_right_4_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/>
    <axis xyz="0 1 0"/>
    <limit effort="70.0" lower="-2.23402144255" upper="0.00349065850399" velocity="4.58"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}"
                          soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> -->
  </joint>
  <gazebo reference="arm_right_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_right_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_right_3_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_right_4_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_right_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_right_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_right_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_right_4_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <!--************************-->
  <!--        WRIST           -->
  <!--************************-->
  <link name="arm_right_5_link">
    <inertial>
      <mass value="1.877923"/>
      <inertia ixx="0.00349507283" ixy="-1.265489e-05" ixz="1.038286e-05" iyy="0.00436830072" iyz="9.736042e-05" izz="0.0022826337"/>
      <origin rpy="0 0 0" xyz="-6e-05 -0.003262 0.079625"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_5.stl" scale="1 -1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_5_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_5_joint" type="revolute">
    <parent link="arm_right_4_link"/>
    <child link="arm_right_5_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/>
    <axis xyz="0 0 1"/>
    <limit effort="20.0" lower="-2.51327412287" upper="2.51327412287" velocity="1.95"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}"
                          soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> -->
  </joint>
  <link name="arm_right_6_link">
    <inertial>
      <mass value="0.40931"/>
      <inertia ixx="0.00010700023" ixy="8.899e-08" ixz="-4.392e-08" iyy="0.00014101316" iyz="-4.1702e-07" izz="0.00015398658"/>
      <origin rpy="0 0 0" xyz="2.1e-05 0.001965 -0.000591"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_6.stl" scale="1 -1 1"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_6_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_6_joint" type="revolute">
    <parent link="arm_right_5_link"/>
    <child link="arm_right_6_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="8.0" lower="-1.37008346282" upper="1.37008346282" velocity="1.76"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <link name="arm_right_7_link">
    <inertial>
      <mass value="0.308441"/>
      <inertia ixx="0.00030894317" ixy="1.58687e-06" ixz="1.73418e-06" iyy="0.00021886181" iyz="1.221167e-05" izz="0.00017519492"/>
      <origin rpy="0 0 0" xyz="0.007525 -0.001378 -0.02463"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_7.STL" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/arm/arm_7_collision.STL" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="arm_right_7_joint" type="revolute">
    <parent link="arm_right_6_link"/>
    <child link="arm_right_7_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
    <axis xyz="0 1 0"/>
    <limit effort="8.0" lower="-0.680678408278" upper="0.680678408278" velocity="1.76"/>
    <dynamics damping="1.0" friction="1.0"/>
    <!--       <safety_controller k_position="20"
                          k_velocity="20"
                          soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}"
                          soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> -->
  </joint>
  <gazebo reference="arm_right_5_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="arm_right_6_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="arm_right_7_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="arm_right_5_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_right_6_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="arm_right_7_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <transmission name="arm_right_5_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_right_5_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_5_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="wrist_right_trans">
    <type>transmission_interface/DifferentialTransmission</type>
    <actuator name="arm_right_6_motor">
      <role>actuator1</role>
      <mechanicalReduction>-1.0</mechanicalReduction>
    </actuator>
    <actuator name="arm_right_7_motor">
      <role>actuator2</role>
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_6_joint">
      <role>joint1</role>
      <offset>0.0</offset>
      <mechanicalReduction>-1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <joint name="arm_right_7_joint">
      <role>joint2</role>
      <offset>0.0</offset>
      <mechanicalReduction>-1.0</mechanicalReduction>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_right_1_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_right_1_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_1_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_right_2_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_right_2_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_2_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_right_3_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_right_3_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_3_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="arm_right_4_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="arm_right_4_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="arm_right_4_joint">
      <offset>0.0</offset>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <!--************************-->
  <!--        ft sensor       -->
  <!--************************-->
  <link name="wrist_right_ft_link">
    <inertial>
      <mass value="0.095"/>
      <inertia ixx="1.108502e-05" ixy="9.9077e-07" ixz="-2.3811e-07" iyy="1.092725e-05" iyz="2.3137e-07" izz="1.898772e-05"/>
      <origin rpy="0 0 0" xyz="-0.001001 0.000995 -0.008108"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.0157" radius="0.0225"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.0157" radius="0.0225"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_right_ft_joint" type="fixed">
    <parent link="arm_right_7_link"/>
    <child link="wrist_right_ft_link"/>
    <origin rpy="0.0 0 -1.57079632679" xyz="0 0 -0.051"/>
  </joint>
  <!--***********************-->
  <!--       FT TOOL         -->
  <!--***********************-->
  <link name="wrist_right_ft_tool_link">
    <inertial>
      <mass value="0.001"/>
      <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
    <visual>
      <origin rpy="0 0.0 0" xyz="0.0 0 0"/>
      <geometry>
        <cylinder length="0.00975" radius="0.025"/>
      </geometry>
      <material name="FlatBlack"/>
    </visual>
    <collision>
      <origin rpy="0 0.0 0" xyz="0.0 0 0"/>
      <geometry>
        <cylinder length="0.00975" radius="0.025"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_right_tool_joint" type="fixed">
    <parent link="wrist_right_ft_link"/>
    <child link="wrist_right_ft_tool_link"/>
    <origin rpy="0 0 -1.57079632679" xyz="0 0 -0.012725"/>
  </joint>
  <!--************************-->
  <!--        ft sensor       -->
  <!--************************-->
  <link name="wrist_left_ft_link">
    <inertial>
      <mass value="0.095"/>
      <inertia ixx="1.108502e-05" ixy="9.9077e-07" ixz="-2.3811e-07" iyy="1.092725e-05" iyz="2.3137e-07" izz="1.898772e-05"/>
      <origin rpy="0 0 0" xyz="-0.001001 0.000995 -0.008108"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.0157" radius="0.0225"/>
      </geometry>
      <material name="LightGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.0157" radius="0.0225"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_left_ft_joint" type="fixed">
    <parent link="arm_left_7_link"/>
    <child link="wrist_left_ft_link"/>
    <origin rpy="0.0 0 -4.71238898038" xyz="0 0 -0.051"/>
  </joint>
  <!--***********************-->
  <!--       FT TOOL         -->
  <!--***********************-->
  <link name="wrist_left_ft_tool_link">
    <inertial>
      <mass value="0.001"/>
      <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
    <visual>
      <origin rpy="0 0.0 0" xyz="0.0 0 0"/>
      <geometry>
        <cylinder length="0.00975" radius="0.025"/>
      </geometry>
      <material name="FlatBlack"/>
    </visual>
    <collision>
      <origin rpy="0 0.0 0" xyz="0.0 0 0"/>
      <geometry>
        <cylinder length="0.00975" radius="0.025"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_left_tool_joint" type="fixed">
    <parent link="wrist_left_ft_link"/>
    <child link="wrist_left_ft_tool_link"/>
    <origin rpy="0 0 4.71238898038" xyz="0 0 -0.012725"/>
  </joint>
  <link name="gripper_left_base_link">
    <inertial>
      <mass value="0.637534"/>
      <inertia ixx="0.0005849692" ixy="4.37159e-06" ixz="-1.2589e-05" iyy="0.00067076439" iyz="2.824361e-05" izz="0.00085526645"/>
      <origin rpy="0 0 0" xyz="2.8e-05 0.005394 -0.023654"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/base_link.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/base_link_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_base_link_joint" type="fixed">
    <parent link="wrist_left_ft_tool_link"/>
    <child link="gripper_left_base_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.02875"/>
    <axis xyz="0 0 0"/>
  </joint>
  <link name="gripper_left_motor_double_link">
    <inertial>
      <mass value="0.134356"/>
      <inertia ixx="0.00013479919" ixy="6.184429e-05" ixz="-3.0798e-05" iyy="0.00019602207" iyz="4.707722e-05" izz="0.00024217879"/>
      <origin rpy="0 0 0" xyz="0.019654 0.018572 -0.011998"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_joint" type="revolute">
    <parent link="gripper_left_base_link"/>
    <child link="gripper_left_motor_double_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.02025 -0.03"/>
    <axis xyz="1 0 0"/>
    <limit effort="1.0" lower="-0.959931088597" upper="0.0" velocity="1.0"/>
    <dynamics damping="1.0" friction="1.0"/>
  </joint>
  <link name="gripper_left_inner_double_link">
    <inertial>
      <mass value="0.087986"/>
      <inertia ixx="7.410642e-05" ixy="-7.4773e-07" ixz="1.01536e-06" iyy="0.0001279418" iyz="2.504083e-05" izz="0.00010495175"/>
      <origin rpy="0 0 0" xyz="-0.013283 0.036852 -0.023153"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_double.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_inner_double_joint" type="revolute">
    <parent link="gripper_left_base_link"/>
    <child link="gripper_left_inner_double_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00525 -0.05598"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="1.0" offset="0.0"/>
  </joint>
  <link name="gripper_left_fingertip_1_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_fingertip_1_joint" type="revolute">
    <parent link="gripper_left_inner_double_link"/>
    <child link="gripper_left_fingertip_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.03200 0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_left_fingertip_2_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_fingertip_2_joint" type="revolute">
    <parent link="gripper_left_inner_double_link"/>
    <child link="gripper_left_fingertip_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.03200 0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_left_motor_single_link">
    <inertial>
      <mass value="0.107923"/>
      <inertia ixx="8.973662e-05" ixy="-4.082027e-05" ixz="-1.927099e-05" iyy="0.00011957255" iyz="-2.873284e-05" izz="0.00015469079"/>
      <origin rpy="0 0 0" xyz="0.025237 -0.011231 -0.008158"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_motor_single_joint" type="revolute">
    <parent link="gripper_left_base_link"/>
    <child link="gripper_left_motor_single_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.02025 -0.03000"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_left_inner_single_link">
    <inertial>
      <mass value="0.047177"/>
      <inertia ixx="4.199818e-05" ixy="1.3418e-07" ixz="1.9358e-07" iyy="3.231338e-05" iyz="-1.509136e-05" izz="2.168842e-05"/>
      <origin rpy="0 0 0" xyz="0 -0.034565 -0.021412"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_single.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_inner_single_joint" type="revolute">
    <parent link="gripper_left_base_link"/>
    <child link="gripper_left_inner_single_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.00525 -0.05598"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_left_fingertip_3_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_left_fingertip_3_joint" type="revolute">
    <parent link="gripper_left_inner_single_link"/>
    <child link="gripper_left_fingertip_3_link"/>
    <origin rpy="0.0 0.0 3.14159265359" xyz="0.00000 -0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <gazebo>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_inner_double_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_inner_double_joint</mimicJoint>
      <multiplier>1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_1_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_fingertip_1_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_2_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_fingertip_2_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_inner_single_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_inner_single_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_motor_single_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_motor_single_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_3_joint">
      <joint>gripper_left_joint</joint>
      <mimicJoint>gripper_left_fingertip_3_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
  </gazebo>
  <!--     <plugin filename="libgazebo_underactuated_finger.so" name="gazebo_${name}_underactuated">
      <actuatedJoint>${name}_joint</actuatedJoint>
      <virtualJoint>
        <name>${name}_inner_double_joint</name>
        <scale_factor>1.0</scale_factor>
      </virtualJoint> -->
  <!--       <virtualJoint>
        <name>${name}_fingertip_1_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_fingertip_2_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_motor_single_joint</name>
        <scale_factor>1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_fingertip_3_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint> -->
  <!--     </plugin> -->
  <gazebo reference="gripper_left_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_inner_double_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_motor_single_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_left_base_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_left_motor_double_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_left_inner_double_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_1_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_left_motor_single_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_left_inner_single_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_2_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_left_fingertip_3_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <transmission name="gripper_left_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="gripper_left_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="gripper_left_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <!-- virtual mimic joints -->
  <!--         <xacro:gripper_virtual_transmission name="${name}_inner_double" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_1" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_2" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_inner_single" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_motor_single" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_3" reduction="1.0"/> -->
  <link name="gripper_right_base_link">
    <inertial>
      <mass value="0.637534"/>
      <inertia ixx="0.0005849692" ixy="4.37159e-06" ixz="-1.2589e-05" iyy="0.00067076439" iyz="2.824361e-05" izz="0.00085526645"/>
      <origin rpy="0 0 0" xyz="2.8e-05 0.005394 -0.023654"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/base_link.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/base_link_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_base_link_joint" type="fixed">
    <parent link="wrist_right_ft_tool_link"/>
    <child link="gripper_right_base_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.02875"/>
    <axis xyz="0 0 0"/>
  </joint>
  <link name="gripper_right_motor_double_link">
    <inertial>
      <mass value="0.134356"/>
      <inertia ixx="0.00013479919" ixy="6.184429e-05" ixz="-3.0798e-05" iyy="0.00019602207" iyz="4.707722e-05" izz="0.00024217879"/>
      <origin rpy="0 0 0" xyz="0.019654 0.018572 -0.011998"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_joint" type="revolute">
    <parent link="gripper_right_base_link"/>
    <child link="gripper_right_motor_double_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.02025 -0.03"/>
    <axis xyz="1 0 0"/>
    <limit effort="1.0" lower="-0.959931088597" upper="0.0" velocity="1.0"/>
    <dynamics damping="1.0" friction="1.0"/>
  </joint>
  <link name="gripper_right_inner_double_link">
    <inertial>
      <mass value="0.087986"/>
      <inertia ixx="7.410642e-05" ixy="-7.4773e-07" ixz="1.01536e-06" iyy="0.0001279418" iyz="2.504083e-05" izz="0.00010495175"/>
      <origin rpy="0 0 0" xyz="-0.013283 0.036852 -0.023153"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_double.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_inner_double_joint" type="revolute">
    <parent link="gripper_right_base_link"/>
    <child link="gripper_right_inner_double_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00525 -0.05598"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="1.0" offset="0.0"/>
  </joint>
  <link name="gripper_right_fingertip_1_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_fingertip_1_joint" type="revolute">
    <parent link="gripper_right_inner_double_link"/>
    <child link="gripper_right_fingertip_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.03200 0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_right_fingertip_2_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_fingertip_2_joint" type="revolute">
    <parent link="gripper_right_inner_double_link"/>
    <child link="gripper_right_fingertip_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.03200 0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_right_motor_single_link">
    <inertial>
      <mass value="0.107923"/>
      <inertia ixx="8.973662e-05" ixy="-4.082027e-05" ixz="-1.927099e-05" iyy="0.00011957255" iyz="-2.873284e-05" izz="0.00015469079"/>
      <origin rpy="0 0 0" xyz="0.025237 -0.011231 -0.008158"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_motor_single_joint" type="revolute">
    <parent link="gripper_right_base_link"/>
    <child link="gripper_right_motor_single_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.02025 -0.03000"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_right_inner_single_link">
    <inertial>
      <mass value="0.047177"/>
      <inertia ixx="4.199818e-05" ixy="1.3418e-07" ixz="1.9358e-07" iyy="3.231338e-05" iyz="-1.509136e-05" izz="2.168842e-05"/>
      <origin rpy="0 0 0" xyz="0 -0.034565 -0.021412"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_single.STL" scale="1 1 1"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_inner_single_joint" type="revolute">
    <parent link="gripper_right_base_link"/>
    <child link="gripper_right_inner_single_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.00525 -0.05598"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <link name="gripper_right_fingertip_3_link">
    <inertial>
      <mass value="0.026301"/>
      <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/>
      <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="gripper_right_fingertip_3_joint" type="revolute">
    <parent link="gripper_right_inner_single_link"/>
    <child link="gripper_right_fingertip_3_link"/>
    <origin rpy="0.0 0.0 3.14159265359" xyz="0.00000 -0.04589 -0.06553"/>
    <axis xyz="1 0 0"/>
    <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/>
    <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/>
  </joint>
  <gazebo>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_inner_double_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_inner_double_joint</mimicJoint>
      <multiplier>1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_1_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_fingertip_1_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_2_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_fingertip_2_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_inner_single_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_inner_single_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_motor_single_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_motor_single_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
    <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_3_joint">
      <joint>gripper_right_joint</joint>
      <mimicJoint>gripper_right_fingertip_3_joint</mimicJoint>
      <multiplier>-1.0</multiplier>
      <offset>0.0</offset>
      <hasPID/>
    </plugin>
  </gazebo>
  <!--     <plugin filename="libgazebo_underactuated_finger.so" name="gazebo_${name}_underactuated">
      <actuatedJoint>${name}_joint</actuatedJoint>
      <virtualJoint>
        <name>${name}_inner_double_joint</name>
        <scale_factor>1.0</scale_factor>
      </virtualJoint> -->
  <!--       <virtualJoint>
        <name>${name}_fingertip_1_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_fingertip_2_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_motor_single_joint</name>
        <scale_factor>1.0</scale_factor>
      </virtualJoint>
      <virtualJoint>
        <name>${name}_fingertip_3_joint</name>
        <scale_factor>-1.0</scale_factor>
      </virtualJoint> -->
  <!--     </plugin> -->
  <gazebo reference="gripper_right_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_inner_double_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_motor_single_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="gripper_right_base_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_right_motor_double_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_right_inner_double_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_1_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_right_motor_single_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_right_inner_single_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_2_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="gripper_right_fingertip_3_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <transmission name="gripper_right_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="gripper_right_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="gripper_right_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <!-- virtual mimic joints -->
  <!--         <xacro:gripper_virtual_transmission name="${name}_inner_double" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_1" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_2" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_inner_single" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_motor_single" reduction="1.0"/>
        <xacro:gripper_virtual_transmission name="${name}_fingertip_3" reduction="1.0"/> -->
  <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link -->
  <link name="leg_left_1_link">
    <inertial>
      <mass value="1.845591"/>
      <inertia ixx="0.00541533521" ixy="-0.00015428714" ixz="0.00131612622" iyy="0.00848624936" iyz="-1.906103e-05" izz="0.00474512541"/>
      <origin rpy="0 0 0" xyz="0.02247868 0.00106736 0.03130665"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_z_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_z_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_1_joint" type="revolute">
    <parent link="base_link"/>
    <child link="leg_left_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.02 0.085 -0.27105"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-0.349065850399" upper="1.57079632679" velocity="3.87"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z -->
  <link name="leg_left_2_link">
    <inertial>
      <mass value="1.490952"/>
      <inertia ixx="0.00497152259" ixy="-0.0001311358" ixz="-4.86648e-06" iyy="0.00190550993" iyz="4.585381e-05" izz="0.00474289754"/>
      <origin rpy="0 0 0" xyz="-0.00704703 0.02592659 0.00273385"/>
    </inertial>
    <visual>
      <origin rpy="0  0  0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_x_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0  0  0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_x_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_2_joint" type="revolute">
    <parent link="leg_left_1_link"/>
    <child link="leg_left_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x -->
  <link name="leg_left_3_link">
    <inertial>
      <mass value="6.239871"/>
      <inertia ixx="0.15337403915" ixy="0.00068913396" ixz="0.00168034366" iyy="0.13648139346" iyz="-0.02187635445" izz="0.03001594885"/>
      <origin rpy="0 0 0" xyz="0.0058523 0.0636967 -0.18339564"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_y_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_y_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_3_joint" type="revolute">
    <parent link="leg_left_2_link"/>
    <child link="leg_left_3_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="0 1 0"/>
    <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y -->
  <link name="leg_left_4_link">
    <inertial>
      <mass value="3.759951"/>
      <inertia ixx="0.04287677484" ixy="0.00043705397" ixz="0.00078292368" iyy="0.03598906971" iyz="0.00037717694" izz="0.01364791564"/>
      <origin rpy="0 0 0" xyz="0.01317717 0.02917508 -0.11594602"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/knee_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/knee_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_4_joint" type="revolute">
    <parent link="leg_left_3_link"/>
    <child link="leg_left_4_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/>
    <axis xyz="0 1 0"/>
    <limit effort="300" lower="0" upper="2.618" velocity="7"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee -->
  <link name="leg_left_5_link">
    <inertial>
      <mass value="1.29096"/>
      <inertia ixx="0.01143430819" ixy="0.00096978273" ixz="0.00039976581" iyy="0.00888974312" iyz="-0.00277808667" izz="0.00506373875"/>
      <origin rpy="0 0 0" xyz="-0.01400838 0.04180064 0.03820186"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_Y_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_Y_collision.stl" scale="1 1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_5_joint" type="revolute">
    <parent link="leg_left_4_link"/>
    <child link="leg_left_5_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/>
    <axis xyz="0 1 0"/>
    <limit effort="160" lower="-1.27" upper="0.68" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y -->
  <link name="leg_left_6_link">
    <inertial>
      <mass value="1.597773"/>
      <inertia ixx="0.00439027267" ixy="-6.743674e-05" ixz="0.00113816363" iyy="0.00743063029" iyz="3.943143e-05" izz="0.00550906699"/>
      <origin rpy="0 0 0" xyz="-0.02034668 -0.00051514 -0.05987428"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_X_lo_res.stl" scale="1 1 1"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 -0.1"/>
      <geometry>
        <box size="0.21 0.13 0.02"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_left_6_joint" type="revolute">
    <parent link="leg_left_5_link"/>
    <child link="leg_left_6_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- from here is copy paste -->
  <link name="left_sole_link">
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <joint name="leg_left_sole_fix_joint" type="fixed">
    <parent link="leg_left_6_link"/>
    <child link="left_sole_link"/>
    <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <transmission name="leg_left_1_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_1_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_1_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_left_2_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_2_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_2_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_left_3_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_3_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_3_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_left_4_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_4_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_4_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_left_5_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_5_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_5_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_left_6_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_left_6_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_left_6_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <gazebo reference="leg_left_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_left_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_left_3_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_left_4_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_left_5_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <!-- contact model for foot surface -->
  <gazebo reference="leg_left_6_link">
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <mu1>1.0</mu1>
    <mu2>1.0</mu2>
    <fdir1>1 0 0</fdir1>
    <maxVel>1.0</maxVel>
    <minDepth>0.00</minDepth>
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_4_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_5_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_left_6_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="leg_left_1_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_left_2_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_left_3_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_left_4_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_left_5_link">
    <material>Gazebo/White</material>
  </gazebo>
  <gazebo reference="leg_left_6_link">
    <material>Gazebo/White</material>
  </gazebo>
  <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link -->
  <link name="leg_right_1_link">
    <inertial>
      <mass value="1.845591"/>
      <inertia ixx="0.00541533521" ixy="0.00015428714" ixz="0.00131612622" iyy="0.00848624936" iyz="1.906103e-05" izz="0.00474512541"/>
      <origin rpy="0 0 0" xyz="0.02247868 -0.00106736 0.03130665"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_z_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_z_collision.stl" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_1_joint" type="revolute">
    <parent link="base_link"/>
    <child link="leg_right_1_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="-0.02 -0.085 -0.27105"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-1.57079632679" upper="0.349065850399" velocity="3.87"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z -->
  <link name="leg_right_2_link">
    <inertial>
      <mass value="1.490952"/>
      <inertia ixx="0.00497152259" ixy="0.0001311358" ixz="-4.86648e-06" iyy="0.00190550993" iyz="-4.585381e-05" izz="0.00474289754"/>
      <origin rpy="0 0 0" xyz="-0.00704703 -0.02592659 0.00273385"/>
    </inertial>
    <visual>
      <origin rpy="0  0  0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_x_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0  0  0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_x_collision.stl" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_2_joint" type="revolute">
    <parent link="leg_right_1_link"/>
    <child link="leg_right_2_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x -->
  <link name="leg_right_3_link">
    <inertial>
      <mass value="6.239871"/>
      <inertia ixx="0.15337403915" ixy="-0.00068913396" ixz="0.00168034366" iyy="0.13648139346" iyz="0.02187635445" izz="0.03001594885"/>
      <origin rpy="0 0 0" xyz="0.0058523 -0.0636967 -0.18339564"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_y_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/hip_y_collision.stl" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_3_joint" type="revolute">
    <parent link="leg_right_2_link"/>
    <child link="leg_right_3_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="0 1 0"/>
    <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y -->
  <link name="leg_right_4_link">
    <inertial>
      <mass value="3.759951"/>
      <inertia ixx="0.04287677484" ixy="-0.00043705397" ixz="0.00078292368" iyy="0.03598906971" iyz="-0.00037717694" izz="0.01364791564"/>
      <origin rpy="0 0 0" xyz="0.01317717 -0.02917508 -0.11594602"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/knee_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/knee_collision.stl" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_4_joint" type="revolute">
    <parent link="leg_right_3_link"/>
    <child link="leg_right_4_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/>
    <axis xyz="0 1 0"/>
    <limit effort="300" lower="0" upper="2.618" velocity="7"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee -->
  <link name="leg_right_5_link">
    <inertial>
      <mass value="1.29096"/>
      <inertia ixx="0.01143430819" ixy="-0.00096978273" ixz="0.00039976581" iyy="0.00888974312" iyz="0.00277808667" izz="0.00506373875"/>
      <origin rpy="0 0 0" xyz="-0.01400838 -0.04180064 0.03820186"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_Y_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_Y_collision.stl" scale="1 -1 1"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_5_joint" type="revolute">
    <parent link="leg_right_4_link"/>
    <child link="leg_right_5_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/>
    <axis xyz="0 1 0"/>
    <limit effort="160" lower="-1.27" upper="0.68" velocity="5.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y -->
  <link name="leg_right_6_link">
    <inertial>
      <mass value="1.597773"/>
      <inertia ixx="0.00439027267" ixy="6.743674e-05" ixz="0.00113816363" iyy="0.00743063029" iyz="-3.943143e-05" izz="0.00550906699"/>
      <origin rpy="0 0 0" xyz="-0.02034668 0.00051514 -0.05987428"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package:///example-robot-data/robots/talos_data/meshes/v2/ankle_X_lo_res.stl" scale="1 -1 1"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 -0.1"/>
      <geometry>
        <box size="0.21 0.13 0.02"/>
      </geometry>
    </collision>
  </link>
  <joint name="leg_right_6_joint" type="revolute">
    <parent link="leg_right_5_link"/>
    <child link="leg_right_6_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/>
    <axis xyz="1 0 0"/>
    <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <!-- from here is copy paste -->
  <link name="right_sole_link">
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </inertial>
  </link>
  <joint name="leg_right_sole_fix_joint" type="fixed">
    <parent link="leg_right_6_link"/>
    <child link="right_sole_link"/>
    <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <transmission name="leg_right_1_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_1_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_1_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_right_2_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_2_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_2_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_right_3_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_3_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_3_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_right_4_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_4_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_4_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_right_5_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_5_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_5_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <transmission name="leg_right_6_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="leg_right_6_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
    <joint name="leg_right_6_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
  <gazebo reference="leg_right_1_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_right_2_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_right_3_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_right_4_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="leg_right_5_link">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <!-- contact model for foot surface -->
  <gazebo reference="leg_right_6_link">
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <mu1>1.0</mu1>
    <mu2>1.0</mu2>
    <fdir1>1 0 0</fdir1>
    <maxVel>1.0</maxVel>
    <minDepth>0.00</minDepth>
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_1_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_2_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_3_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_4_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_5_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
  </gazebo>
  <gazebo reference="leg_right_6_joint">
    <implicitSpringDamper>1</implicitSpringDamper>
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="leg_right_1_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_right_2_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_right_3_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_right_4_link">
    <material>Gazebo/FlatBlack</material>
  </gazebo>
  <gazebo reference="leg_right_5_link">
    <material>Gazebo/White</material>
  </gazebo>
  <gazebo reference="leg_right_6_link">
    <material>Gazebo/White</material>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
      <ns/>
      <robotSimType>pal_hardware_gazebo/PalHardwareGazebo</robotSimType>
      <robotNamespace/>
      <controlPeriod>0.001</controlPeriod>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_world_odometry.so" name="gazebo_ros_odometry">
      <frameName>base_link</frameName>
      <topicName>floating_base_pose_simulated</topicName>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
      <bodyName>base_link</bodyName>
      <topicName>wrench</topicName>
    </plugin>
  </gazebo>
  <gazebo reference="imu_link">
    <!-- this is expected to be reparented to pelvis with appropriate offset
         when imu_link is reduced by fixed joint reduction -->
    <!-- todo: this is working with gazebo 1.4, need to write a unit test -->
    <sensor name="imu_sensor" type="imu">
      <always_on>1</always_on>
      <update_rate>1000.0</update_rate>
      <imu>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters from Boston Dynamics
               (http://gazebosim.org/wiki/Sensor_noise):
                 rates (rad/s): mean=0, stddev=2e-4
                 accels (m/s/s): mean=0, stddev=1.7e-2
                 rate bias (rad/s): 5e-6 - 1e-5
                 accel bias (m/s/s): 1e-1
               Experimentally, simulation provide rates with noise of
               about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s.
               So we don't expect to see the noise unless number of inner iterations
               are increased.

               We will add bias.  In this model, bias is sampled once for rates
               and once for accels at startup; the sign (negative or positive)
               of each bias is then switched with equal probability.  Thereafter,
               the biases are fixed additive offsets.  We choose
               bias means and stddevs to produce biases close to the provided
               data. -->
          <!--
          <rate>
            <mean>0.0</mean>
            <stddev>2e-4</stddev>
            <bias_mean>0.0000075</bias_mean>
            <bias_stddev>0.0000008</bias_stddev>
          </rate>
          <accel>
            <mean>0.0</mean>
            <stddev>1.7e-2</stddev>
            <bias_mean>0.1</bias_mean>
            <bias_stddev>0.001</bias_stddev>
          </accel>
          -->
          <rate>
            <mean>0.0</mean>
            <stddev>0.0</stddev>
            <bias_mean>0.000000</bias_mean>
            <bias_stddev>0.0000008</bias_stddev>
          </rate>
          <accel>
            <mean>0.0</mean>
            <stddev>0.0</stddev>
            <bias_mean>0.0</bias_mean>
            <bias_stddev>0.000</bias_stddev>
          </accel>
        </noise>
      </imu>
    </sensor>
  </gazebo>
  <!-- define global properties -->
  <!-- <xacro:property name="M_PI" value="3.1415926535897931" /> -->
  <material name="Blue">
    <color rgba="0.0 0.0 0.8 1.0"/>
  </material>
  <material name="Green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <material name="Grey">
    <color rgba="0.7 0.7 0.7 1.0"/>
  </material>
  <material name="LightGrey">
    <color rgba="0.9 0.9 0.9 1.0"/>
  </material>
  <material name="DarkGrey">
    <color rgba="0.2 0.2 0.2 1.0"/>
  </material>
  <material name="Red">
    <color rgba="0.8 0.0 0.0 1.0"/>
  </material>
  <material name="White">
    <color rgba="1.0 1.0 1.0 1.0"/>
  </material>
  <material name="Orange">
    <color rgba="1.0 0.5 0.0 1.0"/>
  </material>
</robot>
