RobotDescription

TriFingerEdu

None · licence MIT · source: github.com/facebookresearch/differentiable-robot-model @ d7bd1b3b8

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.

MuJoCo is unavailable for this robot: Error: error 'inertia must have positive eigenvalues' in fullinertia.

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 aefb72f032262e76 -->
<robot name="trifingeredu">
  <link name="base_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="1.0" />
      <inertia ixx="4.16666666667e-06" ixy="0.0" ixz="0.0" iyy="4.16666666667e-06" iyz="0.0" izz="4.16666666667e-06" />
    </inertial>
  </link>
  <link name="trifinger_base_link" />
  <joint name="base_to_trifinger_base_joint" type="fixed">
    <origin xyz="0.0 0.0 0.34" rpy="0.0 0.0 -1.57079632679" />
    <parent link="base_link" />
    <child link="trifinger_base_link" />
  </joint>
  <material name="fingeredu_0_material">
    <color rgba="0.6 0.0 0.0 1.0" />
  </material>
  <material name="fingeredu_120_material">
    <color rgba="0.0 0.6 0.0 1.0" />
  </material>
  <material name="fingeredu_240_material">
    <color rgba="0.0 0.0 0.6 1.0" />
  </material>
  <link name="finger_base_link_0">
    <visual>
      <origin xyz="-0.17995 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_back.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_front.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_side_left.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_top.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <inertial>
      <origin xyz="-0.1 0.0 0.4" rpy="0.0 0.0 0.0" />
      <mass value="1.0" />
      <inertia ixx="0.0608333333333" ixy="0.0" ixz="0.0" iyy="0.0566666666667" iyz="0.0" izz="0.0108333333333" />
    </inertial>
  </link>
  <link name="finger_upper_link_0">
    <visual>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <collision>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.079 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="3e-05" ixy="5e-05" ixz="0.0" iyy="0.00041" iyz="0.0" izz="0.00041" />
    </inertial>
  </link>
  <link name="finger_middle_link_0">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.019 -0.079" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="0.00041" ixy="0.0" ixz="0.0" iyy="0.00041" iyz="5e-05" izz="3e-05" />
    </inertial>
  </link>
  <link name="finger_lower_link_0">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
      <material name="fingeredu_0_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.009 -0.089" rpy="0.0 0.0 0.0" />
      <mass value="0.0307" />
      <inertia ixx="0.00012" ixy="0.0" ixz="0.0" iyy="0.00012" iyz="0.0" izz="0.0" />
    </inertial>
  </link>
  <link name="finger_tip_link_0">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.01" />
      <inertia ixx="1.66666666667e-07" ixy="0.0" ixz="0.0" iyy="1.66666666667e-07" iyz="0.0" izz="1.66666666667e-07" />
    </inertial>
  </link>
  <joint name="finger_lower_to_tip_joint_0" type="fixed">
    <origin xyz="0.0 -0.008 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_lower_link_0" />
    <child link="finger_tip_link_0" />
  </joint>
  <joint name="finger_base_to_upper_joint_0" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_base_link_0" />
    <child link="finger_upper_link_0" />
    <axis xyz="-1.0 0.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_upper_to_middle_joint_0" type="revolute">
    <origin xyz="0.0 -0.014 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_upper_link_0" />
    <child link="finger_middle_link_0" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_middle_to_lower_joint_0" type="revolute">
    <origin xyz="0.0 -0.03745 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_middle_link_0" />
    <child link="finger_lower_link_0" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-3.14159265359" upper="3.14159265359" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="finger_base_link_120">
    <visual>
      <origin xyz="-0.17995 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_back.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_front.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_side_left.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_top.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <inertial>
      <origin xyz="-0.1 0.0 0.4" rpy="0.0 0.0 0.0" />
      <mass value="1.0" />
      <inertia ixx="0.0608333333333" ixy="0.0" ixz="0.0" iyy="0.0566666666667" iyz="0.0" izz="0.0108333333333" />
    </inertial>
  </link>
  <link name="finger_upper_link_120">
    <visual>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <collision>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.079 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="3e-05" ixy="5e-05" ixz="0.0" iyy="0.00041" iyz="0.0" izz="0.00041" />
    </inertial>
  </link>
  <link name="finger_middle_link_120">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.019 -0.079" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="0.00041" ixy="0.0" ixz="0.0" iyy="0.00041" iyz="5e-05" izz="3e-05" />
    </inertial>
  </link>
  <link name="finger_lower_link_120">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
      <material name="fingeredu_120_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.009 -0.089" rpy="0.0 0.0 0.0" />
      <mass value="0.0307" />
      <inertia ixx="0.00012" ixy="0.0" ixz="0.0" iyy="0.00012" iyz="0.0" izz="0.0" />
    </inertial>
  </link>
  <link name="finger_tip_link_120">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.01" />
      <inertia ixx="1.66666666667e-07" ixy="0.0" ixz="0.0" iyy="1.66666666667e-07" iyz="0.0" izz="1.66666666667e-07" />
    </inertial>
  </link>
  <joint name="finger_lower_to_tip_joint_120" type="fixed">
    <origin xyz="0.0 -0.008 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_lower_link_120" />
    <child link="finger_tip_link_120" />
  </joint>
  <joint name="finger_base_to_upper_joint_120" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_base_link_120" />
    <child link="finger_upper_link_120" />
    <axis xyz="-1.0 0.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_upper_to_middle_joint_120" type="revolute">
    <origin xyz="0.0 -0.014 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_upper_link_120" />
    <child link="finger_middle_link_120" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_middle_to_lower_joint_120" type="revolute">
    <origin xyz="0.0 -0.03745 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_middle_link_120" />
    <child link="finger_lower_link_120" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-3.14159265359" upper="3.14159265359" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="finger_base_link_240">
    <visual>
      <origin xyz="-0.17995 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_back.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_front.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_side_left.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <visual>
      <origin xyz="0.0255 0.0 0.08" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/base_top.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <inertial>
      <origin xyz="-0.1 0.0 0.4" rpy="0.0 0.0 0.0" />
      <mass value="1.0" />
      <inertia ixx="0.0608333333333" ixy="0.0" ixz="0.0" iyy="0.0566666666667" iyz="0.0" izz="0.0108333333333" />
    </inertial>
  </link>
  <link name="finger_upper_link_240">
    <visual>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <collision>
      <origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/upper_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.079 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="3e-05" ixy="5e-05" ixz="0.0" iyy="0.00041" iyz="0.0" izz="0.00041" />
    </inertial>
  </link>
  <link name="finger_middle_link_240">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/middle_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.019 -0.079" rpy="0.0 0.0 0.0" />
      <mass value="0.14854" />
      <inertia ixx="0.00041" ixy="0.0" ixz="0.0" iyy="0.00041" iyz="5e-05" izz="3e-05" />
    </inertial>
  </link>
  <link name="finger_lower_link_240">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
      <material name="fingeredu_240_material" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="package://trifinger_edu_description/meshes/stl/edu/lower_link.stl" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.009 -0.089" rpy="0.0 0.0 0.0" />
      <mass value="0.0307" />
      <inertia ixx="0.00012" ixy="0.0" ixz="0.0" iyy="0.00012" iyz="0.0" izz="0.0" />
    </inertial>
  </link>
  <link name="finger_tip_link_240">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <mass value="0.01" />
      <inertia ixx="1.66666666667e-07" ixy="0.0" ixz="0.0" iyy="1.66666666667e-07" iyz="0.0" izz="1.66666666667e-07" />
    </inertial>
  </link>
  <joint name="finger_lower_to_tip_joint_240" type="fixed">
    <origin xyz="0.0 -0.008 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_lower_link_240" />
    <child link="finger_tip_link_240" />
  </joint>
  <joint name="finger_base_to_upper_joint_240" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_base_link_240" />
    <child link="finger_upper_link_240" />
    <axis xyz="-1.0 0.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_upper_to_middle_joint_240" type="revolute">
    <origin xyz="0.0 -0.014 0.0" rpy="0.0 0.0 0.0" />
    <parent link="finger_upper_link_240" />
    <child link="finger_middle_link_240" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-1.57079632679" upper="1.57079632679" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="finger_middle_to_lower_joint_240" type="revolute">
    <origin xyz="0.0 -0.03745 -0.16" rpy="0.0 0.0 0.0" />
    <parent link="finger_middle_link_240" />
    <child link="finger_lower_link_240" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="1000.0" velocity="1000.0" lower="-3.14159265359" upper="3.14159265359" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="base_to_finger_0" type="fixed">
    <origin xyz="-0.0455 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="trifinger_base_link" />
    <child link="finger_base_link_0" />
  </joint>
  <joint name="base_to_finger_120" type="fixed">
    <origin xyz="0.02275 0.0394041558722 0.0" rpy="0.0 0.0 -2.09439510239" />
    <parent link="trifinger_base_link" />
    <child link="finger_base_link_120" />
  </joint>
  <joint name="base_to_finger_240" type="fixed">
    <origin xyz="0.02275 -0.0394041558722 0.0" rpy="0.0 0.0 -4.18879020479" />
    <parent link="trifinger_base_link" />
    <child link="finger_base_link_240" />
  </joint>
</robot>