BarrettHand
Barrett Technology · licence BSD · source: github.com/jhu-lcsr-attic/bhand_model @ 937f4186d
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 2337334e5e1c0a39 -->
<robot name="bhand_model">
<link name="base_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/base_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/base_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-1.53444878605399e-05 -0.00277693660903533 0.0352882290973172" rpy="0.0 0.0 0.0" />
<mass value="0.377966381303299" />
<inertia ixx="0.000427326373018601" ixy="2.6443337984506e-07" ixz="-2.02908063714989e-07" iyy="0.000361316175967098" iyz="-3.0792687327603e-05" izz="0.000376798128588446" />
</inertial>
</link>
<link name="finger_1_prox_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_prox_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_prox_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0288648917008988 9.98379746692153e-05 0.0171253477569802" rpy="0.0 0.0 0.0" />
<mass value="56143.0626955765" />
<inertia ixx="10.4484040652085" ixy="-0.117861448219975" ixz="-5.31613760585343" iyy="33.9552353012776" iyz="0.0780041192837706" izz="29.3669090518615" />
</inertial>
</link>
<joint name="finger_1_prox_joint" type="revolute">
<origin xyz="0.025 0.0 0.0415" rpy="0.0 2.7051e-17 -1.5708" />
<parent link="base_link" />
<child link="finger_1_prox_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-3.141" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_1_med_liink">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_med_liink.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_med_liink.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.030918176135544 0.0019693024932544 0.000743369842666108" rpy="0.0 0.0 0.0" />
<mass value="31321.1214212939" />
<inertia ixx="2.18512832127284" ixy="-0.844484268309696" ixz="0.0135401272401385" iyy="17.3596441998536" iyz="-0.001126692167519" izz="17.7656644395659" />
</inertial>
</link>
<joint name="finger_1_med_joint" type="revolute">
<origin xyz="-0.05 0.0 0.0339" rpy="1.5708 -8.8281e-17 0.0" />
<parent link="finger_1_prox_link" />
<child link="finger_1_med_liink" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-2.44" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_1_dist_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_dist_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_1_dist_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.018331495851456 0.017563370050582 0.000497127783315291" rpy="0.0 0.0 0.0" />
<mass value="19342.3312257343" />
<inertia ixx="3.67466110522623" ixy="-2.57800680786605" ixz="-0.0345727635031181" iyy="4.08727012680705" iyz="0.0329223427372985" izz="5.99395386650428" />
</inertial>
</link>
<joint name="finger_1_dist_joint" type="revolute">
<origin xyz="-0.069936 0.003 0.0" rpy="1.6787e-18 -3.6382e-15 -6.1073e-33" />
<parent link="finger_1_med_liink" />
<child link="finger_1_dist_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-0.785" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_2_prox_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_prox_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_prox_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0288648917008987 9.98379746692118e-05 0.0171253477569802" rpy="0.0 0.0 0.0" />
<mass value="56143.0626955765" />
<inertia ixx="10.4484040652085" ixy="-0.117861448219975" ixz="-5.31613760585343" iyy="33.9552353012776" iyz="0.0780041192837701" izz="29.3669090518615" />
</inertial>
</link>
<joint name="finger_2_prox_joint" type="revolute">
<origin xyz="-0.025 0.0 0.0415" rpy="0.0 2.7051e-17 -1.5708" />
<parent link="base_link" />
<child link="finger_2_prox_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="0.0" upper="3.141" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_2_med_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_med_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_med_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0309061378225848 0.00214997948654991 0.000743369814045599" rpy="0.0 0.0 0.0" />
<mass value="31321.1215499126" />
<inertia ixx="2.19551825824831" ixy="-0.933117181988174" ixz="0.0135333166873642" iyy="17.3492542935561" iyz="-0.00120585854514789" izz="17.7656644132238" />
</inertial>
</link>
<joint name="finger_2_med_joint" type="revolute">
<origin xyz="-0.05 0.0 0.0339" rpy="1.5708 -8.8281e-17 0.0" />
<parent link="finger_2_prox_link" />
<child link="finger_2_med_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-2.44" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_2_dist_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_dist_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_2_dist_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0181940669984822 0.017705695005231 0.000497127783261171" rpy="0.0 0.0 0.0" />
<mass value="19342.3313295693" />
<inertia ixx="3.71486604025429" ixy="-2.58090906930852" ixz="-0.0343151446338957" iyy="4.04706522522361" iyz="0.0331907761165059" izz="5.99395390717116" />
</inertial>
</link>
<joint name="finger_2_dist_joint" type="revolute">
<origin xyz="-0.069917 0.0034087 0.0" rpy="-3.1382e-17 -2.3229e-16 0.0" />
<parent link="finger_2_med_link" />
<child link="finger_2_dist_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-0.785" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_3_med_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_3_med_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_3_med_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0309181761355441 0.00196930249325443 0.000743369842666415" rpy="0.0 0.0 0.0" />
<mass value="31321.121421294" />
<inertia ixx="2.18512832127284" ixy="-0.844484268309696" ixz="0.0135401272400822" iyy="17.3596441998537" iyz="-0.0011266921675151" izz="17.7656644395659" />
</inertial>
</link>
<joint name="finger_3_med_joint" type="revolute">
<origin xyz="0.0 -0.05 0.0754" rpy="1.5708 6.123e-17 1.5708" />
<parent link="base_link" />
<child link="finger_3_med_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-2.44" upper="0.0" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<link name="finger_3_dist_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_3_dist_link.STL" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://bhand_model/meshes/finger_3_dist_link.STL" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0183314958518909 0.0175633700501297 0.000497127783323787" rpy="0.0 0.0 0.0" />
<mass value="19342.3312257343" />
<inertia ixx="3.67466110509902" ixy="-2.57800680785588" ixz="-0.0345727635040649" iyy="4.08727012693427" iyz="0.0329223427365976" izz="5.99395386650428" />
</inertial>
</link>
<joint name="finger_3_dist_joint" type="revolute">
<origin xyz="-0.069936 0.003 0.0" rpy="6.0427e-17 -6.7283e-18 -4.0657e-34" />
<parent link="finger_3_med_link" />
<child link="finger_3_dist_link" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="0.0" velocity="0.0" lower="-0.785" upper="0.0" />
<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 2337334e5e1c0a39 -->
<mujoco model="bhand_model">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="base_link" file="bhand_model/meshes/base_link.STL" />
<mesh name="finger_1_prox_link" file="bhand_model/meshes/finger_1_prox_link.STL" />
<mesh name="finger_1_med_liink" file="bhand_model/meshes/finger_1_med_liink.STL" />
<mesh name="finger_1_dist_link" file="bhand_model/meshes/finger_1_dist_link.STL" />
<mesh name="finger_2_prox_link" file="bhand_model/meshes/finger_2_prox_link.STL" />
<mesh name="finger_2_med_link" file="bhand_model/meshes/finger_2_med_link.STL" />
<mesh name="finger_2_dist_link" file="bhand_model/meshes/finger_2_dist_link.STL" />
<mesh name="finger_3_med_link" file="bhand_model/meshes/finger_3_med_link.STL" />
<mesh name="finger_3_dist_link" file="bhand_model/meshes/finger_3_dist_link.STL" />
</asset>
<worldbody>
<body name="base_link">
<inertial pos="-1.53444878605399e-05 -0.00277693660903533 0.0352882290973172" mass="0.377966381303299" fullinertia="0.000427326373018601 0.000361316175967098 0.000376798128588446 2.6443337984506e-07 -2.02908063714989e-07 -3.0792687327603e-05" />
<geom name="base_link_vis_0" type="mesh" mesh="base_link" contype="0" conaffinity="0" group="2" />
<geom name="base_link_col_0" type="mesh" mesh="base_link" group="3" />
<body name="finger_1_prox_link" pos="0.025 0.0 0.0415" quat="0.7071054825112363 9.56399033413931e-18 9.563955203705726e-18 -0.7071080798594735">
<joint name="finger_1_prox_joint" type="hinge" axis="0.0 0.0 1.0" range="-3.141 0.0" />
<inertial pos="-0.0288648917008988 9.98379746692153e-05 0.0171253477569802" mass="56143.0626955765" fullinertia="10.4484040652085 33.9552353012776 29.3669090518615 -0.117861448219975 -5.31613760585343 0.0780041192837706" />
<geom name="finger_1_prox_link_vis_0" type="mesh" mesh="finger_1_prox_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_1_prox_link_col_0" type="mesh" mesh="finger_1_prox_link" group="3" />
<body name="finger_1_med_liink" pos="-0.05 0.0 0.0339" quat="0.7071054825112363 0.7071080798594735 -3.1211989550787224e-17 3.121210419903709e-17">
<joint name="finger_1_med_joint" type="hinge" axis="0.0 0.0 1.0" range="-2.44 0.0" />
<inertial pos="-0.030918176135544 0.0019693024932544 0.000743369842666108" mass="31321.1214212939" fullinertia="2.18512832127284 17.3596441998536 17.7656644395659 -0.844484268309696 0.0135401272401385 -0.001126692167519" />
<geom name="finger_1_med_liink_vis_0" type="mesh" mesh="finger_1_med_liink" contype="0" conaffinity="0" group="2" />
<geom name="finger_1_med_liink_col_0" type="mesh" mesh="finger_1_med_liink" group="3" />
<body name="finger_1_dist_link" pos="-0.069936 0.003 0.0" quat="1.0 8.3935e-19 -1.8191e-15 -1.526788415e-33">
<joint name="finger_1_dist_joint" type="hinge" axis="0.0 0.0 1.0" range="-0.785 0.0" />
<inertial pos="-0.018331495851456 0.017563370050582 0.000497127783315291" mass="19342.3312257343" fullinertia="3.67466110522623 4.08727012680705 5.99395386650428 -2.57800680786605 -0.0345727635031181 0.0329223427372985" />
<geom name="finger_1_dist_link_vis_0" type="mesh" mesh="finger_1_dist_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_1_dist_link_col_0" type="mesh" mesh="finger_1_dist_link" group="3" />
</body>
</body>
</body>
<body name="finger_2_prox_link" pos="-0.025 0.0 0.0415" quat="0.7071054825112363 9.56399033413931e-18 9.563955203705726e-18 -0.7071080798594735">
<joint name="finger_2_prox_joint" type="hinge" axis="0.0 0.0 1.0" range="0.0 3.141" />
<inertial pos="-0.0288648917008987 9.98379746692118e-05 0.0171253477569802" mass="56143.0626955765" fullinertia="10.4484040652085 33.9552353012776 29.3669090518615 -0.117861448219975 -5.31613760585343 0.0780041192837701" />
<geom name="finger_2_prox_link_vis_0" type="mesh" mesh="finger_2_prox_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_2_prox_link_col_0" type="mesh" mesh="finger_2_prox_link" group="3" />
<body name="finger_2_med_link" pos="-0.05 0.0 0.0339" quat="0.7071054825112363 0.7071080798594735 -3.1211989550787224e-17 3.121210419903709e-17">
<joint name="finger_2_med_joint" type="hinge" axis="0.0 0.0 1.0" range="-2.44 0.0" />
<inertial pos="-0.0309061378225848 0.00214997948654991 0.000743369814045599" mass="31321.1215499126" fullinertia="2.19551825824831 17.3492542935561 17.7656644132238 -0.933117181988174 0.0135333166873642 -0.00120585854514789" />
<geom name="finger_2_med_link_vis_0" type="mesh" mesh="finger_2_med_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_2_med_link_col_0" type="mesh" mesh="finger_2_med_link" group="3" />
<body name="finger_2_dist_link" pos="-0.069917 0.0034087 0.0" quat="1.0 -1.5691e-17 -1.16145e-16 -1.8224311950000003e-33">
<joint name="finger_2_dist_joint" type="hinge" axis="0.0 0.0 1.0" range="-0.785 0.0" />
<inertial pos="-0.0181940669984822 0.017705695005231 0.000497127783261171" mass="19342.3313295693" fullinertia="3.71486604025429 4.04706522522361 5.99395390717116 -2.58090906930852 -0.0343151446338957 0.0331907761165059" />
<geom name="finger_2_dist_link_vis_0" type="mesh" mesh="finger_2_dist_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_2_dist_link_col_0" type="mesh" mesh="finger_2_dist_link" group="3" />
</body>
</body>
</body>
<body name="finger_3_med_link" pos="0.0 -0.05 0.0754" quat="0.4999981633974483 0.49999999999662686 0.5000018366025516 0.49999999999662686">
<joint name="finger_3_med_joint" type="hinge" axis="0.0 0.0 1.0" range="-2.44 0.0" />
<inertial pos="-0.0309181761355441 0.00196930249325443 0.000743369842666415" mass="31321.121421294" fullinertia="2.18512832127284 17.3596441998537 17.7656644395659 -0.844484268309696 0.0135401272400822 -0.0011266921675151" />
<geom name="finger_3_med_link_vis_0" type="mesh" mesh="finger_3_med_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_3_med_link_col_0" type="mesh" mesh="finger_3_med_link" group="3" />
<body name="finger_3_dist_link" pos="-0.069936 0.003 0.0" quat="1.0 3.02135e-17 -3.36415e-18 -1.0164225397500002e-34">
<joint name="finger_3_dist_joint" type="hinge" axis="0.0 0.0 1.0" range="-0.785 0.0" />
<inertial pos="-0.0183314958518909 0.0175633700501297 0.000497127783323787" mass="19342.3312257343" fullinertia="3.67466110509902 4.08727012693427 5.99395386650428 -2.57800680785588 -0.0345727635040649 0.0329223427365976" />
<geom name="finger_3_dist_link_vis_0" type="mesh" mesh="finger_3_dist_link" contype="0" conaffinity="0" group="2" />
<geom name="finger_3_dist_link_col_0" type="mesh" mesh="finger_3_dist_link" group="3" />
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="base_link" body2="finger_1_prox_link" />
<exclude body1="finger_1_prox_link" body2="finger_1_med_liink" />
<exclude body1="finger_1_med_liink" body2="finger_1_dist_link" />
<exclude body1="base_link" body2="finger_2_prox_link" />
<exclude body1="finger_2_prox_link" body2="finger_2_med_link" />
<exclude body1="finger_2_med_link" body2="finger_2_dist_link" />
<exclude body1="base_link" body2="finger_3_med_link" />
<exclude body1="finger_3_med_link" body2="finger_3_dist_link" />
</contact>
</mujoco>
Import report
Counts
| Links | 9 |
|---|---|
| Joints | 8 |
| Moving joints | 8 |
| Visuals | 9 |
| Collisions | 9 |
| Materials | 0 |
Meshes
Formats: stl.
Asset size: 1.2 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
material | 9 | anonymous material (empty name) cannot be referenced; its colour is not kept |
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 · 3.9e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 8).
Source & licence
| Repository | https://github.com/jhu-lcsr-attic/bhand_model |
|---|---|
| Commit | 937f4186d6458bd682a7dae825fb6f4efe56ec69 |
| Original file | robots/bhand_model.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.