Home› Programming
Discussion
Back to discussions page
carofide
Posts: 15 Apprentice
ROS configuration 2 fingers, 3 fingers grippers |
946 views
|
Answered | |
/ Most recent by carofide
in Programming
|
15 comments |

in Programming
Hello.
I am trying to connect the two fingers gripper. The gripper is connected to the gripper controller(k1265), and we connect the controller to the PC using a USB cable. I can run the driver node without errors. However, when running the simple controller node the gripper does not move. I have followed the tutorials without luck. I really appreciate your help.
I have also connected the gripper controller to a windows PC and the gripper moves with the robotiq GUI .
Thanks
Carol
I am trying to connect the two fingers gripper. The gripper is connected to the gripper controller(k1265), and we connect the controller to the PC using a USB cable. I can run the driver node without errors. However, when running the simple controller node the gripper does not move. I have followed the tutorials without luck. I really appreciate your help.
I have also connected the gripper controller to a windows PC and the gripper moves with the robotiq GUI .
Thanks
Carol
Best Answer
-
carlosjoserg Tactile Sensor Beta Testers Posts: 37 Handy
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
Check my comment in the ROS industrial repository, where there is also an issue having the same problem.
https://github.com/ros-industrial/robotiq/issues/45#issuecomment-236564672
Moreover, if you are familiar with ros-controls, check our fork, where we added support for that, plus the urdf of the current 2F-85 model with two level of granularity for the collision geometry
https://github.com/beta-robots/robotiq
Let me know if you manage to move the gripper.
Best
Yes, I had checked your comment before, but it did not work for me. I also tried connecting the three fingers using the robotiq_s_model_control, as explained in ros wiki tutorial, but it does not connect. I also tried the TCP node with the two fingers gripper, but no luck.
When connecting the two fingers with a USB cable, it shows that there is a connection (com led in the gripper controller stops blinking). However, when sending commands, first activation commands, and other commands, the gripper does not move.
I will try your fork and I will let you know how it was.
Thanks.
I haven't tried the 3-finger gripper though, not sure it will work, because the USB communication protocol mighht differ.
I have only used it with the 2F-85 model, and I also got confirmation from an another user that the 2F-140 works with the same driver, given that the open/close command goes from 0 to 1.
Cheers,
Carlos
I am trying to compile the package you mentioned, but I have not luck. I am attaching a picture with the problem that got. I am using Ubuntu 14.04 and ROS Indigo. Do you have any idea what can be the problem?
Thanks,
Best
I managed to install the library. Now, I get the following error (check the image).
Thanks in advance.
or compile from source
but that is not used, since as far as I understand you use USB
I managed to install your package. However, it did not work either. I follow the steps you have in the README file, but no luck.
I am attaching the results from the lsubs and dmesg commands, and pictures of our gripper, the controller, and the connections.
When running the .lauch of your driver, it does not show that the communication is stablished (green led on the gripper controller). However, when I run the CModelRtuNode.py /dev/ttyUSB1 I do get the green led on, apparently showing that the communication is stablished.
Do you have any idea of what could be the problem? or what can I test more to be able to control the gripper??
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)
or even via terminal before launching the node (you'd need to have a rosmaster running before)
</code><br><code>
Apologies for the bad documentation, I hope to improve the package soon
, and add more examples
Best,
Carlos
I did the changes, but there is something weird.
1. If I launch robotiq_2f_hw_usb robotiq_2f_85_usb.launch Nothing happens
But
2. If I launch robotiq_2f_robot bringup.launch the gripper moves (initialization motions of the gripper)
In both cases after launching those files, I run: rosrun robotiq_c_model_control CModelSimpleController.py
and any of the commands sent are read by the gripper.
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.
Cheers
First of all, thanks so much for your help. Now our robot "Lenny" has hands and I have created a node to control it. I promise to post a video soon. You mentioned in a previous message, that you can explain me how to get a better controller.
Thanks,