RobotDescription

SO-ARM100

The Robot Studio · licence Apache-2.0 · source: github.com/TheRobotStudio/SO-ARM100 @ 63eede5a6

What you are looking at is RobotDescription.from_urdf(original).to_urdf_string(): the reference implementation's re-serialisation of the original file, not the original file itself.

Loading the model…

drag to orbit · scroll to zoom · right-drag to pan

robot.urdf

<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (py backend), content 2ae31c9d97930141 -->
<robot name="so_arm100">
  <material name="3d_printed">
    <color rgba="1.0 0.82 0.12 1.0" />
  </material>
  <material name="sts3215">
    <color rgba="0.1 0.1 0.1 1.0" />
  </material>
  <link name="base">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Base.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Base_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Base.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="1.0" />
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" />
    </inertial>
  </link>
  <link name="shoulder">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Rotation_Pitch.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Rotation_Pitch_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Rotation_Pitch.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-9.07886e-05 0.0590972 0.031089" rpy="0.0 0.0 0.0" />
      <mass value="0.119226" />
      <inertia ixx="5.94278e-05" ixy="0.0" ixz="0.0" iyy="5.89975e-05" iyz="0.0" izz="3.13712e-05" />
    </inertial>
  </link>
  <link name="upper_arm">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Upper_Arm.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Upper_Arm_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Upper_Arm.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-1.72052e-05 0.0701802 0.00310545" rpy="0.0 0.0 0.0" />
      <mass value="0.162409" />
      <inertia ixx="0.000213312" ixy="0.0" ixz="0.0" iyy="0.000167164" iyz="0.0" izz="7.01522e-05" />
    </inertial>
  </link>
  <link name="lower_arm">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Lower_Arm.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Lower_Arm_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Lower_Arm.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.00339604 0.00137796 0.0768007" rpy="0.0 0.0 0.0" />
      <mass value="0.147968" />
      <inertia ixx="0.000138803" ixy="0.0" ixz="0.0" iyy="0.000107748" iyz="0.0" izz="4.84242e-05" />
    </inertial>
  </link>
  <link name="wrist">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Wrist_Pitch_Roll.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Wrist_Pitch_Roll_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Wrist_Pitch_Roll.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.00852653 -0.0352279 -2.34622e-05" rpy="0.0 0.0 0.0" />
      <mass value="0.0661321" />
      <inertia ixx="3.45403e-05" ixy="0.0" ixz="0.0" iyy="2.39041e-05" iyz="0.0" izz="1.94704e-05" />
    </inertial>
  </link>
  <link name="gripper">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Fixed_Jaw.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Fixed_Jaw_Motor.stl" />
      </geometry>
      <material name="sts3215" />
    </visual>
    <inertial>
      <origin xyz="0.00552377 -0.0280167 0.000483583" rpy="0.0 0.0 0.0" />
      <mass value="0.0929859" />
      <inertia ixx="5.03136e-05" ixy="0.0" ixz="0.0" iyy="4.64098e-05" iyz="0.0" izz="2.72961e-05" />
    </inertial>
  </link>
  <link name="jaw">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="assets/Moving_Jaw.stl" />
      </geometry>
      <material name="3d_printed" />
    </visual>
    <inertial>
      <origin xyz="-0.00161745 -0.0303473 0.000449646" rpy="0.0 0.0 0.0" />
      <mass value="0.0202444" />
      <inertia ixx="1.11265e-05" ixy="0.0" ixz="0.0" iyy="8.99651e-06" iyz="0.0" izz="2.99548e-06" />
    </inertial>
  </link>
  <joint name="1" type="revolute">
    <origin xyz="0.0 -0.0452 0.0165" rpy="1.57079 0.0 0.0" />
    <parent link="base" />
    <child link="shoulder" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="35.0" velocity="1.0" lower="-2.0" upper="2.0" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="2" type="revolute">
    <origin xyz="0.0 0.1025 0.0306" rpy="-1.8 0.0 0.0" />
    <parent link="shoulder" />
    <child link="upper_arm" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="35.0" velocity="1.0" lower="0.0" upper="3.5" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="3" type="revolute">
    <origin xyz="0.0 0.11257 0.028" rpy="1.57079 0.0 0.0" />
    <parent link="upper_arm" />
    <child link="lower_arm" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="35.0" velocity="1.0" lower="-3.14158" upper="0.0" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="4" type="revolute">
    <origin xyz="0.0 0.0052 0.1349" rpy="-1.0 0.0 0.0" />
    <parent link="lower_arm" />
    <child link="wrist" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="35.0" velocity="1.0" lower="-2.5" upper="1.2" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="5" type="revolute">
    <origin xyz="0.0 -0.0601 0.0" rpy="0.0 1.57079 0.0" />
    <parent link="wrist" />
    <child link="gripper" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="35.0" velocity="1.0" lower="-3.14158" upper="3.14158" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="6" type="revolute">
    <origin xyz="-0.0202 -0.0244 0.0" rpy="0.0 3.14158 0.0" />
    <parent link="gripper" />
    <child link="jaw" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="35.0" velocity="1.0" lower="-0.2" upper="2.0" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
</robot>