Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ repos:
- id: check-yaml

- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
rev: v2.4.1
hooks:
- id: codespell
args: [-L, hande, -w]
Expand Down
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
* [PR-1](https://github.com/AGH-CEAI/robotiq_hande_description/pull/1) - Configuration parameters for ModbusRTU
* [PR-1](https://github.com/AGH-CEAI/robotiq_hande_description/pull/1) - Configuration parameters for ModbusRTU.

### Changed
* [PR-3](https://github.com/AGH-CEAI/robotiq_hande_description/pull/3) - Changed the coupler model and simplified URDF files by editing the models.

### Deprecated

### Removed

### Fixed
* [PR-2] (https://github.com/AGH-CEAI/robotiq_hande_description/pull/2) - Removed unnecessary quotation marks from parameter values.
* [PR-2](https://github.com/AGH-CEAI/robotiq_hande_description/pull/2) - Removed unnecessary quotation marks from parameter values.

### Security
32 changes: 26 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)

This package contains meshes and URDF description of [Robotiq Hand-E gripper](https://robotiq.com/products/hand-e-adaptive-robot-gripper) dedicated for Universal Robots e-series.
This package contains meshes and URDF description of [Robotiq Hand-E gripper](https://robotiq.com/products/hand-e-adaptive-robot-gripper). It was originally developed for integration with Universal Robots e-series (UR5e), however it is be possible to change the coupler model to fit your needs. **PRs are welcome!**


- The gripper comes with coupler model (but without flange).
- This repository comes with CAD models imported from STEP files to FreeCAD format (FCStd).
- These CAD models are taken from the official [Robotiq Support page](https://robotiq.com/support).
- Package has been developed and tested in ROS 2 Humble.
- The definitions for the `ros2_control` framework are available in the [robotiq_hande_gripper.ros2_control.xacro](./urdf/robotiq_hande_gripper.ros2_control.xacro) file.

Expand All @@ -17,22 +19,40 @@ This package contains meshes and URDF description of [Robotiq Hand-E gripper](ht

![hande_model](docs/hande_rviz.gif)

*(Errata: The minus width range in the animation above is outdated)*

## Usage

In your URDF (Xacro) file include the Hand-E definition. Provide a parent link (for instance `tool0`) as the parameter:
In your URDF (Xacro) file include the Hand-E definition. Provide a unique name and the parent link (for instance `tool0`) as the parameters:

```xml
<xacro:include filename="$(find robotiq_hande_description)/urdf/robotiq_hande_gripper.xacro" />
<!-- ... -->
<xacro:robotiq_hande_gripper parent="PARENT_LINK" prefix="" />
<xacro:robotiq_hande_gripper name="robotiq_hande_gripper" parent="PARENT_LINK" prefix="" />
```

An example usage can be find in the [urdf/hande_preview.urdf.xacro](./urdf/robotiq_hande_gripper.urdf.xacro) file.
For estabilishg a connection with [robotiq_hande_driver](https://github.com/AGH-CEAI/robotiq_hande_driver) there is also need to provide more parameters:
```xml
<xacro:robotiq_hande_gripper
name="robotiq_hande_gripper"
prefix=""
parent="tool0"
grip_pos_min="0.0"
grip_pos_max="0.025"
tty="/tmp/ttyUR"
baudrate="115200"
parity="N"
data_bits="8"
stop_bit="1"
slave_id="9"
use_fake_hardware="false"
/>
```

> [!NOTE]
> The TF frame of the end tip of the gripper is called `${prefix}hande_end`, where `${prefix}` evaluates as the second macro parameter.
> The TF frame of the end tip of the gripper is called `${prefix}hande_end`, where `${prefix}` evaluates as the `prefix` macro parameter.

### Examples
**An example usage can be find** in the [urdf/hande_preview.urdf.xacro](./urdf/robotiq_hande_gripper.urdf.xacro) file. Furthermore, an integration with whole ROS 2 project example can be find in the [AGH-CEAI/aegis_ros](https://github.com/AGH-CEAI/aegis_ros) repository.


## Preview
Expand Down
Binary file removed cad_models/coupler.FCStd
Binary file not shown.
Binary file removed cad_models/coupler.FCStd1
Binary file not shown.
Binary file modified cad_models/finger.FCStd
Binary file not shown.
Binary file modified cad_models/finger_collision.FCStd
Binary file not shown.
Binary file modified cad_models/hande_step.FCStd
Binary file not shown.
Binary file added cad_models/io_coupler.FCStd
Binary file not shown.
Binary file modified docs/hande_rviz.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
106 changes: 0 additions & 106 deletions meshes/coupler.dae

This file was deleted.

Binary file removed meshes/coupler.stl
Binary file not shown.
94 changes: 47 additions & 47 deletions meshes/finger.dae

Large diffs are not rendered by default.

82 changes: 41 additions & 41 deletions meshes/finger_collision.dae
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
<asset>
<contributor/>
<created>2024-01-17T12:16:39.919868</created>
<modified>2024-01-17T12:16:39.919870</modified>
<unit name="meter" meter="1.0"/>
<contributor />
<created>2025-03-12T18:46:43.198333</created>
<modified>2025-03-12T18:46:43.198337</modified>
<unit name="meter" meter="1.0" />
<up_axis>Z_UP</up_axis>
</asset>
<library_effects>
<effect id="effect_Mesh" name="effect_Mesh">
<effect id="effect_Mesh001" name="effect_Mesh001">
<profile_COMMON>
<technique sid="common">
<phong>
Expand Down Expand Up @@ -47,7 +47,7 @@
</extra>
</profile_COMMON>
</effect>
<effect id="effect_Mesh001" name="effect_Mesh001">
<effect id="effect_Mesh" name="effect_Mesh">
<profile_COMMON>
<technique sid="common">
<phong>
Expand Down Expand Up @@ -89,77 +89,77 @@
</effect>
</library_effects>
<library_geometries>
<geometry id="geometry0" name="Mesh">
<geometry id="geometry0" name="Mesh001">
<mesh>
<source id="cubeverts-array0">
<float_array count="24" id="cubeverts-array0-array">-0.0107 -0.029 0.0185 -0.0107 -0.036 0.0185 -0.0107 -0.029 0.03905 -0.0107 -0.036 0.03905 0.0105 -0.036 0.0185 0.0105 -0.029 0.0185 0.0105 -0.029 0.03905 0.0105 -0.036 0.03905</float_array>
<float_array count="24" id="cubeverts-array0-array">0.0065 0.0105 0.02655 -1.421085e-17 0.0105 0.02655 0.0065 0.0105 0.04755 -1.776357e-17 0.0105 0.04755 -1.776357e-17 -0.0106 0.02655 0.0065 -0.0106 0.02655 0.0065 -0.0106 0.04755 -2.131628e-17 -0.0106 0.04755</float_array>
<technique_common>
<accessor count="8" source="#cubeverts-array0-array" stride="3">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
<param type="float" name="X" />
<param type="float" name="Y" />
<param type="float" name="Z" />
</accessor>
</technique_common>
</source>
<source id="cubenormals-array0">
<float_array count="36" id="cubenormals-array0-array">-1 0 0 -1 -0 0 1 0 0 1 0 0 -0 -0 -1 0 0 -1 0 -0 1 0 0 1 -0 1 0 0 1 0 -0 -1 0 0 -1 -0</float_array>
<float_array count="36" id="cubenormals-array0-array">0 1 -0 0 1 0 0 -1 0 0 -1 0 -0 -0 -1 0 0 -1 0 -0 1 0 0 1 1 0 0 1 0 0 -1 1.683751e-16 -1.691769e-16 -1 1.683751e-16 -1.691769e-16</float_array>
<technique_common>
<accessor count="12" source="#cubenormals-array0-array" stride="3">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
<param type="float" name="X" />
<param type="float" name="Y" />
<param type="float" name="Z" />
</accessor>
</technique_common>
</source>
<vertices id="cubeverts-array0-vertices">
<input semantic="POSITION" source="#cubeverts-array0"/>
<input semantic="POSITION" source="#cubeverts-array0" />
</vertices>
<triangles count="12" material="ref_Mesh">
<input offset="0" semantic="VERTEX" source="#cubeverts-array0-vertices"/>
<input offset="1" semantic="NORMAL" source="#cubenormals-array0"/>
<p>0 0 1 0 2 0 2 1 1 1 3 1 4 2 5 2 6 2 4 3 6 3 7 3 5 4 4 4 0 4 0 5 4 5 1 5 7 6 6 6 2 6 7 7 2 7 3 7 2 8 6 8 0 8 0 9 6 9 5 9 7 10 3 10 1 10 7 11 1 11 4 11</p>
<triangles count="12" material="ref_Mesh001">
<input offset="0" semantic="VERTEX" source="#cubeverts-array0-vertices" />
<input offset="1" semantic="NORMAL" source="#cubenormals-array0" />
<p>0 0 1 0 2 0 2 1 1 1 3 1 4 2 5 2 6 2 4 3 6 3 7 3 0 4 5 4 1 4 5 5 4 5 1 5 6 6 2 6 3 6 7 7 6 7 3 7 2 8 6 8 0 8 0 9 6 9 5 9 7 10 3 10 1 10 7 11 1 11 4 11</p>
</triangles>
</mesh>
</geometry>
<geometry id="geometry1" name="Mesh001">
<geometry id="geometry1" name="Mesh">
<mesh>
<source id="cubeverts-array1">
<float_array count="24" id="cubeverts-array1-array">0.0105 -0.0315 0.03905 0.0105 -0.025 0.03905 0.0105 -0.0315 0.06005 0.0105 -0.025 0.06005 -0.0106 -0.025 0.03905 -0.0106 -0.0315 0.03905 -0.0106 -0.0315 0.06005 -0.0106 -0.025 0.06005</float_array>
<float_array count="24" id="cubeverts-array1-array">0.004 -0.0107 0.006 0.011 -0.0107 0.006 0.004 -0.0107 0.02655 0.011 -0.0107 0.02655 0.011 0.0105 0.006 0.004 0.0105 0.006 0.004 0.0105 0.02655 0.011 0.0105 0.02655</float_array>
<technique_common>
<accessor count="8" source="#cubeverts-array1-array" stride="3">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
<param type="float" name="X" />
<param type="float" name="Y" />
<param type="float" name="Z" />
</accessor>
</technique_common>
</source>
<source id="cubenormals-array1">
<float_array count="36" id="cubenormals-array1-array">1 0 0 1 -0 0 -1 0 0 -1 0 0 0 0 -1 0 0 -1 0 0 1 -0 0 1 -0 -1 -0 0 -1 0 -0 1 0 0 1 0</float_array>
<float_array count="36" id="cubenormals-array1-array">0 -1 0 0 -1 0 0 1 0 0 1 -0 0 0 -1 0 0 -1 0 0 1 0 0 1 -1 0 0 -1 0 0 1 0 0 1 0 0</float_array>
<technique_common>
<accessor count="12" source="#cubenormals-array1-array" stride="3">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
<param type="float" name="X" />
<param type="float" name="Y" />
<param type="float" name="Z" />
</accessor>
</technique_common>
</source>
<vertices id="cubeverts-array1-vertices">
<input semantic="POSITION" source="#cubeverts-array1"/>
<input semantic="POSITION" source="#cubeverts-array1" />
</vertices>
<triangles count="12" material="ref_Mesh001">
<input offset="0" semantic="VERTEX" source="#cubeverts-array1-vertices"/>
<input offset="1" semantic="NORMAL" source="#cubenormals-array1"/>
<p>0 0 1 0 2 0 2 1 1 1 3 1 4 2 5 2 6 2 4 3 6 3 7 3 0 4 5 4 1 4 5 5 4 5 1 5 6 6 2 6 3 6 7 7 6 7 3 7 2 8 6 8 0 8 0 9 6 9 5 9 7 10 3 10 1 10 7 11 1 11 4 11</p>
<triangles count="12" material="ref_Mesh">
<input offset="0" semantic="VERTEX" source="#cubeverts-array1-vertices" />
<input offset="1" semantic="NORMAL" source="#cubenormals-array1" />
<p>0 0 1 0 2 0 2 1 1 1 3 1 4 2 5 2 6 2 4 3 6 3 7 3 5 4 4 4 0 4 0 5 4 5 1 5 7 6 6 6 2 6 7 7 2 7 3 7 2 8 6 8 0 8 0 9 6 9 5 9 7 10 3 10 1 10 7 11 1 11 4 11</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_materials>
<material id="mat_Mesh" name="Mesh">
<instance_effect url="#effect_Mesh"/>
</material>
<material id="mat_Mesh001" name="Mesh001">
<instance_effect url="#effect_Mesh001"/>
<instance_effect url="#effect_Mesh001" />
</material>
<material id="mat_Mesh" name="Mesh">
<instance_effect url="#effect_Mesh" />
</material>
</library_materials>
<library_visual_scenes>
Expand All @@ -168,7 +168,7 @@
<instance_geometry url="#geometry0">
<bind_material>
<technique_common>
<instance_material symbol="ref_Mesh" target="#mat_Mesh"/>
<instance_material symbol="ref_Mesh001" target="#mat_Mesh001" />
</technique_common>
</bind_material>
</instance_geometry>
Expand All @@ -177,14 +177,14 @@
<instance_geometry url="#geometry1">
<bind_material>
<technique_common>
<instance_material symbol="ref_Mesh001" target="#mat_Mesh001"/>
<instance_material symbol="ref_Mesh" target="#mat_Mesh" />
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#myscene"/>
<instance_visual_scene url="#myscene" />
</scene>
</COLLADA>
76 changes: 38 additions & 38 deletions meshes/hande.dae

Large diffs are not rendered by default.

Loading