Hello UR community,
I’m trying to migrate a setup from PolyScope 5.25 to PolyScope X and cannot get Modbus communication to a Robotiq Hand-E gripper working.
Setup
- UR16e with Robotiq Hand-E connected to the robot wrist’s EE connector.
- Robot controlled through the UR ROS 2 driver.
- Gripper controlled via a custom Modbus client connected to ROS
hardware_interface. - Communication is routed through the device
/tmp/ttyUR.
What I have done
- Installed the Tool Communication Forwarder URCap and External Control URCap.
- Started the socat server, running on port 54321.
- Enabled the following services:
- Primary Client Interface
- Secondary Client Interface
- RTDE
- Modbus TCP Server
Tool Communication Forwarder
Running:
ros2 run ur_robot_driver tool_communication.py --ros-args -p robot_ip:=192.168.2.102 -p device_name:=/tmp/ttyUR
outputs:
[INFO] [1783517327.679494091] [ur_tool_communication]: Initializing tool communication wrapper node
[INFO] [1783517327.680121237] [ur_tool_communication]: Launching tool communication via ur_client_library tool_communication.py
[INFO] Robot IP: 192.168.2.102
[INFO] TCP Port: 54321
[INFO] Configuring PTY symlink at '/tmp/ttyUR'
[INFO] Starting socat with following command:
socat pty,link=/tmp/ttyUR,raw,ignoreeof,waitslave tcp:192.168.2.102:54321
Which suggests that the communication forwarder is running and reachable.
But when my Modbus test script tries to communicate with the gripper, I only get timeouts:
INITIAL STATUS
Read error: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
Reset
Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response
Read error: Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response
At this point I’m running out of ideas. Can someone suggest additional settings or diagnostics to check?
Any pointers would be greatly appreciated.
Thank you!
Best regards
