UR3e
Universal Robots · licence BSD-3-Clause · source: github.com/UniversalRobots/Universal_Robots_ROS2_Description @ 22f055da2
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 7536834c806c5244 -->
<robot name="ur3e">
<link name="world" />
<link name="base_link" />
<link name="base_link_inertia">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/base.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/base.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<mass value="2.0" />
<inertia ixx="0.0030531654454" ixy="0.0" ixz="0.0" iyy="0.0030531654454" iyz="0.0" izz="0.005625" />
</inertial>
</link>
<link name="shoulder_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/shoulder.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/shoulder.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 -0.02" rpy="1.570796326794897 0.0 0.0" />
<mass value="1.98" />
<inertia ixx="0.0027657" ixy="9.6e-06" ixz="-1.49e-05" iyy="0.0021501" iyz="0.0001873" izz="0.0025626" />
</inertial>
</link>
<link name="upper_arm_link">
<visual>
<origin xyz="0.0 0.0 0.12" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/upperarm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.12" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/upperarm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.11355 0.0 0.1157" rpy="0.0 0.0 0.0" />
<mass value="3.4445" />
<inertia ixx="0.0042623" ixy="-4.09e-05" ixz="-0.001496" iyy="0.0460284" iyz="-1.29e-05" izz="0.0448947" />
</inertial>
</link>
<link name="forearm_link">
<visual>
<origin xyz="0.0 0.0 0.027" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/forearm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.027" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/forearm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.1632 0.0 0.0238" rpy="0.0 0.0 0.0" />
<mass value="1.437" />
<inertia ixx="0.0010511" ixy="0.0" ixz="-3.31e-05" iyy="0.0113396" iyz="2.2e-06" izz="0.0110895" />
</inertial>
</link>
<link name="wrist_1_link">
<visual>
<origin xyz="0.0 0.0 -0.104" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist1.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.104" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist1.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 -0.01 0.0" rpy="1.570796326794897 0.0 0.0" />
<mass value="0.871" />
<inertia ixx="0.0008174" ixy="-5e-07" ixz="2.1e-06" iyy="0.0006844" iyz="6.17e-05" izz="0.0005497" />
</inertial>
</link>
<link name="wrist_2_link">
<visual>
<origin xyz="0.0 0.0 -0.08535" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist2.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.08535" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist2.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.01 0.0" rpy="-1.570796326794897 0.0 0.0" />
<mass value="0.805" />
<inertia ixx="0.0006059" ixy="-6e-07" ixz="-6e-07" iyy="0.0005837" iyz="-2.71e-05" izz="0.0003831" />
</inertial>
</link>
<link name="wrist_3_link">
<visual>
<origin xyz="0.0 0.0 -0.0921" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist3.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.0921" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist3.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 -0.02" rpy="0.0 0.0 0.0" />
<mass value="0.261" />
<inertia ixx="0.000108" ixy="-1e-07" ixz="-1e-07" iyy="0.0001086" iyz="-2e-07" izz="0.0001371" />
</inertial>
</link>
<joint name="base_joint" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="world" />
<child link="base_link" />
</joint>
<joint name="base_link-base_link_inertia" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<parent link="base_link" />
<child link="base_link_inertia" />
</joint>
<joint name="shoulder_pan_joint" type="revolute">
<origin xyz="0.0 0.0 0.15185" rpy="0.0 0.0 0.0" />
<parent link="base_link_inertia" />
<child link="shoulder_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="54.0" velocity="3.141592653589793" lower="-6.283185307179586" upper="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="shoulder_lift_joint" type="revolute">
<origin xyz="0.0 0.0 0.0" rpy="1.570796327 0.0 0.0" />
<parent link="shoulder_link" />
<child link="upper_arm_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="54.0" velocity="3.141592653589793" lower="-6.283185307179586" upper="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="elbow_joint" type="revolute">
<origin xyz="-0.24355 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="upper_arm_link" />
<child link="forearm_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="28.0" velocity="3.141592653589793" lower="-3.141592653589793" upper="3.141592653589793" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="wrist_1_joint" type="revolute">
<origin xyz="-0.2132 0.0 0.13105" rpy="0.0 0.0 0.0" />
<parent link="forearm_link" />
<child link="wrist_1_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="9.0" velocity="6.283185307179586" lower="-6.283185307179586" upper="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="wrist_2_joint" type="revolute">
<origin xyz="0.0 -0.08535 -1.750557762378351e-11" rpy="1.570796327 0.0 0.0" />
<parent link="wrist_1_link" />
<child link="wrist_2_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="9.0" velocity="6.283185307179586" lower="-6.283185307179586" upper="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="wrist_3_joint" type="continuous">
<origin xyz="0.0 0.0921 -1.8890025766262e-11" rpy="1.570796326589793 3.141592653589793 3.141592653589793" />
<parent link="wrist_2_link" />
<child link="wrist_3_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="9.0" velocity="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="ft_frame" />
<joint name="wrist_3_link-ft_frame" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="3.141592653589793 0.0 0.0" />
<parent link="wrist_3_link" />
<child link="ft_frame" />
</joint>
<link name="base" />
<joint name="base_link-base_fixed_joint" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793" />
<parent link="base_link" />
<child link="base" />
</joint>
<link name="flange" />
<joint name="wrist_3-flange" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 -1.5707963267948966 -1.5707963267948966" />
<parent link="wrist_3_link" />
<child link="flange" />
</joint>
<link name="tool0" />
<joint name="flange-tool0" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="1.5707963267948966 0.0 1.5707963267948966" />
<parent link="flange" />
<child link="tool0" />
</joint>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content 7536834c806c5244 -->
<mujoco model="ur3e">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="visual_base" file="ur_description/meshes/ur3e/visual/base.dae" />
<mesh name="collision_base" file="ur_description/meshes/ur3e/collision/base.stl" />
<mesh name="visual_shoulder" file="ur_description/meshes/ur3e/visual/shoulder.dae" />
<mesh name="collision_shoulder" file="ur_description/meshes/ur3e/collision/shoulder.stl" />
<mesh name="visual_upperarm" file="ur_description/meshes/ur3e/visual/upperarm.dae" />
<mesh name="collision_upperarm" file="ur_description/meshes/ur3e/collision/upperarm.stl" />
<mesh name="visual_forearm" file="ur_description/meshes/ur3e/visual/forearm.dae" />
<mesh name="collision_forearm" file="ur_description/meshes/ur3e/collision/forearm.stl" />
<mesh name="visual_wrist1" file="ur_description/meshes/ur3e/visual/wrist1.dae" />
<mesh name="collision_wrist1" file="ur_description/meshes/ur3e/collision/wrist1.stl" />
<mesh name="visual_wrist2" file="ur_description/meshes/ur3e/visual/wrist2.dae" />
<mesh name="collision_wrist2" file="ur_description/meshes/ur3e/collision/wrist2.stl" />
<mesh name="visual_wrist3" file="ur_description/meshes/ur3e/visual/wrist3.dae" />
<mesh name="collision_wrist3" file="ur_description/meshes/ur3e/collision/wrist3.stl" />
</asset>
<worldbody>
<body name="base_link">
<body name="base_link_inertia" quat="6.123233995736766e-17 0.0 0.0 1.0">
<inertial pos="0.0 0.0 0.0" mass="2.0" fullinertia="0.0030531654454 0.0030531654454 0.005625 0.0 0.0 0.0" />
<geom name="base_link_inertia_vis_0" type="mesh" mesh="visual_base" quat="6.123233995736766e-17 0.0 0.0 1.0" contype="0" conaffinity="0" group="2" />
<geom name="base_link_inertia_col_0" type="mesh" mesh="collision_base" quat="6.123233995736766e-17 0.0 0.0 1.0" group="3" />
<body name="shoulder_link" pos="0.0 0.0 0.15185">
<joint name="shoulder_pan_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 0.0 -0.02" mass="1.98" fullinertia="0.0027657 0.0025626 0.0021501 1.4899999999999996e-05 9.600000000000005e-06 -0.00018729999999999984" />
<geom name="shoulder_link_vis_0" type="mesh" mesh="visual_shoulder" quat="6.123233995736766e-17 0.0 0.0 1.0" contype="0" conaffinity="0" group="2" />
<geom name="shoulder_link_col_0" type="mesh" mesh="collision_shoulder" quat="6.123233995736766e-17 0.0 0.0 1.0" group="3" />
<body name="upper_arm_link" quat="0.7071067811140325 0.7071067812590626 0.0 0.0">
<joint name="shoulder_lift_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="-0.11355 0.0 0.1157" mass="3.4445" fullinertia="0.0042623 0.0460284 0.0448947 -4.09e-05 -0.001496 -1.29e-05" />
<geom name="upper_arm_link_vis_0" type="mesh" mesh="visual_upperarm" pos="0.0 0.0 0.12" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" contype="0" conaffinity="0" group="2" />
<geom name="upper_arm_link_col_0" type="mesh" mesh="collision_upperarm" pos="0.0 0.0 0.12" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="forearm_link" pos="-0.24355 0.0 0.0">
<joint name="elbow_joint" type="hinge" axis="0.0 0.0 1.0" range="-3.141592653589793 3.141592653589793" />
<inertial pos="-0.1632 0.0 0.0238" mass="1.437" fullinertia="0.0010511 0.0113396 0.0110895 0.0 -3.31e-05 2.2e-06" />
<geom name="forearm_link_vis_0" type="mesh" mesh="visual_forearm" pos="0.0 0.0 0.027" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" contype="0" conaffinity="0" group="2" />
<geom name="forearm_link_col_0" type="mesh" mesh="collision_forearm" pos="0.0 0.0 0.027" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="wrist_1_link" pos="-0.2132 0.0 0.13105">
<joint name="wrist_1_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 -0.01 0.0" mass="0.871" fullinertia="0.0008174 0.0005497 0.0006844 -2.1e-06 -5.000000000000008e-07 -6.170000000000005e-05" />
<geom name="wrist_1_link_vis_0" type="mesh" mesh="visual_wrist1" pos="0.0 0.0 -0.104" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" contype="0" conaffinity="0" group="2" />
<geom name="wrist_1_link_col_0" type="mesh" mesh="collision_wrist1" pos="0.0 0.0 -0.104" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" group="3" />
<body name="wrist_2_link" pos="0.0 -0.08535 -1.750557762378351e-11" quat="0.7071067811140325 0.7071067812590626 0.0 0.0">
<joint name="wrist_2_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 0.01 0.0" mass="0.805" fullinertia="0.0006059 0.0003831 0.0005837 -5.999999999999998e-07 6.000000000000002e-07 2.710000000000008e-05" />
<geom name="wrist_2_link_vis_0" type="mesh" mesh="visual_wrist2" pos="0.0 0.0 -0.08535" contype="0" conaffinity="0" group="2" />
<geom name="wrist_2_link_col_0" type="mesh" mesh="collision_wrist2" pos="0.0 0.0 -0.08535" group="3" />
<body name="wrist_3_link" pos="0.0 0.0921 -1.8890025766262e-11" quat="0.7071067811140325 -0.7071067812590626 8.659560562354933e-17 8.880527684815676e-27">
<joint name="wrist_3_joint" type="hinge" axis="0.0 0.0 1.0" limited="false" />
<inertial pos="0.0 0.0 -0.02" mass="0.261" fullinertia="0.000108 0.0001086 0.0001371 -1e-07 -1e-07 -2e-07" />
<geom name="wrist_3_link_vis_0" type="mesh" mesh="visual_wrist3" pos="0.0 0.0 -0.0921" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" contype="0" conaffinity="0" group="2" />
<geom name="wrist_3_link_col_0" type="mesh" mesh="collision_wrist3" pos="0.0 0.0 -0.0921" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" group="3" />
<body name="ft_frame" quat="6.123233995736766e-17 1.0 0.0 0.0" />
<body name="flange" quat="0.5000000000000001 -0.4999999999999999 -0.5 -0.5">
<body name="tool0" quat="0.5000000000000001 0.5 0.4999999999999999 0.5" />
</body>
</body>
</body>
</body>
</body>
</body>
</body>
</body>
<body name="base" quat="6.123233995736766e-17 0.0 0.0 1.0" />
</body>
</worldbody>
<contact>
<exclude body1="base_link" body2="base_link_inertia" />
<exclude body1="base_link_inertia" body2="shoulder_link" />
<exclude body1="shoulder_link" body2="upper_arm_link" />
<exclude body1="upper_arm_link" body2="forearm_link" />
<exclude body1="forearm_link" body2="wrist_1_link" />
<exclude body1="wrist_1_link" body2="wrist_2_link" />
<exclude body1="wrist_2_link" body2="wrist_3_link" />
<exclude body1="wrist_3_link" body2="ft_frame" />
<exclude body1="base_link" body2="base" />
<exclude body1="wrist_3_link" body2="flange" />
<exclude body1="flange" body2="tool0" />
</contact>
</mujoco>
Import report
Counts
| Links | 13 |
|---|---|
| Joints | 12 |
| Moving joints | 6 |
| Visuals | 7 |
| Collisions | 7 |
| Materials | 0 |
Meshes
Formats: dae, stl.
Asset size: 10.6 MB.
Dropped on import
Nothing dropped: every tag in the original is carried.
Forward-kinematics check
Forward kinematics of 13 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 · 3.4e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/UniversalRobots/Universal_Robots_ROS2_Description |
|---|---|
| Commit | 22f055da2fa7e2158254426107d1f257fd56aebb |
| Original file | urdf/ur.urdf.xacro |
| 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.