External Control: compile error: name 'str_cat' is not defined

I want to use ros to control ur5-CB3 robot, then I set program refered to Universal_Robots_ROS2_Driver. But I get error at ur PolyScope ‘compile error: name ‘str_cat’ is not defined’. My config is shown as follows,

Ubuntu 22.04.4(root user)
Ros2 Humble,
PolyScope:3.7.1
External Control:1.0.5
IP of host: 192.168.1.100
IP of robor:192.168.1.5

Install ros-ur-driver: apt-get install ros-humble-ur

Then run cmd: ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5 robot_ip:=192.168.1.5 launch_rviz:=true
Then run External Control at ur teach Pendant
But:

At the same time, host terminal can print log:


I want to know what happened and how to solve this problem?

Other Information:



ternimal log:

root@shensy:~/Desktop/project/ROS# ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5 robot_ip:=192.168.1.5 launch_rviz:=true
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-09-05-21-40-44-141649-shensy-15215
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [15220]
[INFO] [controller_stopper_node-3]: process started with pid [15222]
[INFO] [ur_ros2_control_node-1]: process started with pid [15218]
[INFO] [urscript_interface-4]: process started with pid [15224]
[INFO] [robot_state_publisher-5]: process started with pid [15226]
[INFO] [rviz2-6]: process started with pid [15228]
[INFO] [spawner-7]: process started with pid [15230]
[INFO] [spawner-8]: process started with pid [15232]
[INFO] [spawner-9]: process started with pid [15234]
[rviz2-6] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[dashboard_client-2] [INFO] [1725543644.833410892] [UR_Client_Library:]: Connected: Universal Robots Dashboard Server
[dashboard_client-2] 
[controller_stopper_node-3] [INFO] [1725543644.837984420] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[robot_state_publisher-5] [INFO] [1725543644.846589915] [robot_state_publisher]: got segment base
[robot_state_publisher-5] [INFO] [1725543644.846968322] [robot_state_publisher]: got segment base_link
[robot_state_publisher-5] [INFO] [1725543644.847010201] [robot_state_publisher]: got segment base_link_inertia
[robot_state_publisher-5] [INFO] [1725543644.847016469] [robot_state_publisher]: got segment flange
[robot_state_publisher-5] [INFO] [1725543644.847021522] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-5] [INFO] [1725543644.847026465] [robot_state_publisher]: got segment ft_frame
[robot_state_publisher-5] [INFO] [1725543644.847031520] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-5] [INFO] [1725543644.847036492] [robot_state_publisher]: got segment tool0
[robot_state_publisher-5] [INFO] [1725543644.847041292] [robot_state_publisher]: got segment upper_arm_link
[robot_state_publisher-5] [INFO] [1725543644.847046066] [robot_state_publisher]: got segment world
[robot_state_publisher-5] [INFO] [1725543644.847050944] [robot_state_publisher]: got segment wrist_1_link
[robot_state_publisher-5] [INFO] [1725543644.847055684] [robot_state_publisher]: got segment wrist_2_link
[robot_state_publisher-5] [INFO] [1725543644.847060287] [robot_state_publisher]: got segment wrist_3_link
[ur_ros2_control_node-1] [WARN] [1725543644.858146927] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ur_ros2_control_node-1] text not specified in the tf_prefix tag
[ur_ros2_control_node-1] [INFO] [1725543644.858751385] [resource_manager]: Loading hardware 'ur5' 
[ur_ros2_control_node-1] [INFO] [1725543644.861857608] [resource_manager]: Initialize hardware 'ur5' 
[ur_ros2_control_node-1] [INFO] [1725543644.861967898] [resource_manager]: Successful initialization of hardware 'ur5'
[ur_ros2_control_node-1] [INFO] [1725543644.862254926] [resource_manager]: 'configure' hardware 'ur5' 
[ur_ros2_control_node-1] [INFO] [1725543644.862278612] [URPositionHardwareInterface]: Starting ...please wait...
[ur_ros2_control_node-1] [INFO] [1725543644.862293169] [URPositionHardwareInterface]: Initializing driver...
[ur_ros2_control_node-1] [INFO] [1725543644.865505195] [UR_Client_Library:]: SCHED_FIFO OK, priority 99
[rviz2-6] [INFO] [1725543645.212358051] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-6] [INFO] [1725543645.212546791] [rviz2]: OpenGl version: 4.3 (GLSL 4.3)
[rviz2-6] [INFO] [1725543645.237588963] [rviz2]: Stereo is NOT SUPPORTED
[ur_ros2_control_node-1] [INFO] [1725543645.307454065] [UR_Client_Library:]: Negotiated RTDE protocol version to 2.
[ur_ros2_control_node-1] [INFO] [1725543645.308016756] [UR_Client_Library:]: Setting up RTDE communication with frequency 125.000000
[ur_ros2_control_node-1] [INFO] [1725543646.325748359] [URPositionHardwareInterface]: Calibration checksum: 'calib_209549117540498681'.
[spawner-7] [INFO] [1725543647.126017001] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[spawner-8] [INFO] [1725543647.180488396] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-9] [INFO] [1725543647.190856415] [spawner_forward_position_controller]: Waiting for '/controller_manager' services to be available
[ur_ros2_control_node-1] [ERROR] [1725543647.423424824] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details.
[ur_ros2_control_node-1] [INFO] [1725543647.423506493] [URPositionHardwareInterface]: System successfully started!
[ur_ros2_control_node-1] [INFO] [1725543647.423523458] [resource_manager]: Successful 'configure' of hardware 'ur5'
[ur_ros2_control_node-1] [INFO] [1725543647.423551839] [resource_manager]: 'activate' hardware 'ur5' 
[ur_ros2_control_node-1] [INFO] [1725543647.423556802] [URPositionHardwareInterface]: Activating HW interface
[ur_ros2_control_node-1] [INFO] [1725543647.423561283] [resource_manager]: Successful 'activate' of hardware 'ur5'
[controller_stopper_node-3] [INFO] [1725543647.430459905] [Controller stopper]: Service available
[controller_stopper_node-3] [INFO] [1725543647.430502393] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers
[controller_stopper_node-3] [INFO] [1725543647.430522091] [Controller stopper]: Service available
[ur_ros2_control_node-1] [INFO] [1725543647.437368619] [UR_Client_Library:]: SCHED_FIFO OK, priority 99
[ur_ros2_control_node-1] [INFO] [1725543647.535131285] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [WARN] [1725543647.553009098] [scaled_joint_trajectory_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[spawner-7] [INFO] [1725543647.558332474] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1725543647.559685682] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1725543647.559919218] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ur_ros2_control_node-1] [INFO] [1725543647.559948851] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ur_ros2_control_node-1] [INFO] [1725543647.559971230] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method.
[ur_ros2_control_node-1] [INFO] [1725543647.562297783] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz.
[ur_ros2_control_node-1] [INFO] [1725543647.566002072] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-7] [INFO] [1725543647.598036896] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1725543647.603051707] [controller_manager]: Loading controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1725543647.622293424] [controller_manager]: Loading controller 'forward_position_controller'
[spawner-8] [INFO] [1725543647.623310737] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1725543647.645839424] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1725543647.645989739] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-9] [INFO] [1725543647.646560439] [spawner_forward_position_controller]: Loaded forward_position_controller
[ur_ros2_control_node-1] [INFO] [1725543647.653645648] [controller_manager]: Configuring controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1725543647.655410754] [forward_position_controller]: configure successful
[spawner-8] [INFO] [1725543647.679159752] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1725543647.683482339] [controller_manager]: Loading controller 'io_and_status_controller'
[spawner-8] [INFO] [1725543647.702911038] [spawner_joint_state_broadcaster]: Loaded io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1725543647.705372180] [controller_manager]: Configuring controller 'io_and_status_controller'
[spawner-8] [INFO] [1725543647.734527447] [spawner_joint_state_broadcaster]: Configured and activated io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1725543647.738321430] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1725543647.749365133] [speed_scaling_state_broadcaster]: Loading UR SpeedScalingStateBroadcaster with tf_prefix: 
[spawner-8] [INFO] [1725543647.758845753] [spawner_joint_state_broadcaster]: Loaded speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1725543647.760196595] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1725543647.760303629] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz
[INFO] [spawner-7]: process has finished cleanly [pid 15230]
[spawner-8] [INFO] [1725543647.799000845] [spawner_joint_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1725543647.803173230] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster'
[spawner-8] [INFO] [1725543647.822542458] [spawner_joint_state_broadcaster]: Loaded force_torque_sensor_broadcaster
[INFO] [spawner-9]: process has finished cleanly [pid 15234]
[ur_ros2_control_node-1] [INFO] [1725543647.824784857] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster'
[spawner-8] [INFO] [1725543647.846617060] [spawner_joint_state_broadcaster]: Configured and activated force_torque_sensor_broadcaster
[INFO] [spawner-8]: process has finished cleanly [pid 15232]
[ur_ros2_control_node-1] [INFO] [1725543653.244545897] [UR_Client_Library:]: Robot requested program
[ur_ros2_control_node-1] [INFO] [1725543653.244866896] [UR_Client_Library:]: Sent program to robot


the reason of this issue is polyscope version is low, so update polyscope , refered to link
polyscope version
polyscope2
update method
polyscope_compatibility

1 Like