Robotics StackExchange | Archived questions

How to control a Robotiq 2F-85 in ROS via the UR Tool I/O

This started out as a question but I ended up solving the problem myself! So I thought I'd post it here in case anyone is looking for the solution. So far this has only been tested in Melodic.

The setup is this: A Robotiq 2F-85 gripper connected to a UR arm via the Robotiq GRP-ES-CPL-062 Gripper Coupler. Control is via the Robotiq ROS driver, and NOT via the Robotiq URCap. The benefit here is that the UR controller takes care of the 24VDC supply that the gripper requires, along with the RS485 communications, all while eliminating the ugly and complicated external cable. Communications in the background is handled by a virtual com port set up by socat.

On the UR computer:

In Installation>General>Tool I/O:

On the ROS computer:

In the UR launch file (ur5e_bringup.launch):

In the robotiq launch file (robotiqactionserver.launch):

Startup/Launch order:

Asked by jeff-o on 2022-04-25 14:32:07 UTC

Comments

I would really suggest to post your solution as an answer, instead of as part of the text describing the question.

Right now this looks like a question without an answer, which is not ideal on ROS Answers.

Additionally, but this is also just a suggestion: try to not edit upstream .launch and/or config files. It makes updates more complex than they need to be, and is typically impossible with packages installed using package managers (as they will be in read-only locations).

Especially with .launch files, you should be able to provide alternative values for args by creating a wrapper .launch and passing them to the included .launch files.

if anyone would like to take a crack at making the rs485 URCap + robotiq driver combo more robust, I'm sure everyone would sing your praises!)

ROS Answers isn't really an issue tracker. I'd suggest to report this on the UniversalRobots issue tracker instead.

Asked by gvdhoorn on 2022-04-26 01:47:25 UTC

I needed to remove the Robtiq URCap from the UR Controller to make it work!

Asked by bi3ri on 2022-06-22 04:49:22 UTC

Hi,

First of all I would like thank you for this post because it helped me a lot ! I am going to all the step you have mentioned. I have the gripper connected and I can send command to it by publishing a goal on the topic. However, once I start the external_control program on the UR I get the following error: Modbus Error: [input/Output] No response received from the remote unit/Unable to decode response [FATAL] Failed to contact gripper on port: /tmp/ttyTool Please, let me know if you had this issue before

Best Regards, Ted

Asked by Ted_Morell on 2023-01-27 11:17:04 UTC

Hi, Just in case someone else has the same issue as I had. In the in the UR launch file (ur5e_bringup.launch), the value of the "tool_voltage" argument needed to be 24. It was 0 by default. Best Regards, Ted

Asked by Ted_Morell on 2023-02-07 09:43:00 UTC

I had to change my Pymodbus library version from 3.3.2 to 2.2.0 and it worked !!! Otherwise, I was getting a Modbus error that no response was received. Thanks for the post-@jeff-o

Asked by AJain on 2023-07-04 04:10:02 UTC

Answers