Universal_Robots_ROS2_Driver RViz2 Error of UR3e

I’m making a developing environment for remote control of UR3e using ROS2.
And I’m using a package Universal_Robots_ROS2_Driver released by your company on GitHub.

I followed the procedure written in Read Me but the error is occurred on RViz2 when I executed ur_control.launch.py
I’m attaching the error screen to this forum.

I confirmed ur_control.launch.py and I found that the another package, Universal_Robots_ROS2_Description, is used to show UR3e model on RViz2
I also executed launch file of Universal_Robots_ROS2_Description and it worked correctly.
So, I guessed that the fix points are in the launch file of Universal_Robots_ROS2_Driver but I don’t find that.

Please let me know how to resolve this issue.

This works fine for me:

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur3e use_fake_hardware:=true launch_rviz:=true robot_ip:=yyy.yyy.yyy

maybe double check your installation of Universal_Robots_ROS2_Driver

I am on ROS2 Humble , Ubuntu 22.04

Thanks for your reply.

I re-install Universal_Robots_ROS2_Driver and re-try the execution of this command on ROS2 Humble. Ubuntu 22.04.

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur3e use_fake_hardware:=true launch_rviz:=true robt_ip:=yyy.yyy.yyy

But the same error is occurred.

I show you the error message below.

[INFO] [launch]: All log files can be found below /home/kuser/.ros/log/2024-08-27-14-00-38-819719-SPA24060126-536546
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [536550]
[INFO] [controller_stopper_node-3]: process started with pid [536552]
[INFO] [ros2_control_node-1]: process started with pid [536548]
[INFO] [urscript_interface-4]: process started with pid [536554]
[INFO] [robot_state_publisher-5]: process started with pid [536556]
[INFO] [rviz2-6]: process started with pid [536558]
[INFO] [spawner-7]: process started with pid [536560]
[INFO] [spawner-8]: process started with pid [536562]
[INFO] [spawner-9]: process started with pid [536564]
[controller_stopper_node-3] [INFO] [1724734839.048338446] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[robot_state_publisher-5] [INFO] [1724734839.048882304] [robot_state_publisher]: got segment base
[robot_state_publisher-5] [INFO] [1724734839.048926895] [robot_state_publisher]: got segment base_link
[robot_state_publisher-5] [INFO] [1724734839.048930524] [robot_state_publisher]: got segment base_link_inertia
[robot_state_publisher-5] [INFO] [1724734839.048932606] [robot_state_publisher]: got segment flange
[robot_state_publisher-5] [INFO] [1724734839.048934437] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-5] [INFO] [1724734839.048936534] [robot_state_publisher]: got segment ft_frame
[robot_state_publisher-5] [INFO] [1724734839.048938189] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-5] [INFO] [1724734839.048940046] [robot_state_publisher]: got segment tool0
[robot_state_publisher-5] [INFO] [1724734839.048941715] [robot_state_publisher]: got segment upper_arm_link
[robot_state_publisher-5] [INFO] [1724734839.048943379] [robot_state_publisher]: got segment world
[robot_state_publisher-5] [INFO] [1724734839.048944995] [robot_state_publisher]: got segment wrist_1_link
[robot_state_publisher-5] [INFO] [1724734839.048946709] [robot_state_publisher]: got segment wrist_2_link
[robot_state_publisher-5] [INFO] [1724734839.048948351] [robot_state_publisher]: got segment wrist_3_link
[ros2_control_node-1] [INFO] [1724734839.052052986] [controller_manager]: Subscribing to '~/robot_description' topic for robot description file.
[ros2_control_node-1] [INFO] [1724734839.052410113] [controller_manager]: update rate is 500 Hz
[ros2_control_node-1] [INFO] [1724734839.052563889] [controller_manager]: Successful set up FIFO RT scheduling policy with priority 50.
[spawner-7] [INFO] [1724734839.170859911] [spawner_scaled_joint_trajectory_controller]: waiting for service /controller_manager/list_controllers to become available...
[spawner-9] [INFO] [1724734839.172307875] [spawner_forward_position_controller]: waiting for service /controller_manager/list_controllers to become available...
[spawner-8] [INFO] [1724734839.188561875] [spawner_joint_state_broadcaster]: waiting for service /controller_manager/list_controllers to become available...
[rviz2-6] [INFO] [1724734839.456301548] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-6] [INFO] [1724734839.456415713] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-6] [INFO] [1724734839.493448046] [rviz2]: Stereo is NOT SUPPORTED
[spawner-7] [FATAL] [1724734849.187964940] [spawner_scaled_joint_trajectory_controller]: Could not contact service /controller_manager/list_controllers
[spawner-9] [FATAL] [1724734849.188453319] [spawner_forward_position_controller]: Could not contact service /controller_manager/list_controllers
[spawner-8] [FATAL] [1724734849.205006881] [spawner_joint_state_broadcaster]: Could not contact service /controller_manager/list_controllers
[ERROR] [spawner-9]: process has died [pid 536564, exit code 1, cmd '/home/kuser/ros2_ws/install/controller_manager/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 --inactive forward_position_controller --ros-args'].
[ERROR] [spawner-7]: process has died [pid 536560, exit code 1, cmd '/home/kuser/ros2_ws/install/controller_manager/lib/controller_manager/spawner scaled_joint_trajectory_controller -c /controller_manager --controller-manager-timeout 10 --ros-args'].
[ERROR] [spawner-8]: process has died [pid 536562, exit code 1, cmd '/home/kuser/ros2_ws/install/controller_manager/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 --ros-args'].

