Robotiq 2F-85
Robotiq · licence BSD · source: github.com/a-price/robotiq_arg85_description @ a65190bdb
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 d9f9f3dfc4e93062 -->
<robot name="robotiq_arg85_description">
<link name="robotiq_85_base_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/robotiq_85_base_link_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/robotiq_85_base_link_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00021987 -2.3546e-10 0.030163" rpy="0.0 0.0 0.0" />
<mass value="0.30915" />
<inertia ixx="0.00028972" ixy="-5.7879e-10" ixz="-1.8543e-06" iyy="0.00030737" iyz="1.682e-12" izz="0.00019914" />
</inertial>
</link>
<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_arg85_description/meshes/outer_knuckle_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_knuckle_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0178331863169983 3.68915177224286e-11 0.0021442477325704" rpy="0.0 0.0 0.0" />
<mass value="0.00684838849434396" />
<inertia ixx="2.66832029033166e-07" ixy="1.66142314639824e-15" ixz="1.45945633322873e-07" iyy="1.3889233257419e-06" iyz="2.82951161241588e-15" izz="1.26603336914415e-06" />
</inertial>
</link>
<joint name="finger_joint" type="revolute">
<origin xyz="0.0306011444260539 0.0 0.0627920162695395" rpy="0.0 0.0 0.0" />
<parent link="robotiq_85_base_link" />
<child link="left_outer_knuckle" />
<axis xyz="0.0 -1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.725" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="left_outer_finger">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_finger_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_finger_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00131451599174296 2.88942057994543e-15 0.0215404163180413" rpy="0.0 0.0 0.0" />
<mass value="0.0273093985570947" />
<inertia ixx="8.51629628283022e-06" ixy="2.58174336207405e-19" ixz="3.83829504344079e-07" iyy="6.9133328065108e-06" iyz="-7.58589926143789e-19" izz="2.25006832221981e-06" />
</inertial>
</link>
<joint name="left_outer_finger_joint" type="fixed">
<origin xyz="0.0316910442266543 0.0 -0.00193396375724605" rpy="0.0 0.0 0.0" />
<parent link="left_outer_knuckle" />
<child link="left_outer_finger" />
</joint>
<link name="left_inner_knuckle">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_knuckle_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_knuckle_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.017097546626628 -3.93808524389535e-10 0.0224918438201868" rpy="0.0 0.0 0.0" />
<mass value="0.0110930853895903" />
<inertia ixx="4.23392770691541e-06" ixy="5.748978936968e-15" ixz="1.78855677119788e-06" iyy="3.96548790524392e-06" iyz="1.05464666369669e-14" izz="3.24068002883007e-06" />
</inertial>
</link>
<joint name="left_inner_knuckle_joint" type="revolute">
<origin xyz="0.0127000000001501 0.0 0.0693074999999639" rpy="0.0 0.0 0.0" />
<parent link="robotiq_85_base_link" />
<child link="left_inner_knuckle" />
<axis xyz="0.0 -1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="left_inner_finger">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_finger_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_finger_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0060275613594574 -6.29183141465421e-15 0.00669925693133241" rpy="0.0 0.0 0.0" />
<mass value="0.00724255346165745" />
<inertia ixx="1.47824274053603e-06" ixy="-3.94884463570303e-19" ixz="-3.45268847648622e-07" iyy="1.70064480838395e-06" iyz="3.5059838910097e-19" izz="4.77151336838364e-07" />
</inertial>
</link>
<joint name="left_inner_finger_joint" type="revolute">
<origin xyz="0.034585310861294 0.0 0.0454970193817975" rpy="0.0 0.0 0.0" />
<parent link="left_inner_knuckle" />
<child link="left_inner_finger" />
<axis xyz="0.0 -1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="right_inner_knuckle">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_knuckle_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_knuckle_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0168606186773776 3.93808471820465e-10 0.0226699950793434" rpy="0.0 0.0 0.0" />
<mass value="0.0110930853895903" />
<inertia ixx="4.27134775939882e-06" ixy="-8.53568456728898e-15" ixz="1.77774229944246e-06" iyy="3.96548790524392e-06" iyz="-8.45108024914164e-15" izz="3.20325997634666e-06" />
</inertial>
</link>
<joint name="right_inner_knuckle_joint" type="revolute">
<origin xyz="-0.0126999999998499 0.0 0.0693075000000361" rpy="0.0 0.0 3.14159265358979" />
<parent link="robotiq_85_base_link" />
<child link="right_inner_knuckle" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="right_inner_finger">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_finger_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/inner_finger_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00602756228812038 -6.47284509480176e-15 0.00669925609578108" rpy="0.0 0.0 0.0" />
<mass value="0.00724255346165744" />
<inertia ixx="1.47824283625957e-06" ixy="-3.95952064019123e-19" ixz="-3.45268708875543e-07" iyy="1.70064480838394e-06" iyz="3.55286507960029e-19" izz="4.77151241114822e-07" />
</inertial>
</link>
<joint name="right_inner_finger_joint" type="revolute">
<origin xyz="0.0341060475457406 0.0 0.0458573878541688" rpy="0.0 0.0 0.0" />
<parent link="right_inner_knuckle" />
<child link="right_inner_finger" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.8757" />
<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_arg85_description/meshes/outer_knuckle_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_knuckle_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0178097074051638 3.60493211424024e-11 0.00233123458346721" rpy="0.0 0.0 0.0" />
<mass value="0.00684838849401352" />
<inertia ixx="2.70004361573169e-07" ixy="1.59579467624491e-15" ixz="1.56396493788199e-07" iyy="1.38892332558312e-06" iyz="2.82357800318817e-15" izz="1.26286103637978e-06" />
</inertial>
</link>
<joint name="right_outer_knuckle_joint" type="revolute">
<origin xyz="-0.0306011444258893 0.0 0.0627920162695395" rpy="0.0 0.0 3.14159265358979" />
<parent link="robotiq_85_base_link" />
<child link="right_outer_knuckle" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="2.0" lower="0.0" upper="0.8757" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="right_outer_finger">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_finger_fine.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://robotiq_arg85_description/meshes/outer_finger_coarse.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00108844269639009 -2.611488350845e-15 0.0215530225245502" rpy="0.0 0.0 0.0" />
<mass value="0.0273093985570947" />
<inertia ixx="8.52366028592721e-06" ixy="3.41683380899422e-19" ixz="3.18003675694284e-07" iyy="6.91333280651081e-06" iyz="7.37726682706417e-19" izz="2.24270431912283e-06" />
</inertial>
</link>
<joint name="right_outer_finger_joint" type="fixed">
<origin xyz="0.0317095909367246 0.0 -0.0016013564954687" rpy="0.0 0.0 0.0" />
<parent link="right_outer_knuckle" />
<child link="right_outer_finger" />
</joint>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content d9f9f3dfc4e93062 -->
<mujoco model="robotiq_arg85_description">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="robotiq_85_base_link_fine" file="robotiq_arg85_description/meshes/robotiq_85_base_link_fine.STL" />
<mesh name="robotiq_85_base_link_coarse" file="robotiq_arg85_description/meshes/robotiq_85_base_link_coarse.STL" />
<mesh name="outer_knuckle_fine" file="robotiq_arg85_description/meshes/outer_knuckle_fine.STL" />
<mesh name="outer_knuckle_coarse" file="robotiq_arg85_description/meshes/outer_knuckle_coarse.STL" />
<mesh name="outer_finger_fine" file="robotiq_arg85_description/meshes/outer_finger_fine.STL" />
<mesh name="outer_finger_coarse" file="robotiq_arg85_description/meshes/outer_finger_coarse.STL" />
<mesh name="inner_knuckle_fine" file="robotiq_arg85_description/meshes/inner_knuckle_fine.STL" />
<mesh name="inner_knuckle_coarse" file="robotiq_arg85_description/meshes/inner_knuckle_coarse.STL" />
<mesh name="inner_finger_fine" file="robotiq_arg85_description/meshes/inner_finger_fine.STL" />
<mesh name="inner_finger_coarse" file="robotiq_arg85_description/meshes/inner_finger_coarse.STL" />
</asset>
<worldbody>
<body name="robotiq_85_base_link">
<inertial pos="0.00021987 -2.3546e-10 0.030163" mass="0.30915" fullinertia="0.00028972 0.00030737 0.00019914 -5.7879e-10 -1.8543e-06 1.682e-12" />
<geom name="robotiq_85_base_link_vis_0" type="mesh" mesh="robotiq_85_base_link_fine" contype="0" conaffinity="0" group="2" />
<geom name="robotiq_85_base_link_col_0" type="mesh" mesh="robotiq_85_base_link_coarse" group="3" />
<body name="left_outer_knuckle" pos="0.0306011444260539 0.0 0.0627920162695395">
<joint name="finger_joint" type="hinge" axis="0.0 -1.0 0.0" range="0.0 0.725" />
<inertial pos="0.0178331863169983 3.68915177224286e-11 0.0021442477325704" mass="0.00684838849434396" fullinertia="2.66832029033166e-07 1.3889233257419e-06 1.26603336914415e-06 1.66142314639824e-15 1.45945633322873e-07 2.82951161241588e-15" />
<geom name="left_outer_knuckle_vis_0" type="mesh" mesh="outer_knuckle_fine" contype="0" conaffinity="0" group="2" />
<geom name="left_outer_knuckle_col_0" type="mesh" mesh="outer_knuckle_coarse" group="3" />
<body name="left_outer_finger" pos="0.0316910442266543 0.0 -0.00193396375724605">
<inertial pos="0.00131451599174296 2.88942057994543e-15 0.0215404163180413" mass="0.0273093985570947" fullinertia="8.51629628283022e-06 6.9133328065108e-06 2.25006832221981e-06 2.58174336207405e-19 3.83829504344079e-07 -7.58589926143789e-19" />
<geom name="left_outer_finger_vis_0" type="mesh" mesh="outer_finger_fine" contype="0" conaffinity="0" group="2" />
<geom name="left_outer_finger_col_0" type="mesh" mesh="outer_finger_coarse" group="3" />
</body>
</body>
<body name="left_inner_knuckle" pos="0.0127000000001501 0.0 0.0693074999999639">
<joint name="left_inner_knuckle_joint" type="hinge" axis="0.0 -1.0 0.0" range="0.0 0.8757" />
<inertial pos="0.017097546626628 -3.93808524389535e-10 0.0224918438201868" mass="0.0110930853895903" fullinertia="4.23392770691541e-06 3.96548790524392e-06 3.24068002883007e-06 5.748978936968e-15 1.78855677119788e-06 1.05464666369669e-14" />
<geom name="left_inner_knuckle_vis_0" type="mesh" mesh="inner_knuckle_fine" contype="0" conaffinity="0" group="2" />
<geom name="left_inner_knuckle_col_0" type="mesh" mesh="inner_knuckle_coarse" group="3" />
<body name="left_inner_finger" pos="0.034585310861294 0.0 0.0454970193817975">
<joint name="left_inner_finger_joint" type="hinge" axis="0.0 -1.0 0.0" range="0.0 0.8757" />
<inertial pos="0.0060275613594574 -6.29183141465421e-15 0.00669925693133241" mass="0.00724255346165745" fullinertia="1.47824274053603e-06 1.70064480838395e-06 4.77151336838364e-07 -3.94884463570303e-19 -3.45268847648622e-07 3.5059838910097e-19" />
<geom name="left_inner_finger_vis_0" type="mesh" mesh="inner_finger_fine" contype="0" conaffinity="0" group="2" />
<geom name="left_inner_finger_col_0" type="mesh" mesh="inner_finger_coarse" group="3" />
</body>
</body>
<body name="right_inner_knuckle" pos="-0.0126999999998499 0.0 0.0693075000000361" quat="1.6155445744325867e-15 0.0 0.0 1.0">
<joint name="right_inner_knuckle_joint" type="hinge" axis="0.0 1.0 0.0" range="0.0 0.8757" />
<inertial pos="0.0168606186773776 3.93808471820465e-10 0.0226699950793434" mass="0.0110930853895903" fullinertia="4.27134775939882e-06 3.96548790524392e-06 3.20325997634666e-06 -8.53568456728898e-15 1.77774229944246e-06 -8.45108024914164e-15" />
<geom name="right_inner_knuckle_vis_0" type="mesh" mesh="inner_knuckle_fine" contype="0" conaffinity="0" group="2" />
<geom name="right_inner_knuckle_col_0" type="mesh" mesh="inner_knuckle_coarse" group="3" />
<body name="right_inner_finger" pos="0.0341060475457406 0.0 0.0458573878541688">
<joint name="right_inner_finger_joint" type="hinge" axis="0.0 1.0 0.0" range="0.0 0.8757" />
<inertial pos="0.00602756228812038 -6.47284509480176e-15 0.00669925609578108" mass="0.00724255346165744" fullinertia="1.47824283625957e-06 1.70064480838394e-06 4.77151241114822e-07 -3.95952064019123e-19 -3.45268708875543e-07 3.55286507960029e-19" />
<geom name="right_inner_finger_vis_0" type="mesh" mesh="inner_finger_fine" contype="0" conaffinity="0" group="2" />
<geom name="right_inner_finger_col_0" type="mesh" mesh="inner_finger_coarse" group="3" />
</body>
</body>
<body name="right_outer_knuckle" pos="-0.0306011444258893 0.0 0.0627920162695395" quat="1.6155445744325867e-15 0.0 0.0 1.0">
<joint name="right_outer_knuckle_joint" type="hinge" axis="0.0 1.0 0.0" range="0.0 0.8757" />
<inertial pos="0.0178097074051638 3.60493211424024e-11 0.00233123458346721" mass="0.00684838849401352" fullinertia="2.70004361573169e-07 1.38892332558312e-06 1.26286103637978e-06 1.59579467624491e-15 1.56396493788199e-07 2.82357800318817e-15" />
<geom name="right_outer_knuckle_vis_0" type="mesh" mesh="outer_knuckle_fine" contype="0" conaffinity="0" group="2" />
<geom name="right_outer_knuckle_col_0" type="mesh" mesh="outer_knuckle_coarse" group="3" />
<body name="right_outer_finger" pos="0.0317095909367246 0.0 -0.0016013564954687">
<inertial pos="0.00108844269639009 -2.611488350845e-15 0.0215530225245502" mass="0.0273093985570947" fullinertia="8.52366028592721e-06 6.91333280651081e-06 2.24270431912283e-06 3.41683380899422e-19 3.18003675694284e-07 7.37726682706417e-19" />
<geom name="right_outer_finger_vis_0" type="mesh" mesh="outer_finger_fine" contype="0" conaffinity="0" group="2" />
<geom name="right_outer_finger_col_0" type="mesh" mesh="outer_finger_coarse" group="3" />
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="robotiq_85_base_link" body2="left_outer_knuckle" />
<exclude body1="left_outer_knuckle" body2="left_outer_finger" />
<exclude body1="robotiq_85_base_link" body2="left_inner_knuckle" />
<exclude body1="left_inner_knuckle" body2="left_inner_finger" />
<exclude body1="robotiq_85_base_link" body2="right_inner_knuckle" />
<exclude body1="right_inner_knuckle" body2="right_inner_finger" />
<exclude body1="robotiq_85_base_link" body2="right_outer_knuckle" />
<exclude body1="right_outer_knuckle" body2="right_outer_finger" />
</contact>
</mujoco>
Import report
Counts
| Links | 9 |
|---|---|
| Joints | 8 |
| Moving joints | 6 |
| Visuals | 9 |
| Collisions | 9 |
| Materials | 0 |
Meshes
Formats: stl.
Asset size: 2.5 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 |
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 · 2.7e-17 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/a-price/robotiq_arg85_description |
|---|---|
| Commit | a65190bdbb0666609fe7e8c3bb17341e09e81625 |
| Original file | robots/robotiq_arg85_description.URDF |
| Licence | BSD · 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.