UR5 communication issue with pc using ur ros driver

Hi,

we are using ROS ur_modern_driver to communicate with ur5 controller. We ran following commnad to initiate

roslaunch ur_calibration calibration_correction.launch robot_ip:=192.168.0.100 target_filename:=$HOME/my_robot_calibration.yaml

roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=192.168.0.100 [reverse_port:=REVERSE_PORT] kinematics_config:=$HOME/my_robot_calibration.yaml

the above commnad is throwing an error

[ WARN] [1625585361.809884396]: Messge on ReverseInterface received. The reverse interface currently does not support any message handling. This message will be ignored.
[dh_gripper_driver_test-9] killing on exit
[dh_gripper_driver-8] killing on exit
[ur_hardware_interface/ur_robot_state_helper-7] killing on exit
[controller_stopper-6] killing on exit
[ros_control_stopped_spawner-5] killing on exit
[ros_control_controller_spawner-4] killing on exit
[ur_hardware_interface-3] killing on exit
[robot_state_publisher-2] killing on exit
[INFO] [1625585361.816247]: Shutting down spawner. Stopping and unloading controllers…
Interrupt signal (2) received.
[INFO] [1625585361.816572]: Shutting down spawner. Stopping and unloading controllers…
[ WARN] [1625585361.817863228]: Messge on ReverseInterface received. The reverse interface currently does not support any message handling. This message will be ignored.
[INFO] [1625585361.818512]: Stopping all controllers…
[INFO] [1625585361.818900]: Stopping all controllers…
[ERROR] [1625585361.823546096]: Could not stop controller ‘pos_joint_traj_controller’ since it is not running
[INFO] [1625585361.823883]: Unloading all loaded controllers…
[INFO] [1625585361.825292]: Trying to unload joint_group_vel_controller
Debug: class_loader::ClassLoader: Calling onPluginDeletion() for obj ptr = 0x7f65180141a0.

[INFO] [1625585366.937714]: Unloading all loaded controllers…
[INFO] [1625585366.939111]: Trying to unload force_torque_sensor_controller
[WARN] [1625585367.008429]: Controller Spawner error while taking down controllers: transport error completing service call: unable to receive data from sender, check sender’s logs for details
[WARN] [1625585367.008823]: Controller Spawner error while taking down controllers: unable to connect to service: [Errno 104] Connection reset by peer
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor…
… shutting down processing monitor complete
done

Previously we where working on this, able to communicate the robot. But don’t know suddenly the error is appearing

Please help us

the above commnad is throwing an error

Which one? I assume the latter. However, your output contains nodes which usually are not inside the bringup launchfule (e.g. the dh_gripper_driver)

This doesn’t look like the full log output. As far as I can see, a bunch of nodes are being taken down, because that was requested. May it be that abort was requested by the user or that a required node crashed.

I ran below command

roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=192.168.0.100 [reverse_port:=REVERSE_PORT] kinematics_config:=$HOME/my_robot_calibration.yaml

Getting an warning as

[ WARN] [1625585361.809884396]: Messge on ReverseInterface received. The reverse interface currently does not support any message handling. This message will be ignored.

i aborted and pasted the error log, the dh_gripper_driver is the launch file for gripper(no issues with this)

When i ran Moveit_planning_execusion.launch file, getting following error

process[move_group-1]: started with pid [13587]
/opt/ros/melodic/lib/moveit_ros_move_group/move_group: error while loading shared libraries: libmoveit_robot_state.so.1.0.8: cannot open shared object file: No such file or directory
[move_group-1] process has died [pid 13587, exit code 127, cmd /opt/ros/melodic/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/ril/.ros/log/042c621a-de73-11eb-af4b-f02f74552278/move_group-1.log].
log file: /home/ril/.ros/log/042c621a-de73-11eb-af4b-f02f74552278/move_group-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor…
… shutting down processing monitor complete
done

I ran below command

roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=192.168.0.100 [reverse_port:=REVERSE_PORT] kinematics_config:=$HOME/my_robot_calibration.yaml

getting output of

[ INFO] [1625594280.843813568]: Connection to reverse interface dropped.

This is not an error, but only a warning. Updating the driver should make that go away.


/opt/ros/melodic/lib/moveit_ros_move_group/move_group: error while loading shared libraries:

There seems to be a issue with your moveit installation. Maybe a sudo apt update && sudo apt dist-upgrade to update all your packages might help there.

[ INFO] [1625594280.843813568]: Connection to reverse interface dropped.

That happens every time when

  • external_control running on the robot’s teach panel gets interrupted (e.g. by stopping the Polyscope program containing the External Control node, or by moving the robot around using the teach panel when the driver is used in headless mode). Simply restart external_control on the teach panel to reconnect.
  • Connection is lost due to network issues, e.g. a non-stable network connection between the ROS pc and the robot controller
  • In case URSim is used instead of a real robot I’ve seen it happen there,as well without a noticable cause.

Hi @mauch Thanks for your guidelines, i have updated the ROS driver the warning is gone.

Did sudo apt update && sudo apt dist-upgrade Moveit is working fine.

Thank you

We are doing camera and ur5 integration (As discussed in this topic) .

we are using following transformation method to pass camera coordinate to robot base coordinate.

Following codes are used to transform camera coordinate to base coordinate, here point1 is the object coordinates from camera

def callback(point1):
	print("camera_coordinate",point1)
	result_1 = []
	trans = 0
	rot = 0
	listener = tf.TransformListener()
	while not rospy.is_shutdown():
		try:
			(trans,rot) = listener.lookupTransform('/tool0', '/camera_link', rospy.Time(0)) 
			break
		except :
			continue

	matrix2=np.dot(translation_matrix(trans), quaternion_matrix(rot))
	point1[0][0] = -point1[0][0]
	point1[1][0] = -point1[1][0]
	point1[2][0] = point1[2][0]
	
        result_1 = np.matmul(np.array(matrix2),point1)
	result_1[0][0]=-result_1[0][0]
	result_1[1][0]=-result_1[1][0]
        print("object coordinates",result_1)
        move_to_pos_1(result_1)
	return result_1

And the robot move function to feed coordinate to robot

def move_to_pos(Goal_x,Goal_y,Goal_z):
    """ This function shows an example of how to move the UR5 to a position with MoveIt"""
    pose_goal = group.get_current_pose().pose
    print("Current location:")
    print(pose_goal)
    pose_goal.position.x = Goal_x
    pose_goal.position.y = Goal_y
    pose_goal.position.z = Goal_z
    pose_goal.orientation.x = 0.923274429142
    pose_goal.orientation.y = -0.383710458579
    pose_goal.orientation.z = -0.00432136844868
    pose_goal.orientation.w = 0.0176617735317
    print("Pose Goal:")
    print(pose_goal)
    group.set_pose_target(pose_goal)
    plan= group.plan()
    rospy.sleep(5)	
    group.go(wait=True)
    group.clear_pose_targets()

The values from the camera for object detection is proper. The robot is not moving to exact object coordinate. for every object position the position error is varying.

Please let me know whether we are doing with right way