Discussion

Left ArrowBack to discussions page
carofidecarofide Posts: 14 Apprentice
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

Best Answer

Comments

  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    Hi @carofide,

    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

  • carofidecarofide Posts: 14 Apprentice
    edited July 31
    Hi @carlosjoserg ;
    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.


  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    Ok, @carofide

    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
  • carofidecarofide Posts: 14 Apprentice
     Hi @carlosjoserg
    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,
  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    Oh, sorry about that @carofide, I forgot to add in the readme files that you need to install this library:

    sudo apt-get install libmodbus-dev

    Best
  • carofidecarofide Posts: 14 Apprentice
    Hi @carlosjoserg
    I managed to install the library. Now, I get the following error (check the image).
    Thanks in advance.
  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    That is a dependency of the ros-industrial part for the ethercat support. You can install it via
    sudo apt-get install ros-kinetic-soem

    or compile from source
    https://github.com/smits/soem

    but that is not used, since as far as I understand you use USB

  • carofidecarofide Posts: 14 Apprentice
    Hi @carlosjoserg,
    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??

  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    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







  • carofidecarofide Posts: 14 Apprentice
    Hi @carlosjoserg

    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.


  • carofidecarofide Posts: 14 Apprentice
    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.

  • carofidecarofide Posts: 14 Apprentice
    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.


  • carlosjosergcarlosjoserg Posts: 31Tactile Sensor Beta Testers Handy
    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


  • carofidecarofide Posts: 14 Apprentice
    Hi @carlosjoserg
    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,



Sign In or Register to comment.
Left ArrowBack to discussions page