DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
carlosjoserg

Hi @carofide

when I run the CModelRtuNode.py /dev/ttyUSB1
I understand that your PC is recognizing the gripper in this port. By default, the driver is looking in port ttyUSB0. The line where this happen is
this one.

What you need to do is to add that parameter to your server parameter server via your prefer way, writing and loading a yaml file, or directly in the launch file (note that this node already exists in the launch file, I only added the parameter within the node tag, and also note that the parameter gets the node namespace this way)
<node ns="simple_gripper" name="simple_gripper_hw" pkg="robotiq_2f_hw_usb" type="robotiq_2f_hw_usb_node" respawn="false" output="screen">
  <param name="port" value="
/dev/ttyUSB0"/>
</node>

 or even via terminal before launching the node (you'd need to have a rosmaster running before)
rosparam set /NAMESPACE/port /dev/ttyUSB0

Apologies for the bad documentation, I hope to improve the package soon, and add more examples

Best,
Carlos







carlosjoserg

Hey, that is perfectly fine, you made it! If you got the initialization routine, that's it.

In fact, the file
robotiq_2f_85_usb.launch is empty, the file bringup.launch is the one you need to bring up the driver.

You don't need 
robotiq_c_model_control at all, that's mainly why I rewrote the driver, since that package is not ros-controls compliant, and if you try to run it alongside our driver, it won't work, since both require exclusive access to the /dev/ttyUSB1 device.

Now, once you get the initialization routine, you can open an rqt window (just type rqt on a terminal), and follow in the window menu Plugins->Robot Tools->Joint trajectory controller, and look in the drop-down menus, there should be both the controller manager and trajectory controller you loaded here.

Moving the slide will open and close the gripper. That is the quickest way to get it move, but actually the movement is not that smooth, but if you get up to here, let me know and I'd tell you how to switch to a smoother controller.


Cheers,
Carlos

carofide

Hi @carlosjoserg,

I was lauching the robotiq_2f_85_usb.lauch file because this is what the README says I should launch. Launching the bringup.launch, I was able to move the gripper, as you mentioned. 

FYI I also managed to run the original driver, as explained in @Laurie. I had to create a launch file that run both node simultaneously, in order to have them working. My mistake was that I was running them separately.

Now, I would like to know how shall I proceed to integrate the gripper with the robot. With the original driver. It is clear how to to it, what functions to use to send information to the gripper and to receive, but what about the other package?

On the other hand, I run the USB driver with the 3 fingers and It did work, at least I was able to open an close the gripper; Althought I guess there are functions of the 3 fingers gripper that I can not control with the 2 fingers driver. 

My last question is about the TCP modbus node of both grippers. I have not been able to connect to the grippers with those drivers. The network is well created, as explained in the ros-tutorial. I receive information after a ping. However, after running the nodes, an error appears "connection refused". 

Thanks again for all your help.

carlosjoserg

Hi @carofide

Now, I would like to know how shall I proceed to integrate the gripper with the robot. With the original driver. It is clear how to to it, what functions to use to send information to the gripper and to receive, but what about the other package?
I'm not sure I follow. But note that the other package, the one using the USB interface, it works exactly the same as the original driver. There is a command topic you need to publish to, and a status topic that you need to subscribe to. The main difference is that the original driver uses custom (and not human readable fields) and the other package uses standard ros-controls messages, with human readable fields.

On the other hand, I run the USB driver with the 3 fingers and It did work, at least I was able to open an close the gripper; Althought I guess there are functions of the 3 fingers gripper that I can not control with the 2 fingers driver.
Alright, thanks for the info! Yep, I guess you can't get fingers to move independently.

My last question is about the TCP modbus node of both grippers. I have not been able to connect to the grippers with those drivers. The network is well created, as explained in the ros-tutorial. I receive information after a ping. However, after running the nodes, an error appears "connection refused". 
I haven't tried the TCP interface yet, I've always used the USB connector, so I'm not sure I can help you here.

I apologize for not adding links to my comments, but I do not know why it has been impossible to do it. When I create the links, then it does not let me post the comments.
Don't you worry

Cheers