Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move many related Drake files into here #48

Merged
merged 9 commits into from
Apr 1, 2024
Merged
14 changes: 14 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ _XACROS = {
"src": "tri_homecart/homecart_cutting_board.sdf.xacro",
"data": [],
},
"ur_description/urdf/ur3e_cylinders_collision.urdf": {
"src": "ur_description/urdf/ur3e_cylinders_collision.urdf.xacro",
"data": [
"ur_description/urdf/ur.transmission.xacro",
"ur_description/urdf/ur3e.urdf.xacro",
],
},
"ur_description/urdf/ur3e_spheres_collision.urdf": {
"src": "ur_description/urdf/ur3e_spheres_collision.urdf.xacro",
"data": [
"ur_description/urdf/ur.transmission.xacro",
"ur_description/urdf/ur3e.urdf.xacro",
],
},
}

# Generate the xacro output into a temp dir.
Expand Down
18 changes: 18 additions & 0 deletions franka_description/LICENSE.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
This folder contains a model of the Franka Emika Panda arm.

This model was originally taken from the Franka ROS package, which is
available at:
https://github.com/frankaemika/franka_ros/tree/kinetic-devel/franka_description
SHA d7cd447344.

The license for these files is the Apache 2.0 license
https://github.com/frankaemika/franka_ros/blob/kinetic-devel/LICENSE
https://github.com/frankaemika/franka_ros/blob/kinetic-devel/franka_ros/package.xml

The inertial properties for the arm/hand were copied from
https://github.com/mkrizmancic/franka_gazebo which also uses the
Apache 2.0 license.

As a result, `urdf/*.urdf` are covered by the Apache 2.0 license. The remaining
files (README, unit test, BUILD, etc.) are covered by Drake's license terms
(see LICENSE.TXT in Drake's root folder).
51 changes: 50 additions & 1 deletion franka_description/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,53 @@
# Franka meshes
# Franka

This folder contains a drake-compatible model of the Franka Emika Panda arm.

The model differs from the original ROS model and the real robot. In this model
the fingers are independently actuated, rather than using <mimic> tag, which
Drake does not yet support.

In addition, some tags unsupported by Drake have been removed, to reduce the
burden of warning output. For URDF support details, see:
https://drake.mit.edu/doxygen_cxx/group__multibody__parsing.html

### Rotor Inertia and Gear Ratio

The rotor inertias and gear ratios have been picked so that their combination,
i.e rotor_interia * gear_ratio * gear_ratio, is equal to the reflected interia
provided by Franka for the FR-3 robots.
The reflected inertias for the joints of the Franka FR-3 are:
|Axis data | reflected inertia (kg m^2)|
|----------- |--------------------------:|
|Axis 1 (A1) |0.605721456 |
|Axis 2 (A2) |0.605721456 |
|Axis 3 (A3) |0.462474144 |
|Axis 4 (A4) |0.462474144 |
|Axis 5 (A5) |0.205544064 |
|Axis 6 (A6) |0.205544064 |
|Axis 7 (A7) |0.205544064 |

### Acceleration Limits

The joint acceleration values are taken based on the older FE-3 Panda (not
the newer FR-3 robot):
https://frankaemika.github.io/docs/control_parameters.html#limits-for-panda

|Axis data | acceleration limit (rad/s^2)|
|----------- |----------------------------:|
|Axis 1 (A1) |15 |
|Axis 2 (A2) |7.5 |
|Axis 3 (A3) |10 |
|Axis 4 (A4) |12.5 |
|Axis 5 (A5) |15 |
|Axis 6 (A6) |20 |
|Axis 7 (A7) |20 |

### Collision Filters

There is collision filtering applied between `(panda_link5, panda_link7)` and
`(panda_link6, panda_link8)`.

### Meshes

All files under `./meshes` were converted from the original versions
in the Franka ROS package, which is available at:
Expand Down
128 changes: 128 additions & 0 deletions franka_description/urdf/hand.urdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- | This document is a hand edited version of the output autogenerated by xacro | -->
<!-- | from hand.urdf.xacro | -->
<!-- =================================================================================== -->
<robot name="hand">
<link name="panda_hand">
<inertial>
<mass value="0.73"/>
<origin xyz="0 0.0015244 0.0275912" rpy="0 0 0"/>
<inertia ixx="0.00278560230025" ixy="0.0" ixz="0.0" iyy="0.000400033405336" iyz="0.0" izz="0.00256378041832"/>
</inertial>
<visual>
<origin rpy="1.57079632679 0 0"/>
<geometry>
<mesh filename="package://drake_models/franka_description/meshes/visual/hand.obj"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 -0.06 0.015"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 -0.06 0.03"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 0 0.03"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 0.06 0.03"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</collision>
</link>
<link name="panda_leftfinger">
<inertial>
<mass value="0.1"/>
<origin xyz="0 0.0145644 0.0227941" rpy="0 0 0"/>
<inertia ixx="3.01220925051e-05" ixy="0.0" ixz="0.0" iyy="2.95873808038e-05" iyz="0.0" izz="6.95125211657e-06"/>
</inertial>
<visual>
<origin rpy="1.57079632679 0 0"/>
<geometry>
<mesh filename="package://drake_models/franka_description/meshes/visual/finger.obj"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0.007 0.045"/>
<geometry>
<sphere radius="0.012"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 0.015 0.03"/>
<geometry>
<sphere radius="0.012"/>
</geometry>
</collision>
</link>
<link name="panda_rightfinger">
<inertial>
<mass value="0.1"/>
<origin xyz="0 0.0145644 0.0227941" rpy="0 0 3.14159265359"/>
<inertia ixx="3.01220925051e-05" ixy="0.0" ixz="0.0" iyy="2.95873808038e-05" iyz="0.0" izz="6.95125211657e-06"/>
</inertial>
<visual>
<origin rpy="1.57079632679 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://drake_models/franka_description/meshes/visual/finger.obj"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 -0.007 0.045"/>
<geometry>
<sphere radius="0.012"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 -0.015 0.03"/>
<geometry>
<sphere radius="0.012"/>
</geometry>
</collision>
</link>
<joint name="panda_finger_joint1" type="prismatic">
<parent link="panda_hand"/>
<child link="panda_leftfinger"/>
<origin rpy="0 0 0" xyz="0 0 0.0584"/>
<axis xyz="0 1 0"/>
<limit effort="20" lower="0.0" upper="0.04" velocity="0.2"/>
</joint>
<joint name="panda_finger_joint2" type="prismatic">
<parent link="panda_hand"/>
<child link="panda_rightfinger"/>
<origin rpy="0 0 0" xyz="0 0 0.0584"/>
<axis xyz="0 -1 0"/>
<limit effort="20" lower="0.0" upper="0.04" velocity="0.2"/>
</joint>
<transmission name="panda_finger_tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="panda_finger_joint1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="panda_finger_motor1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="panda_finger_tran2">
<type>transmission_interface/SimpleTransmission</type>
<joint name="panda_finger_joint2">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="panda_finger_motor2">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
</robot>
Loading
Loading