Issue starting up ROS2 driver on Ubuntu 24.04 with UR10 - ROS2 Jazzy

I cannot seem to connect to my UR10 robot using the UR driver. The CB3 controller responds with “Connection to the remote PC at 192.168.1.155:50002 could not be established“.

I just installed a new PC with Ubuntu 24.04 LTS. I Installed ROS2 Jazzy using the ros2 documentation. Next I installed the UR driver from binaries as per installation instructions

I then tried to startup the driver using the following instruction:

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=192.168.1.200

This opens RVIZ and shows the robot in white. Then i start a robot program with “External control“, after which the robot responds with the above message.

The configuration on the robot should be correct, as it has worked with the previous PC (which had the same installation, except with ROS2 Humble)

The robot has the following configuration:

IP 192.168.1.200; SUBNET: 255.255.255.0; GATEWAY:192.168.1.155; The external control IP is 192.168.1.155

The PC has IP 192.168.1.155, subnet 255.255.255.0

I’m able to connect from the PC to the robot using SSH, So I know the network config is OK

This is the output of the terminal when I startup the driver:

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=192.168.1.200
[INFO] [launch]: All log files can be found below /home/ur10/.ros/log/2025-11-05-11-56-50-005904-ur10-ros2-30520
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [30525]
[INFO] [controller_stopper_node-4]: process started with pid [30527]
[INFO] [ros2_control_node-1]: process started with pid [30524]
[INFO] [robot_state_helper-3]: process started with pid [30526]
[INFO] [urscript_interface-5]: process started with pid [30528]
[INFO] [robot_state_publisher-6]: process started with pid [30529]
[INFO] [rviz2-7]: process started with pid [30530]
[INFO] [spawner-8]: process started with pid [30531]
[INFO] [spawner-9]: process started with pid [30532]
[dashboard_client-2] [INFO] [1762340210.395728802] [UR_Client_Library:]: Starting primary client pipeline
[robot_state_helper-3] [INFO] [1762340210.396036554] [UR_Client_Library:]: Starting primary client pipeline
[controller_stopper_node-4] [INFO] [1762340210.403880896] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[robot_state_publisher-6] [INFO] [1762340210.404203700] [robot_state_publisher]: Robot initialized
[ros2_control_node-1] [INFO] [1762340210.409069888] [controller_manager]: Using Steady (Monotonic) clock for triggering controller manager cycles.
[ros2_control_node-1] [INFO] [1762340210.411931782] [controller_manager]: Subscribing to ‘/robot_description’ topic for robot description.
[ros2_control_node-1] [INFO] [1762340210.422563495] [controller_manager]: update rate is 125 Hz
[ros2_control_node-1] [INFO] [1762340210.422605515] [controller_manager]: Overruns handling is : enabled
[ros2_control_node-1] [INFO] [1762340210.422612848] [controller_manager]: Spawning controller_manager RT thread with scheduler priority: 50
[ros2_control_node-1] [WARN] [1762340210.422699703] [controller_manager]: Could not enable FIFO RT scheduling policy: with error number <1>(Operation not permitted).
[ros2_control_node-1] [INFO] [1762340210.577519476] [controller_manager]: Received robot description from topic.
[ros2_control_node-1] text not specified in the tf_prefix tag
[ros2_control_node-1] [INFO] [1762340210.581226148] [controller_manager]: Loading hardware ‘ur10’
[ros2_control_node-1] [INFO] [1762340210.586362755] [controller_manager]: Loaded hardware ‘ur10’ from plugin ‘ur_robot_driver/URPositionHardwareInterface’
[ros2_control_node-1] [INFO] [1762340210.586559121] [controller_manager]: Initialize hardware ‘ur10’
[ros2_control_node-1] [INFO] [1762340210.596826417] [controller_manager]: Successful initialization of hardware ‘ur10’
[dashboard_client-2] [INFO] [1762340210.597685110] [UR_Client_Library:]: Connected: Universal Robots Dashboard Server
[dashboard_client-2]
[ros2_control_node-1] [INFO] [1762340210.598674464] [resource_manager]: ‘configure’ hardware ‘ur10’
[ros2_control_node-1] [INFO] [1762340210.598694908] [URPositionHardwareInterface]: Starting …please wait…
[ros2_control_node-1] [INFO] [1762340210.598713750] [URPositionHardwareInterface]: Initializing driver…
[ros2_control_node-1] [WARN] [1762340210.599079796] [UR_Client_Library:]: Your system/user seems not to be setup for FIFO scheduling. We recommend using a lowlatency kernel with FIFO scheduling.
[ros2_control_node-1] [INFO] [1762340210.681056277] [UR_Client_Library:]: Negotiated RTDE protocol version to 2.
[ros2_control_node-1] [INFO] [1762340210.681254529] [UR_Client_Library:]: Setting up RTDE communication with frequency 125.000000
[ros2_control_node-1] [ERROR] [1762340210.688407394] [UR_Client_Library:]: Failed to initialize RTDE client, retrying in 5 seconds
[spawner-8] [INFO] [1762340210.859717173] [spawner_joint_state_broadcaster]: waiting for service /controller_manager/list_controllers to become available…
[rviz2-7] [INFO] [1762340211.027062709] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-7] [INFO] [1762340211.027161419] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-7] [INFO] [1762340211.092036280] [rviz2]: Stereo is NOT SUPPORTED
[ros2_control_node-1] [WARN] [1762340211.746582368] [UR_Client_Library:]: Failed to read from stream, reconnecting in 1 seconds…
[ros2_control_node-1] [WARN] [1762340213.794619389] [UR_Client_Library:]: Failed to read from stream, reconnecting in 2 seconds…
[ros2_control_node-1] [ERROR] [1762340215.688630168] [UR_Client_Library:]: Failed to initialize RTDE client, retrying in 5 seconds
[ros2_control_node-1] [WARN] [1762340216.802607973] [UR_Client_Library:]: Failed to read from stream, reconnecting in 4 seconds…
[ros2_control_node-1] [INFO] [1762340220.689043366] [UR_Client_Library:]: Stopping primary client pipeline
[spawner-8] [FATAL] [1762340220.874881637] [spawner_joint_state_broadcaster]: Could not contact service /controller_manager/list_controllers
[spawner-9] [INFO] [1762340221.001426143] [spawner_joint_trajectory_controller]: waiting for service /controller_manager/list_controllers to become available…
[ERROR] [spawner-8]: process has died [pid 30531, exit code 1, cmd ‘/opt/ros/jazzy/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 joint_state_broadcaster io_and_status_controller speed_scaling_state_broadcaster force_torque_sensor_broadcaster tcp_pose_broadcaster ur_configuration_controller scaled_joint_trajectory_controller --ros-args’].
[ros2_control_node-1] [FATAL] [1762340221.859835568] [URPositionHardwareInterface]: Variable ‘speed_slider_mask’ is currently controlled by another RTDE client. The input recipe can’t be used as configured
[ros2_control_node-1] Failed to connect to robot. Please check if the robot is booted and connected.
[ros2_control_node-1] Failed to connect to robot. Please check if the robot is booted and connected.
[ros2_control_node-1] Failed to initialize RTDE client after 3 attempts
[ros2_control_node-1] [ERROR] [1762340221.859989900] [resource_manager]: Failed to ‘configure’ hardware ‘ur10’
[ros2_control_node-1] terminate called after throwing an instance of ‘std::runtime_error’
[ros2_control_node-1] what(): Failed to set the initial state of the component : ur10 to active
[ros2_control_node-1] Stack trace (most recent call last) in thread 30630:
[ros2_control_node-1] #16 Object “/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2”, at 0xffffffffffffffff, in
[ros2_control_node-1] #15 Source “../sysdeps/unix/sysv/linux/x86_64/clone3.S”, line 78, in clone3 [0x7d9831929c6b]
[ros2_control_node-1] #14 Source “./nptl/pthread_create.c”, line 447, in start_thread [0x7d983189caa3]
[ros2_control_node-1] #13 Source “../../../../../src/libstdc+±v3/src/c++11/thread.cc”, line 104, in execute_native_thread_routine [0x7d9831cecdb3]
[ros2_control_node-1] #12 Object “/opt/ros/jazzy/lib/librclcpp.so”, at 0x7d983211bbe6, in rclcpp::executors::MultiThreadedExecutor::run(unsigned long)
[ros2_control_node-1] #11 Object “/opt/ros/jazzy/lib/librclcpp.so”, at 0x7d9832109179, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
[ros2_control_node-1] #10 Object “/opt/ros/jazzy/lib/librclcpp.so”, at 0x7d9832108a4a, in rclcpp::Executor::execute_subscription(std::shared_ptrrclcpp::SubscriptionBase)
[ros2_control_node-1] #9 Object “/opt/ros/jazzy/lib/libcontroller_manager.so”, at 0x7d983248f2e4, in
[ros2_control_node-1] #8 Object “/opt/ros/jazzy/lib/libcontroller_manager.so”, at 0x7d983240aa7a, in controller_manager::ControllerManager::robot_description_callback(std_msgs::msg::String_<std::allocator > const&)
[ros2_control_node-1] #7 Object “/opt/ros/jazzy/lib/libcontroller_manager.so”, at 0x7d98323d0b7a, in
[ros2_control_node-1] #6 Source “../../../../src/libstdc+±v3/libsupc++/eh_throw.cc”, line 98, in __cxa_throw [0x7d9831cbb390]
[ros2_control_node-1] #5 Source “../../../../src/libstdc+±v3/libsupc++/eh_terminate.cc”, line 58, in terminate [0x7d9831ca5a54]
[ros2_control_node-1] #4 Source “../../../../src/libstdc+±v3/libsupc++/eh_terminate.cc”, line 48, in __terminate [0x7d9831cbb0d9]
[ros2_control_node-1] #3 Source “../../../../src/libstdc+±v3/libsupc++/vterminate.cc”, line 95, in __verbose_terminate_handler [0x7d9831ca5ff4]
[ros2_control_node-1] #2 Source “./stdlib/abort.c”, line 79, in abort [0x7d98318288fe]
[ros2_control_node-1] #1 Source “../sysdeps/posix/raise.c”, line 26, in raise [0x7d983184527d]
[ros2_control_node-1] #0 | Source “./nptl/pthread_kill.c”, line 89, in __pthread_kill_internal
[ros2_control_node-1] | Source “./nptl/pthread_kill.c”, line 78, in __pthread_kill_implementation
[ros2_control_node-1] Source “./nptl/pthread_kill.c”, line 44, in __pthread_kill [0x7d983189eb2c]
[ros2_control_node-1] Aborted (Signal sent by tkill() 30524 1000)
[ERROR] [ros2_control_node-1]: process has died [pid 30524, exit code -6, cmd ‘/opt/ros/jazzy/lib/controller_manager/ros2_control_node --ros-args --params-file /opt/ros/jazzy/share/ur_robot_driver/config/ur10_update_rate.yaml --params-file /tmp/launch_params_imek3_st’].
[spawner-9] [FATAL] [1762340231.013732200] [spawner_joint_trajectory_controller]: Could not contact service /controller_manager/list_controllers
[ERROR] [spawner-9]: process has died [pid 30532, exit code 1, cmd ‘/opt/ros/jazzy/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 --inactive joint_trajectory_controller forward_velocity_controller forward_position_controller force_mode_controller passthrough_trajectory_controller freedrive_mode_controller tool_contact_controller --ros-args’].

I’ve found that profinet was enabled and connected to a powered on PLC on the same network. This was blocking the connection of the ROS driver.

Issue fixed.