Hello everyone!
I am happy to announce that after several weeks of work at AGH University of Krakow (Center of Excellence in Artificial Intelligence), my robo-team has developed an open-source ROS 2 Humble driver for the Robotiq Hand-E Gripper .
Highlights of our work:
-
ModbusRTU (and TCP via
socat
) communication using thelibmodbus
library. -
ros2_control Hardware Interface with built-in activation during initialization.
-
Position control with the default
position_controllers/GripperActionController
. -
FreeCAD source files with freshly imported STEP files (including the IO coupler).
-
Example integration with a larger project is provided here.
The description package.
Development was carried out on a UR5e robot with the Hand-E directly connected to the tool IO port. Thanks to the tool_communication script, we used a virtual serial port (based on socat
) to develop the communication logic from scratch, following the Hand-E manual and utilizing the libmodbus library. Our implementation focused on writing a ros2_control Hardware Interface, to achieve MVP with the the default position_controllers/GripperActionController
.
The lag in the real-world camera feed is due to our poor network setup. The real gripper moves immediately in sync with the RViz visualization.
We know that there are still things to polish further. Feedback, issues, and PRs are welcome!
Check it out:
To the best of our knowledge, there are currently no ROS 2 packages (on GitHub) specifically for controlling the Hand-E. However, we must mention PickNik’s ros2_robotiq_gripper package, which came onto our radar a bit late. At the time of writing this post, there is even a draft PR: “Integrate the Hand-E”.
Since our team lacked practical knowledge of ros2_control, and the plans for this development were made long ago, we decided to proceed with our own driver anyway. We learned a lot, and we are happy to share our work with the community !