UR5 (official)
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 7048fc696298256e -->
<robot name="ur5">
<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/ur5/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/ur5/collision/base.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<mass value="4.0" />
<inertia ixx="0.00443333156" ixy="0.0" ixz="0.0" iyy="0.00443333156" iyz="0.0" izz="0.0072" />
</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/ur5/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/ur5/collision/shoulder.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 -0.00193 -0.02561" rpy="0.0 0.0 0.0" />
<mass value="3.7" />
<inertia ixx="0.014972358333333331" ixy="0.0" ixz="0.0" iyy="0.014972358333333331" iyz="0.0" izz="0.01040625" />
</inertial>
</link>
<link name="upper_arm_link">
<visual>
<origin xyz="0.0 0.0 0.13585" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/visual/upperarm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.13585" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/collision/upperarm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.2125 0.0 0.11336" rpy="0.0 1.570796326794897 0.0" />
<mass value="8.393" />
<inertia ixx="0.13388583541666665" ixy="0.0" ixz="0.0" iyy="0.13388583541666665" iyz="0.0" izz="0.0151074" />
</inertial>
</link>
<link name="forearm_link">
<visual>
<origin xyz="0.0 0.0 0.0165" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/visual/forearm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0165" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/collision/forearm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.24225 0.0 0.0265" rpy="0.0 1.570796326794897 0.0" />
<mass value="2.33" />
<inertia ixx="0.031216803515624995" ixy="0.0" ixz="0.0" iyy="0.031216803515624995" iyz="0.0" izz="0.004095" />
</inertial>
</link>
<link name="wrist_1_link">
<visual>
<origin xyz="0.0 0.0 -0.093" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/visual/wrist1.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.093" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/collision/wrist1.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 -0.01634 -0.0018" rpy="0.0 0.0 0.0" />
<mass value="1.219" />
<inertia ixx="0.002013889583333333" ixy="0.0" ixz="0.0" iyy="0.002013889583333333" iyz="0.0" izz="0.0021942" />
</inertial>
</link>
<link name="wrist_2_link">
<visual>
<origin xyz="0.0 0.0 -0.095" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/visual/wrist2.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.095" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/collision/wrist2.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.01634 -0.0018" rpy="0.0 0.0 0.0" />
<mass value="1.219" />
<inertia ixx="0.0018310395833333333" ixy="0.0" ixz="0.0" iyy="0.0018310395833333333" iyz="0.0" izz="0.0021942" />
</inertial>
</link>
<link name="wrist_3_link">
<visual>
<origin xyz="0.0 0.0 -0.0818" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/visual/wrist3.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.0818" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur5/collision/wrist3.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 -0.001159" rpy="0.0 0.0 0.0" />
<mass value="0.1879" />
<inertia ixx="8.062475833333332e-05" ixy="0.0" ixz="0.0" iyy="8.062475833333332e-05" iyz="0.0" izz="0.0001321171875" />
</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.089159" 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="150.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="150.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.425 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="150.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.39225 0.0 0.10915" 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="28.0" velocity="3.141592653589793" 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.09465 -1.941303950897609e-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="28.0" velocity="3.141592653589793" lower="-6.283185307179586" upper="6.283185307179586" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="wrist_3_joint" type="revolute">
<origin xyz="0.0 0.0823 -1.688001216681175e-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="28.0" velocity="3.141592653589793" lower="-6.283185307179586" upper="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 7048fc696298256e -->
<mujoco model="ur5">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="visual_base" file="ur_description/meshes/ur5/visual/base.dae" />
<mesh name="collision_base" file="ur_description/meshes/ur5/collision/base.stl" />
<mesh name="visual_shoulder" file="ur_description/meshes/ur5/visual/shoulder.dae" />
<mesh name="collision_shoulder" file="ur_description/meshes/ur5/collision/shoulder.stl" />
<mesh name="visual_upperarm" file="ur_description/meshes/ur5/visual/upperarm.dae" />
<mesh name="collision_upperarm" file="ur_description/meshes/ur5/collision/upperarm.stl" />
<mesh name="visual_forearm" file="ur_description/meshes/ur5/visual/forearm.dae" />
<mesh name="collision_forearm" file="ur_description/meshes/ur5/collision/forearm.stl" />
<mesh name="visual_wrist1" file="ur_description/meshes/ur5/visual/wrist1.dae" />
<mesh name="collision_wrist1" file="ur_description/meshes/ur5/collision/wrist1.stl" />
<mesh name="visual_wrist2" file="ur_description/meshes/ur5/visual/wrist2.dae" />
<mesh name="collision_wrist2" file="ur_description/meshes/ur5/collision/wrist2.stl" />
<mesh name="visual_wrist3" file="ur_description/meshes/ur5/visual/wrist3.dae" />
<mesh name="collision_wrist3" file="ur_description/meshes/ur5/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="4.0" fullinertia="0.00443333156 0.00443333156 0.0072 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.089159">
<joint name="shoulder_pan_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 -0.00193 -0.02561" mass="3.7" fullinertia="0.014972358333333331 0.014972358333333331 0.01040625 0.0 0.0 0.0" />
<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.2125 0.0 0.11336" mass="8.393" fullinertia="0.0151074 0.13388583541666665 0.13388583541666665 0.0 4.547513999437662e-17 0.0" />
<geom name="upper_arm_link_vis_0" type="mesh" mesh="visual_upperarm" pos="0.0 0.0 0.13585" 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.13585" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="forearm_link" pos="-0.425 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.24225 0.0 0.0265" mass="2.33" fullinertia="0.004095 0.031216803515624995 0.031216803515624995 0.0 1.0383768799836874e-17 0.0" />
<geom name="forearm_link_vis_0" type="mesh" mesh="visual_forearm" pos="0.0 0.0 0.0165" 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.0165" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="wrist_1_link" pos="-0.39225 0.0 0.10915">
<joint name="wrist_1_joint" type="hinge" axis="0.0 0.0 1.0" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 -0.01634 -0.0018" mass="1.219" fullinertia="0.002013889583333333 0.002013889583333333 0.0021942 0.0 0.0 0.0" />
<geom name="wrist_1_link_vis_0" type="mesh" mesh="visual_wrist1" pos="0.0 0.0 -0.093" 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.093" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" group="3" />
<body name="wrist_2_link" pos="0.0 -0.09465 -1.941303950897609e-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.01634 -0.0018" mass="1.219" fullinertia="0.0018310395833333333 0.0018310395833333333 0.0021942 0.0 0.0 0.0" />
<geom name="wrist_2_link_vis_0" type="mesh" mesh="visual_wrist2" pos="0.0 0.0 -0.095" contype="0" conaffinity="0" group="2" />
<geom name="wrist_2_link_col_0" type="mesh" mesh="collision_wrist2" pos="0.0 0.0 -0.095" group="3" />
<body name="wrist_3_link" pos="0.0 0.0823 -1.688001216681175e-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" range="-6.283185307179586 6.283185307179586" />
<inertial pos="0.0 0.0 -0.001159" mass="0.1879" fullinertia="8.062475833333332e-05 8.062475833333332e-05 0.0001321171875 0.0 0.0 0.0" />
<geom name="wrist_3_link_vis_0" type="mesh" mesh="visual_wrist3" pos="0.0 0.0 -0.0818" 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.0818" 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: 6.9 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.5e-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.