I ran into tool communication problems. I’m working with UR5e (URSoftware 5.3.1.64192) and Robotiq 2F 85 gripper. May I confirm I set the hardware up in the right way? This is my current settings:
I’ve installed the rs485 URCap (but not add it to the program since it is a daemon process).
The Communication Interface has been chosen under Installation->General->Tool I/O, Tool Output Voltage has been set to 24
The external control URCap has been installed
I start the driver bringup with use_tool_communication set to true, tool_voltage set to 24.
Run the externalcontrol program
I ran the gripper ros driver with: rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /tmp/ttyUR
Then it throws an exception:
Modbus Error: [Input/Output] No Response received from the remote unit
I’m wondering what I did wrong here that the gripper could be connected. Thank you!
I also have tested with different baud rate. For any rates that is < 115200, the gripper will turn red when I run the externalcontrol program. And I got the same no connection error when trying to run the gripper driver.
On the gripper manual, it says the light will be red when:
Minor faults (LED continuous red)
- 0x08-Maximum operating temperature exceeded,wait for cool down.
- 0x09-No communication during at least 1 second.
Also when I run several times with the baud rate 115200, I saw another error (but sometimes still see the no connection error before the tool_communication process stopped):
response is:
ReadRegisterResponse (3)
response is:
ReadRegisterResponse (3)
response is:
ReadRegisterResponse (3)
response is:
ReadRegisterResponse (3)
response is:
ReadRegisterResponse (4)
response is:
ReadRegisterResponse (3)
response is:
ReadRegisterResponse (4)
response is:
WriteMultipleRegisterResponse (1000,0)
Traceback (most recent call last):
File “/home/scazlab18/ros_lib_ws/src/robotiq/robotiq_2f_gripper_control/nodes/Robotiq2FGripperRtuNode.py”, line 89, in
mainLoop(sys.argv[1])
File “/home/scazlab18/ros_lib_ws/src/robotiq/robotiq_2f_gripper_control/nodes/Robotiq2FGripperRtuNode.py”, line 75, in mainLoop
status = gripper.getStatus()
File “/home/scazlab18/ros_lib_ws/src/robotiq/robotiq_2f_gripper_control/src/robotiq_2f_gripper_control/baseRobotiq2FGripper.py”, line 107, in getStatus
status = self.client.getStatus(6);
File “/home/scazlab18/ros_lib_ws/src/robotiq/robotiq_modbus_rtu/src/robotiq_modbus_rtu/comModbusRtu.py”, line 98, in getStatus
output.append((response.getRegister(i) & 0xFF00) >> 8)
AttributeError: ‘WriteMultipleRegistersResponse’ object has no attribute ‘getRegister’
I am not familiar with RTU comminucation. But I guess this meant the gripper is connected to two things? Thank you.