### I input ctrl+c ###
[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[dashboard_client-2] [INFO] [1724734975.795938341] [rclcpp]: signal_handler(signum=2)
[controller_stopper_node-3] [INFO] [1724734975.795980590] [rclcpp]: signal_handler(signum=2)
[controller_stopper_node-3] [INFO] [1724734975.796357557] [Controller stopper]: Service available
[controller_stopper_node-3] [INFO] [1724734975.796401163] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers
[controller_stopper_node-3] [INFO] [1724734975.796425463] [Controller stopper]: Service available
[controller_stopper_node-3] 
[controller_stopper_node-3] >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
[controller_stopper_node-3] This error state is being overwritten:
[controller_stopper_node-3] 
[controller_stopper_node-3]   'rcl node's context is invalid, at ./src/rcl/node.c:428'
[controller_stopper_node-3] 
[controller_stopper_node-3] with this new error message:
[controller_stopper_node-3] 
[controller_stopper_node-3]   'publisher's context is invalid, at ./src/rcl/publisher.c:389'
[controller_stopper_node-3] 
[controller_stopper_node-3] rcutils_reset_error() should be called after error handling to avoid this.
[controller_stopper_node-3] <<<
[robot_state_publisher-5] [INFO] [1724734975.795982763] [rclcpp]: signal_handler(signum=2)
[urscript_interface-4] [INFO] [1724734975.795982650] [rclcpp]: signal_handler(signum=2)
[ros2_control_node-1] [INFO] [1724734975.796063858] [rclcpp]: signal_handler(signum=2)
[controller_stopper_node-3] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[controller_stopper_node-3]   what():  failed to create guard condition: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at ./src/rcl/guard_condition.c:67
[controller_stopper_node-3] Stack trace (most recent call last):
[controller_stopper_node-3] #16   Object "", at 0xffffffffffffffff, in 
[controller_stopper_node-3] #15   Object "/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/controller_stopper_node", at 0x5f6788694e14, in _start
[controller_stopper_node-3] #14   Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0x701d3c029e3f]
[controller_stopper_node-3] #13   Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x701d3c029d8f]
[controller_stopper_node-3] #12   Object "/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/controller_stopper_node", at 0x5f6788694cfa, in main
[controller_stopper_node-3] #11   Object "/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/controller_stopper_node", at 0x5f6788698756, in ControllerStopper::ControllerStopper(std::shared_ptr<rclcpp::Node> const&, bool)
[controller_stopper_node-3] #10   Object "/opt/ros/humble/lib/librclcpp.so", at 0x701d3c7c1d6c, in rclcpp::executors::SingleThreadedExecutor::SingleThreadedExecutor(rclcpp::ExecutorOptions const&)
[controller_stopper_node-3] #9    Object "/opt/ros/humble/lib/librclcpp.so", at 0x701d3c7bdff7, in rclcpp::Executor::Executor(rclcpp::ExecutorOptions const&)
[controller_stopper_node-3] #8    Object "/opt/ros/humble/lib/librclcpp.so", at 0x701d3c7ccdcd, in rclcpp::GuardCondition::GuardCondition(std::shared_ptr<rclcpp::Context>, rcl_guard_condition_options_s)
[controller_stopper_node-3] #7    Object "/opt/ros/humble/lib/librclcpp.so", at 0x701d3c7b7128, in rclcpp::exceptions::throw_from_rcl_error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcutils_error_state_s const*, void (*)())
[controller_stopper_node-3] #6    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x701d3c4ae1fd, in std::rethrow_exception(std::__exception_ptr::exception_ptr)
[controller_stopper_node-3] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x701d3c4ae276, in std::terminate()
[controller_stopper_node-3] #4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x701d3c4ae20b, in 
[controller_stopper_node-3] #3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x701d3c4a2b9d, in 
[controller_stopper_node-3] #2    Source "./stdlib/abort.c", line 79, in abort [0x701d3c0287f2]
[controller_stopper_node-3] #1    Source "../sysdeps/posix/raise.c", line 26, in raise [0x701d3c042475]
[controller_stopper_node-3] #0  | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[controller_stopper_node-3]     | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[controller_stopper_node-3]       Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x701d3c0969fc]
[controller_stopper_node-3] Aborted (Signal sent by tkill() 536552 1000)
[ERROR] [controller_stopper_node-3]: process has died [pid 536552, exit code -6, cmd '/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/controller_stopper_node --ros-args -r __node:=controller_stopper --params-file /tmp/launch_params_aa3dw15z --params-file /tmp/launch_params_urdlqtai --params-file /tmp/launch_params_tx9lwqo_'].
[INFO] [robot_state_publisher-5]: process has finished cleanly [pid 536556]
[INFO] [ros2_control_node-1]: process has finished cleanly [pid 536548]
[ERROR] [urscript_interface-4]: process[urscript_interface-4] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[ERROR] [dashboard_client-2]: process[dashboard_client-2] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [urscript_interface-4]: sending signal 'SIGTERM' to process[urscript_interface-4]
[INFO] [dashboard_client-2]: sending signal 'SIGTERM' to process[dashboard_client-2]
[urscript_interface-4] [INFO] [1724734980.814104633] [rclcpp]: signal_handler(signum=15)
[dashboard_client-2] [INFO] [1724734980.816076000] [rclcpp]: signal_handler(signum=15)
[ERROR] [urscript_interface-4]: process[urscript_interface-4] failed to terminate '10.0' seconds after receiving 'SIGTERM', escalating to 'SIGKILL'
[ERROR] [dashboard_client-2]: process[dashboard_client-2] failed to terminate '10.0' seconds after receiving 'SIGTERM', escalating to 'SIGKILL'
[INFO] [urscript_interface-4]: sending signal 'SIGKILL' to process[urscript_interface-4]
[INFO] [dashboard_client-2]: sending signal 'SIGKILL' to process[dashboard_client-2]
[ERROR] [urscript_interface-4]: process has died [pid 536554, exit code -9, cmd '/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/urscript_interface --ros-args --params-file /tmp/launch_params_bbjn2813'].
[ERROR] [dashboard_client-2]: process has died [pid 536550, exit code -9, cmd '/home/kuser/ros2_ws/install/ur_robot_driver/lib/ur_robot_driver/dashboard_client --ros-args -r __node:=dashboard_client --params-file /tmp/launch_params_hkfyxh6r'].

On RViz2, I think that the Joint Type on URDF is “Revolute” in all of the transform error points.
How do you think about that?
Do you think it is related with this error?

@y.soliman
I forgot to add the mention.
I posted the reply above this post.
I’ll be happy if you help me.