UR3 (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 a039bd82be8124a9 -->
<robot name="ur3">
<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/ur3/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/ur3/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/ur3/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/ur3/collision/shoulder.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 -0.02" rpy="0.0 0.0 0.0" />
<mass value="2.0" />
<inertia ixx="0.008093166666666665" ixy="0.0" ixz="0.0" iyy="0.008093166666666665" iyz="0.0" izz="0.005625" />
</inertial>
</link>
<link name="upper_arm_link">
<visual>
<origin xyz="0.0 0.0 0.1198" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/visual/upperarm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.1198" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/collision/upperarm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.11365 0.0 0.1157" rpy="0.0 1.570796326794897 0.0" />
<mass value="3.42" />
<inertia ixx="0.021728491912499998" ixy="0.0" ixz="0.0" iyy="0.021728491912499998" iyz="0.0" izz="0.00961875" />
</inertial>
</link>
<link name="forearm_link">
<visual>
<origin xyz="0.0 0.0 0.0275" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/visual/forearm.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0275" rpy="1.5707963267948966 0.0 -1.5707963267948966" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/collision/forearm.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.16325 0.0 0.0238" rpy="0.0 1.570796326794897 0.0" />
<mass value="1.26" />
<inertia ixx="0.0065468090625" ixy="0.0" ixz="0.0" iyy="0.0065468090625" iyz="0.0" izz="0.00354375" />
</inertial>
</link>
<link name="wrist_1_link">
<visual>
<origin xyz="0.0 0.0 -0.085" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/visual/wrist1.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.085" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/collision/wrist1.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 -0.01 0.0" rpy="0.0 0.0 0.0" />
<mass value="0.8" />
<inertia ixx="0.0016106414999999998" ixy="0.0" ixz="0.0" iyy="0.0016106414999999998" iyz="0.0" izz="0.00225" />
</inertial>
</link>
<link name="wrist_2_link">
<visual>
<origin xyz="0.0 0.0 -0.083" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/visual/wrist2.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 -0.083" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/collision/wrist2.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.01 0.0" rpy="0.0 0.0 0.0" />
<mass value="0.8" />
<inertia ixx="0.0015721739999999998" ixy="0.0" ixz="0.0" iyy="0.0015721739999999998" iyz="0.0" izz="0.00225" />
</inertial>
</link>
<link name="wrist_3_link">
<visual>
<origin xyz="0.0 -0.00255 -0.082" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/visual/wrist3.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 -0.00255 -0.082" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<mesh filename="package://ur_description/meshes/ur3/collision/wrist3.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 -0.02" rpy="0.0 0.0 0.0" />
<mass value="0.35" />
<inertia ixx="0.00013626666666666665" ixy="0.0" ixz="0.0" iyy="0.00013626666666666665" iyz="0.0" izz="0.0001792" />
</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.1519" 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="56.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="56.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.24365 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.21325 0.0 0.11235" 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="12.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="12.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.0819 -1.679797079540562e-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="12.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 a039bd82be8124a9 -->
<mujoco model="ur3">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="visual_base" file="ur_description/meshes/ur3/visual/base.dae" />
<mesh name="collision_base" file="ur_description/meshes/ur3/collision/base.stl" />
<mesh name="visual_shoulder" file="ur_description/meshes/ur3/visual/shoulder.dae" />
<mesh name="collision_shoulder" file="ur_description/meshes/ur3/collision/shoulder.stl" />
<mesh name="visual_upperarm" file="ur_description/meshes/ur3/visual/upperarm.dae" />
<mesh name="collision_upperarm" file="ur_description/meshes/ur3/collision/upperarm.stl" />
<mesh name="visual_forearm" file="ur_description/meshes/ur3/visual/forearm.dae" />
<mesh name="collision_forearm" file="ur_description/meshes/ur3/collision/forearm.stl" />
<mesh name="visual_wrist1" file="ur_description/meshes/ur3/visual/wrist1.dae" />
<mesh name="collision_wrist1" file="ur_description/meshes/ur3/collision/wrist1.stl" />
<mesh name="visual_wrist2" file="ur_description/meshes/ur3/visual/wrist2.dae" />
<mesh name="collision_wrist2" file="ur_description/meshes/ur3/collision/wrist2.stl" />
<mesh name="visual_wrist3" file="ur_description/meshes/ur3/visual/wrist3.dae" />
<mesh name="collision_wrist3" file="ur_description/meshes/ur3/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.1519">
<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="2.0" fullinertia="0.008093166666666665 0.008093166666666665 0.005625 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.11365 0.0 0.1157" mass="3.42" fullinertia="0.00961875 0.021728491912499998 0.021728491912499998 0.0 4.636297883828126e-18 0.0" />
<geom name="upper_arm_link_vis_0" type="mesh" mesh="visual_upperarm" pos="0.0 0.0 0.1198" 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.1198" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="forearm_link" pos="-0.24365 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.16325 0.0 0.0238" mass="1.26" fullinertia="0.00354375 0.0065468090625 0.0065468090625 0.0 1.1497417927716407e-18 0.0" />
<geom name="forearm_link_vis_0" type="mesh" mesh="visual_forearm" pos="0.0 0.0 0.0275" 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.0275" quat="0.5000000000000001 0.5 -0.4999999999999999 -0.5" group="3" />
<body name="wrist_1_link" pos="-0.21325 0.0 0.11235">
<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.8" fullinertia="0.0016106414999999998 0.0016106414999999998 0.00225 0.0 0.0 0.0" />
<geom name="wrist_1_link_vis_0" type="mesh" mesh="visual_wrist1" pos="0.0 0.0 -0.085" 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.085" 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.8" fullinertia="0.0015721739999999998 0.0015721739999999998 0.00225 0.0 0.0 0.0" />
<geom name="wrist_2_link_vis_0" type="mesh" mesh="visual_wrist2" pos="0.0 0.0 -0.083" contype="0" conaffinity="0" group="2" />
<geom name="wrist_2_link_col_0" type="mesh" mesh="collision_wrist2" pos="0.0 0.0 -0.083" group="3" />
<body name="wrist_3_link" pos="0.0 0.0819 -1.679797079540562e-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.35" fullinertia="0.00013626666666666665 0.00013626666666666665 0.0001792 0.0 0.0 0.0" />
<geom name="wrist_3_link_vis_0" type="mesh" mesh="visual_wrist3" pos="0.0 -0.00255 -0.082" 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.00255 -0.082" 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: 8.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.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.