Robotics StackExchange | Archived questions

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 UniversalRobotsROS2_Driver and the UniversalRobotsROS_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

My current setup:

Hardware

Software

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.

Asked by benedikt on 2022-02-18 11:37:17 UTC

Comments

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.

Asked by destogl on 2022-02-23 06:10:46 UTC

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.

Asked by benedikt on 2022-03-01 06:00:34 UTC

Then if you need any help with setting up the ros2_control driver for the gripper let me know.

Asked by destogl on 2022-03-02 07:33:46 UTC

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.

Asked by anujros2noob on 2022-06-20 09:44:00 UTC

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.

Asked by benedikt on 2022-06-21 02:48:18 UTC

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?

Asked by anujros2noob on 2022-06-21 03:09:33 UTC

Thanks for the offer, but at the moment we're good.

Asked by benedikt on 2022-06-21 06:55:51 UTC

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 :)

Asked by anujros2noob on 2022-06-23 02:59:49 UTC

Hey @anujros2noob, you can find an OnRobot RG2-FT ROS1 Noetic driver here. It's a fork of takuya-ki's original driver. At the moment it works only with the RG2-FT. Due to time constraints we have reused the rg2 variable for the RG2-FT. That is why currently the adapted driver cannot be merged with the original one. You can use the code as a basis to write a ROS2 driver for the RG2-FT.

Asked by benedikt on 2022-06-24 09:54:09 UTC

Answers

Another solution is to directly control the grippers using Modbus/TCP without the controller of UR robot. My ROS pkg tested with RG6 and VGC10 might be helpful for your purpose.

Asked by takuya-ki on 2022-02-23 07:30:49 UTC

Comments

Thank you, this should work similarly for the RG2-FT. Is it possible to control the RG6 gripper with your package and the robot arm with the ros driver at the same time?

Just to clarify the cabling and the network setup:

  • OnRobot's Compute Box is required for your setup, right? So the cabling from gripper to ROS PC looks like: RG6 ->(Tool data cable)-> OnRobot Compute Box ->(Ethernet cable)-> ROS PC
  • The gripper, the robot arm, OnRobot's Compute Box and the ROS PC are in the same network, all configured with a static IP. Is this correct?

Asked by benedikt on 2022-03-01 05:57:01 UTC

  • Is it possible to control the RG6 gripper with your package and the robot arm with the ros driver at the same time?

    Yes, but currently the pkg depends on ROS Noetic (Python 3) so if you need pkgs for Kinetic and/or Melodic please let me know. I can make them for you.

  • OnRobot's Compute Box is required for your setup, right? So the cabling from gripper to ROS PC looks like: RG6 ->(Tool data cable)-> OnRobot Compute Box ->(Ethernet cable)-> ROS PC

    Yes, that is correct. We need one OnRobot's compute box to control one gripper.

  • The gripper, the robot arm, OnRobot's Compute Box and the ROS PC are in the same network, all configured with a static IP. Is this correct?

    Yes, it is also correct. They must be in same network.

Asked by takuya-ki on 2022-03-01 06:07:53 UTC

Thanks for your quick reply. So far I'm working with ROS2 Galactic and might switch to ROS2 Humble when it's released, because it's the next LTS version. I'm not sure how much effort it is to adjust your package to ROS2. If it's too much work I would go with a ROS1 bridge to ROS1 Noetic.

Asked by benedikt on 2022-03-01 06:36:34 UTC

I ported the VG drivers to ROS2, however I am looking for a way to control the gripper through the UR drivers, since I don't use the Onrobot's compute box. Could you guide me on how to do this @takuya-ki ?

Asked by AlexandrosNic on 2022-07-28 08:16:13 UTC

Hey @AlexandrosNic have you successfully control the Onrobot's gripper through the UR drivers? I have the same issue, I want to control it without the Onrobot's compute box.

Asked by pala5 on 2023-06-02 04:32:55 UTC