FingerEdu
None · licence BSD-3-Clause · source: github.com/Gepetto/example-robot-data @ d0d9098d7
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.
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 19ac5c10dfea34d6 -->
<robot name="fingeredu">
<material name="fingeredu_material">
<color rgba="0.6 0.6 0.6 1.0" />
</material>
<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="finger_base_link">
<visual>
<origin xyz="-0.17995 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_back.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<visual>
<origin xyz="0.0255 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_front.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<visual>
<origin xyz="0.0255 0.02 0.08" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_side_left.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<visual>
<origin xyz="0.0255 0.0 0.08" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_top.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<collision>
<origin xyz="-0.17995 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_back.stl" />
</geometry>
</collision>
<collision>
<origin xyz="0.0255 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_front.stl" />
</geometry>
</collision>
<collision>
<origin xyz="0.0255 0.02 0.08" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_side_left.stl" />
</geometry>
</collision>
<collision>
<origin xyz="0.0255 0.0 0.08" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/base_top.stl" />
</geometry>
</collision>
<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">
<visual>
<origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/upper_link.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<collision>
<origin xyz="0.0195 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/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">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/middle_link.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/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">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/lower_link.stl" />
</geometry>
<material name="fingeredu_material" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/finger_edu_description/meshes/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">
<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" type="fixed">
<origin xyz="0.0 -0.008 -0.16" rpy="0.0 0.0 0.0" />
<parent link="finger_lower_link" />
<child link="finger_tip_link" />
</joint>
<joint name="finger_base_to_upper_joint" type="revolute">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="finger_base_link" />
<child link="finger_upper_link" />
<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" type="revolute">
<origin xyz="0.0 -0.014 0.0" rpy="0.0 0.0 0.0" />
<parent link="finger_upper_link" />
<child link="finger_middle_link" />
<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" type="revolute">
<origin xyz="0.0 -0.03745 -0.16" rpy="0.0 0.0 0.0" />
<parent link="finger_middle_link" />
<child link="finger_lower_link" />
<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" type="fixed">
<origin xyz="0.0 0.0 0.283" rpy="0.0 0.0 0.0" />
<parent link="base_link" />
<child link="finger_base_link" />
</joint>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content 19ac5c10dfea34d6 -->
<mujoco model="fingeredu">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<material name="fingeredu_material" rgba="0.6 0.6 0.6 1.0" />
<mesh name="base_back" file="example-robot-data/robots/finger_edu_description/meshes/base_back.stl" />
<mesh name="base_front" file="example-robot-data/robots/finger_edu_description/meshes/base_front.stl" />
<mesh name="base_side_left" file="example-robot-data/robots/finger_edu_description/meshes/base_side_left.stl" />
<mesh name="base_top" file="example-robot-data/robots/finger_edu_description/meshes/base_top.stl" />
<mesh name="upper_link" file="example-robot-data/robots/finger_edu_description/meshes/upper_link.stl" />
<mesh name="middle_link" file="example-robot-data/robots/finger_edu_description/meshes/middle_link.stl" />
<mesh name="lower_link" file="example-robot-data/robots/finger_edu_description/meshes/lower_link.stl" />
</asset>
<worldbody>
<body name="base_link">
<inertial pos="0.0 0.0 0.0" mass="1.0" fullinertia="4.16666666667e-06 4.16666666667e-06 4.16666666667e-06 0.0 0.0 0.0" />
<body name="finger_base_link" pos="0.0 0.0 0.283">
<inertial pos="-0.1 0.0 0.4" mass="1.0" fullinertia="0.0608333333333 0.0566666666667 0.0108333333333 0.0 0.0 0.0" />
<geom name="finger_base_link_vis_0" type="mesh" mesh="base_back" pos="-0.17995 0.0 0.0" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_base_link_vis_1" type="mesh" mesh="base_front" pos="0.0255 0.0 0.0" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_base_link_vis_2" type="mesh" mesh="base_side_left" pos="0.0255 0.02 0.08" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_base_link_vis_3" type="mesh" mesh="base_top" pos="0.0255 0.0 0.08" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_base_link_col_0" type="mesh" mesh="base_back" pos="-0.17995 0.0 0.0" group="3" />
<geom name="finger_base_link_col_1" type="mesh" mesh="base_front" pos="0.0255 0.0 0.0" group="3" />
<geom name="finger_base_link_col_2" type="mesh" mesh="base_side_left" pos="0.0255 0.02 0.08" group="3" />
<geom name="finger_base_link_col_3" type="mesh" mesh="base_top" pos="0.0255 0.0 0.08" group="3" />
<body name="finger_upper_link">
<joint name="finger_base_to_upper_joint" type="hinge" axis="-1.0 0.0 0.0" range="-1.57079632679 1.57079632679" />
<inertial pos="-0.079 0.0 0.0" mass="0.14854" fullinertia="3e-05 0.00041 0.00041 5e-05 0.0 0.0" />
<geom name="finger_upper_link_vis_0" type="mesh" mesh="upper_link" pos="0.0195 0.0 0.0" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_upper_link_col_0" type="mesh" mesh="upper_link" pos="0.0195 0.0 0.0" group="3" />
<body name="finger_middle_link" pos="0.0 -0.014 0.0">
<joint name="finger_upper_to_middle_joint" type="hinge" axis="0.0 1.0 0.0" range="-1.57079632679 1.57079632679" />
<inertial pos="0.0 -0.019 -0.079" mass="0.14854" fullinertia="0.00041 0.00041 3e-05 0.0 0.0 5e-05" />
<geom name="finger_middle_link_vis_0" type="mesh" mesh="middle_link" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_middle_link_col_0" type="mesh" mesh="middle_link" group="3" />
<body name="finger_lower_link" pos="0.0 -0.03745 -0.16">
<joint name="finger_middle_to_lower_joint" type="hinge" axis="0.0 1.0 0.0" range="-3.14159265359 3.14159265359" />
<inertial pos="0.0 -0.009 -0.089" mass="0.0307" fullinertia="0.00012 0.00012 0.0 0.0 0.0 0.0" />
<geom name="finger_lower_link_vis_0" type="mesh" mesh="lower_link" contype="0" conaffinity="0" group="2" material="fingeredu_material" />
<geom name="finger_lower_link_col_0" type="mesh" mesh="lower_link" group="3" />
<body name="finger_tip_link" pos="0.0 -0.008 -0.16">
<inertial pos="0.0 0.0 0.0" mass="0.01" fullinertia="1.66666666667e-07 1.66666666667e-07 1.66666666667e-07 0.0 0.0 0.0" />
</body>
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="finger_lower_link" body2="finger_tip_link" />
<exclude body1="finger_base_link" body2="finger_upper_link" />
<exclude body1="finger_upper_link" body2="finger_middle_link" />
<exclude body1="finger_middle_link" body2="finger_lower_link" />
<exclude body1="base_link" body2="finger_base_link" />
</contact>
</mujoco>
Import report
Counts
| Links | 6 |
|---|---|
| Joints | 5 |
| Moving joints | 3 |
| Visuals | 7 |
| Collisions | 7 |
| Materials | 1 |
Meshes
Formats: stl.
Asset size: 0.5 MB.
Dropped on import
Nothing dropped: every tag in the original is carried.
Forward-kinematics check
Forward kinematics of 6 link frames at 20 random joint positions within limits, original URDF against robot.urdf, computed by pinocchio 3.8.0. Worst difference: 0.0e+00 m · 1.1e-16 rad.
MuJoCo
robot.xml did not compile in MuJoCo: Error: error 'inertia must have positive eigenvalues' in fullinertia
Source & licence
| Repository | https://github.com/Gepetto/example-robot-data |
|---|---|
| Commit | d0d9098d752014aec3725b07766962acf06c5418 |
| Original file | robots/finger_edu_description/robots/finger_edu.urdf |
| Licence | BSD-3-Clause · the upstream LICENSE file |
| Files | robot.urdf · robot.xml |
Meshes are copied verbatim from the repository at the pinned commit and keep their upstream licence.