Skip to content

Commit 6df3623

Browse files
authored
Merge pull request #13 from AGH-CEAI/humble-release
Pull v0.1.0-humble release to devel
2 parents 00fa969 + 48c073e commit 6df3623

File tree

8 files changed

+105
-37
lines changed

8 files changed

+105
-37
lines changed

CITATION.cff

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
authors:
4+
- family-names: Aleksandrowicz
5+
given-names: Maciej
6+
orcid: https://orcid.org/0000-0003-3388-5653
7+
- family-names: Klimek
8+
given-names: Krzysztof
9+
orcid: https://orcid.org/0009-0004-6749-1833
10+
title: "Robotiq Hand-E ROS 2 Driver"
11+
version: 0.1.0
12+
identifiers:
13+
- type: doi
14+
value: 10.5281/zenodo.15047950
15+
date-released: 2025-03-18

README.md

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,69 @@
11
# robotiq_hande_driver
2-
[![Licence](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
2+
3+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
34
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
5+
[![DOI](https://zenodo.org/badge/898628878.svg)](https://doi.org/10.5281/zenodo.15047949)
46

5-
Package for controlling the [Robotiq Hand-E gripper](https://robotiq.com/products/adaptive-grippers#Hand-E) from the [ROS 2 Control](https://control.ros.org/humble/doc/getting_started/getting_started.html) framework. It uses the [robotiq_hande_description](https://github.com/macmacal/robotiq_hande_description) package for the URDF definitions.
7+
Package for controlling the [Robotiq Hand-E gripper](https://robotiq.com/products/adaptive-grippers#Hand-E) using the [ROS 2 Control](https://control.ros.org/humble/doc/getting_started/getting_started.html) framework. It uses the [robotiq_hande_description](https://github.com/AGH-CEAI/robotiq_hande_description) package for URDF definitions. Originally developed for integration with Universal Robots e-Series (UR5e) and ROS 2 Humble, it is possible to modify this repository to fit your needs. **PRs are welcome!**
68

7-
Work is still in progress.
89

10+
![Control preview](docs/gripper_control.webp)
911

1012
---
1113

12-
## Quick start
14+
## Quick Start
15+
16+
### Connection Setup
17+
18+
#### Without Physical Hardware
19+
* You are ready to go - just remember to pass the `use_fake_hardware:=true` argument.
20+
21+
#### Modbus RTU
22+
* Connect the serial port to your system and locate the TTY device (typically `/dev/ttyX`).
23+
* You will need to configure the serial connection in your `.xacro.urdf` file ([example](https://github.com/AGH-CEAI/robotiq_hande_description/blob/humble/urdf/robotiq_hande_gripper.urdf.xacro) in `robotiq_hande_description`).
1324

14-
### Setup
25+
#### Modbus TCP
26+
* You can create a local `TCP` <-> `Virtual Serial Port` server with the `socat` command.
27+
* An example usage (in the form of a Python ROS 2 wrapper) can be found in `ur_robot_driver`'s [scripts/tool_communication.py](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/204e215c8a7371f6357e6a09f7e106364e566931/ur_robot_driver/scripts/tool_communication.py#L64).
28+
* Example: `socat pty,link=/tmp/ttyUR,raw,ignoreeof,waitslave tcp:192.168.1.2:54321`
29+
* For the UR's `ur_robot_driver`, the default path to the virtual serial port is `/tmp/ttyUR`.
30+
31+
32+
### Package setup
1533
```bash
1634
cd ~/ceai_ws/src
1735
git clone git@github.com:AGH-CEAI/robotiq_hande_driver.git ./src
1836
vcs import src < src/robotiq_hande_driver/robotiq_hande_driver.repos &&
1937
colcon build --symlink-install --packages-select robotiq_hande_driver
2038
source ./install/local_setup.sh
2139
```
40+
> [!NOTE]
41+
> **Configuration is split between two packages:**
42+
> * `robotiq_hande_description`: Hardware connection parameters are set in the URDF file. [Example config file](https://github.com/AGH-CEAI/robotiq_hande_description/blob/humble/urdf/robotiq_hande_gripper.urdf.xacro).
43+
> * `robotiq_hande_driver`: The controller configuration is set by launch parameters for the `controller_node`. [Example config file](robotiq_hande_driver/bringup/config/hande_controller.yaml).
44+
2245

2346
### Launch preview
2447
```bash
2548
ros2 launch robotiq_hande_driver gripper_controller_preview.launch.py use_fake_hardware:=true
49+
# In other terminal
50+
ros2 action send_goal /gripper_action_controller/gripper_cmd control_msgs/action/GripperCommand \
51+
"command:
52+
position: 0.0
53+
max_effort: 0.0
54+
"
55+
```
56+
57+
### Examples
58+
**An example integration usage can be find** in the [AGH-CEAI/aegis_ros](https://github.com/AGH-CEAI/aegis_ros) repository.
59+
60+
---
61+
## Development notes
62+
63+
This project uses various tools for aiding the quality of the source code. Currently most of them are executed by the `pre-commit`. Please make sure to enable its hooks:
64+
65+
```bash
66+
pre-commit install
2667
```
2768

2869
### Test Serial Connection
@@ -36,15 +77,6 @@ cd cd ~/ceai_ws/src/robotiq_hande_driver/build/robotiq_hande_driver/
3677
./communication_test
3778
```
3879

39-
---
40-
## Development notes
41-
42-
This project uses various tools for aiding the quality of the source code. Currently most of them are executed by the `pre-commit`. Please make sure to enable its hooks:
43-
44-
```bash
45-
pre-commit install
46-
```
47-
4880
---
4981
## License
5082
This repository is licensed under the Apache 2.0, see LICENSE for details.

docs/gripper_control.webp

4.5 MB
Loading

robotiq_hande_driver/CHANGELOG.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
### Changed
12+
### Deprecated
13+
### Removed
14+
### Fixed
15+
### Security
16+
17+
## [0.1.0] - 2025-03-13
18+
1019
### Added
1120

1221
* [PR-11](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/11) - Added automatic reconnection to Modbus during configuration.
@@ -15,14 +24,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1524
* [PR-2](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/2) - Protocol abstraction
1625
* [PR-1](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/1) - Prepared ros2_control Hardware Interface.
1726

18-
### Changed
19-
20-
### Deprecated
21-
22-
### Removed
23-
2427
### Fixed
2528

2629
* [PR-11](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/11) - Fixed an issue where the Modbus connection check always failed.
27-
28-
### Security

robotiq_hande_driver/bringup/config/rviz_preview.rviz

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Panels:
88
- /Status1
99
- /RobotModel1
1010
Splitter Ratio: 0.5
11-
Tree Height: 2233
11+
Tree Height: 1148
1212
- Class: rviz_common/Selection
1313
Name: Selection
1414
- Class: rviz_common/Tool Properties
@@ -148,7 +148,7 @@ Visualization Manager:
148148
Views:
149149
Current:
150150
Class: rviz_default_plugins/Orbit
151-
Distance: 0.5352108478546143
151+
Distance: 0.4812188446521759
152152
Enable Stereo Rendering:
153153
Stereo Eye Separation: 0.05999999865889549
154154
Stereo Focal Distance: 1
@@ -163,18 +163,38 @@ Visualization Manager:
163163
Invert Z Axis: false
164164
Name: Current View
165165
Near Clip Distance: 0.009999999776482582
166-
Pitch: 0.46039843559265137
167-
Target Frame: <Fixed Frame>
168-
Value: Orbit (rviz)
169-
Yaw: 4.508580684661865
170-
Saved: ~
166+
Pitch: 0.7853981852531433
167+
Target Frame: tool0
168+
Value: Orbit (rviz_default_plugins)
169+
Yaw: 0.7853981852531433
170+
Saved:
171+
- Class: rviz_default_plugins/Orbit
172+
Distance: 0.6214086413383484
173+
Enable Stereo Rendering:
174+
Stereo Eye Separation: 0.05999999865889549
175+
Stereo Focal Distance: 1
176+
Swap Stereo Eyes: false
177+
Value: false
178+
Focal Point:
179+
X: 0
180+
Y: 0
181+
Z: 0
182+
Focal Shape Fixed Size: false
183+
Focal Shape Size: 0.05000000074505806
184+
Invert Z Axis: false
185+
Name: Orbit
186+
Near Clip Distance: 0.009999999776482582
187+
Pitch: 0.7853981852531433
188+
Target Frame: tool0
189+
Value: Orbit (rviz_default_plugins)
190+
Yaw: 0.7853981852531433
171191
Window Geometry:
172192
Displays:
173193
collapsed: false
174-
Height: 2531
194+
Height: 1371
175195
Hide Left Dock: false
176196
Hide Right Dock: true
177-
QMainWindow State: 000000ff00000000fd0000000400000000000001ac00000944fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e00000944000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000944fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e00000944000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005a00000003efc0100000002fb0000000800540069006d00650100000000000005a00000027900fffffffb0000000800540069006d00650100000000000004500000000000000000000003ee0000094400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
197+
QMainWindow State: 000000ff00000000fd0000000400000000000001ac00000505fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000505000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000505fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b00000505000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005a00000003efc0100000002fb0000000800540069006d00650000000000000005a00000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000003ee0000050500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
178198
Selection:
179199
collapsed: false
180200
Time:
@@ -184,5 +204,5 @@ Window Geometry:
184204
Views:
185205
collapsed: true
186206
Width: 1440
187-
X: 0
188-
Y: 0
207+
X: 835
208+
Y: 32

robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ std::vector<HWI::StateInterface> RobotiqHandeHardwareInterface::export_state_int
125125
hardware_interface::HW_IF_VELOCITY,
126126
&state_velocity_));
127127

128-
RCLCPP_INFO(get_logger(), "export_state_interfaces()");
129128
return state_interfaces;
130129
}
131130

robotiq_hande_driver/package.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>robotiq_hande_driver</name>
5-
<version>0.0.0</version>
5+
<version>0.1.0</version>
66
<description>The driver of the Robotiq Hand-E gripper for the ros2_control framework.</description>
77
<maintainer email="ceai@agh.edu.pl">AGH Center of Excellence in Artificial Intelligence</maintainer>
88
<license>Apache-2.0</license>
@@ -12,6 +12,7 @@
1212
<url type="bugtracker">https://github.com/AGH-CEAI/robotiq_hande_driver/issues</url>
1313

1414
<author email="macal@agh.edu.pl">Maciej Aleksandrowicz</author>
15+
<author email="kklimek@agh.edu.pl">Krzysztof Klimek</author>
1516

1617
<buildtool_depend>ament_cmake</buildtool_depend>
1718

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
repositories:
22
robotiq_hande_description:
33
type: git
4-
url: https://github.com/macmacal/robotiq_hande_description
5-
version: 4d6999f97b4fd471fcd30983aba5572c2e383b1f
4+
url: https://github.com/AGH-CEAI/robotiq_hande_description
5+
version: 2190af7c85569fc9a85f4b78096edd433c0dbad1

0 commit comments

Comments
 (0)