Home› Troubleshooting
Discussion
Back to discussions page
June
Posts: 4 Apprentice
2-Finger control using "robotiq_c_model_control" cannot be executed. |
1.1K views
|
Answered | |
/ Most recent by Annick_Mottard |
8 comments |

Tutorial using "robotiq_c_model_control" was uploaded here "http://dof.robotiq.com/discussion/199/ros-package-tutorial-for-the-2-finger".
I have a trouble on connecting the 2-finger gripper while following this tutorial.
After the command below is executed, the LED turns on the blue. But the LED becomes red again soon.
$ rosrun robotiq_c_model_control CModelRtuNode.py /dev/ttyUSB0
In my case, the command below is executed.
$ rosrun robotiq_c_model_control CModelRtuNode.py /dev/ttyACM0
How can I solve this problem?
I have a error message below.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py:65: SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see http://wiki.ros.org/rospy/Overview/Publishers and Subscribers for more information.
pub = rospy.Publisher('CModelRobotInput', inputMsg.CModel_robot_input)
Traceback (most recent call last):
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py", line 89, in <module>
mainLoop(sys.argv[1])
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py", line 82, in mainLoop
gripper.sendCommand()
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/src/robotiq_c_model_control/baseCModel.py", line 101, in sendCommand
self.client.sendCommand(self.message)
File "/home/user/catkin_ws/src/robotiq/robotiq_modbus_rtu/src/robotiq_modbus_rtu/comModbusRtu.py", line 80, in sendCommand
self.client.write_registers(0x03E8, message, unit=0x0009)
File "build/bdist.linux-i686/egg/pymodbus/client/common.py", line 98, in write_registers
File "build/bdist.linux-i686/egg/pymodbus/client/sync.py", line 83, in execute
File "build/bdist.linux-i686/egg/pymodbus/transaction.py", line 64, in execute
File "build/bdist.linux-i686/egg/pymodbus/client/sync.py", line 354, in _recv
File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 460, in read
raise SerialException('device reports readiness to read but returned no data (device disconnected?)')
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?)
I have a trouble on connecting the 2-finger gripper while following this tutorial.
After the command below is executed, the LED turns on the blue. But the LED becomes red again soon.
$ rosrun robotiq_c_model_control CModelRtuNode.py /dev/ttyUSB0
In my case, the command below is executed.
$ rosrun robotiq_c_model_control CModelRtuNode.py /dev/ttyACM0
How can I solve this problem?
I have a error message below.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py:65: SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see http://wiki.ros.org/rospy/Overview/Publishers and Subscribers for more information.
pub = rospy.Publisher('CModelRobotInput', inputMsg.CModel_robot_input)
Traceback (most recent call last):
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py", line 89, in <module>
mainLoop(sys.argv[1])
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/nodes/CModelRtuNode.py", line 82, in mainLoop
gripper.sendCommand()
File "/home/user/catkin_ws/src/robotiq/robotiq_c_model_control/src/robotiq_c_model_control/baseCModel.py", line 101, in sendCommand
self.client.sendCommand(self.message)
File "/home/user/catkin_ws/src/robotiq/robotiq_modbus_rtu/src/robotiq_modbus_rtu/comModbusRtu.py", line 80, in sendCommand
self.client.write_registers(0x03E8, message, unit=0x0009)
File "build/bdist.linux-i686/egg/pymodbus/client/common.py", line 98, in write_registers
File "build/bdist.linux-i686/egg/pymodbus/client/sync.py", line 83, in execute
File "build/bdist.linux-i686/egg/pymodbus/transaction.py", line 64, in execute
File "build/bdist.linux-i686/egg/pymodbus/client/sync.py", line 354, in _recv
File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 460, in read
raise SerialException('device reports readiness to read but returned no data (device disconnected?)')
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?)
Best Answers
-
carlosjoserg Tactile Sensor Beta Testers Posts: 37 Handy
Hi June,
The tutorials for that ROS package are a bit outdated, and I guess you are following them.
Check this issue on the ros-industrial github repo: https://github.com/ros-industrial/robotiq/issues/45
There, I describe how to do use that driver on the USB interface to someone having the same issue.
If you need a modern ros-control-based driver using the USB interface as well, you can check our fork at: https://github.com/beta-robots/robotiq
(all packages called robotiq_2f_*)
Where there is also the URDF for the new 2-finger model (not in ros-i as far as I could see).
Let me know if you have issues.
Best -
carlosjoserg Tactile Sensor Beta Testers Posts: 37 Handy
I'm not familiar with the Robotiq camera, but it looks like the gripper is going through the vision system all together connected to the PC using a single USB wire, is that right? That would explain the ACM* over the USB*.
The Robotiq USB adapter is the one in the image below, but it seems that you are not using it, and probably you don't need it, since the vision system is likely doing the RS485-USB conversion, but as I told you, I'm not familiar with it.
---
You need to run the bash script with sudo or as root (you can switch to root by typing sudo su; in both cases you need to have sudo privileges), since it creates a file in the system directories. That's what the "Operation not permitted" is about.
@Laurie maybe you could update your tutorials ?
[email protected]
Oh, I had't seen @Laurie 's post: http://dof.robotiq.com/discussion/199/ros-package-tutorial-for-the-2-finger I misread and thought @June was referring to the ROS wiki tutorials.
Anyway, I see that the config file for the USB driver is also missing, which was necessary for me, at least for the new 85mm model. Note that, the bash script I mention in the github issue to generate this config file comes from the USB driver used in the URCaps package by Robotiq itself, which in fact runs in a Debian machine.
@Laurie feel free to include to the tutorial any additional step I commented on the github issue.
@June forgot to ask to be sure as well: could you describe more your system, Linux and ROS distro, etc.? are you using the USB adapter from Robotiq? Source or binary packages? Now that I re-read it seems weird that the system chooses ttyACM* over ttyUSB* for you
Best
@carlosjoserg Thanks for your answer.
Oh, I omit my environments.
I'm using Ubuntu 14.04 LTS, ROS.
I'm also using the Robotiq 2-finger gripper and Vision system.
I'm connecting the 2F gripper and the computer using USB from the vision system.
So I don't know what you are saying about the USB adapter from Robotiq.
Anyway, I read your answer, and did as you explained in the first link.
But I have USB port related with FTDI.


The log of the command of "lsusb" and "dmesg | grep tty" is below.
Do I need any additional hardware?
and after modifying the bash file, I have error messages below.
It is also related with FTDI.
Is there any way to deal with this problem without FTDI?
Oh, I asked my freind and he answered about the FTDI.
I'll have another try and contact you again. Thanks.
You can plug the gripper and camera independently to use ROS with the gripper only.
You simply need the gripper coupling AGC-CPL-062-002 which have it's own cable.
You also need the cable CBL-COM-2065-10 and the ACC-ADT-USB-RS485 to connect the gripper to the controller.
For the camera, you simply need the coupling RWC-TOOL-062 which will allow installing the gripper with its coupling.
Note that you'll need to provide the long screws that will go through the gripper and the camera to be fixed into the UR threads.
[email protected]
https://www.linkedin.com/in/catherinebernier
If you have the 2-Finger Gripper and Wrist Camera combo (CUR-AGC-085-RWC), then you do not have a USB converter, nor a coupling for the gripper. These parts are not necessary if the gripper is mounted directly on the camera, thus not provided with the kit. The camera does not have a ROS package and is meant for use only over a Universal Robots' controller and robot arm. Also, you should not be able to control the gripper via ROS if it is mounted on the camera.
Product Expert
Robotiq
[email protected]