Control and read sensors of OnRobot RG2-FT gripper mounted to a UR5 robot arm using ROS2
Hello there,
I would like to control the OnRobot RG2-FT gripper from a remote PC, so that the gripper is closing/opening to a certain width in order to grasp and place objects. Furthermore, the gripper has force-torque sensors and proximity sensors installed in the finger tips. I've seen some approaches to control the RG2 gripper (similar gripper without sensors), but they seem to be unnecessarily complicated (like using URCap Scripts or a Weblogic server) or just related to simulation. So I was wondering if there is no easier solution that I haven't seen, especially because there are a bunch of ROS1/ROS2 packages from Universal Robots out there, such as the Universal_Robots_ROS2_Driver and the Universal_Robots_ROS_Driver. In addition, I haven't seen any implementation to get the sensor readings of the RG2-FT. Before purchasing such an expensive gripper, I would like to make sure that I can actually use it with ROS2.
What I've found so far:
ROS Answers
Universal Robots Forum
ROS packages
- Universal_Robots_ROS_as_a_Service_URCap
- Universal_Robots_ToolComm_Forwarder_URCap -> only for e-series
My current setup:
Hardware
- OnRobot RG2-FT gripper (not purchased yet)
- Universal Robots UR5 (not the e version)
Software
- ROS2 Galactic
- URDF, SDF and SRDF models for the UR5 with RG2 gripper derived from Universal_Robots_ROS2_Description and AndrejOrsula /ur5_rg2_ign
- Moveit2 for motion planning
- RVIZ2 with Moveit2 plugin to test predefined goal poses or using the interactive marker
- Ignition Fortress with ignitionrobotics/ign_ros2_control and Universal_Robots_ROS2_Ignition_Simulation for the physics simulation and as test environment
I appreciate some help. I would prefer a solution suitable for ROS2, but a solution with ROS1 should work as well using a ros1_bridge. Thanks for your help.
Since you don't have “e” version, you should probably connect the gripper directly. If there are no drivers for it, then you have to write those. If you are going that path, I recommend doing an effort to integrate this properly into ros2_control so you can use standard controllers and interfaces. Also, later will not matter how gripper is connected to your computer.
Thank you. From what I've learned so far, I think as well that a direct connection is better than taking a detour through URCaps.
Then if you need any help with setting up the ros2_control driver for the gripper let me know.
Hey could you write a ros2 driver for the RG2-FT? If yes, did you write the ros2 driver using a ros_bridge for the RG2-FT or did you decide to change the gripper to the regular RG2/VG10 variant? Please do let me know as i am interested in using this gripper along with my UR10E as well and am willing to help you out in writing the ros2 driver to make the process faster.
I've just received a RG2-FT gripper for testing purposes for a limited amount of time. At the moment I'm working on adding ROS1 support to takuya-ki's driver, because the Modbus registers are different in comparison to the RG2 gripper. For more details you can check out this manual (RG2 -> p.60, RG2-FT -> p.62). When it works you could port it to ROS2.
Alright thank you for replying. Hey by the way could I help you in any way to quicken this process of adding ROS support for the RG2-FT gripper?
Thanks for the offer, but at the moment we're good.
Hey @benedikt ! I request you to leave a message here when the driver is ready so that I get notified and can start using it :)