<commit_before><?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="left_vacuum_gripper">
  <xacro:include filename="$(find jsk_2016_01_baxter_apc)/robots/common_constants.xacro"/>
  <!-- Gazebo Tags -->
  <gazebo reference="left_gripper_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_tube">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Grey</material>
  </gazebo>
  <gazebo reference="left_gripper_pad_with_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Green</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_a">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_a">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_bc">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_bc">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_vacuum_pad_joint">
    <implicitSpringDamper>false</implicitSpringDamper>
  </gazebo>
  <gazebo reference="left_gripper_prismatic_joint">
    <implicitSpringDamper>false</implicitSpringDamper>
  </gazebo>
  <!--Link bodies-->
  <xacro:property name="base_rect_offset_x" value="-0.023" />
  <xacro:property name="base_rect_l" value="0.3036" />
  <xacro:property name="base_rect_h" value="0.106" />
  <xacro:property name="base_rect_w" value="0.15" />
  <xacro:property name="camera_rect_offset_x" value="0.061" />
  <xacro:property name="camera_rect_offset_y" value="-0.037" />
  <xacro:property name="camera_rect_offset_z" value="0.004" />
  <xacro:property name="camera_rect_l" value="0.04" />
  <xacro:property name="camera_rect_h" value="0.03" />
  <xacro:property name="camera_rect_w" value="0.165" />
  <xacro:property name="tube_rect_offset_x" value="-0.0515" />
  <xacro:property name="tube_rect_offset_y" value="-0.00725" />
  <xacro:property name="tube_rect_offset_z" value="0.1131" />
  <xacro:property name="tube_rect_l" value="0.337" />
  <xacro:property name="tube_rect_h" value="0.034" />
  <xacro:property name="tube_rect_w" value="0.0915" />
  <xacro:property name="pad_with_base_offset_x" value="0.0515" />
  <xacro:property name="pad_with_base_offset_y" value="0" />
  <xacro:property name="pad_with_base_offset_z" value="-0.2666" />
  <xacro:property name="pad_with_base_col_z" value="0.0164" />
  <xacro:property name="pad_with_base_rect_l" value="0.0628" />
  <xacro:property name="pad_with_base_rect_h" value="0.0402" />
  <xacro:property name="pad_with_base_rect_w" value="0.03" />
  <xacro:property name="finger_base_rect_l" value="0.022" />
  <xacro:property name="finger_base_rect_h" value="0.032" />
  <xacro:property name="finger_base_rect_w" value="0.036" />
  <xacro:property name="finger_a_rect_l" value="0.036" />
  <xacro:property name="finger_a_rect_h" value="0.032" />
  <xacro:property name="finger_a_rect_w" value="0.032" />
  <xacro:property name="l_finger_bc_offset_y" value="-0.022351" />
  <xacro:property name="r_finger_bc_offset_y" value="0.022351" />
  <xacro:property name="finger_bc_rect_l" value="0.11" />
  <xacro:property name="finger_bc_rect_h" value="0.0277" />
  <xacro:property name="finger_bc_rect_w" value="0.04" />
  <!--Joints-->
  <xacro:property name="hand_offset_x" value="-0.01" />
  <xacro:property name="hand_offset_y" value="-0.0205" />
  <xacro:property name="hand_offset_z" value="0" />
  <xacro:property name="pad_joint_offset_x" value="-0.0515" />
  <xacro:property name="pad_joint_offset_y" value="0" />
  <xacro:property name="pad_joint_offset_z" value="0.2666" />
  <xacro:property name="finger_base_offset_z" value="0.290613" />
  <xacro:property name="finger_base_offset_x" value="0.0135" />
  <xacro:property name="l_finger_base_offset_y" value="0.027" />
  <xacro:property name="r_finger_base_offset_y" value="-0.027" />
  <xacro:property name="l_finger_joint_b_offset_y" value="0.022351" />
  <xacro:property name="r_finger_joint_b_offset_y" value="-0.022351" />
  <xacro:property name="palm_offset_x" value="0.015" />
  <xacro:property name="palm_offset_z" value="0.3036" />

  <!--Link bodies-->
  <link name="left_gripper_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/gripper_base_main.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/palm_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="${base_rect_offset_x} 0 ${base_rect_l/2}"/>
      <geometry>
        <box size="${base_rect_h} ${base_rect_w} ${base_rect_l}"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="${camera_rect_offset_x} ${camera_rect_offset_y} ${camera_rect_offset_z}"/>
      <geometry>
        <box size="${camera_rect_h} ${camera_rect_w} ${camera_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.3"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_tube">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_connectors.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_main.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="white">
        <color rgba="0.7 0.7 0.7 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_gear.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="blue">
        <color rgba="0 0.24 0.82 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="${tube_rect_offset_x} ${tube_rect_offset_y} ${tube_rect_offset_z}"/>
      <geometry>
        <box size="${tube_rect_h} ${tube_rect_w} ${tube_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.3"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_pad_with_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="${pad_with_base_offset_x} ${pad_with_base_offset_y} ${pad_with_base_offset_z}"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/vacuum_pad_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="${pad_with_base_offset_x} ${pad_with_base_offset_y} ${pad_with_base_offset_z}"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/vacuum_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="green">
        <color rgba="0 1 0 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${pad_with_base_col_z}"/>
      <geometry>
        <box size="${pad_with_base_rect_h} ${pad_with_base_rect_w} ${pad_with_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_base">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-finger_base_rect_l/2}"/>
      <geometry>
        <box size="${finger_base_rect_h} ${finger_base_rect_w} ${finger_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-finger_base_rect_l/2}"/>
      <geometry>
        <box size="${finger_base_rect_h} ${finger_base_rect_w} ${finger_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_a">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_A.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 ${finger_a_rect_w/2} 0"/>
      <geometry>
        <box size="${finger_a_rect_h} ${finger_a_rect_w} ${finger_a_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_a">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_A.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 ${-finger_a_rect_w/2} 0"/>
      <geometry>
        <box size="${finger_a_rect_h} ${finger_a_rect_w} ${finger_a_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_bc">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 ${l_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 ${l_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-finger_bc_rect_l/2}"/>
      <geometry>
        <box size="${finger_bc_rect_h} ${finger_bc_rect_w} ${finger_bc_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_bc">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 ${r_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 ${r_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-finger_bc_rect_l/2}"/>
      <geometry>
        <box size="${finger_bc_rect_h} ${finger_bc_rect_w} ${finger_bc_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_palm_endpoint"/>

  <!--Joints-->
  <joint name="left_gripper_base_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="${hand_offset_x} ${hand_offset_y} ${hand_offset_z}" />
    <parent link="left_hand"/>
    <child link="left_gripper_base"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_prismatic_joint" type="prismatic">
    <origin rpy="0 0 0" xyz="0 0 0" />
    <parent link="left_gripper_base"/>
    <child link="left_gripper_tube"/>
    <axis xyz="0 0 1"/>
    <limit lower="0" upper="0.206" effort="0" velocity="0.132"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_vacuum_pad_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${pad_joint_offset_x} ${pad_joint_offset_y} ${pad_joint_offset_z}"/>
    <parent link="left_gripper_tube"/>
    <child link="left_gripper_pad_with_base"/>
    <axis xyz="0 1 0"/>
    <limit lower="${-M_PI/2}" upper="${M_PI/2}" effort="0" velocity="3.36"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_yaw_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${finger_base_offset_x} ${r_finger_base_offset_y} ${finger_base_offset_z}"/>
    <parent link="left_gripper_base"/>
    <child link="left_gripper_r_finger_base"/>
    <axis xyz="0 0 1"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="4.23"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_l_finger_yaw_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${finger_base_offset_x} ${l_finger_base_offset_y} ${finger_base_offset_z}"/>
    <parent link="left_gripper_base"/>
    <child link="left_gripper_l_finger_base"/>
    <mimic joint="left_gripper_finger_yaw_joint" multiplier="1"/>
    <axis xyz="0 0 -1"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="4.23"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_roll_joint_a" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="left_gripper_l_finger_base"/>
    <child link="left_gripper_l_finger_a"/>
    <axis xyz="1 0 0"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_r_finger_roll_joint_a" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="left_gripper_r_finger_base"/>
    <child link="left_gripper_r_finger_a"/>
    <mimic joint="left_gripper_finger_roll_joint_a" multiplier="1"/>
    <axis xyz="-1 0 0"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_roll_joint_b" type="revolute">
    <origin rpy="0 0 0" xyz="0 ${l_finger_joint_b_offset_y} 0"/>
    <parent link="left_gripper_l_finger_a"/>
    <child link="left_gripper_l_finger_bc"/>
    <axis xyz="1 0 0"/>
    <limit lower="0" upper="${M_PI}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_r_finger_roll_joint_b" type="revolute">
    <origin rpy="0 0 0" xyz="0 ${r_finger_joint_b_offset_y} 0"/>
    <parent link="left_gripper_r_finger_a"/>
    <child link="left_gripper_r_finger_bc"/>
    <mimic joint="left_gripper_finger_roll_joint_b" multiplier="1"/>
    <axis xyz="-1 0 0"/>
    <limit lower="0" upper="${M_PI}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_palm_endpoint_fixed" type="fixed">
    <origin rpy="0 ${M_PI} 0" xyz="${palm_offset_x} 0 ${palm_offset_z}" />
    <parent link="left_gripper_base"/>
    <child link="left_gripper_palm_endpoint"/>
  </joint>

  <!--Transmission-->
  <!-- FIXME: In indigo, we may have to change hardwareInterface in gazebo -->
  <transmission name="left_gripper_prismatic_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_prismatic_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="left_gripper_prismatic_joint_motor">
      <mechanicalReduction>35.71428571</mechanicalReduction>  <!-- 1 / (0.8 * 35 * 0.001) -->
    </actuator>
  </transmission>
  <transmission name="left_gripper_vacuum_pad_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_vacuum_pad_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="left_gripper_vacuum_pad_tendon_winder">
      <mechanicalReduction>1.432291667</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="left_gripper_finger_yaw_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_finger_yaw_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><commit_msg>Avoid name clashes of properties in baxterlgv7<commit_after><?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="left_vacuum_gripper">
  <xacro:include filename="$(find jsk_2016_01_baxter_apc)/robots/common_constants.xacro"/>
  <!-- Gazebo Tags -->
  <gazebo reference="left_gripper_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_tube">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Grey</material>
  </gazebo>
  <gazebo reference="left_gripper_pad_with_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Green</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_base">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_a">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_a">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_l_finger_bc">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_r_finger_bc">
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
  </gazebo>
  <gazebo reference="left_gripper_vacuum_pad_joint">
    <implicitSpringDamper>false</implicitSpringDamper>
  </gazebo>
  <gazebo reference="left_gripper_prismatic_joint">
    <implicitSpringDamper>false</implicitSpringDamper>
  </gazebo>
  <!--Link bodies-->
  <xacro:property name="lg_base_rect_offset_x" value="-0.023" />
  <xacro:property name="lg_base_rect_l" value="0.3036" />
  <xacro:property name="lg_base_rect_h" value="0.106" />
  <xacro:property name="lg_base_rect_w" value="0.15" />
  <xacro:property name="lg_camera_rect_offset_x" value="0.061" />
  <xacro:property name="lg_camera_rect_offset_y" value="-0.037" />
  <xacro:property name="lg_camera_rect_offset_z" value="0.004" />
  <xacro:property name="lg_camera_rect_l" value="0.04" />
  <xacro:property name="lg_camera_rect_h" value="0.03" />
  <xacro:property name="lg_camera_rect_w" value="0.165" />
  <xacro:property name="lg_tube_rect_offset_x" value="-0.0515" />
  <xacro:property name="lg_tube_rect_offset_y" value="-0.00725" />
  <xacro:property name="lg_tube_rect_offset_z" value="0.1131" />
  <xacro:property name="lg_tube_rect_l" value="0.337" />
  <xacro:property name="lg_tube_rect_h" value="0.034" />
  <xacro:property name="lg_tube_rect_w" value="0.0915" />
  <xacro:property name="lg_pad_with_base_offset_x" value="0.0515" />
  <xacro:property name="lg_pad_with_base_offset_y" value="0" />
  <xacro:property name="lg_pad_with_base_offset_z" value="-0.2666" />
  <xacro:property name="lg_pad_with_base_col_z" value="0.0164" />
  <xacro:property name="lg_pad_with_base_rect_l" value="0.0628" />
  <xacro:property name="lg_pad_with_base_rect_h" value="0.0402" />
  <xacro:property name="lg_pad_with_base_rect_w" value="0.03" />
  <xacro:property name="lg_finger_base_rect_l" value="0.022" />
  <xacro:property name="lg_finger_base_rect_h" value="0.032" />
  <xacro:property name="lg_finger_base_rect_w" value="0.036" />
  <xacro:property name="lg_finger_a_rect_l" value="0.036" />
  <xacro:property name="lg_finger_a_rect_h" value="0.032" />
  <xacro:property name="lg_finger_a_rect_w" value="0.032" />
  <xacro:property name="lg_l_finger_bc_offset_y" value="-0.022351" />
  <xacro:property name="lg_r_finger_bc_offset_y" value="0.022351" />
  <xacro:property name="lg_finger_bc_rect_l" value="0.11" />
  <xacro:property name="lg_finger_bc_rect_h" value="0.0277" />
  <xacro:property name="lg_finger_bc_rect_w" value="0.04" />
  <!--Joints-->
  <xacro:property name="lg_hand_offset_x" value="-0.01" />
  <xacro:property name="lg_hand_offset_y" value="-0.0205" />
  <xacro:property name="lg_hand_offset_z" value="0" />
  <xacro:property name="lg_pad_joint_offset_x" value="-0.0515" />
  <xacro:property name="lg_pad_joint_offset_y" value="0" />
  <xacro:property name="lg_pad_joint_offset_z" value="0.2666" />
  <xacro:property name="lg_finger_base_offset_z" value="0.290613" />
  <xacro:property name="lg_finger_base_offset_x" value="0.0135" />
  <xacro:property name="lg_l_finger_base_offset_y" value="0.027" />
  <xacro:property name="lg_r_finger_base_offset_y" value="-0.027" />
  <xacro:property name="lg_l_finger_joint_b_offset_y" value="0.022351" />
  <xacro:property name="lg_r_finger_joint_b_offset_y" value="-0.022351" />
  <xacro:property name="lg_palm_offset_x" value="0.015" />
  <xacro:property name="lg_palm_offset_z" value="0.3036" />

  <!--Link bodies-->
  <link name="left_gripper_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/gripper_base_main.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/palm_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="${lg_base_rect_offset_x} 0 ${lg_base_rect_l/2}"/>
      <geometry>
        <box size="${lg_base_rect_h} ${lg_base_rect_w} ${lg_base_rect_l}"/>
      </geometry>
    </collision>
    <collision>
      <origin rpy="0 0 0" xyz="${lg_camera_rect_offset_x} ${lg_camera_rect_offset_y} ${lg_camera_rect_offset_z}"/>
      <geometry>
        <box size="${lg_camera_rect_h} ${lg_camera_rect_w} ${lg_camera_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.3"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_tube">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_connectors.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_main.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="white">
        <color rgba="0.7 0.7 0.7 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/tube_gear.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="blue">
        <color rgba="0 0.24 0.82 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="${lg_tube_rect_offset_x} ${lg_tube_rect_offset_y} ${lg_tube_rect_offset_z}"/>
      <geometry>
        <box size="${lg_tube_rect_h} ${lg_tube_rect_w} ${lg_tube_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.3"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_pad_with_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="${lg_pad_with_base_offset_x} ${lg_pad_with_base_offset_y} ${lg_pad_with_base_offset_z}"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/vacuum_pad_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${-M_PI/2}" xyz="${lg_pad_with_base_offset_x} ${lg_pad_with_base_offset_y} ${lg_pad_with_base_offset_z}"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/vacuum_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="green">
        <color rgba="0 1 0 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${lg_pad_with_base_col_z}"/>
      <geometry>
        <box size="${lg_pad_with_base_rect_h} ${lg_pad_with_base_rect_w} ${lg_pad_with_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_base">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-lg_finger_base_rect_l/2}"/>
      <geometry>
        <box size="${lg_finger_base_rect_h} ${lg_finger_base_rect_w} ${lg_finger_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_base">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-lg_finger_base_rect_l/2}"/>
      <geometry>
        <box size="${lg_finger_base_rect_h} ${lg_finger_base_rect_w} ${lg_finger_base_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_a">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_A.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 ${lg_finger_a_rect_w/2} 0"/>
      <geometry>
        <box size="${lg_finger_a_rect_h} ${lg_finger_a_rect_w} ${lg_finger_a_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_a">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_A.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 ${-lg_finger_a_rect_w/2} 0"/>
      <geometry>
        <box size="${lg_finger_a_rect_h} ${lg_finger_a_rect_w} ${lg_finger_a_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_l_finger_bc">
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 ${lg_l_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 0" xyz="0 ${lg_l_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-lg_finger_bc_rect_l/2}"/>
      <geometry>
        <box size="${lg_finger_bc_rect_h} ${lg_finger_bc_rect_w} ${lg_finger_bc_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_r_finger_bc">
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 ${lg_r_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightgrey">
        <color rgba="0.5 0.5 0.5 1"/>
      </material>
    </visual>
    <visual>
      <origin rpy="${M_PI/2} 0 ${M_PI}" xyz="0 ${lg_r_finger_bc_offset_y} 0"/>
      <geometry>
        <mesh filename="package://jsk_arc2017_baxter/meshes/gripper_v7/left/visual/left_finger_BC_pad.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="lightbrown">
        <color rgba="0.6 0.5 0.2 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 ${-lg_finger_bc_rect_l/2}"/>
      <geometry>
        <box size="${lg_finger_bc_rect_h} ${lg_finger_bc_rect_w} ${lg_finger_bc_rect_l}"/>
      </geometry>
    </collision>
    <!--FIXME: Adjust inertia-->
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_gripper_palm_endpoint"/>

  <!--Joints-->
  <joint name="left_gripper_base_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="${lg_hand_offset_x} ${lg_hand_offset_y} ${lg_hand_offset_z}" />
    <parent link="left_hand"/>
    <child link="left_gripper_base"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_prismatic_joint" type="prismatic">
    <origin rpy="0 0 0" xyz="0 0 0" />
    <parent link="left_gripper_base"/>
    <child link="left_gripper_tube"/>
    <axis xyz="0 0 1"/>
    <limit lower="0" upper="0.206" effort="0" velocity="0.132"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_vacuum_pad_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${lg_pad_joint_offset_x} ${lg_pad_joint_offset_y} ${lg_pad_joint_offset_z}"/>
    <parent link="left_gripper_tube"/>
    <child link="left_gripper_pad_with_base"/>
    <axis xyz="0 1 0"/>
    <limit lower="${-M_PI/2}" upper="${M_PI/2}" effort="0" velocity="3.36"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_yaw_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${lg_finger_base_offset_x} ${lg_r_finger_base_offset_y} ${lg_finger_base_offset_z}"/>
    <parent link="left_gripper_base"/>
    <child link="left_gripper_r_finger_base"/>
    <axis xyz="0 0 1"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="4.23"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_l_finger_yaw_joint" type="revolute">
    <origin rpy="0 0 0" xyz="${lg_finger_base_offset_x} ${lg_l_finger_base_offset_y} ${lg_finger_base_offset_z}"/>
    <parent link="left_gripper_base"/>
    <child link="left_gripper_l_finger_base"/>
    <mimic joint="left_gripper_finger_yaw_joint" multiplier="1"/>
    <axis xyz="0 0 -1"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="4.23"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_roll_joint_a" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="left_gripper_l_finger_base"/>
    <child link="left_gripper_l_finger_a"/>
    <axis xyz="1 0 0"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_r_finger_roll_joint_a" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="left_gripper_r_finger_base"/>
    <child link="left_gripper_r_finger_a"/>
    <mimic joint="left_gripper_finger_roll_joint_a" multiplier="1"/>
    <axis xyz="-1 0 0"/>
    <limit lower="0" upper="${M_PI/2}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_finger_roll_joint_b" type="revolute">
    <origin rpy="0 0 0" xyz="0 ${lg_l_finger_joint_b_offset_y} 0"/>
    <parent link="left_gripper_l_finger_a"/>
    <child link="left_gripper_l_finger_bc"/>
    <axis xyz="1 0 0"/>
    <limit lower="0" upper="${M_PI}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_r_finger_roll_joint_b" type="revolute">
    <origin rpy="0 0 0" xyz="0 ${lg_r_finger_joint_b_offset_y} 0"/>
    <parent link="left_gripper_r_finger_a"/>
    <child link="left_gripper_r_finger_bc"/>
    <mimic joint="left_gripper_finger_roll_joint_b" multiplier="1"/>
    <axis xyz="-1 0 0"/>
    <limit lower="0" upper="${M_PI}" effort="0" velocity="5.5"/>
    <dynamics damping="0.7"/>
  </joint>
  <joint name="left_gripper_palm_endpoint_fixed" type="fixed">
    <origin rpy="0 ${M_PI} 0" xyz="${lg_palm_offset_x} 0 ${lg_palm_offset_z}" />
    <parent link="left_gripper_base"/>
    <child link="left_gripper_palm_endpoint"/>
  </joint>

  <!--Transmission-->
  <!-- FIXME: In indigo, we may have to change hardwareInterface in gazebo -->
  <transmission name="left_gripper_prismatic_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_prismatic_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="left_gripper_prismatic_joint_motor">
      <mechanicalReduction>35.71428571</mechanicalReduction>  <!-- 1 / (0.8 * 35 * 0.001) -->
    </actuator>
  </transmission>
  <transmission name="left_gripper_vacuum_pad_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_vacuum_pad_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="left_gripper_vacuum_pad_tendon_winder">
      <mechanicalReduction>1.432291667</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="left_gripper_finger_yaw_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_gripper_finger_yaw_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
{'fraction_non_alphanumeric': 0.18310076721075125, 'fraction_numerical': 0.05558416147469234, 'mean_word_length': 3.6691910085346797, 'pattern_counts': {'":': 0, '<': 997, '<?xml version=': 2, '>': 997, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4222', 'n_tokens_mistral': 17357, 'n_tokens_neox': 15595, 'n_words': 2477}