Bolt
ODRI · 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.
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 7281be3c3ecb04ce -->
<robot name="bolt">
<material name="grey">
<color rgba="0.8 0.8 0.8 1.0" />
</material>
<link name="base_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/bolt_description/meshes/stl/bolt_body.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/bolt_body.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<mass value="0.61436936" />
<inertia ixx="0.00578574" ixy="0.0" ixz="0.0" iyy="0.01938108" iyz="0.0" izz="0.02476124" />
</inertial>
</link>
<joint name="FL_HAA" type="revolute">
<origin xyz="0.0 0.0636 0.0" rpy="0.0 0.0 0.0" />
<parent link="base_link" />
<child link="FL_SHOULDER" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FL_SHOULDER">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/bolt_hip_fe_left_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/bolt_hip_fe_left_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.01708256 -0.00446892 -0.0109583" rpy="0.0 0.0 0.0" />
<mass value="0.14004265" />
<inertia ixx="7.443e-05" ixy="1.48e-06" ixz="2.154e-05" iyy="0.00013847" iyz="-1.096e-05" izz="9.002e-05" />
</inertial>
</link>
<joint name="FL_HFE" type="revolute">
<origin xyz="0.0 0.0145 -0.0386" rpy="0.0 0.0 0.0" />
<parent link="FL_SHOULDER" />
<child link="FL_UPPER_LEG" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FL_UPPER_LEG">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/upper_leg_200mm_left_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/upper_leg_200mm_left_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="1.377e-05 0.01935853 -0.118707" rpy="0.0 0.0 0.0" />
<mass value="0.14853845" />
<inertia ixx="0.00041107" ixy="0.0" ixz="9e-08" iyy="0.00041193" iyz="-4.671e-05" izz="3.024e-05" />
</inertial>
</link>
<joint name="FL_KFE" type="revolute">
<origin xyz="0.0 0.0374 -0.2" rpy="0.0 0.0 0.0" />
<parent link="FL_UPPER_LEG" />
<child link="FL_LOWER_LEG" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FL_LOWER_LEG">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/lower_leg_200mm_left_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/lower_leg_200mm_left_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.00836718 -0.11591877" rpy="0.0 0.0 0.0" />
<mass value="0.03117243" />
<inertia ixx="0.00011487" ixy="0.0" ixz="0.0" iyy="0.00011556" iyz="-1.9e-06" izz="2.2e-06" />
</inertial>
</link>
<joint name="FL_ANKLE" type="fixed">
<origin xyz="0.0 0.008 -0.2" rpy="0.0 0.0 0.0" />
<parent link="FL_LOWER_LEG" />
<child link="FL_FOOT" />
</joint>
<link name="FL_FOOT">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/bolt_foot.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/bolt_foot.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.00035767" rpy="0.0 0.0 0.0" />
<mass value="0.0" />
<inertia ixx="5.7e-07" ixy="0.0" ixz="0.0" iyy="8.4e-07" iyz="0.0" izz="5.3e-07" />
</inertial>
</link>
<joint name="FR_HAA" type="revolute">
<origin xyz="0.0 -0.0636 0.0" rpy="0.0 0.0 0.0" />
<parent link="base_link" />
<child link="FR_SHOULDER" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FR_SHOULDER">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/bolt_hip_fe_right_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/bolt_hip_fe_right_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.01708233 0.00447099 -0.01095846" rpy="0.0 0.0 0.0" />
<mass value="0.14004412" />
<inertia ixx="7.442e-05" ixy="-1.48e-06" ixz="2.154e-05" iyy="0.00013848" iyz="1.095e-05" izz="9.001e-05" />
</inertial>
</link>
<joint name="FR_HFE" type="revolute">
<origin xyz="0.0 -0.0145 -0.0386" rpy="0.0 0.0 0.0" />
<parent link="FR_SHOULDER" />
<child link="FR_UPPER_LEG" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FR_UPPER_LEG">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/upper_leg_200mm_right_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/upper_leg_200mm_right_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-1.377e-05 -0.01935853 -0.118707" rpy="0.0 0.0 0.0" />
<mass value="0.14853845" />
<inertia ixx="0.00041107" ixy="0.0" ixz="-9e-08" iyy="0.00041193" iyz="4.671e-05" izz="3.024e-05" />
</inertial>
</link>
<joint name="FR_KFE" type="revolute">
<origin xyz="0.0 -0.0374 -0.2" rpy="0.0 0.0 0.0" />
<parent link="FR_UPPER_LEG" />
<child link="FR_LOWER_LEG" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="1000.0" lower="-10.0" upper="10.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="FR_LOWER_LEG">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/lower_leg_200mm_right_side.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/lower_leg_200mm_right_side.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 -0.00836718 -0.11591877" rpy="0.0 0.0 0.0" />
<mass value="0.03117243" />
<inertia ixx="0.00011487" ixy="0.0" ixz="0.0" iyy="0.00011556" iyz="1.9e-06" izz="2.2e-06" />
</inertial>
</link>
<joint name="FR_ANKLE" type="fixed">
<origin xyz="0.0 -0.008 -0.2" rpy="0.0 0.0 0.0" />
<parent link="FR_LOWER_LEG" />
<child link="FR_FOOT" />
</joint>
<link name="FR_FOOT">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://example-robot-data/robots/bolt_description/meshes/stl/bolt_foot.stl" />
</geometry>
<material name="grey" />
</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/bolt_description/meshes/stl/bolt_foot.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.00035767" rpy="0.0 0.0 0.0" />
<mass value="0.0" />
<inertia ixx="5.7e-07" ixy="0.0" ixz="0.0" iyy="8.4e-07" iyz="0.0" izz="5.3e-07" />
</inertial>
</link>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content 7281be3c3ecb04ce -->
<mujoco model="bolt">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<material name="grey" rgba="0.8 0.8 0.8 1.0" />
<mesh name="bolt_body" file="example-robot-data/robots/bolt_description/meshes/stl/bolt_body.stl" />
<mesh name="bolt_hip_fe_left_side" file="example-robot-data/robots/bolt_description/meshes/stl/bolt_hip_fe_left_side.stl" />
<mesh name="upper_leg_200mm_left_side" file="example-robot-data/robots/bolt_description/meshes/stl/upper_leg_200mm_left_side.stl" />
<mesh name="lower_leg_200mm_left_side" file="example-robot-data/robots/bolt_description/meshes/stl/lower_leg_200mm_left_side.stl" />
<mesh name="bolt_foot" file="example-robot-data/robots/bolt_description/meshes/stl/bolt_foot.stl" />
<mesh name="bolt_hip_fe_right_side" file="example-robot-data/robots/bolt_description/meshes/stl/bolt_hip_fe_right_side.stl" />
<mesh name="upper_leg_200mm_right_side" file="example-robot-data/robots/bolt_description/meshes/stl/upper_leg_200mm_right_side.stl" />
<mesh name="lower_leg_200mm_right_side" file="example-robot-data/robots/bolt_description/meshes/stl/lower_leg_200mm_right_side.stl" />
</asset>
<worldbody>
<body name="base_link">
<inertial pos="0.0 0.0 0.0" mass="0.61436936" fullinertia="0.00578574 0.01938108 0.02476124 0.0 0.0 0.0" />
<geom name="base_link_vis_0" type="mesh" mesh="bolt_body" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="base_link_col_0" type="mesh" mesh="bolt_body" group="3" />
<body name="FL_SHOULDER" pos="0.0 0.0636 0.0">
<joint name="FL_HAA" type="hinge" axis="1.0 0.0 0.0" range="-10.0 10.0" />
<inertial pos="0.01708256 -0.00446892 -0.0109583" mass="0.14004265" fullinertia="7.443e-05 0.00013847 9.002e-05 1.48e-06 2.154e-05 -1.096e-05" />
<geom name="FL_SHOULDER_vis_0" type="mesh" mesh="bolt_hip_fe_left_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FL_SHOULDER_col_0" type="mesh" mesh="bolt_hip_fe_left_side" group="3" />
<body name="FL_UPPER_LEG" pos="0.0 0.0145 -0.0386">
<joint name="FL_HFE" type="hinge" axis="0.0 1.0 0.0" range="-10.0 10.0" />
<inertial pos="1.377e-05 0.01935853 -0.118707" mass="0.14853845" fullinertia="0.00041107 0.00041193 3.024e-05 0.0 9e-08 -4.671e-05" />
<geom name="FL_UPPER_LEG_vis_0" type="mesh" mesh="upper_leg_200mm_left_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FL_UPPER_LEG_col_0" type="mesh" mesh="upper_leg_200mm_left_side" group="3" />
<body name="FL_LOWER_LEG" pos="0.0 0.0374 -0.2">
<joint name="FL_KFE" type="hinge" axis="0.0 1.0 0.0" range="-10.0 10.0" />
<inertial pos="0.0 0.00836718 -0.11591877" mass="0.03117243" fullinertia="0.00011487 0.00011556 2.2e-06 0.0 0.0 -1.9e-06" />
<geom name="FL_LOWER_LEG_vis_0" type="mesh" mesh="lower_leg_200mm_left_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FL_LOWER_LEG_col_0" type="mesh" mesh="lower_leg_200mm_left_side" group="3" />
<body name="FL_FOOT" pos="0.0 0.008 -0.2">
<inertial pos="0.0 0.0 0.00035767" mass="0.0" fullinertia="5.7e-07 8.4e-07 5.3e-07 0.0 0.0 0.0" />
<geom name="FL_FOOT_vis_0" type="mesh" mesh="bolt_foot" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FL_FOOT_col_0" type="mesh" mesh="bolt_foot" group="3" />
</body>
</body>
</body>
</body>
<body name="FR_SHOULDER" pos="0.0 -0.0636 0.0">
<joint name="FR_HAA" type="hinge" axis="1.0 0.0 0.0" range="-10.0 10.0" />
<inertial pos="0.01708233 0.00447099 -0.01095846" mass="0.14004412" fullinertia="7.442e-05 0.00013848 9.001e-05 -1.48e-06 2.154e-05 1.095e-05" />
<geom name="FR_SHOULDER_vis_0" type="mesh" mesh="bolt_hip_fe_right_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FR_SHOULDER_col_0" type="mesh" mesh="bolt_hip_fe_right_side" group="3" />
<body name="FR_UPPER_LEG" pos="0.0 -0.0145 -0.0386">
<joint name="FR_HFE" type="hinge" axis="0.0 1.0 0.0" range="-10.0 10.0" />
<inertial pos="-1.377e-05 -0.01935853 -0.118707" mass="0.14853845" fullinertia="0.00041107 0.00041193 3.024e-05 0.0 -9e-08 4.671e-05" />
<geom name="FR_UPPER_LEG_vis_0" type="mesh" mesh="upper_leg_200mm_right_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FR_UPPER_LEG_col_0" type="mesh" mesh="upper_leg_200mm_right_side" group="3" />
<body name="FR_LOWER_LEG" pos="0.0 -0.0374 -0.2">
<joint name="FR_KFE" type="hinge" axis="0.0 1.0 0.0" range="-10.0 10.0" />
<inertial pos="0.0 -0.00836718 -0.11591877" mass="0.03117243" fullinertia="0.00011487 0.00011556 2.2e-06 0.0 0.0 1.9e-06" />
<geom name="FR_LOWER_LEG_vis_0" type="mesh" mesh="lower_leg_200mm_right_side" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FR_LOWER_LEG_col_0" type="mesh" mesh="lower_leg_200mm_right_side" group="3" />
<body name="FR_FOOT" pos="0.0 -0.008 -0.2">
<inertial pos="0.0 0.0 0.00035767" mass="0.0" fullinertia="5.7e-07 8.4e-07 5.3e-07 0.0 0.0 0.0" />
<geom name="FR_FOOT_vis_0" type="mesh" mesh="bolt_foot" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="FR_FOOT_col_0" type="mesh" mesh="bolt_foot" group="3" />
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="base_link" body2="FL_SHOULDER" />
<exclude body1="FL_SHOULDER" body2="FL_UPPER_LEG" />
<exclude body1="FL_UPPER_LEG" body2="FL_LOWER_LEG" />
<exclude body1="FL_LOWER_LEG" body2="FL_FOOT" />
<exclude body1="base_link" body2="FR_SHOULDER" />
<exclude body1="FR_SHOULDER" body2="FR_UPPER_LEG" />
<exclude body1="FR_UPPER_LEG" body2="FR_LOWER_LEG" />
<exclude body1="FR_LOWER_LEG" body2="FR_FOOT" />
</contact>
</mujoco>
Import report
Counts
| Links | 9 |
|---|---|
| Joints | 8 |
| Moving joints | 6 |
| Visuals | 9 |
| Collisions | 9 |
| Materials | 1 |
Meshes
Formats: stl.
Asset size: 1.0 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
contact | 9 | <contact> is not part of the URDF subset RobotDescription mirrors |
dynamics | 2 | fixed joints carry no <dynamics>; URDF ignores it too |
limit | 2 | fixed joints carry no <limit>; URDF ignores it too |
material | 9 | <material> is not part of the URDF subset RobotDescription mirrors |
Forward-kinematics check
Forward kinematics of 9 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.4e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/Gepetto/example-robot-data |
|---|---|
| Commit | d0d9098d752014aec3725b07766962acf06c5418 |
| Original file | robots/bolt_description/robots/bolt.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.