Robotiq 2F-85 v4
Robotiq · licence BSD-2-Clause · source: github.com/nickswalker/robotiq-2f-85 @ 319f7b945
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 a43ef96da0222e33 -->
<robot name="robotiq_arg2f_85_model">
<link name="base_link" />
<joint name="base_link-robotiq_arg2f_base_link" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="base_link" />
<child link="robotiq_arg2f_base_link" />
</joint>
<link name="robotiq_arg2f_base_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/base_link.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/base_link.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="8.625e-08 -4.6583e-06 0.03145" rpy="0.0 0.0 0.0" />
<mass value="0.7" />
<inertia ixx="0.00020005" ixy="-4.2442e-10" ixz="-2.9069e-10" iyy="0.00017832" iyz="-3.4402e-08" izz="0.00013478" />
</inertial>
</link>
<link name="robotiq_arg2f_tcp" />
<joint name="robotiq_arg2f_tcp_joint" type="fixed">
<origin xyz="0.0 0.0 0.174" rpy="0.0 0.0 0.0" />
<parent link="robotiq_arg2f_base_link" />
<child link="robotiq_arg2f_tcp" />
</joint>
<link name="left_outer_knuckle">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/outer_knuckle.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/outer_knuckle.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331" rpy="0.0 0.0 0.0" />
<mass value="0.00853198276973456" />
<inertia ixx="2.89328108496468e-06" ixy="-1.57935047237397e-19" ixz="-1.93980378593255e-19" iyy="1.86719750325683e-06" iyz="-1.21858577871576e-06" izz="1.21905238907251e-06" />
</inertial>
</link>
<link name="left_bar">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/bar.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/bar.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385" rpy="0.0 0.0 0.0" />
<mass value="0.022614240507152" />
<inertia ixx="1.52518312458174e-05" ixy="9.76583423954399e-10" ixz="-5.43838577022588e-10" iyy="6.17694243867776e-06" iyz="6.78636130740228e-06" izz="1.16494917907219e-05" />
</inertial>
</link>
<link name="left_distal_phalanx">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/distal_phalanx.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/distal_phalanx.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257" rpy="0.0 0.0 0.0" />
<mass value="0.0104003125914103" />
<inertia ixx="2.71909453810972e-06" ixy="1.35402465472579e-21" ixz="-7.1817349065269e-22" iyy="7.69100314106116e-07" iyz="6.74715432769696e-07" izz="2.30315190420171e-06" />
</inertial>
</link>
<link name="left_proximal_phalanx">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/proximal_phalanx.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/proximal_phalanx.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166" rpy="0.0 0.0 0.0" />
<mass value="0.0271177346495152" />
<inertia ixx="2.61910379223783e-05" ixy="-2.43616858946494e-07" ixz="-6.37789906117123e-09" iyy="2.8270243746167e-06" iyz="-5.37200748039765e-07" izz="2.83695868220296e-05" />
</inertial>
</link>
<joint name="left_bar_joint" type="fixed">
<origin xyz="0.0 0.0315 -0.0041" rpy="0.0 0.0 0.0" />
<parent link="left_outer_knuckle" />
<child link="left_bar" />
</joint>
<joint name="left_proximal_phalanx_joint" type="revolute">
<origin xyz="0.0 -0.0127 0.06142" rpy="0.125 0.0 3.141592653589793" />
<parent link="robotiq_arg2f_base_link" />
<child link="left_proximal_phalanx" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="left_distal_phalanx_joint" type="revolute">
<origin xyz="0.0 0.0061 0.0471" rpy="0.0 0.0 0.0" />
<parent link="left_bar" />
<child link="left_distal_phalanx" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="-0.8757" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="finger_joint" type="revolute">
<origin xyz="0.0 -0.0306011 0.054904" rpy="0.0 0.0 3.141592653589793" />
<parent link="robotiq_arg2f_base_link" />
<child link="left_outer_knuckle" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="0.0" upper="0.8" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="right_bar_joint" type="fixed">
<origin xyz="0.0 0.0315 -0.0041" rpy="0.0 0.0 0.0" />
<parent link="right_outer_knuckle" />
<child link="right_bar" />
</joint>
<joint name="right_proximal_phalanx_joint" type="revolute">
<origin xyz="0.0 0.0127 0.06142" rpy="0.125 0.0 0.0" />
<parent link="robotiq_arg2f_base_link" />
<child link="right_proximal_phalanx" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="right_distal_phalanx_joint" type="revolute">
<origin xyz="0.0 0.0061 0.0471" rpy="0.0 0.0 0.0" />
<parent link="right_bar" />
<child link="right_distal_phalanx" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="-0.8757" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="right_outer_knuckle">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/outer_knuckle.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/outer_knuckle.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331" rpy="0.0 0.0 0.0" />
<mass value="0.00853198276973456" />
<inertia ixx="2.89328108496468e-06" ixy="-1.57935047237397e-19" ixz="-1.93980378593255e-19" iyy="1.86719750325683e-06" iyz="-1.21858577871576e-06" izz="1.21905238907251e-06" />
</inertial>
</link>
<link name="right_bar">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/bar.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/bar.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385" rpy="0.0 0.0 0.0" />
<mass value="0.022614240507152" />
<inertia ixx="1.52518312458174e-05" ixy="9.76583423954399e-10" ixz="-5.43838577022588e-10" iyy="6.17694243867776e-06" iyz="6.78636130740228e-06" izz="1.16494917907219e-05" />
</inertial>
</link>
<link name="right_distal_phalanx">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/distal_phalanx.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/distal_phalanx.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257" rpy="0.0 0.0 0.0" />
<mass value="0.0104003125914103" />
<inertia ixx="2.71909453810972e-06" ixy="1.35402465472579e-21" ixz="-7.1817349065269e-22" iyy="7.69100314106116e-07" iyz="6.74715432769696e-07" izz="2.30315190420171e-06" />
</inertial>
</link>
<link name="right_proximal_phalanx">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/visual/proximal_phalanx.stl" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_2f_85_gripper_visualization/meshes/collision/proximal_phalanx.stl" />
</geometry>
</collision>
<inertial>
<origin xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166" rpy="0.0 0.0 0.0" />
<mass value="0.0271177346495152" />
<inertia ixx="2.61910379223783e-05" ixy="-2.43616858946494e-07" ixz="-6.37789906117123e-09" iyy="2.8270243746167e-06" iyz="-5.37200748039765e-07" izz="2.83695868220296e-05" />
</inertial>
</link>
<joint name="right_finger_joint" type="revolute">
<origin xyz="0.0 0.0306011 0.054904" rpy="0.0 0.0 0.0" />
<parent link="robotiq_arg2f_base_link" />
<child link="right_outer_knuckle" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="1000.0" velocity="0.5" lower="0.0" upper="0.81" />
<dynamics damping="0.0" friction="0.0" />
</joint>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content a43ef96da0222e33 -->
<mujoco model="robotiq_arg2f_85_model">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="visual_base_link" file="robotiq_2f_85_gripper_visualization/meshes/visual/base_link.dae" />
<mesh name="collision_base_link" file="robotiq_2f_85_gripper_visualization/meshes/collision/base_link.stl" />
<mesh name="visual_outer_knuckle" file="robotiq_2f_85_gripper_visualization/meshes/visual/outer_knuckle.stl" />
<mesh name="collision_outer_knuckle" file="robotiq_2f_85_gripper_visualization/meshes/collision/outer_knuckle.stl" />
<mesh name="visual_bar" file="robotiq_2f_85_gripper_visualization/meshes/visual/bar.stl" />
<mesh name="collision_bar" file="robotiq_2f_85_gripper_visualization/meshes/collision/bar.stl" />
<mesh name="visual_distal_phalanx" file="robotiq_2f_85_gripper_visualization/meshes/visual/distal_phalanx.stl" />
<mesh name="collision_distal_phalanx" file="robotiq_2f_85_gripper_visualization/meshes/collision/distal_phalanx.stl" />
<mesh name="visual_proximal_phalanx" file="robotiq_2f_85_gripper_visualization/meshes/visual/proximal_phalanx.stl" />
<mesh name="collision_proximal_phalanx" file="robotiq_2f_85_gripper_visualization/meshes/collision/proximal_phalanx.stl" />
</asset>
<worldbody>
<body name="base_link">
<body name="robotiq_arg2f_base_link">
<inertial pos="8.625e-08 -4.6583e-06 0.03145" mass="0.7" fullinertia="0.00020005 0.00017832 0.00013478 -4.2442e-10 -2.9069e-10 -3.4402e-08" />
<geom name="robotiq_arg2f_base_link_vis_0" type="mesh" mesh="visual_base_link" contype="0" conaffinity="0" group="2" />
<geom name="robotiq_arg2f_base_link_col_0" type="mesh" mesh="collision_base_link" group="3" />
<body name="robotiq_arg2f_tcp" pos="0.0 0.0 0.174" />
<body name="left_proximal_phalanx" pos="0.0 -0.0127 0.06142" quat="6.111278446879301e-17 3.824530183629904e-18 0.0624593178423802 0.9980475107000991">
<joint name="left_proximal_phalanx_joint" type="hinge" axis="1.0 0.0 0.0" range="0.0 0.8757" />
<inertial pos="0.000123011831763771 0.0507850843201817 0.00103968640075166" mass="0.0271177346495152" fullinertia="2.61910379223783e-05 2.8270243746167e-06 2.83695868220296e-05 -2.43616858946494e-07 -6.37789906117123e-09 -5.37200748039765e-07" />
<geom name="left_proximal_phalanx_vis_0" type="mesh" mesh="visual_proximal_phalanx" contype="0" conaffinity="0" group="2" />
<geom name="left_proximal_phalanx_col_0" type="mesh" mesh="collision_proximal_phalanx" group="3" />
</body>
<body name="left_outer_knuckle" pos="0.0 -0.0306011 0.054904" quat="6.123233995736766e-17 0.0 0.0 1.0">
<joint name="finger_joint" type="hinge" axis="1.0 0.0 0.0" range="0.0 0.8" />
<inertial pos="-0.000200000000003065 0.0199435877845359 0.0292245259211331" mass="0.00853198276973456" fullinertia="2.89328108496468e-06 1.86719750325683e-06 1.21905238907251e-06 -1.57935047237397e-19 -1.93980378593255e-19 -1.21858577871576e-06" />
<geom name="left_outer_knuckle_vis_0" type="mesh" mesh="visual_outer_knuckle" contype="0" conaffinity="0" group="2" />
<geom name="left_outer_knuckle_col_0" type="mesh" mesh="collision_outer_knuckle" group="3" />
<body name="left_bar" pos="0.0 0.0315 -0.0041">
<inertial pos="0.00030115855001899 0.0373907951953854 -0.0208027427000385" mass="0.022614240507152" fullinertia="1.52518312458174e-05 6.17694243867776e-06 1.16494917907219e-05 9.76583423954399e-10 -5.43838577022588e-10 6.78636130740228e-06" />
<geom name="left_bar_vis_0" type="mesh" mesh="visual_bar" contype="0" conaffinity="0" group="2" />
<geom name="left_bar_col_0" type="mesh" mesh="collision_bar" group="3" />
<body name="left_distal_phalanx" pos="0.0 0.0061 0.0471">
<joint name="left_distal_phalanx_joint" type="hinge" axis="1.0 0.0 0.0" range="-0.8757 0.0" />
<inertial pos="0.000299999999999317 0.0160078233491243 -0.0136945669206257" mass="0.0104003125914103" fullinertia="2.71909453810972e-06 7.69100314106116e-07 2.30315190420171e-06 1.35402465472579e-21 -7.1817349065269e-22 6.74715432769696e-07" />
<geom name="left_distal_phalanx_vis_0" type="mesh" mesh="visual_distal_phalanx" contype="0" conaffinity="0" group="2" />
<geom name="left_distal_phalanx_col_0" type="mesh" mesh="collision_distal_phalanx" group="3" />
</body>
</body>
</body>
<body name="right_proximal_phalanx" pos="0.0 0.0127 0.06142" quat="0.9980475107000991 0.0624593178423802 0.0 0.0">
<joint name="right_proximal_phalanx_joint" type="hinge" axis="1.0 0.0 0.0" range="0.0 0.8757" />
<inertial pos="0.000123011831763771 0.0507850843201817 0.00103968640075166" mass="0.0271177346495152" fullinertia="2.61910379223783e-05 2.8270243746167e-06 2.83695868220296e-05 -2.43616858946494e-07 -6.37789906117123e-09 -5.37200748039765e-07" />
<geom name="right_proximal_phalanx_vis_0" type="mesh" mesh="visual_proximal_phalanx" contype="0" conaffinity="0" group="2" />
<geom name="right_proximal_phalanx_col_0" type="mesh" mesh="collision_proximal_phalanx" group="3" />
</body>
<body name="right_outer_knuckle" pos="0.0 0.0306011 0.054904">
<joint name="right_finger_joint" type="hinge" axis="1.0 0.0 0.0" range="0.0 0.81" />
<inertial pos="-0.000200000000003065 0.0199435877845359 0.0292245259211331" mass="0.00853198276973456" fullinertia="2.89328108496468e-06 1.86719750325683e-06 1.21905238907251e-06 -1.57935047237397e-19 -1.93980378593255e-19 -1.21858577871576e-06" />
<geom name="right_outer_knuckle_vis_0" type="mesh" mesh="visual_outer_knuckle" contype="0" conaffinity="0" group="2" />
<geom name="right_outer_knuckle_col_0" type="mesh" mesh="collision_outer_knuckle" group="3" />
<body name="right_bar" pos="0.0 0.0315 -0.0041">
<inertial pos="0.00030115855001899 0.0373907951953854 -0.0208027427000385" mass="0.022614240507152" fullinertia="1.52518312458174e-05 6.17694243867776e-06 1.16494917907219e-05 9.76583423954399e-10 -5.43838577022588e-10 6.78636130740228e-06" />
<geom name="right_bar_vis_0" type="mesh" mesh="visual_bar" contype="0" conaffinity="0" group="2" />
<geom name="right_bar_col_0" type="mesh" mesh="collision_bar" group="3" />
<body name="right_distal_phalanx" pos="0.0 0.0061 0.0471">
<joint name="right_distal_phalanx_joint" type="hinge" axis="1.0 0.0 0.0" range="-0.8757 0.0" />
<inertial pos="0.000299999999999317 0.0160078233491243 -0.0136945669206257" mass="0.0104003125914103" fullinertia="2.71909453810972e-06 7.69100314106116e-07 2.30315190420171e-06 1.35402465472579e-21 -7.1817349065269e-22 6.74715432769696e-07" />
<geom name="right_distal_phalanx_vis_0" type="mesh" mesh="visual_distal_phalanx" contype="0" conaffinity="0" group="2" />
<geom name="right_distal_phalanx_col_0" type="mesh" mesh="collision_distal_phalanx" group="3" />
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="base_link" body2="robotiq_arg2f_base_link" />
<exclude body1="robotiq_arg2f_base_link" body2="robotiq_arg2f_tcp" />
<exclude body1="left_outer_knuckle" body2="left_bar" />
<exclude body1="robotiq_arg2f_base_link" body2="left_proximal_phalanx" />
<exclude body1="left_bar" body2="left_distal_phalanx" />
<exclude body1="robotiq_arg2f_base_link" body2="left_outer_knuckle" />
<exclude body1="right_outer_knuckle" body2="right_bar" />
<exclude body1="robotiq_arg2f_base_link" body2="right_proximal_phalanx" />
<exclude body1="right_bar" body2="right_distal_phalanx" />
<exclude body1="robotiq_arg2f_base_link" body2="right_outer_knuckle" />
</contact>
</mujoco>
Import report
Counts
| Links | 11 |
|---|---|
| Joints | 10 |
| Moving joints | 6 |
| Visuals | 9 |
| Collisions | 9 |
| Materials | 0 |
Meshes
Formats: dae, stl.
Asset size: 7.6 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
axis | 2 | fixed joints carry no <axis>; URDF ignores it too |
material | 9 | anonymous material (empty name) cannot be referenced; its colour is not kept |
mimic | 5 | joint coupling (mimic) is not representable yet; the joint imports as independent |
transmission | 1 | ROS transmissions (actuator-to-joint wiring) have no RobotDescription field yet |
Forward-kinematics check
Forward kinematics of 11 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 · 4.1e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/nickswalker/robotiq-2f-85 |
|---|---|
| Commit | 319f7b94587c97f09e732a7b2ed7babbe0250b9e |
| Original file | robotiq_2f_85_gripper_visualization/urdf/robotiq_arg2f_85.xacro |
| Licence | BSD-2-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.