<?xml version='1.0' encoding='utf-8'?>
<robot name="so100_para">
  <link name="world" />
  <joint name="base_fix" type="fixed">
    <parent link="world" />
    <child link="base" />
    <origin xyz="0 0 0" rpy="0 0 0" />
  </joint>
  <link name="base">
    <visual>
      <origin xyz="0.004427 -0.020087 0.016500" rpy="1.570795 0.000006 1.396300" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039430912">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.004427 -0.020087 0.016500" rpy="1.570795 0.000006 1.396300" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039431712">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 -0.0452 -0.01" rpy="0 0 0" />
      <geometry>
        <box size="0.08 0.08 0.006" />
      </geometry>
      <material name="baseplate">
        <color rgba="0.90 0.75 0.15 1" />
      </material>
    </visual>
  </link>
  <link name="shoulder">
    <visual>
      <origin xyz="0.000000 0.099171 0.055882" rpy="-0.000000 -1.439885 -1.570796" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039431232">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.000000 0.099171 0.055882" rpy="-0.000000 -1.439885 -1.570796" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039434192">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
  </link>
  <link name="upper_arm">
    <visual>
      <origin xyz="-0.000000 0.191226 0.037948" rpy="3.141593 0.130893 1.570796" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039432512">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="-0.000000 0.191226 0.037948" rpy="3.141593 0.130893 1.570796" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039435792">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
  </link>
  <link name="lower_arm">
    <visual>
      <origin xyz="-0.000000 0.013638 0.130565" rpy="3.141593 1.265393 1.570796" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039435232">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="-0.000000 0.013638 0.130565" rpy="3.141593 1.265393 1.570796" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039434832">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
  </link>
  <link name="wrist">
    <visual>
      <origin xyz="0.004427 -0.110100 0.025113" rpy="0.000000 -1.396285 0.000000" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039433712">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.004427 -0.110100 0.025113" rpy="0.000000 -1.396285 0.000000" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039437152">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
  </link>
  <link name="wrist2">
    <visual>
      <origin xyz="0.024631 -0.068400 -0.000000" rpy="1.570790 0.000002 0.261800" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039436592">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.024631 -0.068400 -0.000000" rpy="1.570790 0.000002 0.261800" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039438512">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
  </link>
  <link name="gripper">
    <visual>
      <origin xyz="-0.072505 -0.054000 -0.000000" rpy="-1.570808 0.000004 1.876173" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="servo139939039437952">
        <color rgba="0.15 0.15 0.17 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="-0.072505 -0.054000 -0.000000" rpy="-1.570808 0.000004 1.876173" />
      <geometry>
        <mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="holder139939039439872">
        <color rgba="0.20 0.52 0.85 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.0135 -0.055 0" rpy="0 0 0" />
      <geometry>
        <box size="0.012 0.05 0.02" />
      </geometry>
      <material name="fixed_jaw">
        <color rgba="0.80 0.55 0.18 1" />
      </material>
    </visual>
  </link>
  <link name="jaw">
    <visual>
      <origin xyz="0 -0.03 0" rpy="0 0 0" />
      <geometry>
        <box size="0.012 0.05 0.02" />
      </geometry>
      <material name="moving_jaw">
        <color rgba="0.85 0.60 0.20 1" />
      </material>
    </visual>
  </link>
  <joint name="shoulder_pan" type="revolute">
    <parent link="base" />
    <child link="shoulder" />
    <origin xyz="0.0 -0.0452 0.0165" rpy="1.57079 0 0" />
    <axis xyz="0 1 0" />
    <limit lower="-2" upper="2" effort="35" velocity="1" />
  </joint>
  <joint name="shoulder_lift" type="revolute">
    <parent link="shoulder" />
    <child link="upper_arm" />
    <origin xyz="0.0 0.1025 0.0306" rpy="-1.8 0 0" />
    <axis xyz="1 0 0" />
    <limit lower="0" upper="3.5" effort="35" velocity="1" />
  </joint>
  <joint name="elbow_flex" type="revolute">
    <parent link="upper_arm" />
    <child link="lower_arm" />
    <origin xyz="0.0 0.16594369717854146 0.04127585965176478" rpy="1.57079 0 0" />
    <axis xyz="1 0 0" />
    <limit lower="-3.14158" upper="0" effort="35" velocity="1" />
  </joint>
  <joint name="wrist_flex" type="revolute">
    <parent link="lower_arm" />
    <child link="wrist" />
    <origin xyz="0.0 0.0059703693136230656 0.15488515777072145" rpy="-1 0 0" />
    <axis xyz="1 0 0" />
    <limit lower="-2.5" upper="1.2" effort="35" velocity="1" />
  </joint>
  <joint name="wrist_roll" type="revolute">
    <parent link="wrist" />
    <child link="wrist2" />
    <origin xyz="0.0 -0.1101 0.0" rpy="0 1.57079 0" />
    <axis xyz="0 1 0" />
    <limit lower="-3.14158" upper="3.14158" effort="35" velocity="1" />
  </joint>
  <joint name="wrist_yaw" type="revolute">
    <parent link="wrist2" />
    <child link="gripper" />
    <origin xyz="0.0 -0.075 0.0" rpy="1.57079 0 0" />
    <axis xyz="0 1 0" />
    <limit lower="-1.8" upper="1.8" effort="35" velocity="1" />
  </joint>
  <joint name="gripper" type="revolute">
    <parent link="gripper" />
    <child link="jaw" />
    <origin xyz="-0.06483878457462501 -0.07832011602083419 0.0" rpy="0 3.14158 0" />
    <axis xyz="0 0 1" />
    <limit lower="-0.2" upper="2.0" effort="35" velocity="1" />
  </joint>
</robot>